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

Change-Id: I17af43fe8cdf437c90453d316b66c3ea9d4f2745
This commit is contained in:
Takashi Kajinami 2020-04-09 08:23:38 +09:00
parent d721b59f33
commit 5d2acead72
3 changed files with 30 additions and 0 deletions

View File

@ -61,6 +61,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.
#
# [*store_description*]
# (optional) Provides constructive information about the store backend to
# end users.
@ -76,6 +84,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,
$store_description = $::os_service_default,
) {
@ -91,6 +101,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}/store_description": value => $store_description;
}
@ -103,6 +115,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_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_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_enforce_multipath').with_value('<SERVICE DEFAULT>')
is_expected.to contain_glance_api_config('cinder/cinder_use_multipath').with_value('<SERVICE DEFAULT>')
end
it 'configures glance-cache.conf' do
is_expected.to_not contain_glance_cache_config('cinder/store_description')
@ -52,6 +54,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_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_enforce_multipath').with_value('<SERVICE DEFAULT>')
is_expected.to contain_glance_cache_config('cinder/cinder_use_multipath').with_value('<SERVICE DEFAULT>')
end
end
@ -68,6 +72,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,
}
end
it 'configures glance-api.conf' do
@ -81,6 +87,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)
end
it 'configures glance-cache.conf' do
is_expected.to_not contain_glance_cache_config('cinder/store_description')
@ -93,6 +101,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)
end
end
end