diff --git a/manifests/backend/pure.pp b/manifests/backend/pure.pp index bcd7ce94..ccfd884b 100644 --- a/manifests/backend/pure.pp +++ b/manifests/backend/pure.pp @@ -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 { diff --git a/releasenotes/notes/purestorage-handle-imagecache-6c2d78f91746bdbf.yaml b/releasenotes/notes/purestorage-handle-imagecache-6c2d78f91746bdbf.yaml new file mode 100644 index 00000000..c0b3d79c --- /dev/null +++ b/releasenotes/notes/purestorage-handle-imagecache-6c2d78f91746bdbf.yaml @@ -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. diff --git a/spec/defines/cinder_backend_pure_spec.rb b/spec/defines/cinder_backend_pure_spec.rb index ef914c50..c67b8674 100644 --- a/spec/defines/cinder_backend_pure_spec.rb +++ b/spec/defines/cinder_backend_pure_spec.rb @@ -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|