From d0f8cdcab385e274e329f74f2956a61a59c85626 Mon Sep 17 00:00:00 2001 From: Seunghun Lee Date: Fri, 4 Oct 2024 15:59:05 +0100 Subject: [PATCH 1/8] Add step to re-run cephadm playbook before deploy manila --- doc/source/contributor/environments/ci-multinode.rst | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/doc/source/contributor/environments/ci-multinode.rst b/doc/source/contributor/environments/ci-multinode.rst index 9f11a8a339..8d8e4afdfb 100644 --- a/doc/source/contributor/environments/ci-multinode.rst +++ b/doc/source/contributor/environments/ci-multinode.rst @@ -30,8 +30,12 @@ is not enabled by default. To enable it, set the following in kolla_enable_manila: true kolla_enable_manila_backend_cephfs_native: true -And re-run ``kayobe overcloud service deploy`` if you are working on an existing -deployment. +If you are working on an existing deployment, re-run Cephadm playbook by +``kayobe playbook run $KAYOBE_CONFIG_PATH/ansible/cephadm.yml`` +to add Ceph configurations (such as Manila pools and CephFS file system) +for Manila. + +Then, run ``kayobe overcloud service deploy`` to deploy Manila. To test it, you will need two virtual machines. Cirros does not support the Ceph kernel client, so you will need to use a different image. Any regular Linux From d621f3b7953d059b14a7d1368f8c22a3f7ec5074 Mon Sep 17 00:00:00 2001 From: Seunghun Lee <45145778+seunghun1ee@users.noreply.github.com> Date: Wed, 9 Oct 2024 11:03:15 +0100 Subject: [PATCH 2/8] Minor wording changes Co-authored-by: Alex-Welsh <112560678+Alex-Welsh@users.noreply.github.com> --- doc/source/contributor/environments/ci-multinode.rst | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/doc/source/contributor/environments/ci-multinode.rst b/doc/source/contributor/environments/ci-multinode.rst index 8d8e4afdfb..08343976a1 100644 --- a/doc/source/contributor/environments/ci-multinode.rst +++ b/doc/source/contributor/environments/ci-multinode.rst @@ -30,9 +30,9 @@ is not enabled by default. To enable it, set the following in kolla_enable_manila: true kolla_enable_manila_backend_cephfs_native: true -If you are working on an existing deployment, re-run Cephadm playbook by +If you are working on an existing deployment, re-run the Cephadm playbook ``kayobe playbook run $KAYOBE_CONFIG_PATH/ansible/cephadm.yml`` -to add Ceph configurations (such as Manila pools and CephFS file system) +to add the Ceph configuration (such as pools and CephFS file systems) for Manila. Then, run ``kayobe overcloud service deploy`` to deploy Manila. From f5950fc3d7f65300acaaf65daf24f285eec787fb Mon Sep 17 00:00:00 2001 From: Seunghun Lee Date: Wed, 9 Oct 2024 14:24:49 +0100 Subject: [PATCH 3/8] Update testing Ubuntu image to 22.04 --- doc/source/contributor/environments/ci-multinode.rst | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/doc/source/contributor/environments/ci-multinode.rst b/doc/source/contributor/environments/ci-multinode.rst index 08343976a1..318937fe58 100644 --- a/doc/source/contributor/environments/ci-multinode.rst +++ b/doc/source/contributor/environments/ci-multinode.rst @@ -39,19 +39,19 @@ Then, run ``kayobe overcloud service deploy`` to deploy Manila. To test it, you will need two virtual machines. Cirros does not support the Ceph kernel client, so you will need to use a different image. Any regular Linux -distribution should work. As an example, this guide will use Ubuntu 20.04. +distribution should work. As an example, this guide will use Ubuntu 22.04. Download the image locally: .. code-block:: bash - wget http://cloud-images.ubuntu.com/focal/current/focal-server-cloudimg-amd64.img + wget http://cloud-images.ubuntu.com/jammy/current/jammy-server-cloudimg-amd64.img Upload the image to Glance: .. code-block:: bash - openstack image create --container-format bare --disk-format qcow2 --file focal-server-cloudimg-amd64.img Ubuntu-20.04 --progress + openstack image create --container-format bare --disk-format qcow2 --file jammy-server-cloudimg-amd64.img Ubuntu-22.04 --progress Create a keypair: @@ -63,8 +63,8 @@ Create two virtual machines from the image: .. code-block:: bash - openstack server create --flavor m1.small --image Ubuntu-20.04 --key-name id_rsa --network admin-tenant ubuntu-client-1 - openstack server create --flavor m1.small --image Ubuntu-20.04 --key-name id_rsa --network admin-tenant ubuntu-client-2 + openstack server create --flavor m1.small --image Ubuntu-22.04 --key-name id_rsa --network admin-tenant ubuntu-client-1 + openstack server create --flavor m1.small --image Ubuntu-22.04 --key-name id_rsa --network admin-tenant ubuntu-client-2 Wait until the instances are active. It is worth noting that this process can take a while, especially if the overcloud is deployed to virtual machines. You From 908fcef2677dd8c43c83f6abf3bfb9f16e26da38 Mon Sep 17 00:00:00 2001 From: Seunghun Lee Date: Wed, 9 Oct 2024 14:26:03 +0100 Subject: [PATCH 4/8] Only run necessary playbooks --- doc/source/contributor/environments/ci-multinode.rst | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/doc/source/contributor/environments/ci-multinode.rst b/doc/source/contributor/environments/ci-multinode.rst index 318937fe58..ca868c16e9 100644 --- a/doc/source/contributor/environments/ci-multinode.rst +++ b/doc/source/contributor/environments/ci-multinode.rst @@ -30,10 +30,12 @@ is not enabled by default. To enable it, set the following in kolla_enable_manila: true kolla_enable_manila_backend_cephfs_native: true -If you are working on an existing deployment, re-run the Cephadm playbook -``kayobe playbook run $KAYOBE_CONFIG_PATH/ansible/cephadm.yml`` -to add the Ceph configuration (such as pools and CephFS file systems) -for Manila. +If you are working on an existing deployment, you need to do the following first. + +1. Create CephFS pools: ``kayobe playbook run $KAYOBE_CONFIG_PATH/ansible/cephadm-pools.yml`` +2. Create cephx key for Manila: ``kayobe playbook run $KAYOBE_CONFIG_PATH/ansible/cephadm-keys.yml`` +3. Run Manila related Ceph commands: ``kayobe playbook run $KAYOBE_CONFIG_PATH/ansible/cephadm-commands-post.yml`` +4. Gather Ceph configuration and keyring for Manila: ``kayobe playbook run $KAYOBE_CONFIG_PATH/ansible/cephadm-gather-keys.yml`` Then, run ``kayobe overcloud service deploy`` to deploy Manila. From 9b15c55a66faaa9ca8cd05ad5164d6ed4ecd2904 Mon Sep 17 00:00:00 2001 From: Seunghun Lee Date: Wed, 9 Oct 2024 14:55:07 +0100 Subject: [PATCH 5/8] Update Manila commands --- .../contributor/environments/ci-multinode.rst | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/doc/source/contributor/environments/ci-multinode.rst b/doc/source/contributor/environments/ci-multinode.rst index ca868c16e9..595be67b26 100644 --- a/doc/source/contributor/environments/ci-multinode.rst +++ b/doc/source/contributor/environments/ci-multinode.rst @@ -109,35 +109,36 @@ Then create a share type and share: .. code-block:: bash - manila type-create cephfs-type false --is_public true - manila type-key cephfs-type set vendor_name=Ceph storage_protocol=CEPHFS - manila create --name test-share --share-type cephfs-type CephFS 2 + openstack share type create cephfs-type false --public true + openstack share type set cephfs-type --extra-specs vendor_name=Ceph + openstack share type set cephfs-type --extra-specs storage_protocol=CEPHFS + openstack share create --name test-share --share-type cephfs-type --public true CephFS 2 Wait until the share is available: .. code-block:: bash - manila list + openstack share list Then allow access to the shares to two users: .. code-block:: bash - manila access-allow test-share cephx alice - manila access-allow test-share cephx bob + openstack share access create test-share cephx alice + openstack share access create test-share cephx bob Show the access list to make sure the state of both entries is ``active`` and take note of the access keys: .. code-block:: bash - manila access-list test-share + openstack share access list test-share And take note of the path to the share: .. code-block:: bash - manila share-export-location-list test-share + openstack share export location list test-share SSH into the first instance, create a directory for the share, and mount it: From fe7757f54a10bb8f86844def0996ce57012bb567 Mon Sep 17 00:00:00 2001 From: Seunghun Lee Date: Wed, 9 Oct 2024 16:04:26 +0100 Subject: [PATCH 6/8] Add seed host configure step for storage network --- doc/source/contributor/environments/ci-multinode.rst | 1 + 1 file changed, 1 insertion(+) diff --git a/doc/source/contributor/environments/ci-multinode.rst b/doc/source/contributor/environments/ci-multinode.rst index 595be67b26..a9fc9fe226 100644 --- a/doc/source/contributor/environments/ci-multinode.rst +++ b/doc/source/contributor/environments/ci-multinode.rst @@ -36,6 +36,7 @@ If you are working on an existing deployment, you need to do the following first 2. Create cephx key for Manila: ``kayobe playbook run $KAYOBE_CONFIG_PATH/ansible/cephadm-keys.yml`` 3. Run Manila related Ceph commands: ``kayobe playbook run $KAYOBE_CONFIG_PATH/ansible/cephadm-commands-post.yml`` 4. Gather Ceph configuration and keyring for Manila: ``kayobe playbook run $KAYOBE_CONFIG_PATH/ansible/cephadm-gather-keys.yml`` +5. Configure Storage network on Seed node: ``kayobe seed host configure -t network,ip-allocation,snat`` Then, run ``kayobe overcloud service deploy`` to deploy Manila. From 8551fce7dc2d2b651eb9548769e44337292c1c08 Mon Sep 17 00:00:00 2001 From: Seunghun Lee Date: Wed, 9 Oct 2024 16:58:44 +0100 Subject: [PATCH 7/8] Revert "Update testing Ubuntu image to 22.04" This reverts commit f5950fc3d7f65300acaaf65daf24f285eec787fb. It was found that Ubuntu 22.04 client has a problem with mount. Keep using Ubuntu 20.04 until fix is found --- doc/source/contributor/environments/ci-multinode.rst | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/doc/source/contributor/environments/ci-multinode.rst b/doc/source/contributor/environments/ci-multinode.rst index a9fc9fe226..ed4b1f9f60 100644 --- a/doc/source/contributor/environments/ci-multinode.rst +++ b/doc/source/contributor/environments/ci-multinode.rst @@ -42,19 +42,19 @@ Then, run ``kayobe overcloud service deploy`` to deploy Manila. To test it, you will need two virtual machines. Cirros does not support the Ceph kernel client, so you will need to use a different image. Any regular Linux -distribution should work. As an example, this guide will use Ubuntu 22.04. +distribution should work. As an example, this guide will use Ubuntu 20.04. Download the image locally: .. code-block:: bash - wget http://cloud-images.ubuntu.com/jammy/current/jammy-server-cloudimg-amd64.img + wget http://cloud-images.ubuntu.com/focal/current/focal-server-cloudimg-amd64.img Upload the image to Glance: .. code-block:: bash - openstack image create --container-format bare --disk-format qcow2 --file jammy-server-cloudimg-amd64.img Ubuntu-22.04 --progress + openstack image create --container-format bare --disk-format qcow2 --file focal-server-cloudimg-amd64.img Ubuntu-20.04 --progress Create a keypair: @@ -66,8 +66,8 @@ Create two virtual machines from the image: .. code-block:: bash - openstack server create --flavor m1.small --image Ubuntu-22.04 --key-name id_rsa --network admin-tenant ubuntu-client-1 - openstack server create --flavor m1.small --image Ubuntu-22.04 --key-name id_rsa --network admin-tenant ubuntu-client-2 + openstack server create --flavor m1.small --image Ubuntu-20.04 --key-name id_rsa --network admin-tenant ubuntu-client-1 + openstack server create --flavor m1.small --image Ubuntu-20.04 --key-name id_rsa --network admin-tenant ubuntu-client-2 Wait until the instances are active. It is worth noting that this process can take a while, especially if the overcloud is deployed to virtual machines. You From 534682e27494bfd1fcf404a7e5c8b0063fdb339a Mon Sep 17 00:00:00 2001 From: Seunghun Lee Date: Thu, 10 Oct 2024 10:31:17 +0100 Subject: [PATCH 8/8] Merge separated share type set --- doc/source/contributor/environments/ci-multinode.rst | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/doc/source/contributor/environments/ci-multinode.rst b/doc/source/contributor/environments/ci-multinode.rst index ed4b1f9f60..22e1d53a55 100644 --- a/doc/source/contributor/environments/ci-multinode.rst +++ b/doc/source/contributor/environments/ci-multinode.rst @@ -111,8 +111,7 @@ Then create a share type and share: .. code-block:: bash openstack share type create cephfs-type false --public true - openstack share type set cephfs-type --extra-specs vendor_name=Ceph - openstack share type set cephfs-type --extra-specs storage_protocol=CEPHFS + openstack share type set cephfs-type --extra-specs vendor_name=Ceph, storage_protocol=CEPHFS openstack share create --name test-share --share-type cephfs-type --public true CephFS 2 Wait until the share is available: