diff --git a/CHANGELOG.md b/CHANGELOG.md index db8283cd..0a082e2a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -151,7 +151,6 @@ This is a feature and bugfix release in the Juno series. This is a backwards-incompatible major release for OpenStack Juno. ####Backwards-incompatible changes -- Change the default value of the san_thin_provision parameter for eqlx - Migrate the mysql backend to use openstacklib::db::mysql, adding dependency on puppet-openstacklib diff --git a/manifests/backend/eqlx.pp b/manifests/backend/eqlx.pp deleted file mode 100644 index 3ef02c08..00000000 --- a/manifests/backend/eqlx.pp +++ /dev/null @@ -1,136 +0,0 @@ -# == define: cinder::backend::eqlx -# -# Configure the Dell EqualLogic driver for cinder. -# -# === Parameters -# -# [*san_ip*] -# (required) The IP address of the Dell EqualLogic array. -# -# [*san_login*] -# (required) The account to use for issuing SSH commands. -# -# [*san_password*] -# (required) The password for the specified SSH account. -# -# [*san_private_key*] -# (optional) Filename of private key to use for SSH authentication. -# Defaults to $::os_service_default -# -# [*san_thin_provision*] -# (optional) Boolean. Whether or not to use thin provisioning for volumes. The -# default value in OpenStack is true. -# Defaults to $::os_service_default -# -# [*volume_backend_name*] -# (optional) The backend name. -# Defaults to the name of the resource -# -# [*backend_availability_zone*] -# (Optional) Availability zone for this volume backend. -# If not set, the storage_availability_zone option value -# is used as the default for all backends. -# Defaults to $::os_service_default. -# -# [*eqlx_group_name*] -# (optional) The CLI prompt message without '>'. -# Defaults to $::os_service_default -# -# [*eqlx_pool*] -# (optional) The pool in which volumes will be created. -# Defaults to $::os_service_default -# -# [*eqlx_cli_max_retries*] -# (optional) The maximum retry count for reconnection. -# Defaults to $::os_service_default -# -# [*extra_options*] -# (optional) Hash of extra options to pass to the backend stanza -# Defaults to: {} -# Example : -# { 'eqlx_backend/param1' => { 'value' => value1 } } -# -# [*chap_username*] -# (required) (String) CHAP user name. -# -# [*chap_password*] -# (required) (String) Password for specified CHAP account name. -# -# [*use_chap_auth*] -# (optional) (Boolean) Option to enable/disable CHAP authentication for -# targets. -# Defaults to $::os_service_default -# -# [*ssh_conn_timeout*] -# (optional) The timeout for the Group Manager cli command execution. -# Defaults to $::os_service_default -# -# [*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. -# -define cinder::backend::eqlx ( - $san_ip, - $san_login, - $san_password, - $san_private_key = $::os_service_default, - $san_thin_provision = $::os_service_default, - $volume_backend_name = $name, - $backend_availability_zone = $::os_service_default, - $eqlx_group_name = $::os_service_default, - $eqlx_pool = $::os_service_default, - $eqlx_cli_max_retries = $::os_service_default, - $extra_options = {}, - $chap_username = $::os_service_default, - $chap_password = $::os_service_default, - $use_chap_auth = $::os_service_default, - $ssh_conn_timeout = $::os_service_default, - $manage_volume_type = false, -) { - - include cinder::deps - - if is_service_default($chap_username) { - fail('chap_username need to be set.') - } - - if is_service_default($chap_password) { - fail('chap_password need to be set.') - } - - cinder_config { - "${name}/volume_backend_name": value => $volume_backend_name; - "${name}/backend_availability_zone": value => $backend_availability_zone; - "${name}/volume_driver": value => 'cinder.volume.drivers.dell_emc.ps.PSSeriesISCSIDriver'; - "${name}/san_ip": value => $san_ip; - "${name}/san_login": value => $san_login; - "${name}/san_password": value => $san_password, secret => true; - "${name}/san_private_key": value => $san_private_key; - "${name}/san_thin_provision": value => $san_thin_provision; - "${name}/eqlx_group_name": value => $eqlx_group_name; - "${name}/use_chap_auth": value => $use_chap_auth; - "${name}/ssh_conn_timeout": value => $ssh_conn_timeout; - "${name}/eqlx_cli_max_retries": value => $eqlx_cli_max_retries; - "${name}/eqlx_pool": value => $eqlx_pool; - } - - if $manage_volume_type { - cinder_type { $name: - ensure => present, - properties => ["volume_backend_name=${name}"], - } - } - - # the default for this is false - if !is_service_default($use_chap_auth) and $use_chap_auth == true { - cinder_config { - "${name}/chap_username": value => $chap_username; - "${name}/chap_password": value => $chap_password, secret => true; - } - } - - create_resources('cinder_config', $extra_options) - -} diff --git a/releasenotes/notes/eqlx-9017bd1e5d126682.yaml b/releasenotes/notes/eqlx-9017bd1e5d126682.yaml deleted file mode 100644 index 9d73ee78..00000000 --- a/releasenotes/notes/eqlx-9017bd1e5d126682.yaml +++ /dev/null @@ -1,7 +0,0 @@ ---- -upgrade: - - add new parameters (chap_username, chap_password, use_chap_auth, - ssh_conn_timeout) to subistitute deprecated ones -deprecations: - - eqlx_chap_login, eqlx_chap_password, eqlx_use_chap and eqlx_cli_timeout - are deprecated and will be removed after Newton diff --git a/releasenotes/notes/eqlx-c76440e19622a1e4.yaml b/releasenotes/notes/eqlx-c76440e19622a1e4.yaml deleted file mode 100644 index c60d9dcf..00000000 --- a/releasenotes/notes/eqlx-c76440e19622a1e4.yaml +++ /dev/null @@ -1,4 +0,0 @@ ---- -upgrade: - - add new parameter san_private_key to configure SSH Private Key - for Eqlx Cinder Backend diff --git a/releasenotes/notes/eqlx-driver-removal-a76440e19622a1e4.yaml b/releasenotes/notes/eqlx-driver-removal-a76440e19622a1e4.yaml new file mode 100644 index 00000000..5279f511 --- /dev/null +++ b/releasenotes/notes/eqlx-driver-removal-a76440e19622a1e4.yaml @@ -0,0 +1,6 @@ +--- +deprecations: + - Remove eqlx define and class. + - Remove all eqlx parameters in define and class. + - Remove all tests related to eqlx. + - Remove all references to eqlx in docs diff --git a/releasenotes/notes/remove-eqlx-deprecated-options-a3898135d783f4e.yaml b/releasenotes/notes/remove-eqlx-deprecated-options-a3898135d783f4e.yaml deleted file mode 100644 index a4a5792c..00000000 --- a/releasenotes/notes/remove-eqlx-deprecated-options-a3898135d783f4e.yaml +++ /dev/null @@ -1,15 +0,0 @@ ---- -upgrade: - - | - - Removing the Dell EqualLogic driver's deprecated configuration options. - Please replace old options in your cinder.conf with the new one. - - * Removed - eqlx_cli_timeout - * Replaced with - ssh_conn_timeout - * Removed - eqlx_use_chap - * Replaced with - use_chap_auth - * Removed - eqlx_chap_login - * Replaced with - chap_username - * Removed - eqlx_chap_password - * Replaced with - chap_password diff --git a/releasenotes/notes/remove_deprecated_cinder_volume_classes_for_backends-efc0a55d8a493887.yaml b/releasenotes/notes/remove_deprecated_cinder_volume_classes_for_backends-efc0a55d8a493887.yaml index 342427c4..11328ed8 100644 --- a/releasenotes/notes/remove_deprecated_cinder_volume_classes_for_backends-efc0a55d8a493887.yaml +++ b/releasenotes/notes/remove_deprecated_cinder_volume_classes_for_backends-efc0a55d8a493887.yaml @@ -7,7 +7,6 @@ upgrade: * Removed cinder::volume::dellsc_iscsi, use cinder::backend::dellsc_iscsi * Removed cinder::volume::emc_vnx, use cinder::backend::emc_vnc - * Removed cinder::volume::eqlx, use cinder::backend::eqlx * Removed cinder::volume::glusterfs, use cinder::backend::glusterfs * Removed cinder::volume::gpfs, use cinder::backend::gpfs * Removed cinder::volume::hpe3par_iscsi, use cinder::backend::hpe3par_iscsi diff --git a/spec/defines/cinder_backend_eqlx_spec.rb b/spec/defines/cinder_backend_eqlx_spec.rb deleted file mode 100644 index aabf174d..00000000 --- a/spec/defines/cinder_backend_eqlx_spec.rb +++ /dev/null @@ -1,103 +0,0 @@ -require 'spec_helper' - -describe 'cinder::backend::eqlx' do - let (:config_group_name) { 'eqlx-1' } - - let (:title) { config_group_name } - - let :params do - { - :backend_availability_zone => 'my_zone', - :san_ip => '192.168.100.10', - :san_login => 'grpadmin', - :san_password => '12345', - :san_private_key => '', - :volume_backend_name => 'Dell_EQLX', - :san_thin_provision => '', - :eqlx_group_name => '', - :eqlx_pool => 'apool', - :use_chap_auth => true, - :chap_username => 'chapadm', - :chap_password => '56789', - :ssh_conn_timeout => 31, - :eqlx_cli_max_retries => 6, - } - end - - shared_examples 'eqlx volume driver' do - it { is_expected.to contain_cinder__backend__eqlx(config_group_name) } - - it { is_expected.to contain_cinder_config("#{config_group_name}/volume_driver").with( - :value => 'cinder.volume.drivers.dell_emc.ps.PSSeriesISCSIDriver' - )} - - it { - params.each_pair do |config,value| - is_expected.to contain_cinder_config("#{config_group_name}/#{config}").with_value(value) - end - } - end - - shared_examples 'cinder::backend::eqlx' do - context 'eqlx backend with additional configuration' do - before :each do - params.merge!( :extra_options => {'eqlx-1/param1' => {'value' => 'value1'}} ) - end - - it { is_expected.to contain_cinder_config('eqlx-1/param1').with_value('value1') } - end - - context 'eqlx backend with cinder type' do - before :each do - params.merge!({:manage_volume_type => true}) - end - - it { is_expected.to contain_cinder_type('eqlx-1').with( - :ensure => 'present', - :properties => ['volume_backend_name=eqlx-1'] - )} - end - - context 'eqlx backend with chap' do - before :each do - params.merge!({ - :use_chap_auth => true, - :chap_username => 'myuser', - :chap_password => 'mypass' - }) - end - - it_behaves_like 'eqlx volume driver' - end - - context 'eqlx with invalid values' do - context 'with invalid chap_username' do - before do - params.merge!( :chap_username => '' ) - end - - it { is_expected.to raise_error(Puppet::Error, /chap_username need to be set./) } - end - - context 'with invalid chap_password' do - before do - params.merge!( :chap_password => '' ) - end - - it { is_expected.to raise_error(Puppet::Error, /chap_password need to be set./) } - end - end - end - - on_supported_os({ - :supported_os => OSDefaults.get_supported_os - }).each do |os,facts| - context "on #{os}" do - let (:facts) do - facts.merge!(OSDefaults.get_facts()) - end - - it_behaves_like 'cinder::backend::eqlx' - end - end -end