Deprecate redundant driver_handles_share_servers

Several dreivers don't support changing driver_handles_share_servers
but only support True or False. For such drivers, it's not really
helpful to expose an interface to set the parameter. Futhermore, it's
just redundant to require the parmaeters is set with the proper value.
This change deprecate the driver_handles_share_servers parameter about
share drivers which support only one of True or False.

Change-Id: I5705b218fedd9088602d931af544b2728745d8c1
This commit is contained in:
Takashi Kajinami 2021-05-28 15:14:02 +09:00
parent f0ec3d8488
commit 4c365c9064
7 changed files with 136 additions and 122 deletions

View File

@ -5,11 +5,6 @@
# #
# === Parameters # === Parameters
# #
# [*driver_handles_share_servers*]
# (required) Denotes whether the driver should handle the responsibility of
# managing share servers. This must be set to false if the driver is to
# operate without managing share servers.
#
# [*emc_nas_login*] # [*emc_nas_login*]
# (required) Administrative user account name used to access the storage # (required) Administrative user account name used to access the storage
# system. # system.
@ -31,7 +26,7 @@
# #
# [*emc_nas_root_dir*] # [*emc_nas_root_dir*]
# (optional) The root directory where shares will be located. # (optional) The root directory where shares will be located.
# Defaults to None # Defaults to $::os_service_default
# #
# [*emc_nas_server_port*] # [*emc_nas_server_port*]
# (optional) Port number for the Dell EMC isilon server. # (optional) Port number for the Dell EMC isilon server.
@ -44,10 +39,16 @@
# [*package_ensure*] # [*package_ensure*]
# (optional) Ensure state for package. Defaults to 'present'. # (optional) Ensure state for package. Defaults to 'present'.
# #
# DEPRECATED PARAMETERS
#
# [*driver_handles_share_servers*]
# (optional) Denotes whether the driver should handle the responsibility of
# managing share servers. This must be set to false if the driver is to
# operate without managing share servers.
#
# === Examples # === Examples
# #
# manila::backend::dellemc_isilon { 'myBackend': # manila::backend::dellemc_isilon { 'myBackend':
# driver_handles_share_servers => false,
# emc_nas_login => 'admin', # emc_nas_login => 'admin',
# emc_nas_password => 'password', # emc_nas_password => 'password',
# emc_nas_server => <IP address of isilon cluster>, # emc_nas_server => <IP address of isilon cluster>,
@ -55,27 +56,32 @@
# } # }
# #
define manila::backend::dellemc_isilon ( define manila::backend::dellemc_isilon (
$driver_handles_share_servers,
$emc_nas_login, $emc_nas_login,
$emc_nas_password, $emc_nas_password,
$emc_nas_server, $emc_nas_server,
$emc_share_backend, $emc_share_backend,
$share_backend_name = $name, $share_backend_name = $name,
$emc_nas_root_dir = undef, $emc_nas_root_dir = $::os_service_default,
$emc_nas_server_port = 8080, $emc_nas_server_port = 8080,
$emc_nas_server_secure = true, $emc_nas_server_secure = true,
$package_ensure = 'present', $package_ensure = 'present',
# DEPRECATED PARAMETERS
$driver_handles_share_servers = undef,
) { ) {
include manila::deps include manila::deps
validate_legacy(String, 'validate_string', $emc_nas_password) validate_legacy(String, 'validate_string', $emc_nas_password)
if $driver_handles_share_servers != undef {
warning('The driver_handles_share_servers parameter has been deprecated and has no effect')
}
$dellemc_isilon_share_driver = 'manila.share.drivers.dell_emc.driver.EMCShareDriver' $dellemc_isilon_share_driver = 'manila.share.drivers.dell_emc.driver.EMCShareDriver'
manila_config { manila_config {
"${share_backend_name}/share_driver": value => $dellemc_isilon_share_driver; "${share_backend_name}/share_driver": value => $dellemc_isilon_share_driver;
"${share_backend_name}/driver_handles_share_servers": value => $driver_handles_share_servers; "${share_backend_name}/driver_handles_share_servers": value => false;
"${share_backend_name}/emc_nas_login": value => $emc_nas_login; "${share_backend_name}/emc_nas_login": value => $emc_nas_login;
"${share_backend_name}/emc_nas_password": value => $emc_nas_password, secret => true; "${share_backend_name}/emc_nas_password": value => $emc_nas_password, secret => true;
"${share_backend_name}/emc_nas_server": value => $emc_nas_server; "${share_backend_name}/emc_nas_server": value => $emc_nas_server;

View File

@ -5,12 +5,6 @@
# #
# === Parameters # === Parameters
# #
# [*driver_handles_share_servers*]
# (required) Denotes whether the driver should handle the responsibility of
# managing share servers. This must be set to false if the driver is to
# operate without managing share servers.
# VMAX driver requires this option to be as True.
#
# [*emc_nas_login*] # [*emc_nas_login*]
# (required) Administrative user account name used to access the storage # (required) Administrative user account name used to access the storage
# system. # system.
@ -31,27 +25,34 @@
# #
# [*vmax_server_container*] # [*vmax_server_container*]
# (optional) Name of the Data Mover to serve the share service. # (optional) Name of the Data Mover to serve the share service.
# Defaults to None # Defaults to $::os_service_default
# #
# [*vmax_share_data_pools*] # [*vmax_share_data_pools*]
# (optional) Comma separated list specifying the name of the pools to be # (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 # 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 # system can be used. Wild card character is supported
# Defaults to None # Defaults to $::os_service_default
# #
# [*vmax_ethernet_ports*] # [*vmax_ethernet_ports*]
# (optional) Comma-separated list specifying the ports (devices) of Data Mover # (optional) Comma-separated list specifying the ports (devices) of Data Mover
# that can be used for share server interface. Do not set this option if all # that can be used for share server interface. Do not set this option if all
# ports on the Data Mover can be used. Wild card character is supported. # ports on the Data Mover can be used. Wild card character is supported.
# Defaults to None # Defaults to $::os_service_default
# #
# [*package_ensure*] # [*package_ensure*]
# (optional) Ensure state for package. Defaults to 'present'. # (optional) Ensure state for package. Defaults to 'present'.
# #
# DEPRECATED PARAMETERS
#
# [*driver_handles_share_servers*]
# (optional) Denotes whether the driver should handle the responsibility of
# managing share servers. This must be set to false if the driver is to
# operate without managing share servers.
# VMAX driver requires this option to be as True.
#
# === Examples # === Examples
# #
# manila::backend::dellemc_vmax { 'myBackend': # manila::backend::dellemc_vmax { 'myBackend':
# driver_handles_share_servers => true,
# emc_nas_login => 'admin', # emc_nas_login => 'admin',
# emc_nas_password => 'password', # emc_nas_password => 'password',
# emc_nas_server => <IP address of Unity Syste,>, # emc_nas_server => <IP address of Unity Syste,>,
@ -59,27 +60,32 @@
# } # }
# #
define manila::backend::dellemc_vmax ( define manila::backend::dellemc_vmax (
$driver_handles_share_servers,
$emc_nas_login, $emc_nas_login,
$emc_nas_password, $emc_nas_password,
$emc_nas_server, $emc_nas_server,
$emc_share_backend, $emc_share_backend,
$share_backend_name = $name, $share_backend_name = $name,
$vmax_server_container = undef, $vmax_server_container = $::os_service_default,
$vmax_share_data_pools = undef , $vmax_share_data_pools = $::os_service_default,
$vmax_ethernet_ports = undef, $vmax_ethernet_ports = $::os_service_default,
$package_ensure = 'present', $package_ensure = 'present',
# DEPRECATED PARAMETERS
$driver_handles_share_servers = undef,
) { ) {
include manila::deps include manila::deps
validate_legacy(String, 'validate_string', $emc_nas_password) validate_legacy(String, 'validate_string', $emc_nas_password)
if $driver_handles_share_servers != undef {
warning('The driver_handles_share_servers parameter has been deprecated and has no effect')
}
$vmax_share_driver = 'manila.share.drivers.dell_emc.driver.EMCShareDriver' $vmax_share_driver = 'manila.share.drivers.dell_emc.driver.EMCShareDriver'
manila_config { manila_config {
"${share_backend_name}/share_driver": value => $vmax_share_driver; "${share_backend_name}/share_driver": value => $vmax_share_driver;
"${share_backend_name}/driver_handles_share_servers": value => $driver_handles_share_servers; "${share_backend_name}/driver_handles_share_servers": value => true;
"${share_backend_name}/emc_nas_login": value => $emc_nas_login; "${share_backend_name}/emc_nas_login": value => $emc_nas_login;
"${share_backend_name}/emc_nas_password": value => $emc_nas_password, secret => true; "${share_backend_name}/emc_nas_password": value => $emc_nas_password, secret => true;
"${share_backend_name}/emc_nas_server": value => $emc_nas_server; "${share_backend_name}/emc_nas_server": value => $emc_nas_server;

View File

@ -5,12 +5,6 @@
# #
# === Parameters # === Parameters
# #
# [*driver_handles_share_servers*]
# (required) Denotes whether the driver should handle the responsibility of
# managing share servers. This must be set to false if the driver is to
# operate without managing share servers.
# VNX driver requires this option to be as True.
#
# [*emc_nas_login*] # [*emc_nas_login*]
# (required) User account name used to access the storage # (required) User account name used to access the storage
# system. # system.
@ -31,19 +25,19 @@
# #
# [*vnx_server_container*] # [*vnx_server_container*]
# (optional) Name of the Data Mover to serve the share service. # (optional) Name of the Data Mover to serve the share service.
# Defaults to None # Defaults to $::os_service_default
# #
# [*vnx_share_data_pools*] # [*vnx_share_data_pools*]
# (optional) Comma separated list specifying the name of the pools to be # (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 # 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 # system can be used. Wild card character is supported
# Defaults to None # Defaults to $::os_service_default
# #
# [*vnx_ethernet_ports*] # [*vnx_ethernet_ports*]
# (optional) Comma-separated list specifying the ports (devices) of Data Mover # (optional) Comma-separated list specifying the ports (devices) of Data Mover
# that can be used for share server interface. Do not set this option if all # that can be used for share server interface. Do not set this option if all
# ports on the Data Mover can be used. Wild card character is supported. # ports on the Data Mover can be used. Wild card character is supported.
# Defaults to None # Defaults to $::os_service_default
# #
# [*network_plugin_ipv6_enabled*] # [*network_plugin_ipv6_enabled*]
# (optional) Whether to support IPv6 network resource, Default=False. # (optional) Whether to support IPv6 network resource, Default=False.
@ -60,11 +54,19 @@
# (optional) Can be used to specify a non default path to a # (optional) Can be used to specify a non default path to a
# CA_BUNDLE file or directory with certificates of trusted # CA_BUNDLE file or directory with certificates of trusted
# CAs, which will be used to validate the backend. # CAs, which will be used to validate the backend.
# Defaults to None # Defaults to $::os_service_default
# #
# [*package_ensure*] # [*package_ensure*]
# (optional) Ensure state for package. Defaults to 'present'. # (optional) Ensure state for package. Defaults to 'present'.
# #
# DEPRECATED PARAMETERS
#
# [*driver_handles_share_servers*]
# (optional) Denotes whether the driver should handle the responsibility of
# managing share servers. This must be set to false if the driver is to
# operate without managing share servers.
# VNX driver requires this option to be as True.
#
# === Examples # === Examples
# #
# manila::backend::dellemc_vnx { 'myBackend': # manila::backend::dellemc_vnx { 'myBackend':
@ -76,30 +78,34 @@
# } # }
# #
define manila::backend::dellemc_vnx ( define manila::backend::dellemc_vnx (
$driver_handles_share_servers,
$emc_nas_login, $emc_nas_login,
$emc_nas_password, $emc_nas_password,
$emc_nas_server, $emc_nas_server,
$emc_share_backend, $emc_share_backend,
$share_backend_name = $name, $share_backend_name = $name,
$vnx_server_container = undef, $vnx_server_container = $::os_service_default,
$vnx_share_data_pools = undef , $vnx_share_data_pools = $::os_service_default,
$vnx_ethernet_ports = undef, $vnx_ethernet_ports = $::os_service_default,
$network_plugin_ipv6_enabled = true, $network_plugin_ipv6_enabled = true,
$emc_ssl_cert_verify = false, $emc_ssl_cert_verify = false,
$emc_ssl_cert_path = undef, $emc_ssl_cert_path = $::os_service_default,
$package_ensure = 'present', $package_ensure = 'present',
$driver_handles_share_servers = undef,
) { ) {
include manila::deps include manila::deps
validate_legacy(String, 'validate_string', $emc_nas_password) validate_legacy(String, 'validate_string', $emc_nas_password)
if $driver_handles_share_servers != undef {
warning('The driver_handles_share_servers parameter has been deprecated and has no effect')
}
$vnx_share_driver = 'manila.share.drivers.dell_emc.driver.EMCShareDriver' $vnx_share_driver = 'manila.share.drivers.dell_emc.driver.EMCShareDriver'
manila_config { manila_config {
"${share_backend_name}/share_driver": value => $vnx_share_driver; "${share_backend_name}/share_driver": value => $vnx_share_driver;
"${share_backend_name}/driver_handles_share_servers": value => $driver_handles_share_servers; "${share_backend_name}/driver_handles_share_servers": value => true;
"${share_backend_name}/emc_nas_login": value => $emc_nas_login; "${share_backend_name}/emc_nas_login": value => $emc_nas_login;
"${share_backend_name}/emc_nas_password": value => $emc_nas_password, secret => true; "${share_backend_name}/emc_nas_password": value => $emc_nas_password, secret => true;
"${share_backend_name}/emc_nas_server": value => $emc_nas_server; "${share_backend_name}/emc_nas_server": value => $emc_nas_server;

View File

@ -0,0 +1,8 @@
---
deprecations:
- |
The following parmaeters have been deprecated and has no effect now.
- ``manila::backend::dellemc_isilon::driver_handles_share_servers``
- ``manila::backend::dellemc_vmax::driver_handles_share_servers``
- ``manila::backend::dellemc_vnx::driver_handles_share_servers``

View File

@ -4,19 +4,18 @@ describe 'manila::backend::dellemc_isilon' do
let(:title) {'dellemc_isilon'} let(:title) {'dellemc_isilon'}
let :params do let :required_params do
{ {
:driver_handles_share_servers => false,
:emc_nas_login => 'admin', :emc_nas_login => 'admin',
:emc_nas_password => 'password', :emc_nas_password => 'password',
:emc_nas_server => '127.0.0.2', :emc_nas_server => '127.0.0.2',
:emc_share_backend => 'isilon', :emc_share_backend => 'isilon',
:emc_nas_root_dir => '',
} }
end end
let :default_params do let :default_params do
{ {
:emc_nas_root_dir => '<SERVICE DEFAULT>',
:emc_nas_server_port => 8080, :emc_nas_server_port => 8080,
:emc_nas_server_secure => true, :emc_nas_server_secure => true,
} }
@ -30,6 +29,7 @@ describe 'manila::backend::dellemc_isilon' do
it 'configures dell emc isilon share driver' do it 'configures dell emc isilon share driver' do
is_expected.to contain_manila_config("dellemc_isilon/share_driver").with_value( is_expected.to contain_manila_config("dellemc_isilon/share_driver").with_value(
'manila.share.drivers.dell_emc.driver.EMCShareDriver') 'manila.share.drivers.dell_emc.driver.EMCShareDriver')
is_expected.to contain_manila_config("dellemc_isilon/driver_handles_share_servers").with_value(false)
params_hash.each_pair do |config,value| params_hash.each_pair do |config,value|
is_expected.to contain_manila_config("dellemc_isilon/#{config}").with_value( value ) is_expected.to contain_manila_config("dellemc_isilon/#{config}").with_value( value )
end end
@ -42,25 +42,23 @@ describe 'manila::backend::dellemc_isilon' do
shared_examples 'manila::backend::dellemc_isilon' do shared_examples 'manila::backend::dellemc_isilon' do
context 'with default parameters' do context 'with default parameters' do
before do let :params do
params = {} required_params
end end
it_configures 'dell emc isilon share driver' it_configures 'dell emc isilon share driver'
end end
context 'with provided parameters' do context 'with provided parameters' do
it_configures 'dell emc isilon share driver' let :params do
end required_params.merge!({
:emc_nas_root_dir => 'myroot',
context 'with share server config' do :emc_nas_server_port => 8000,
before do :emc_nas_server_secure => false,
params.merge!({
:emc_nas_password => true,
}) })
end end
it { is_expected.to raise_error(Puppet::Error) } it_configures 'dell emc isilon share driver'
end end
end end

View File

@ -4,16 +4,12 @@ describe 'manila::backend::dellemc_vmax' do
let(:title) {'dellemc_vmax'} let(:title) {'dellemc_vmax'}
let :params do let :required_params do
{ {
:driver_handles_share_servers => true,
:emc_nas_login => 'admin', :emc_nas_login => 'admin',
:emc_nas_password => 'password', :emc_nas_password => 'password',
:emc_nas_server => '127.0.0.2', :emc_nas_server => '127.0.0.2',
:emc_share_backend => 'vmax', :emc_share_backend => 'vmax',
:vmax_server_container => 'container1',
:vmax_share_data_pools => '*',
:vmax_ethernet_ports => 'eth1',
} }
end end
@ -33,6 +29,7 @@ describe 'manila::backend::dellemc_vmax' do
it 'configures dell emc vmax share driver' do it 'configures dell emc vmax share driver' do
is_expected.to contain_manila_config("dellemc_vmax/share_driver").with_value( is_expected.to contain_manila_config("dellemc_vmax/share_driver").with_value(
'manila.share.drivers.dell_emc.driver.EMCShareDriver') 'manila.share.drivers.dell_emc.driver.EMCShareDriver')
is_expected.to contain_manila_config("dellemc_vmax/driver_handles_share_servers").with_value(true)
params_hash.each_pair do |config,value| params_hash.each_pair do |config,value|
is_expected.to contain_manila_config("dellemc_vmax/#{config}").with_value( value ) is_expected.to contain_manila_config("dellemc_vmax/#{config}").with_value( value )
end end
@ -45,25 +42,23 @@ describe 'manila::backend::dellemc_vmax' do
shared_examples 'manila::backend::dellemc_vmax' do shared_examples 'manila::backend::dellemc_vmax' do
context 'with default parameters' do context 'with default parameters' do
before do let :params do
params = {} required_params
end end
it_configures 'dell emc vmax share driver' it_configures 'dell emc vmax share driver'
end end
context 'with provided parameters' do context 'with provided parameters' do
it_configures 'dell emc vmax share driver' let :params do
end required_params.merge!({
:vmax_server_container => 'container1',
context 'with share server config' do :vmax_share_data_pools => '*',
before do :vmax_ethernet_ports => 'eth1',
params.merge!({
:emc_nas_password => true,
}) })
end end
it { is_expected.to raise_error(Puppet::Error) } it_configures 'dell emc vmax share driver'
end end
end end

View File

@ -4,19 +4,12 @@ describe 'manila::backend::dellemc_vnx' do
let(:title) {'dellemc_vnx'} let(:title) {'dellemc_vnx'}
let :params do let :required_params do
{ {
:driver_handles_share_servers => true,
:emc_nas_login => 'admin', :emc_nas_login => 'admin',
:emc_nas_password => 'password', :emc_nas_password => 'password',
:emc_nas_server => '127.0.0.2', :emc_nas_server => '127.0.0.2',
:emc_share_backend => 'vnx', :emc_share_backend => 'vnx',
:vnx_server_container => 'container1',
:vnx_share_data_pools => '*',
:vnx_ethernet_ports => 'eth1',
:network_plugin_ipv6_enabled => true,
:emc_ssl_cert_verify => true,
:emc_ssl_cert_path => '/etc/ssl/certs/',
} }
end end
@ -25,8 +18,8 @@ describe 'manila::backend::dellemc_vnx' do
:vnx_server_container => '<SERVICE DEFAULT>', :vnx_server_container => '<SERVICE DEFAULT>',
:vnx_share_data_pools => '<SERVICE DEFAULT>', :vnx_share_data_pools => '<SERVICE DEFAULT>',
:vnx_ethernet_ports => '<SERVICE DEFAULT>', :vnx_ethernet_ports => '<SERVICE DEFAULT>',
:network_plugin_ipv6_enabled => '<SERVICE DEFAULT>', :network_plugin_ipv6_enabled => true,
:emc_ssl_cert_verify => '<SERVICE DEFAULT>', :emc_ssl_cert_verify => false,
:emc_ssl_cert_path => '<SERVICE DEFAULT>', :emc_ssl_cert_path => '<SERVICE DEFAULT>',
} }
end end
@ -39,6 +32,7 @@ describe 'manila::backend::dellemc_vnx' do
it 'configures dell emc vnx share driver' do it 'configures dell emc vnx share driver' do
is_expected.to contain_manila_config("dellemc_vnx/share_driver").with_value( is_expected.to contain_manila_config("dellemc_vnx/share_driver").with_value(
'manila.share.drivers.dell_emc.driver.EMCShareDriver') 'manila.share.drivers.dell_emc.driver.EMCShareDriver')
is_expected.to contain_manila_config("dellemc_vnx/driver_handles_share_servers").with_value(true)
params_hash.each_pair do |config,value| params_hash.each_pair do |config,value|
is_expected.to contain_manila_config("dellemc_vnx/#{config}").with_value( value ) is_expected.to contain_manila_config("dellemc_vnx/#{config}").with_value( value )
end end
@ -51,25 +45,26 @@ describe 'manila::backend::dellemc_vnx' do
shared_examples 'manila::backend::dellemc_vnx' do shared_examples 'manila::backend::dellemc_vnx' do
context 'with default parameters' do context 'with default parameters' do
before do let :params do
params = {} required_params
end end
it_configures 'dell emc vnx share driver' it_configures 'dell emc vnx share driver'
end end
context 'with provided parameters' do context 'with provided parameters' do
it_configures 'dell emc vnx share driver' let :params do
end required_params.merge({
:vnx_server_container => 'container1',
context 'with share server config' do :vnx_share_data_pools => '*',
before do :vnx_ethernet_ports => 'eth1',
params.merge!({ :network_plugin_ipv6_enabled => true,
:emc_nas_password => true, :emc_ssl_cert_verify => true,
:emc_ssl_cert_path => '/etc/ssl/certs/',
}) })
end end
it { is_expected.to raise_error(Puppet::Error) } it_configures 'dell emc vnx share driver'
end end
end end