diff --git a/manifests/backend/multistore/cinder.pp b/manifests/backend/multistore/cinder.pp index 2988eaf4..1804b13c 100644 --- a/manifests/backend/multistore/cinder.pp +++ b/manifests/backend/multistore/cinder.pp @@ -66,6 +66,14 @@ # (optional) A valid password for the user specified by `cinder_store_user_name' # Defaults to $::os_service_default. # +# [*cinder_enforce_multipath*] +# (optional) Enforce multipath usage when attaching a cinder volume +# Defaults to $::os_service_default. +# +# [*cinder_use_multipath*] +# (optional) Flag to identify multipath is supported or not in the deployment +# Defaults to $::os_service_default. +# # [*cinder_mount_point_base*] # (Optional) When glance uses cinder as store and cinder backend is NFS, the mount point # would be required to be set with this parameter. @@ -86,6 +94,8 @@ define glance::backend::multistore::cinder( $cinder_store_project_name = $::os_service_default, $cinder_store_user_name = $::os_service_default, $cinder_store_password = $::os_service_default, + $cinder_enforce_multipath = $::os_service_default, + $cinder_use_multipath = $::os_service_default, $cinder_mount_point_base = $::os_service_default, $store_description = $::os_service_default, ) { @@ -102,6 +112,8 @@ define glance::backend::multistore::cinder( "${name}/cinder_store_project_name": value => $cinder_store_project_name; "${name}/cinder_store_user_name": value => $cinder_store_user_name; "${name}/cinder_store_password": value => $cinder_store_password; + "${name}/cinder_enforce_multipath": value => $cinder_enforce_multipath; + "${name}/cinder_use_multipath": value => $cinder_use_multipath; "${name}/cinder_mount_point_base": value => $cinder_mount_point_base; "${name}/store_description": value => $store_description; } @@ -115,6 +127,8 @@ define glance::backend::multistore::cinder( "${name}/cinder_store_auth_address": value => $cinder_store_auth_address; "${name}/cinder_store_project_name": value => $cinder_store_project_name; "${name}/cinder_store_user_name": value => $cinder_store_user_name; + "${name}/cinder_enforce_multipath": value => $cinder_enforce_multipath; + "${name}/cinder_use_multipath": value => $cinder_use_multipath; "${name}/cinder_mount_point_base": value => $cinder_mount_point_base; "${name}/cinder_store_password": value => $cinder_store_password; } diff --git a/releasenotes/notes/glance-backend-cinder-multipath-d18f73e3a9c55b05.yaml b/releasenotes/notes/glance-backend-cinder-multipath-d18f73e3a9c55b05.yaml new file mode 100644 index 00000000..6e9f52c7 --- /dev/null +++ b/releasenotes/notes/glance-backend-cinder-multipath-d18f73e3a9c55b05.yaml @@ -0,0 +1,6 @@ +--- +features: + - | + The new parameters, cinder_enforce_multipath and cinder_use_multipath, are + intoroduced into cinder::backend::multistore::cinder class, so that + operators can define multipath usage in volume connection. diff --git a/spec/defines/glance_backend_multistore_cinder_spec.rb b/spec/defines/glance_backend_multistore_cinder_spec.rb index e05f4a81..898b472d 100644 --- a/spec/defines/glance_backend_multistore_cinder_spec.rb +++ b/spec/defines/glance_backend_multistore_cinder_spec.rb @@ -40,6 +40,8 @@ describe 'glance::backend::multistore::cinder' do is_expected.to contain_glance_api_config('cinder/cinder_store_project_name').with_value('') is_expected.to contain_glance_api_config('cinder/cinder_store_user_name').with_value('') is_expected.to contain_glance_api_config('cinder/cinder_store_password').with_value('') + is_expected.to contain_glance_api_config('cinder/cinder_enforce_multipath').with_value('') + is_expected.to contain_glance_api_config('cinder/cinder_use_multipath').with_value('') is_expected.to contain_glance_api_config('cinder/cinder_mount_point_base').with_value('') end it 'configures glance-cache.conf' do @@ -53,6 +55,8 @@ describe 'glance::backend::multistore::cinder' do is_expected.to contain_glance_cache_config('cinder/cinder_store_project_name').with_value('') is_expected.to contain_glance_cache_config('cinder/cinder_store_user_name').with_value('') is_expected.to contain_glance_cache_config('cinder/cinder_store_password').with_value('') + is_expected.to contain_glance_cache_config('cinder/cinder_enforce_multipath').with_value('') + is_expected.to contain_glance_cache_config('cinder/cinder_use_multipath').with_value('') is_expected.to contain_glance_cache_config('cinder/cinder_mount_point_base').with_value('') end end @@ -70,6 +74,8 @@ describe 'glance::backend::multistore::cinder' do :cinder_store_project_name => 'services', :cinder_store_user_name => 'glance', :cinder_store_password => 'glance', + :cinder_enforce_multipath => true, + :cinder_use_multipath => true, :cinder_mount_point_base => '/var/lib/glance/mnt', } end @@ -84,6 +90,8 @@ describe 'glance::backend::multistore::cinder' do is_expected.to contain_glance_api_config('cinder/cinder_store_project_name').with_value('services') is_expected.to contain_glance_api_config('cinder/cinder_store_user_name').with_value('glance') is_expected.to contain_glance_api_config('cinder/cinder_store_password').with_value('glance') + is_expected.to contain_glance_api_config('cinder/cinder_enforce_multipath').with_value(true) + is_expected.to contain_glance_api_config('cinder/cinder_use_multipath').with_value(true) is_expected.to contain_glance_api_config('cinder/cinder_mount_point_base').with_value('/var/lib/glance/mnt') end it 'configures glance-cache.conf' do @@ -97,6 +105,8 @@ describe 'glance::backend::multistore::cinder' do is_expected.to contain_glance_cache_config('cinder/cinder_store_project_name').with_value('services') is_expected.to contain_glance_cache_config('cinder/cinder_store_user_name').with_value('glance') is_expected.to contain_glance_cache_config('cinder/cinder_store_password').with_value('glance') + is_expected.to contain_glance_cache_config('cinder/cinder_enforce_multipath').with_value(true) + is_expected.to contain_glance_cache_config('cinder/cinder_use_multipath').with_value(true) is_expected.to contain_glance_cache_config('cinder/cinder_mount_point_base').with_value('/var/lib/glance/mnt') end end