remove ceph code
[stor4nfv.git] / src / ceph / doc / rbd / iscsi-target-ansible.rst
diff --git a/src/ceph/doc/rbd/iscsi-target-ansible.rst b/src/ceph/doc/rbd/iscsi-target-ansible.rst
deleted file mode 100644 (file)
index 4169a9f..0000000
+++ /dev/null
@@ -1,343 +0,0 @@
-==========================================
-Configuring the iSCSI Target using Ansible
-==========================================
-
-The Ceph iSCSI gateway is the iSCSI target node and also a Ceph client
-node. The Ceph iSCSI gateway can be a standalone node or be colocated on
-a Ceph Object Store Disk (OSD) node. Completing the following steps will
-install, and configure the Ceph iSCSI gateway for basic operation.
-
-**Requirements:**
-
--  A running Ceph Luminous (12.2.x) cluster or newer
-
--  RHEL/CentOS 7.4; or Linux kernel v4.14 or newer
-
--  The ``ceph-iscsi-config`` package installed on all the iSCSI gateway nodes
-
-**Installing:**
-
-#. On the Ansible installer node, which could be either the administration node
-   or a dedicated deployment node, perform the following steps:
-
-   #. As ``root``, install the ``ceph-ansible`` package:
-
-      ::
-
-          # yum install ceph-ansible
-
-   #. Add an entry in ``/etc/ansible/hosts`` file for the gateway group:
-
-      ::
-
-          [ceph-iscsi-gw]
-          ceph-igw-1
-          ceph-igw-2
-
-.. note::
-  If co-locating the iSCSI gateway with an OSD node, then add the OSD node to the
-  ``[ceph-iscsi-gw]`` section.
-
-**Configuring:**
-
-The ``ceph-ansible`` package places a file in the ``/usr/share/ceph-ansible/group_vars/``
-directory called ``ceph-iscsi-gw.sample``. Create a copy of this sample file named
-``ceph-iscsi-gw.yml``. Review the following Ansible variables and descriptions,
-and update accordingly.
-
-+--------------------------------------+--------------------------------------+
-| Variable                             | Meaning/Purpose                      |
-+======================================+======================================+
-| ``seed_monitor``                     | Each gateway needs access to the     |
-|                                      | ceph cluster for rados and rbd       |
-|                                      | calls. This means the iSCSI gateway  |
-|                                      | must have an appropriate             |
-|                                      | ``/etc/ceph/`` directory defined.    |
-|                                      | The ``seed_monitor`` host is used to |
-|                                      | populate the iSCSI gateway’s         |
-|                                      | ``/etc/ceph/`` directory.            |
-+--------------------------------------+--------------------------------------+
-| ``cluster_name``                     | Define a custom storage cluster      |
-|                                      | name.                                |
-+--------------------------------------+--------------------------------------+
-| ``gateway_keyring``                  | Define a custom keyring name.        |
-+--------------------------------------+--------------------------------------+
-| ``deploy_settings``                  | If set to ``true``, then deploy the  |
-|                                      | settings when the playbook is ran.   |
-+--------------------------------------+--------------------------------------+
-| ``perform_system_checks``            | This is a boolean value that checks  |
-|                                      | for multipath and lvm configuration  |
-|                                      | settings on each gateway. It must be |
-|                                      | set to true for at least the first   |
-|                                      | run to ensure multipathd and lvm are |
-|                                      | configured properly.                 |
-+--------------------------------------+--------------------------------------+
-| ``gateway_iqn``                      | This is the iSCSI IQN that all the   |
-|                                      | gateways will expose to clients.     |
-|                                      | This means each client will see the  |
-|                                      | gateway group as a single subsystem. |
-+--------------------------------------+--------------------------------------+
-| ``gateway_ip_list``                  | The ip list defines the IP addresses |
-|                                      | that will be used on the front end   |
-|                                      | network for iSCSI traffic. This IP   |
-|                                      | will be bound to the active target   |
-|                                      | portal group on each node, and is    |
-|                                      | the access point for iSCSI traffic.  |
-|                                      | Each IP should correspond to an IP   |
-|                                      | available on the hosts defined in    |
-|                                      | the ``ceph-iscsi-gw`` host group in  |
-|                                      | ``/etc/ansible/hosts``.              |
-+--------------------------------------+--------------------------------------+
-| ``rbd_devices``                      | This section defines the RBD images  |
-|                                      | that will be controlled and managed  |
-|                                      | within the iSCSI gateway             |
-|                                      | configuration. Parameters like       |
-|                                      | ``pool`` and ``image`` are self      |
-|                                      | explanatory. Here are the other      |
-|                                      | parameters: ``size`` = This defines  |
-|                                      | the size of the RBD. You may         |
-|                                      | increase the size later, by simply   |
-|                                      | changing this value, but shrinking   |
-|                                      | the size of an RBD is not supported  |
-|                                      | and is ignored. ``host`` = This is   |
-|                                      | the iSCSI gateway host name that     |
-|                                      | will be responsible for the rbd      |
-|                                      | allocation/resize. Every defined     |
-|                                      | ``rbd_device`` entry must have a     |
-|                                      | host assigned. ``state`` = This is   |
-|                                      | typical Ansible syntax for whether   |
-|                                      | the resource should be defined or    |
-|                                      | removed. A request with a state of   |
-|                                      | absent will first be checked to      |
-|                                      | ensure the rbd is not mapped to any  |
-|                                      | client. If the RBD is unallocated,   |
-|                                      | it will be removed from the iSCSI    |
-|                                      | gateway and deleted from the         |
-|                                      | configuration.                       |
-+--------------------------------------+--------------------------------------+
-| ``client_connections``               | This section defines the iSCSI       |
-|                                      | client connection details together   |
-|                                      | with the LUN (RBD image) masking.    |
-|                                      | Currently only CHAP is supported as  |
-|                                      | an authentication mechanism. Each    |
-|                                      | connection defines an ``image_list`` |
-|                                      | which is a comma separated list of   |
-|                                      | the form                             |
-|                                      | ``pool.rbd_image[,pool.rbd_image]``. |
-|                                      | RBD images can be added and removed  |
-|                                      | from this list, to change the client |
-|                                      | masking. Note that there are no      |
-|                                      | checks done to limit RBD sharing     |
-|                                      | across client connections.           |
-+--------------------------------------+--------------------------------------+
-
-.. note::
-  When using the ``gateway_iqn`` variable, and for Red Hat Enterprise Linux
-  clients, installing the ``iscsi-initiator-utils`` package is required for
-  retrieving the gateway’s IQN name. The iSCSI initiator name is located in the
-  ``/etc/iscsi/initiatorname.iscsi`` file.
-
-**Deploying:**
-
-On the Ansible installer node, perform the following steps.
-
-#. As ``root``, execute the Ansible playbook:
-
-   ::
-
-       # cd /usr/share/ceph-ansible
-       # ansible-playbook ceph-iscsi-gw.yml
-
-   .. note::
-    The Ansible playbook will handle RPM dependencies, RBD creation
-    and Linux IO configuration.
-
-#. Verify the configuration from an iSCSI gateway node:
-
-   ::
-
-       # gwcli ls
-
-   .. note::
-    For more information on using the ``gwcli`` command to install and configure
-    a Ceph iSCSI gateaway, see the `Configuring the iSCSI Target using the Command Line Interface`_
-    section.
-
-   .. important::
-    Attempting to use the ``targetcli`` tool to change the configuration will
-    result in the following issues, such as ALUA misconfiguration and path failover
-    problems. There is the potential to corrupt data, to have mismatched
-    configuration across iSCSI gateways, and to have mismatched WWN information,
-    which will lead to client multipath problems.
-
-**Service Management:**
-
-The ``ceph-iscsi-config`` package installs the configuration management
-logic and a Systemd service called ``rbd-target-gw``. When the Systemd
-service is enabled, the ``rbd-target-gw`` will start at boot time and
-will restore the Linux IO state. The Ansible playbook disables the
-target service during the deployment. Below are the outcomes of when
-interacting with the ``rbd-target-gw`` Systemd service.
-
-::
-
-    # systemctl <start|stop|restart|reload> rbd-target-gw
-
--  ``reload``
-
-   A reload request will force ``rbd-target-gw`` to reread the
-   configuration and apply it to the current running environment. This
-   is normally not required, since changes are deployed in parallel from
-   Ansible to all iSCSI gateway nodes
-
--  ``stop``
-
-   A stop request will close the gateway’s portal interfaces, dropping
-   connections to clients and wipe the current LIO configuration from
-   the kernel. This returns the iSCSI gateway to a clean state. When
-   clients are disconnected, active I/O is rescheduled to the other
-   iSCSI gateways by the client side multipathing layer.
-
-**Administration:**
-
-Within the ``/usr/share/ceph-ansible/group_vars/ceph-iscsi-gw`` file
-there are a number of operational workflows that the Ansible playbook
-supports.
-
-.. warning::
-  Before removing RBD images from the iSCSI gateway configuration,
-  follow the standard procedures for removing a storage device from
-  the operating system.
-
-+--------------------------------------+--------------------------------------+
-| I want to…​                          | Update the ``ceph-iscsi-gw`` file    |
-|                                      | by…​                                 |
-+======================================+======================================+
-| Add more RBD images                  | Adding another entry to the          |
-|                                      | ``rbd_devices`` section with the new |
-|                                      | image.                               |
-+--------------------------------------+--------------------------------------+
-| Resize an existing RBD image         | Updating the size parameter within   |
-|                                      | the ``rbd_devices`` section. Client  |
-|                                      | side actions are required to pick up |
-|                                      | the new size of the disk.            |
-+--------------------------------------+--------------------------------------+
-| Add a client                         | Adding an entry to the               |
-|                                      | ``client_connections`` section.      |
-+--------------------------------------+--------------------------------------+
-| Add another RBD to a client          | Adding the relevant RBD              |
-|                                      | ``pool.image`` name to the           |
-|                                      | ``image_list`` variable for the      |
-|                                      | client.                              |
-+--------------------------------------+--------------------------------------+
-| Remove an RBD from a client          | Removing the RBD ``pool.image`` name |
-|                                      | from the clients ``image_list``      |
-|                                      | variable.                            |
-+--------------------------------------+--------------------------------------+
-| Remove an RBD from the system        | Changing the RBD entry state         |
-|                                      | variable to ``absent``. The RBD      |
-|                                      | image must be unallocated from the   |
-|                                      | operating system first for this to   |
-|                                      | succeed.                             |
-+--------------------------------------+--------------------------------------+
-| Change the clients CHAP credentials  | Updating the relevant CHAP details   |
-|                                      | in ``client_connections``. This will |
-|                                      | need to be coordinated with the      |
-|                                      | clients. For example, the client     |
-|                                      | issues an iSCSI logout, the          |
-|                                      | credentials are changed by the       |
-|                                      | Ansible playbook, the credentials    |
-|                                      | are changed at the client, then the  |
-|                                      | client performs an iSCSI login.      |
-+--------------------------------------+--------------------------------------+
-| Remove a client                      | Updating the relevant                |
-|                                      | ``client_connections`` item with a   |
-|                                      | state of ``absent``. Once the        |
-|                                      | Ansible playbook is ran, the client  |
-|                                      | will be purged from the system, but  |
-|                                      | the disks will remain defined to     |
-|                                      | Linux IO for potential reuse.        |
-+--------------------------------------+--------------------------------------+
-
-Once a change has been made, rerun the Ansible playbook to apply the
-change across the iSCSI gateway nodes.
-
-::
-
-    # ansible-playbook ceph-iscsi-gw.yml
-
-**Removing the Configuration:**
-
-The ``ceph-ansible`` package provides an Ansible playbook to
-remove the iSCSI gateway configuration and related RBD images. The
-Ansible playbook is ``/usr/share/ceph-ansible/purge_gateways.yml``. When
-this Ansible playbook is ran a prompted for the type of purge to
-perform:
-
-*lio* :
-
-In this mode the LIO configuration is purged on all iSCSI gateways that
-are defined. Disks that were created are left untouched within the Ceph
-storage cluster.
-
-*all* :
-
-When ``all`` is chosen, the LIO configuration is removed together with
-**all** RBD images that were defined within the iSCSI gateway
-environment, other unrelated RBD images will not be removed. Ensure the
-correct mode is chosen, this operation will delete data.
-
-.. warning::
-  A purge operation is destructive action against your iSCSI gateway
-  environment.
-
-.. warning::
-  A purge operation will fail, if RBD images have snapshots or clones
-  and are exported through the Ceph iSCSI gateway.
-
-::
-
-    [root@rh7-iscsi-client ceph-ansible]# ansible-playbook purge_gateways.yml
-    Which configuration elements should be purged? (all, lio or abort) [abort]: all
-
-
-    PLAY [Confirm removal of the iSCSI gateway configuration] *********************
-
-
-    GATHERING FACTS ***************************************************************
-    ok: [localhost]
-
-
-    TASK: [Exit playbook if user aborted the purge] *******************************
-    skipping: [localhost]
-
-
-    TASK: [set_fact ] *************************************************************
-    ok: [localhost]
-
-
-    PLAY [Removing the gateway configuration] *************************************
-
-
-    GATHERING FACTS ***************************************************************
-    ok: [ceph-igw-1]
-    ok: [ceph-igw-2]
-
-
-    TASK: [igw_purge | purging the gateway configuration] *************************
-    changed: [ceph-igw-1]
-    changed: [ceph-igw-2]
-
-
-    TASK: [igw_purge | deleting configured rbd devices] ***************************
-    changed: [ceph-igw-1]
-    changed: [ceph-igw-2]
-
-
-    PLAY RECAP ********************************************************************
-    ceph-igw-1                 : ok=3    changed=2    unreachable=0    failed=0
-    ceph-igw-2                 : ok=3    changed=2    unreachable=0    failed=0
-    localhost                  : ok=2    changed=0    unreachable=0    failed=0
-
-
-.. _Configuring the iSCSI Target using the Command Line Interface: ../iscsi-target-cli