From fc19c688fb367293f6e8f37467cec2255b658740 Mon Sep 17 00:00:00 2001 From: Takashi Kajinami Date: Thu, 6 Jan 2022 19:42:38 +0900 Subject: [PATCH] Refactor defaults of manila::backend::dellemc_unity - Use $::os_service_default instead of undef, to rely on service defaults instead of passing an empty value - The unity_share_meta_pools parameter is required by the driver implementation. Make it required in the puppet module as well to let users notice the missing parameter. Change-Id: I26893b21bacb6f86b190cf8eb642bdccc169e6af --- manifests/backend/dellemc_unity.pp | 19 ++++---- .../manila_backend_dellemc_unity_spec.rb | 46 ++++++++++--------- 2 files changed, 34 insertions(+), 31 deletions(-) diff --git a/manifests/backend/dellemc_unity.pp b/manifests/backend/dellemc_unity.pp index f17a593f..0510692c 100644 --- a/manifests/backend/dellemc_unity.pp +++ b/manifests/backend/dellemc_unity.pp @@ -22,6 +22,9 @@ # [*emc_nas_server*] # (required) The hostname (or IP address) for the storage system. # +# [*unity_server_meta_pool*] +# (required) The name of the pool to persist the meta-data of NAS server. +# # [*emc_share_backend*] # (optional) Share backend. # Defaults to 'unity' @@ -36,22 +39,18 @@ # is used as the default for all backends. # Defaults to $::os_service_default. # -# [*unity_server_meta_pool*] -# (optional) The name of the pool to persist the meta-data of NAS server. -# Defaults to None -# # [*unity_share_data_pools*] # (optional) Comma separated list specifying the name of the pools to be # used by this back end. Do not set this option if all storage pools on the # system can be used. Wild card character is supported -# Defaults to None +# Defaults to $::os_service_default # # [*unity_ethernet_ports*] # (optional) Comma separated list specifying the ethernet ports of Unity # system that can be used for share. Do not set this option if all ethernet # ports can be used. Wild card character is supported. Both the normal ethernet # port and link aggregation port can be used by Unity share driver. -# Defaults to None +# Defaults to $::os_service_default # # [*unity_share_server*] # (optional) NAS server used for creating share when driver is in DHSS=False @@ -97,17 +96,17 @@ define manila::backend::dellemc_unity ( $emc_nas_login, $emc_nas_password, $emc_nas_server, + $unity_server_meta_pool, $emc_share_backend = 'unity', $share_backend_name = $name, $backend_availability_zone = $::os_service_default, - $unity_server_meta_pool = undef, - $unity_share_data_pools = undef, - $unity_ethernet_ports = undef, + $unity_share_data_pools = $::os_service_default, + $unity_ethernet_ports = $::os_service_default, $unity_share_server = $::os_service_default, $report_default_filter_function = $::os_service_default, $network_plugin_ipv6_enabled = true, $emc_ssl_cert_verify = false, - $emc_ssl_cert_path = undef, + $emc_ssl_cert_path = $::os_service_default, $package_ensure = 'present', ) { diff --git a/spec/defines/manila_backend_dellemc_unity_spec.rb b/spec/defines/manila_backend_dellemc_unity_spec.rb index e23cb68d..bf951ff9 100644 --- a/spec/defines/manila_backend_dellemc_unity_spec.rb +++ b/spec/defines/manila_backend_dellemc_unity_spec.rb @@ -4,34 +4,25 @@ describe 'manila::backend::dellemc_unity' do let(:title) {'dellemc_unity'} - let :params do + let :required_params do { - :driver_handles_share_servers => true, - :emc_nas_login => 'admin', - :emc_nas_password => 'password', - :emc_nas_server => '127.0.0.2', - :unity_server_meta_pool => 'pool1', - :unity_share_data_pools => '*', - :unity_ethernet_ports => 'eth1', - :unity_share_server => '192.168.0.1', - :report_default_filter_function => false, - :network_plugin_ipv6_enabled => true, - :emc_ssl_cert_verify => true, - :emc_ssl_cert_path => '/etc/ssl/certs/', - :backend_availability_zone => 'my_zone', + :driver_handles_share_servers => true, + :emc_nas_login => 'admin', + :emc_nas_password => 'password', + :emc_nas_server => '127.0.0.2', + :unity_server_meta_pool => 'pool1', } end let :default_params do { :emc_share_backend => 'unity', - :unity_server_meta_pool => '', :unity_share_data_pools => '', :unity_ethernet_ports => '', :unity_share_server => '', :report_default_filter_function => '', - :network_plugin_ipv6_enabled => '', - :emc_ssl_cert_verify => '', + :network_plugin_ipv6_enabled => true, + :emc_ssl_cert_verify => false, :emc_ssl_cert_path => '', :backend_availability_zone => '', } @@ -57,20 +48,33 @@ describe 'manila::backend::dellemc_unity' do shared_examples 'manila::backend::dellemc_unity' do context 'with default parameters' do - before do - params = {} + let :params do + required_params end it_configures 'dell emc unity share driver' end context 'with provided parameters' do + let :params do + required_params.merge({ + :unity_share_data_pools => '*', + :unity_ethernet_ports => 'eth1', + :unity_share_server => '192.168.0.1', + :report_default_filter_function => false, + :network_plugin_ipv6_enabled => true, + :emc_ssl_cert_verify => true, + :emc_ssl_cert_path => '/etc/ssl/certs/', + :backend_availability_zone => 'my_zone', + }) + end + it_configures 'dell emc unity share driver' end context 'with share server config' do - before do - params.merge!({ + let :params do + required_params.merge({ :emc_nas_password => true, }) end