diff --git a/deployment/ceph-ansible/ceph-base.yaml b/deployment/ceph-ansible/ceph-base.yaml index f552c65db8..5cedd9f494 100644 --- a/deployment/ceph-ansible/ceph-base.yaml +++ b/deployment/ceph-ansible/ceph-base.yaml @@ -119,6 +119,9 @@ parameters: NovaRbdPoolName: default: vms type: string + description: The pool name for RBD backend ephemeral storage. + tags: + - role_specific CephClientKey: description: The Ceph client key. Can be created with ceph-authtool --gen-print-key. type: string @@ -269,7 +272,10 @@ resources: list_concat_unique: - - {get_param: CinderRbdPoolName} - {get_param: CinderBackupRbdPoolName} - - {get_param: NovaRbdPoolName} + - if: + - equals: [{get_param: [RoleParameters, NovaRbdPoolName]}, ''] + - {get_param: NovaRbdPoolName} + - {get_param: [RoleParameters, NovaRbdPoolName]} - {get_param: GlanceRbdPoolName} # CinderRbdExtraPools is a list (do not indent further) - {get_param: CinderRbdExtraPools} @@ -301,7 +307,10 @@ resources: list_concat_unique: - - {get_param: CinderRbdPoolName} - {get_param: CinderBackupRbdPoolName} - - {get_param: NovaRbdPoolName} + - if: + - equals: [{get_param: [RoleParameters, NovaRbdPoolName]}, ''] + - {get_param: NovaRbdPoolName} + - {get_param: [RoleParameters, NovaRbdPoolName]} - {get_param: GlanceRbdPoolName} - if: - equals: [{get_param: GnocchiRbdPoolName}, ''] diff --git a/deployment/nova/nova-compute-container-puppet.yaml b/deployment/nova/nova-compute-container-puppet.yaml index 32ccf69481..45f381ce59 100644 --- a/deployment/nova/nova-compute-container-puppet.yaml +++ b/deployment/nova/nova-compute-container-puppet.yaml @@ -74,6 +74,9 @@ parameters: NovaRbdPoolName: default: vms type: string + description: The pool name for RBD backend ephemeral storage. + tags: + - role_specific CephClientKey: description: The Ceph client key. Can be created with ceph-authtool --gen-print-key. type: string @@ -316,6 +319,7 @@ resources: nova::compute::libvirt::volume_use_multipath: NovaLibvirtVolumeUseMultipath nova::compute::libvirt::libvirt_hw_machine_type: NovaHWMachineType compute_enable_ksm: NovaComputeEnableKsm + nova::compute::rbd::libvirt_images_rbd_pool: NovaRbdPoolName - values: {get_param: [RoleParameters]} - values: NovaVcpuPinSet: {get_param: NovaVcpuPinSet} @@ -330,6 +334,7 @@ resources: NovaLibvirtVolumeUseMultipath: {get_param: NovaLibvirtVolumeUseMultipath} NovaHWMachineType: {get_param: NovaHWMachineType} NovaComputeEnableKsm: {get_param: NovaComputeEnableKsm} + NovaRbdPoolName: {get_param: NovaRbdPoolName} conditions: enable_instance_ha: {equals: [{get_param: EnableInstanceHA}, true]} @@ -382,7 +387,6 @@ outputs: - - '/etc/ceph/' - {get_param: CephClusterName} - '.conf' - nova::compute::rbd::libvirt_images_rbd_pool: {get_param: NovaRbdPoolName} nova::compute::rbd::libvirt_rbd_user: {get_param: CephClientUserName} nova::compute::rbd::rbd_keyring: list_join: diff --git a/releasenotes/notes/nova-rbd-pool-role-specific-010f6072d641d84f.yaml b/releasenotes/notes/nova-rbd-pool-role-specific-010f6072d641d84f.yaml new file mode 100644 index 0000000000..5e462919fb --- /dev/null +++ b/releasenotes/notes/nova-rbd-pool-role-specific-010f6072d641d84f.yaml @@ -0,0 +1,6 @@ +--- +features: + - | + The parameter ``NovaRbdPoolName`` is changed to be role specific. + This requires the usage of host aggregates as otherwise it will break live + migration of instances as we can not do this with different storage backends.