Add parameters for multipath connection in cinder backend

This patch introduced the following 2 parameters into
glance::backend::multistore::cinder class, so that operators can define
multipath usage in volume connection by puppet parameter.

 - cinder_enforce_multipath
 - cinder_use_multipath

Backport note:
Resolved conflicts caused by 2936eb233e
which was backported erlier.

Change-Id: I17af43fe8cdf437c90453d316b66c3ea9d4f2745
(cherry picked from commit 5d2acead72)
This commit is contained in:
Takashi Kajinami 2020-04-09 08:23:38 +09:00
parent 2936eb233e
commit 4b4b990b2e
3 changed files with 30 additions and 0 deletions

View File

@ -66,6 +66,14 @@
# (optional) A valid password for the user specified by `cinder_store_user_name' # (optional) A valid password for the user specified by `cinder_store_user_name'
# Defaults to $::os_service_default. # 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*] # [*cinder_mount_point_base*]
# (Optional) When glance uses cinder as store and cinder backend is NFS, the mount point # (Optional) When glance uses cinder as store and cinder backend is NFS, the mount point
# would be required to be set with this parameter. # 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_project_name = $::os_service_default,
$cinder_store_user_name = $::os_service_default, $cinder_store_user_name = $::os_service_default,
$cinder_store_password = $::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, $cinder_mount_point_base = $::os_service_default,
$store_description = $::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_project_name": value => $cinder_store_project_name;
"${name}/cinder_store_user_name": value => $cinder_store_user_name; "${name}/cinder_store_user_name": value => $cinder_store_user_name;
"${name}/cinder_store_password": value => $cinder_store_password; "${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}/cinder_mount_point_base": value => $cinder_mount_point_base;
"${name}/store_description": value => $store_description; "${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_auth_address": value => $cinder_store_auth_address;
"${name}/cinder_store_project_name": value => $cinder_store_project_name; "${name}/cinder_store_project_name": value => $cinder_store_project_name;
"${name}/cinder_store_user_name": value => $cinder_store_user_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_mount_point_base": value => $cinder_mount_point_base;
"${name}/cinder_store_password": value => $cinder_store_password; "${name}/cinder_store_password": value => $cinder_store_password;
} }

View File

@ -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.

View File

@ -40,6 +40,8 @@ describe 'glance::backend::multistore::cinder' do
is_expected.to contain_glance_api_config('cinder/cinder_store_project_name').with_value('<SERVICE DEFAULT>') is_expected.to contain_glance_api_config('cinder/cinder_store_project_name').with_value('<SERVICE DEFAULT>')
is_expected.to contain_glance_api_config('cinder/cinder_store_user_name').with_value('<SERVICE DEFAULT>') is_expected.to contain_glance_api_config('cinder/cinder_store_user_name').with_value('<SERVICE DEFAULT>')
is_expected.to contain_glance_api_config('cinder/cinder_store_password').with_value('<SERVICE DEFAULT>') is_expected.to contain_glance_api_config('cinder/cinder_store_password').with_value('<SERVICE DEFAULT>')
is_expected.to contain_glance_api_config('cinder/cinder_enforce_multipath').with_value('<SERVICE DEFAULT>')
is_expected.to contain_glance_api_config('cinder/cinder_use_multipath').with_value('<SERVICE DEFAULT>')
is_expected.to contain_glance_api_config('cinder/cinder_mount_point_base').with_value('<SERVICE DEFAULT>') is_expected.to contain_glance_api_config('cinder/cinder_mount_point_base').with_value('<SERVICE DEFAULT>')
end end
it 'configures glance-cache.conf' do 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('<SERVICE DEFAULT>') is_expected.to contain_glance_cache_config('cinder/cinder_store_project_name').with_value('<SERVICE DEFAULT>')
is_expected.to contain_glance_cache_config('cinder/cinder_store_user_name').with_value('<SERVICE DEFAULT>') is_expected.to contain_glance_cache_config('cinder/cinder_store_user_name').with_value('<SERVICE DEFAULT>')
is_expected.to contain_glance_cache_config('cinder/cinder_store_password').with_value('<SERVICE DEFAULT>') is_expected.to contain_glance_cache_config('cinder/cinder_store_password').with_value('<SERVICE DEFAULT>')
is_expected.to contain_glance_cache_config('cinder/cinder_enforce_multipath').with_value('<SERVICE DEFAULT>')
is_expected.to contain_glance_cache_config('cinder/cinder_use_multipath').with_value('<SERVICE DEFAULT>')
is_expected.to contain_glance_cache_config('cinder/cinder_mount_point_base').with_value('<SERVICE DEFAULT>') is_expected.to contain_glance_cache_config('cinder/cinder_mount_point_base').with_value('<SERVICE DEFAULT>')
end end
end end
@ -70,6 +74,8 @@ describe 'glance::backend::multistore::cinder' do
:cinder_store_project_name => 'services', :cinder_store_project_name => 'services',
:cinder_store_user_name => 'glance', :cinder_store_user_name => 'glance',
:cinder_store_password => 'glance', :cinder_store_password => 'glance',
:cinder_enforce_multipath => true,
:cinder_use_multipath => true,
:cinder_mount_point_base => '/var/lib/glance/mnt', :cinder_mount_point_base => '/var/lib/glance/mnt',
} }
end 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_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_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_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') is_expected.to contain_glance_api_config('cinder/cinder_mount_point_base').with_value('/var/lib/glance/mnt')
end end
it 'configures glance-cache.conf' do 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_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_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_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') is_expected.to contain_glance_cache_config('cinder/cinder_mount_point_base').with_value('/var/lib/glance/mnt')
end end
end end