
This changes the puppet-lint requirement to 1.1.x, so that we can use puppet-lint plugins. Most of these plugins are for 4.x compat, but some just catch common errors. Change-Id: I6a4e08d91f8cc19eb1e59af03a2a7d14716ddc38
66 lines
1.7 KiB
Puppet
66 lines
1.7 KiB
Puppet
# ==Define: cinder::type_set
|
|
#
|
|
# Assigns keys after the volume type is set.
|
|
#
|
|
# === Parameters
|
|
#
|
|
# [*os_password*]
|
|
# (required) The keystone tenant:username password.
|
|
#
|
|
# [*type*]
|
|
# (required) Accepts single name of type to set.
|
|
#
|
|
# [*key*]
|
|
# (required) the key name that we are setting the value for.
|
|
#
|
|
# [*os_tenant_name*]
|
|
# (optional) The keystone tenant name. Defaults to 'admin'.
|
|
#
|
|
# [*os_username*]
|
|
# (optional) The keystone user name. Defaults to 'admin.
|
|
#
|
|
# [*os_auth_url*]
|
|
# (optional) The keystone auth url. Defaults to 'http://127.0.0.1:5000/v2.0/'.
|
|
#
|
|
# [*os_region_name*]
|
|
# (optional) The keystone region name. Default is unset.
|
|
#
|
|
# Author: Andrew Woodward <awoodward@mirantis.com>
|
|
|
|
|
|
define cinder::type_set (
|
|
$type,
|
|
$key,
|
|
$os_password,
|
|
$os_tenant_name = 'admin',
|
|
$os_username = 'admin',
|
|
$os_auth_url = 'http://127.0.0.1:5000/v2.0/',
|
|
$os_region_name = undef,
|
|
) {
|
|
|
|
# TODO: (xarses) This should be moved to a ruby provider so that among other
|
|
# reasons, the credential discovery magic can occur like in neutron.
|
|
|
|
$cinder_env = [
|
|
"OS_TENANT_NAME=${os_tenant_name}",
|
|
"OS_USERNAME=${os_username}",
|
|
"OS_PASSWORD=${os_password}",
|
|
"OS_AUTH_URL=${os_auth_url}",
|
|
]
|
|
|
|
if $os_region_name {
|
|
$region_env = ["OS_REGION_NAME=${os_region_name}"]
|
|
}
|
|
else {
|
|
$region_env = []
|
|
}
|
|
|
|
exec {"cinder type-key ${type} set ${key}=${name}":
|
|
path => ['/usr/bin', '/bin'],
|
|
command => "cinder type-key ${type} set ${key}=${name}",
|
|
unless => "cinder extra-specs-list | grep -Eq '\\b${type}\\b.*\\b${key}\\b.*\\b${name}\\b'",
|
|
environment => concat($cinder_env, $region_env),
|
|
require => Package['python-cinderclient']
|
|
}
|
|
}
|