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
#
# [*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*]
# (required) Administrative user account name used to access the storage
# system.
@ -31,7 +26,7 @@
#
# [*emc_nas_root_dir*]
# (optional) The root directory where shares will be located.
# Defaults to None
# Defaults to $::os_service_default
#
# [*emc_nas_server_port*]
# (optional) Port number for the Dell EMC isilon server.
@ -44,38 +39,49 @@
# [*package_ensure*]
# (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
#
# manila::backend::dellemc_isilon { 'myBackend':
# driver_handles_share_servers => false,
# emc_nas_login => 'admin',
# emc_nas_password => 'password',
# emc_nas_server => <IP address of isilon cluster>,
# emc_share_backend => 'isilon',
# emc_nas_login => 'admin',
# emc_nas_password => 'password',
# emc_nas_server => <IP address of isilon cluster>,
# emc_share_backend => 'isilon',
# }
#
define manila::backend::dellemc_isilon (
$driver_handles_share_servers,
$emc_nas_login,
$emc_nas_password,
$emc_nas_server,
$emc_share_backend,
$share_backend_name = $name,
$emc_nas_root_dir = undef,
$emc_nas_server_port = 8080,
$emc_nas_server_secure = true,
$package_ensure = 'present',
$share_backend_name = $name,
$emc_nas_root_dir = $::os_service_default,
$emc_nas_server_port = 8080,
$emc_nas_server_secure = true,
$package_ensure = 'present',
# DEPRECATED PARAMETERS
$driver_handles_share_servers = undef,
) {
include manila::deps
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'
manila_config {
"${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_password": value => $emc_nas_password, secret => true;
"${share_backend_name}/emc_nas_server": value => $emc_nas_server;

View File

@ -5,12 +5,6 @@
#
# === 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*]
# (required) Administrative user account name used to access the storage
# system.
@ -31,55 +25,67 @@
#
# [*vmax_server_container*]
# (optional) Name of the Data Mover to serve the share service.
# Defaults to None
# Defaults to $::os_service_default
#
# [*vmax_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
#
# [*vmax_ethernet_ports*]
# (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
# ports on the Data Mover can be used. Wild card character is supported.
# Defaults to None
# Defaults to $::os_service_default
#
# [*package_ensure*]
# (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
#
# manila::backend::dellemc_vmax { 'myBackend':
# driver_handles_share_servers => true,
# emc_nas_login => 'admin',
# emc_nas_password => 'password',
# emc_nas_server => <IP address of Unity Syste,>,
# emc_share_backend => 'vmax',
# emc_nas_login => 'admin',
# emc_nas_password => 'password',
# emc_nas_server => <IP address of Unity Syste,>,
# emc_share_backend => 'vmax',
# }
#
define manila::backend::dellemc_vmax (
$driver_handles_share_servers,
$emc_nas_login,
$emc_nas_password,
$emc_nas_server,
$emc_share_backend,
$share_backend_name = $name,
$vmax_server_container = undef,
$vmax_share_data_pools = undef ,
$vmax_ethernet_ports = undef,
$package_ensure = 'present',
$share_backend_name = $name,
$vmax_server_container = $::os_service_default,
$vmax_share_data_pools = $::os_service_default,
$vmax_ethernet_ports = $::os_service_default,
$package_ensure = 'present',
# DEPRECATED PARAMETERS
$driver_handles_share_servers = undef,
) {
include manila::deps
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'
manila_config {
"${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_password": value => $emc_nas_password, secret => true;
"${share_backend_name}/emc_nas_server": value => $emc_nas_server;

View File

@ -5,12 +5,6 @@
#
# === 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*]
# (required) User account name used to access the storage
# system.
@ -31,19 +25,19 @@
#
# [*vnx_server_container*]
# (optional) Name of the Data Mover to serve the share service.
# Defaults to None
# Defaults to $::os_service_default
#
# [*vnx_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
#
# [*vnx_ethernet_ports*]
# (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
# 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*]
# (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
# CA_BUNDLE file or directory with certificates of trusted
# CAs, which will be used to validate the backend.
# Defaults to None
# Defaults to $::os_service_default
#
# [*package_ensure*]
# (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
#
# manila::backend::dellemc_vnx { 'myBackend':
@ -76,30 +78,34 @@
# }
#
define manila::backend::dellemc_vnx (
$driver_handles_share_servers,
$emc_nas_login,
$emc_nas_password,
$emc_nas_server,
$emc_share_backend,
$share_backend_name = $name,
$vnx_server_container = undef,
$vnx_share_data_pools = undef ,
$vnx_ethernet_ports = undef,
$network_plugin_ipv6_enabled = true,
$emc_ssl_cert_verify = false,
$emc_ssl_cert_path = undef,
$package_ensure = 'present',
$share_backend_name = $name,
$vnx_server_container = $::os_service_default,
$vnx_share_data_pools = $::os_service_default,
$vnx_ethernet_ports = $::os_service_default,
$network_plugin_ipv6_enabled = true,
$emc_ssl_cert_verify = false,
$emc_ssl_cert_path = $::os_service_default,
$package_ensure = 'present',
$driver_handles_share_servers = undef,
) {
include manila::deps
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'
manila_config {
"${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_password": value => $emc_nas_password, secret => true;
"${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,21 +4,20 @@ describe 'manila::backend::dellemc_isilon' do
let(:title) {'dellemc_isilon'}
let :params do
let :required_params do
{
:driver_handles_share_servers => false,
:emc_nas_login => 'admin',
:emc_nas_password => 'password',
:emc_nas_server => '127.0.0.2',
:emc_share_backend => 'isilon',
:emc_nas_root_dir => '',
:emc_nas_login => 'admin',
:emc_nas_password => 'password',
:emc_nas_server => '127.0.0.2',
:emc_share_backend => 'isilon',
}
end
let :default_params do
{
:emc_nas_server_port => 8080,
:emc_nas_server_secure => true,
:emc_nas_root_dir => '<SERVICE DEFAULT>',
:emc_nas_server_port => 8080,
:emc_nas_server_secure => true,
}
end
@ -30,6 +29,7 @@ describe 'manila::backend::dellemc_isilon' do
it 'configures dell emc isilon share driver' do
is_expected.to contain_manila_config("dellemc_isilon/share_driver").with_value(
'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|
is_expected.to contain_manila_config("dellemc_isilon/#{config}").with_value( value )
end
@ -42,25 +42,23 @@ describe 'manila::backend::dellemc_isilon' do
shared_examples 'manila::backend::dellemc_isilon' do
context 'with default parameters' do
before do
params = {}
let :params do
required_params
end
it_configures 'dell emc isilon share driver'
end
context 'with provided parameters' do
it_configures 'dell emc isilon share driver'
end
context 'with share server config' do
before do
params.merge!({
:emc_nas_password => true,
let :params do
required_params.merge!({
:emc_nas_root_dir => 'myroot',
:emc_nas_server_port => 8000,
:emc_nas_server_secure => false,
})
end
it { is_expected.to raise_error(Puppet::Error) }
it_configures 'dell emc isilon share driver'
end
end

View File

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

View File

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