From 7083e88a699233930b0de413394ae95cab649462 Mon Sep 17 00:00:00 2001 From: rajinir Date: Mon, 30 Mar 2020 12:14:19 -0500 Subject: [PATCH] Remove Dell EMC PS Series Driver aka Eqlx The Dell EMC PS Series aka Eqlx driver is not supported anymore. Removing it. It was marked as deprecated in the Train release. See https://review.opendev.org/#/c/703839/ Change-Id: I701c93fd1c87b016b6ffaacccee765070850ca8a --- CHANGELOG.md | 1 - manifests/backend/eqlx.pp | 136 ------------------ releasenotes/notes/eqlx-9017bd1e5d126682.yaml | 7 - releasenotes/notes/eqlx-c76440e19622a1e4.yaml | 4 - .../eqlx-driver-removal-a76440e19622a1e4.yaml | 6 + ...lx-deprecated-options-a3898135d783f4e.yaml | 15 -- ...classes_for_backends-efc0a55d8a493887.yaml | 1 - spec/defines/cinder_backend_eqlx_spec.rb | 103 ------------- 8 files changed, 6 insertions(+), 267 deletions(-) delete mode 100644 manifests/backend/eqlx.pp delete mode 100644 releasenotes/notes/eqlx-9017bd1e5d126682.yaml delete mode 100644 releasenotes/notes/eqlx-c76440e19622a1e4.yaml create mode 100644 releasenotes/notes/eqlx-driver-removal-a76440e19622a1e4.yaml delete mode 100644 releasenotes/notes/remove-eqlx-deprecated-options-a3898135d783f4e.yaml delete mode 100644 spec/defines/cinder_backend_eqlx_spec.rb 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