diff --git a/manifests/backend/gpfs.pp b/manifests/backend/gpfs.pp index ef343326..08efd910 100644 --- a/manifests/backend/gpfs.pp +++ b/manifests/backend/gpfs.pp @@ -44,6 +44,26 @@ # default, the system storage pool is used. Defaults to "system" via driver. # Defaults to # +# [*nas_host*] +# (optional) IP address or Hostname of the NAS system. +# Defaults to $::os_service_default +# +# [*nas_login*] +# (optional) User name to connect to NAS system. +# Defaults to $::os_service_default +# +# [*nas_password*] +# (optional) Password to connect to NAS system. +# Defaults to $::os_service_default +# +# [*nas_private_key*] +# (optional) Filename of private key to use for SSH authentication. +# Defaults to $::os_service_default +# +# [*nas_ssh_port*] +# (optional) SSH port to use to connect to NAS system. +# Defaults to $::os_service_default +# # [*extra_options*] # (optional) Hash of extra options to pass to the backend stanza # Defaults to: {} @@ -65,6 +85,11 @@ define cinder::backend::gpfs ( $gpfs_max_clone_depth = $::os_service_default, $gpfs_sparse_volumes = $::os_service_default, $gpfs_storage_pool = $::os_service_default, + $nas_host = $::os_service_default, + $nas_login = $::os_service_default, + $nas_password = $::os_service_default, + $nas_private_key = $::os_service_default, + $nas_ssh_port = $::os_service_default, $extra_options = {}, ) { @@ -84,6 +109,11 @@ define cinder::backend::gpfs ( "${name}/gpfs_storage_pool": value => $gpfs_storage_pool; "${name}/gpfs_images_share_mode": value => $gpfs_images_share_mode; "${name}/gpfs_images_dir": value => $gpfs_images_dir; + "${name}/nas_host": value => $nas_host; + "${name}/nas_login": value => $nas_login; + "${name}/nas_password": value => $nas_password; + "${name}/nas_private_key": value => $nas_private_key; + "${name}/nas_ssh_port": value => $nas_ssh_port; } create_resources('cinder_config', $extra_options) diff --git a/manifests/volume/gpfs.pp b/manifests/volume/gpfs.pp index 94bcf84c..e7468e31 100644 --- a/manifests/volume/gpfs.pp +++ b/manifests/volume/gpfs.pp @@ -44,6 +44,26 @@ # default, the system storage pool is used. Defaults to "system" via driver. # Defaults to $::os_service_default # +# [*nas_host*] +# (optional) IP address or Hostname of the NAS system. +# Defaults to $::os_service_default +# +# [*nas_login*] +# (optional) User name to connect to NAS system. +# Defaults to $::os_service_default +# +# [*nas_password*] +# (optional) Password to connect to NAS system. +# Defaults to $::os_service_default +# +# [*nas_private_key*] +# (optional) Filename of private key to use for SSH authentication. +# Defaults to $::os_service_default +# +# [*nas_ssh_port*] +# (optional) SSH port to use to connect to NAS system. +# Defaults to $::os_service_default +# # [*extra_options*] # (optional) Hash of extra options to pass to the backend stanza # Defaults to: {} @@ -65,6 +85,11 @@ class cinder::volume::gpfs( $gpfs_max_clone_depth = $::os_service_default, $gpfs_sparse_volumes = $::os_service_default, $gpfs_storage_pool = $::os_service_default, + $nas_host = $::os_service_default, + $nas_login = $::os_service_default, + $nas_password = $::os_service_default, + $nas_private_key = $::os_service_default, + $nas_ssh_port = $::os_service_default, $extra_options = {} ) { @@ -78,6 +103,11 @@ cinder::backend::gpfs instead.') gpfs_max_clone_depth => $gpfs_max_clone_depth, gpfs_sparse_volumes => $gpfs_sparse_volumes, gpfs_storage_pool => $gpfs_storage_pool, + nas_host => $nas_host, + nas_login => $nas_login, + nas_password => $nas_password, + nas_private_key => $nas_private_key, + nas_ssh_port => $nas_ssh_port, extra_options => $extra_options, } } diff --git a/spec/defines/cinder_backend_gpfs_spec.rb b/spec/defines/cinder_backend_gpfs_spec.rb index 8810aa73..6d43f8ce 100644 --- a/spec/defines/cinder_backend_gpfs_spec.rb +++ b/spec/defines/cinder_backend_gpfs_spec.rb @@ -17,6 +17,11 @@ describe 'cinder::backend::gpfs' do :gpfs_storage_pool => '', :gpfs_images_dir => '', :gpfs_images_share_mode => '', + :nas_host => '', + :nas_login => '', + :nas_password => '', + :nas_private_key => '', + :nas_ssh_port => '', } end @@ -25,7 +30,12 @@ describe 'cinder::backend::gpfs' do :gpfs_max_clone_depth => 1, :gpfs_sparse_volumes => false, :gpfs_storage_pool => 'foo', - } + :nas_host => 'nas_host', + :nas_login => 'admin', + :nas_password => 'nas_password', + :nas_private_key => '/path/to/private_key', + :nas_ssh_port => '22', + } end let :facts do