diff --git a/manifests/backend/pure.pp b/manifests/backend/pure.pp index 9b7be984..dcf7673b 100644 --- a/manifests/backend/pure.pp +++ b/manifests/backend/pure.pp @@ -20,20 +20,24 @@ # 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. +# # [*extra_options*] # (optional) Hash of extra options to pass to the backend stanza. # Defaults to: {} @@ -48,6 +52,7 @@ define cinder::backend::pure( $use_chap_auth = false, $use_multipath_for_image_xfer = true, $manage_volume_type = false, + $image_volume_cache_enabled = $::os_service_default, $extra_options = {}, ) { @@ -64,7 +69,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 c182e4e1..0f7bf9ed 100644 --- a/spec/defines/cinder_backend_pure_spec.rb +++ b/spec/defines/cinder_backend_pure_spec.rb @@ -76,4 +76,24 @@ describe 'cinder::backend::pure' do end end + describe 'pure volume driver with image_volume_cache_enabled disabled' do + let :params do + req_params.merge({'image_volume_cache_enabled' => false}) + end + + it 'confiugre pure backend without image_volume_cache_enabled' do + is_expected.to contain_cinder_config('pure/image_volume_cache_enabled').with_value('false') + end + end + + describe 'pure volume driver with image_volume_cache_enabled enabled' do + let :params do + req_params.merge({'image_volume_cache_enabled' => true}) + end + + it 'confiugre pure backend with image_volume_cache_enabled' do + is_expected.to contain_cinder_config('pure/image_volume_cache_enabled').with_value('true') + end + end + end