Dell SC: Add secondary DSM support

Adds support for a secondary DSM in case the primary becomes
unavailable.

Closes-Bug: #1681491
Change-Id: I331466e4f254b2b8ff7891b796e78cd30c2c87f7
This commit is contained in:
rajinir 2017-04-10 11:14:24 -05:00
parent a57b3d7474
commit 541ecbed32
4 changed files with 108 additions and 53 deletions

View File

@ -45,6 +45,21 @@
#
# [*excluded_domain_ip*]
# (optional) Domain IP to be excluded from iSCSI returns of Storage Center.
#
# [*secondary_san_ip*]
# (optional) IP address of secondary DSM controller.
# Defaults to $::os_service_default
#
# [*secondary_san_login*]
# (optional) Secondary DSM user name.
# Defaults to $::os_service_default
#
# [*secondary_san_password*]
# (optional) Secondary DSM user password.
# Defaults to $::os_service_default
#
# [*secondary_sc_api_port*]
# (optional) Secondary Dell API port.
# Defaults to $::os_service_default
#
# [*extra_options*]
@ -72,6 +87,10 @@ define cinder::backend::dellsc_iscsi (
$dell_sc_volume_folder = 'vol',
$iscsi_port = $::os_service_default,
$excluded_domain_ip = $::os_service_default,
$secondary_san_ip = $::os_service_default,
$secondary_san_login = $::os_service_default,
$secondary_san_password = $::os_service_default,
$secondary_sc_api_port = $::os_service_default,
$manage_volume_type = false,
$extra_options = {},
) {
@ -103,6 +122,10 @@ default of \"vol\" and will be changed to the upstream OpenStack default in N-re
"${name}/dell_sc_volume_folder": value => $dell_sc_volume_folder;
"${name}/iscsi_port": value => $iscsi_port;
"${name}/excluded_domain_ip": value => $excluded_domain_ip;
"${name}/secondary_san_ip": value => $secondary_san_ip;
"${name}/secondary_san_login": value => $secondary_san_login;
"${name}/secondary_san_password": value => $secondary_san_password;
"${name}/secondary_sc_api_port": value => $secondary_sc_api_port;
}
if $manage_volume_type {

View File

@ -43,6 +43,22 @@
# (optional) Domain IP to be excluded from iSCSI returns of Storage Center.
# Defaults to $::os_service_default
#
# [*secondary_san_ip*]
# (optional) IP address of secondary DSM controller.
# Defaults to $::os_service_default
#
# [*secondary_san_login*]
# (optional) Secondary DSM user name.
# Defaults to $::os_service_default
#
# [*secondary_san_password*]
# (optional) Secondary DSM user password.
# Defaults to $::os_service_default
#
# [*secondary_sc_api_port*]
# (optional) Secondary Dell API port.
# Defaults to os_service_default
#
# [*extra_options*]
# (optional) Hash of extra options to pass to the backend stanza.
# Defaults to: {}
@ -61,6 +77,10 @@ class cinder::volume::dellsc_iscsi (
$dell_sc_volume_folder = 'vol',
$iscsi_port = $::os_service_default,
$excluded_domain_ip = $::os_service_default,
$secondary_san_ip = $::os_service_default,
$secondary_san_login = $::os_service_default,
$secondary_san_password = $::os_service_default,
$secondary_sc_api_port = $::os_service_default,
$extra_options = {},
) {
@ -81,6 +101,10 @@ cinder::backend::dellsc_iscsi instead.')
dell_sc_volume_folder => $dell_sc_volume_folder,
iscsi_port => $iscsi_port,
excluded_domain_ip => $excluded_domain_ip,
secondary_san_ip => $secondary_san_ip,
secondary_san_login => $secondary_san_login,
secondary_san_password => $secondary_san_password,
secondary_sc_api_port => $secondary_sc_api_port,
extra_options => $extra_options,
}
}

View File

@ -20,6 +20,10 @@ describe 'cinder::volume::dellsc_iscsi' do
:dell_sc_volume_folder => 'vol',
:iscsi_port => '<SERVICE DEFAULT>',
:excluded_domain_ip => '<SERVICE DEFAULT>',
:secondary_san_ip => '<SERVICE DEFAULT>',
:secondary_san_login => '<SERVICE DEFAULT>',
:secondary_san_password => '<SERVICE DEFAULT>',
:secondary_sc_api_port => '<SERVICE DEFAULT>',
}
end

View File

@ -24,6 +24,10 @@ describe 'cinder::backend::dellsc_iscsi' do
:dell_sc_volume_folder => 'vol',
:iscsi_port => '<SERVICE DEFAULT>',
:excluded_domain_ip => '<SERVICE DEFAULT>',
:secondary_san_ip => '<SERVICE DEFAULT>',
:secondary_san_login => '<SERVICE DEFAULT>',
:secondary_san_password => '<SERVICE DEFAULT>',
:secondary_sc_api_port => '<SERVICE DEFAULT>',
}
end