Cinder ====== .. literalinclude:: cinder.yaml Cinder using Netapp ------------------- .. literalinclude:: cinder_netapp.yaml The configmap that contains the netapp copyoffload tool can be created using this command: ``kubectl create configmap netapp-copyoffload --from-file na_copyoffload_64`` Cinder volume active-active high-availability --------------------------------------------- Setting ``cluster: true`` for a volume backend will enable active-active cluster. Switching to cluster or back will **not** migrate volumes resources. With enabled cluster mode, replicas can be increased above one. This is not possible for non-cluster setups where the yaook operator will throw an error. Do not set ``backend_host`` config in cluster mode except for single replicas. Currently netapp-nfs driver (2023.2 and above) and ceph is supported in yaook. Convert an existing service to a cluster ---------------------------------------- The cinder-volume service includes an automatic volume migration if it is started with the same host (or backend_host if set) and new cluster configuration. So having already set a ``backend_host`` is the requirement for this to work. To trigger the auto-migration keep ``backend_host`` config, set cluster to true and keep replicas at one. After the StatefulSet comes up the pod should log migrated volumes. If not, perform the following manual steps: 1. Access the `cinder-api` container: .. code-block:: bash yaookctl shell cinder api 2. Update all volumes to point to the new clustered host (replace hostnames accordingly): .. code-block:: bash cinder-manage volume update_host --current --new 3. Update the `service_uuid` for all volumes. This step is required due to upstream Cinder bugs: - `Cinder Bug #1890278: cinder-manage volume update_host does not update service uuids `__ - `Cinder Bug #2117273: volume service_uuid not updated after migration `__ .. code-block:: bash cinder-manage volume update_service Finally remove ``backend_host`` configuration and scale up replicas. An unused cinder-volume service for the cluster will remain but can safely be removed with ``yaookctl shell cinder api cinder-manage service ``.