summaryrefslogtreecommitdiffstats
path: root/doc/mgr/ansible.rst
diff options
context:
space:
mode:
Diffstat (limited to 'doc/mgr/ansible.rst')
-rw-r--r--doc/mgr/ansible.rst121
1 files changed, 121 insertions, 0 deletions
diff --git a/doc/mgr/ansible.rst b/doc/mgr/ansible.rst
new file mode 100644
index 00000000..e81e67ba
--- /dev/null
+++ b/doc/mgr/ansible.rst
@@ -0,0 +1,121 @@
+
+.. _ansible-module:
+
+====================
+Ansible Orchestrator
+====================
+
+This module is a :ref:`Ceph orchestrator <orchestrator-modules>` module that uses `Ansible Runner Service <https://github.com/pcuzner/ansible-runner-service>`_ (a RESTful API server) to execute Ansible playbooks in order to satisfy the different operations supported.
+
+These operations basically (and for the moment) are:
+
+- Get an inventory of the Ceph cluster nodes and all the storage devices present in each node
+- ...
+- ...
+
+
+Usage
+=====
+
+Enable the module:
+
+::
+
+ # ceph mgr module enable ansible
+
+Disable the module
+
+::
+
+ # ceph mgr module disable ansible
+
+
+Enable the Ansible orchestrator module and use it with the :ref:`CLI <orchestrator-cli-module>`:
+
+::
+
+ ceph mgr module enable ansible
+ ceph orchestrator set backend ansible
+
+
+Configuration
+=============
+
+Configuration must be set once the module is enabled by first time.
+
+This can be done in one monitor node via the configuration key facility on a
+cluster-wide level (so they apply to all manager instances) as follows::
+
+
+ # ceph config set mgr mgr/ansible/server_addr <ip_address/server_name>
+ # ceph config set mgr mgr/ansible/server_port <port>
+ # ceph config set mgr mgr/ansible/username <username>
+ # ceph config set mgr mgr/ansible/password <password>
+ # ceph config set mgr mgr/ansible/verify_server <verify_server_value>
+
+Where:
+
+ * <ip_address/server_name>: Is the ip address/hostname of the server where the Ansible Runner Service is available.
+ * <port>: The port number where the Ansible Runner Service is listening
+ * <username>: The username of one authorized user in the Ansible Runner Service
+ * <password>: The password of the authorized user.
+ * <verify_server_value>: Either a boolean, in which case it controls whether the server's TLS certificate is verified, or a string, in which case it must be a path to a CA bundle to use in the verification. Defaults to ``True``.
+
+
+Debugging
+=========
+
+Any kind of incident with this orchestrator module can be debugged using the Ceph manager logs:
+
+Set the right log level in order to debug properly. Remember that the python log levels debug, info, warn, err are mapped into the Ceph severities 20, 4, 1 and 0 respectively.
+
+And use the "active" manager node: ( "ceph -s" command in one monitor give you this information)
+
+* Check current debug level::
+
+ [@mgr0 ~]# ceph daemon mgr.mgr0 config show | grep debug_mgr
+ "debug_mgr": "1/5",
+ "debug_mgrc": "1/5",
+
+* Change the log level to "debug"::
+
+ [mgr0 ~]# ceph daemon mgr.mgr0 config set debug_mgr 20/5
+ {
+ "success": ""
+ }
+
+* Restore "info" log level::
+
+ [mgr0 ~]# ceph daemon mgr.mgr0 config set debug_mgr 1/5
+ {
+ "success": ""
+ }
+
+
+Operations
+==========
+
+**Inventory:**
+
+Get the list of storage devices installed in all the cluster nodes. The output format is::
+
+ [host:
+ device_name (type_of_device , size_in_bytes)]
+
+Example::
+
+ [root@mon0 ~]# ceph orchestrator device ls
+ 192.168.121.160:
+ vda (hdd, 44023414784b)
+ sda (hdd, 53687091200b)
+ sdb (hdd, 53687091200b)
+ sdc (hdd, 53687091200b)
+ 192.168.121.36:
+ vda (hdd, 44023414784b)
+ 192.168.121.201:
+ vda (hdd, 44023414784b)
+ 192.168.121.70:
+ vda (hdd, 44023414784b)
+ sda (hdd, 53687091200b)
+ sdb (hdd, 53687091200b)
+ sdc (hdd, 53687091200b)