diff options
| -rw-r--r-- | ansible/group_vars/all/cinder.yml | 57 | ||||
| -rw-r--r-- | ansible/roles/cinder/defaults/main.yml | 55 | ||||
| -rw-r--r-- | releasenotes/notes/fix-iscsi-cinder-enabled-backends-f482e5454dc8fa87.yaml | 10 |
3 files changed, 72 insertions, 50 deletions
diff --git a/ansible/group_vars/all/cinder.yml b/ansible/group_vars/all/cinder.yml index 9418adcc9..a11b19dd8 100644 --- a/ansible/group_vars/all/cinder.yml +++ b/ansible/group_vars/all/cinder.yml @@ -12,6 +12,63 @@ enable_cinder_backend_pure_nvme_tcp: false enable_cinder_backend_lightbits: false ################################# +# Cinder backends +################################# +# NOTE: These are defined here (rather than in the cinder role defaults) so that +# they are in scope for other roles - notably iscsi, whose play runs before the +# cinder play and derives the cinder-volume/backup inventory groups from +# cinder_enabled_backends. +cinder_backend_ceph_name: "rbd-1" +cinder_backend_lvm_name: "lvm-1" +cinder_backend_nfs_name: "nfs-1" +cinder_backend_quobyte_name: "QuobyteHD" +cinder_backend_pure_iscsi_name: "Pure-FlashArray-iscsi" +cinder_backend_pure_fc_name: "Pure-FlashArray-fc" +cinder_backend_pure_roce_name: "Pure-FlashArray-roce" +cinder_backend_pure_nvme_tcp_name: "Pure-FlashArray-nvme-tcp" +cinder_backend_lightbits_name: "Lightbits-NVMe-TCP" + +cinder_backends: + - name: "{{ cinder_backend_lvm_name }}" + enabled: "{{ enable_cinder_backend_lvm | bool }}" + - name: "{{ cinder_backend_nfs_name }}" + enabled: "{{ enable_cinder_backend_nfs | bool }}" + - name: "{{ cinder_backend_quobyte_name }}" + enabled: "{{ enable_cinder_backend_quobyte | bool }}" + - name: "{{ cinder_backend_pure_iscsi_name }}" + enabled: "{{ enable_cinder_backend_pure_iscsi | bool }}" + - name: "{{ cinder_backend_pure_fc_name }}" + enabled: "{{ enable_cinder_backend_pure_fc | bool }}" + - name: "{{ cinder_backend_pure_roce_name }}" + enabled: "{{ enable_cinder_backend_pure_roce | bool }}" + - name: "{{ cinder_backend_pure_nvme_tcp_name }}" + enabled: "{{ enable_cinder_backend_pure_nvme_tcp | bool }}" + - name: "{{ cinder_backend_lightbits_name }}" + enabled: "{{ enable_cinder_backend_lightbits | bool }}" + +cinder_ceph_backends: + - name: "{{ cinder_backend_ceph_name }}" + backend_name: "{{ cinder_backend_ceph_name }}" + cluster: "{{ ceph_cluster }}" + user: "{{ ceph_cinder_user }}" + pool: "{{ ceph_cinder_pool_name }}" + enabled: "{{ cinder_backend_ceph | bool }}" + +cinder_backup_backend_ceph_name: "rbd-1" +cinder_backup_ceph_backend: >- + {{ + cinder_ceph_backends | + selectattr('name', 'equalto', cinder_backup_backend_ceph_name) | list | first | + combine({'pool': ceph_cinder_backup_pool_name, 'user': ceph_cinder_backup_user}) + }} + +cinder_enabled_backends: >- + {{ + cinder_backends | selectattr('enabled', 'equalto', true) | list + + cinder_ceph_backends | selectattr('enabled', 'equalto', true) | list + }} + +################################# # Cinder options ################################# cinder_backend_ceph: false diff --git a/ansible/roles/cinder/defaults/main.yml b/ansible/roles/cinder/defaults/main.yml index 37f7f7aab..c1f051c97 100644 --- a/ansible/roles/cinder/defaults/main.yml +++ b/ansible/roles/cinder/defaults/main.yml @@ -253,58 +253,13 @@ cinder_api_workers: "{{ openstack_service_workers }}" #################### # Cinder #################### -cinder_backends: - - name: "{{ cinder_backend_lvm_name }}" - enabled: "{{ enable_cinder_backend_lvm | bool }}" - - name: "{{ cinder_backend_nfs_name }}" - enabled: "{{ enable_cinder_backend_nfs | bool }}" - - name: "{{ cinder_backend_quobyte_name }}" - enabled: "{{ enable_cinder_backend_quobyte | bool }}" - - name: "{{ cinder_backend_pure_iscsi_name }}" - enabled: "{{ enable_cinder_backend_pure_iscsi | bool }}" - - name: "{{ cinder_backend_pure_fc_name }}" - enabled: "{{ enable_cinder_backend_pure_fc | bool }}" - - name: "{{ cinder_backend_pure_roce_name }}" - enabled: "{{ enable_cinder_backend_pure_roce | bool }}" - - name: "{{ cinder_backend_pure_nvme_tcp_name }}" - enabled: "{{ enable_cinder_backend_pure_nvme_tcp | bool }}" - - name: "{{ cinder_backend_lightbits_name }}" - enabled: "{{ enable_cinder_backend_lightbits | bool }}" - -cinder_backend_ceph_name: "rbd-1" -cinder_backend_lvm_name: "lvm-1" -cinder_backend_nfs_name: "nfs-1" -cinder_backend_quobyte_name: "QuobyteHD" -cinder_backend_pure_iscsi_name: "Pure-FlashArray-iscsi" -cinder_backend_pure_fc_name: "Pure-FlashArray-fc" -cinder_backend_pure_roce_name: "Pure-FlashArray-roce" -cinder_backend_pure_nvme_tcp_name: "Pure-FlashArray-nvme-tcp" -cinder_backend_lightbits_name: "Lightbits-NVMe-TCP" - -cinder_ceph_backends: - - name: "{{ cinder_backend_ceph_name }}" - backend_name: "{{ cinder_backend_ceph_name }}" - cluster: "{{ ceph_cluster }}" - user: "{{ ceph_cinder_user }}" - pool: "{{ ceph_cinder_pool_name }}" - enabled: "{{ cinder_backend_ceph | bool }}" - -cinder_backup_backend_ceph_name: "rbd-1" -cinder_backup_ceph_backend: >- - {{ - cinder_ceph_backends | - selectattr('name', 'equalto', cinder_backup_backend_ceph_name) | list | first | - combine({'pool': ceph_cinder_backup_pool_name, 'user': ceph_cinder_backup_user}) - }} - +# NOTE: the cinder backend definitions (cinder_backends, cinder_ceph_backends, +# cinder_enabled_backends, cinder_backup_backend_ceph_name, +# cinder_backup_ceph_backend and the cinder_backend_*_name variables) are +# defined in group_vars/all/cinder.yml so that all cinder backend definitions +# live in one place and are in scope for the iscsi role. skip_cinder_backend_check: false -cinder_enabled_backends: >- - {{ - cinder_backends | selectattr('enabled', 'equalto', true) | list - + cinder_ceph_backends | selectattr('enabled', 'equalto', true) | list - }} - #################### # Notification #################### diff --git a/releasenotes/notes/fix-iscsi-cinder-enabled-backends-f482e5454dc8fa87.yaml b/releasenotes/notes/fix-iscsi-cinder-enabled-backends-f482e5454dc8fa87.yaml new file mode 100644 index 000000000..3945ee4da --- /dev/null +++ b/releasenotes/notes/fix-iscsi-cinder-enabled-backends-f482e5454dc8fa87.yaml @@ -0,0 +1,10 @@ +--- +fixes: + - | + Fixes ``kolla-ansible prechecks`` (and deploy/reconfigure) failing with + ``'cinder_enabled_backends' is undefined`` in the ``iscsi`` role when a + Cinder iSCSI/LVM backend is enabled. The ``cinder_enabled_backends`` and + related backend variables are now defined in ``group_vars/all`` so that + they are in scope for the ``iscsi`` role, whose play runs before the + ``cinder`` play. `LP#2158120 + <https://bugs.launchpad.net/kolla-ansible/+bug/2158120>`__ |
