Browse Source

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
changes/27/716027/1
rajinir 2 years ago
parent
commit
7083e88a69
  1. 1
      CHANGELOG.md
  2. 136
      manifests/backend/eqlx.pp
  3. 7
      releasenotes/notes/eqlx-9017bd1e5d126682.yaml
  4. 4
      releasenotes/notes/eqlx-c76440e19622a1e4.yaml
  5. 6
      releasenotes/notes/eqlx-driver-removal-a76440e19622a1e4.yaml
  6. 15
      releasenotes/notes/remove-eqlx-deprecated-options-a3898135d783f4e.yaml
  7. 1
      releasenotes/notes/remove_deprecated_cinder_volume_classes_for_backends-efc0a55d8a493887.yaml
  8. 103
      spec/defines/cinder_backend_eqlx_spec.rb

1
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

136
manifests/backend/eqlx.pp

@ -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)
}

7
releasenotes/notes/eqlx-9017bd1e5d126682.yaml

@ -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

4
releasenotes/notes/eqlx-c76440e19622a1e4.yaml

@ -1,4 +0,0 @@
---
upgrade:
- add new parameter san_private_key to configure SSH Private Key
for Eqlx Cinder Backend

6
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

15
releasenotes/notes/remove-eqlx-deprecated-options-a3898135d783f4e.yaml

@ -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

1
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

103
spec/defines/cinder_backend_eqlx_spec.rb

@ -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 => '<SERVICE DEFAULT>',
:eqlx_group_name => '<SERVICE DEFAULT>',
: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 => '<SERVICE DEFAULT>' )
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 => '<SERVICE DEFAULT>' )
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
Loading…
Cancel
Save