Handle image_volume_cache_enabled for PureStorage backend

Allows image_volume_cache_enabled to be set in the PureStorage
backend. This parameter will default to true if not set explicitly.

Change-Id: I9302dfde055c2e53bdb83bab4a873e00468e7ce1
Closes-bug: 1819055
This commit is contained in:
Andrew Austin 2019-03-07 19:54:55 +00:00
parent 949d82f5f3
commit 9299788303
3 changed files with 30 additions and 6 deletions

View File

@ -26,20 +26,25 @@
# which Volume Driver will be configured; PureISCSIDriver or PureFCDriver.
# Defaults to 'iSCSI'
#
# [*use_multipath_for_image_xfer*]
# (optional) .
# Defaults to True
#
# [*use_chap_auth*]
# (optional) Only affects the PureISCSIDriver.
# (optional) Use authentication for iSCSI. Only affects the PureISCSIDriver.
# Defaults to False
#
# [*use_multipath_for_image_xfer*]
# (optional) Use multipath when attaching the volume for image transfer.
# Defaults to True
#
# [*manage_volume_type*]
# (Optional) Whether or not manage Cinder Volume type.
# If set to true, a Cinder Volume type will be created
# with volume_backend_name=$volume_backend_name key/value.
# Defaults to false.
#
# [*image_volume_cache_enabled*]
# (Optional) Enable Cinder's image cache function for the PureStorage
# backend.
# Defaults to True
#
# [*extra_options*]
# (optional) Hash of extra options to pass to the backend stanza.
# Defaults to: {}
@ -55,6 +60,7 @@ define cinder::backend::pure(
$use_chap_auth = false,
$use_multipath_for_image_xfer = true,
$manage_volume_type = false,
$image_volume_cache_enabled = true,
$extra_options = {},
) {
@ -72,7 +78,8 @@ define cinder::backend::pure(
"${name}/san_ip": value => $san_ip;
"${name}/pure_api_token": value => $pure_api_token, secret => true;
"${name}/use_chap_auth": value => $use_chap_auth;
"${name}/use_multipath_for_image_xfer": value => $use_multipath_for_image_xfer ;
"${name}/use_multipath_for_image_xfer": value => $use_multipath_for_image_xfer;
"${name}/image_volume_cache_enabled": value => $image_volume_cache_enabled;
}
if $manage_volume_type {

View File

@ -0,0 +1,6 @@
---
features:
- |
Add new parameter cinder::backend::pure::image_volume_cache_enabled
Allows setting of the image_volume_cache_enabled option on the managed
Cinder backend for PureStorage. The option defaults to True if unset.

View File

@ -22,6 +22,7 @@ describe 'cinder::backend::pure' do
is_expected.to contain_cinder_config('pure/pure_api_token').with_value('abc123def456ghi789')
is_expected.to contain_cinder_config('pure/use_multipath_for_image_xfer').with_value('true')
is_expected.to contain_cinder_config('pure/use_chap_auth').with_value('false')
is_expected.to contain_cinder_config('pure/image_volume_cache_enabled').with_value('true')
}
end
@ -80,6 +81,16 @@ describe 'cinder::backend::pure' do
end
end
context 'pure volume driver with image_volume_cache_enabled disabled' do
let :params do
req_params.merge({'image_volume_cache_enabled' => false})
end
it {
is_expected.to contain_cinder_config('pure/image_volume_cache_enabled').with_value('false')
}
end
on_supported_os({
:supported_os => OSDefaults.get_supported_os
}).each do |os,facts|