Files
puppet-cinder/manifests/backend/eqlx.pp
Yanis Guenane ab427c20b5 backends: Add an extra_options door
Currently if a backend type parameter has not been specified in the
upstream module one needs to rely on a custom layer to enable them.
With this options even if not yet specified on the upstream module, user can
specify extra options for each backends.

Change-Id: I0387c86ff3e04a1d1c6b686f76d9c7c88c30a356
2015-03-12 09:11:34 +01:00

97 lines
2.8 KiB
Puppet

# == 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_thin_provision*]
# (optional) Whether or not to use thin provisioning for volumes.
# Defaults to true
#
# [*volume_backend_name*]
# (optional) The backend name.
# Defaults to the name of the resource
#
# [*eqlx_group_name*]
# (optional) The CLI prompt message without '>'.
# Defaults to 'group-0'
#
# [*eqlx_pool*]
# (optional) The pool in which volumes will be created.
# Defaults to 'default'
#
# [*eqlx_use_chap*]
# (optional) Use CHAP authentification for targets?
# Defaults to false
#
# [*eqlx_chap_login*]
# (optional) An existing CHAP account name.
# Defaults to 'chapadmin'
#
# [*eqlx_chap_password*]
# (optional) The password for the specified CHAP account name.
# Defaults to '12345'
#
# [*eqlx_cli_timeout*]
# (optional) The timeout for the Group Manager cli command execution.
# Defaults to 30 seconds
#
# [*eqlx_cli_max_retries*]
# (optional) The maximum retry count for reconnection.
# Defaults to 5
#
# [*extra_options*]
# (optional) Hash of extra options to pass to the backend stanza
# Defaults to: {}
# Example :
# { 'eqlx_backend/param1' => { 'value' => value1 } }
#
define cinder::backend::eqlx (
$san_ip,
$san_login,
$san_password,
$san_thin_provision = true,
$volume_backend_name = $name,
$eqlx_group_name = 'group-0',
$eqlx_pool = 'default',
$eqlx_use_chap = false,
$eqlx_chap_login = 'chapadmin',
$eqlx_chap_password = '12345',
$eqlx_cli_timeout = 30,
$eqlx_cli_max_retries = 5,
$extra_options = {},
) {
cinder_config {
"${name}/volume_backend_name": value => $volume_backend_name;
"${name}/volume_driver": value => 'cinder.volume.drivers.eqlx.DellEQLSanISCSIDriver';
"${name}/san_ip": value => $san_ip;
"${name}/san_login": value => $san_login;
"${name}/san_password": value => $san_password, secret => true;
"${name}/san_thin_provision": value => $san_thin_provision;
"${name}/eqlx_group_name": value => $eqlx_group_name;
"${name}/eqlx_use_chap": value => $eqlx_use_chap;
"${name}/eqlx_cli_timeout": value => $eqlx_cli_timeout;
"${name}/eqlx_cli_max_retries": value => $eqlx_cli_max_retries;
"${name}/eqlx_pool": value => $eqlx_pool;
}
if(str2bool($eqlx_use_chap)) {
cinder_config {
"${name}/eqlx_chap_login": value => $eqlx_chap_login;
"${name}/eqlx_chap_password": value => $eqlx_chap_password, secret => true;
}
}
create_resources('cinder_config', $extra_options)
}