Files
puppet-nova/manifests/ironic/common.pp
Alex Schultz 87fb09cc69 Update ironic auth settings
The underlying ironic auth paramters for nova.conf have been changed.
nova::ironic::common::admin_username,
nova::ironic::common::admin_password,
nova::ironic::common::admin_url,
nova::ironic::common::admin_tenant_name
have been deprecated in favor of nova::ironic::common::username,
nova::ironic::common::password, nova::ironic::common::auth_url,
nova::ironic::common::project_name.

Also the deprecated options from nova::compute::ironic have been
removed. Please use the options available via nova::ironic::common.

Change-Id: I163d99c407ef9e0725fec492be6440de67839650
Co-Authored-By: Xing Zhou <xing.zhou@easystack.cn>
2016-12-20 12:59:02 -07:00

102 lines
2.7 KiB
Puppet

# == Class: nova::ironic::common
#
# [*api_endpoint*]
# The url for Ironic api endpoint.
# Defaults to 'http://127.0.0.1:6385/v1'
#
# [*auth_plugin*]
# The authentication plugin to use when connecting to nova.
# Defaults to 'password'
#
# [*auth_url*]
# The address of the Keystone api endpoint.
# Defaults to 'http://127.0.0.1:35357/'
#
# [*project_name*]
# The Ironic Keystone project name.
# Defaults to 'services'
#
# [*password*]
# The admin password for Ironic to connect to Nova.
# Defaults to 'ironic'
#
# [*username*]
# The admin username for Ironic to connect to Nova.
# Defaults to 'admin'
#
# === DEPRECATED
#
# [*admin_username*]
# The admin username for Ironic to connect to Nova.
# Defaults to 'admin'
#
# [*admin_password*]
# The admin password for Ironic to connect to Nova.
# Defaults to 'ironic'
#
# [*admin_url*]
# The address of the Keystone api endpoint.
# Defaults to 'http://127.0.0.1:35357/v2.0'
#
# [*admin_tenant_name*]
# The Ironic Keystone tenant name.
# Defaults to 'services'
#
class nova::ironic::common (
$api_endpoint = 'http://127.0.0.1:6385/v1',
$auth_plugin = 'password',
$auth_url = 'http://127.0.0.1:35357/',
$password = 'ironic',
$project_name = 'services',
$username = 'admin',
# DEPRECATED
$admin_username = undef,
$admin_password = undef,
$admin_tenant_name = undef,
$admin_url = undef,
) {
include ::nova::deps
if ($admin_username) {
warning('nova::ironic::common::admin_username is deprecated. Please use username')
}
if ($admin_password) {
warning('nova::ironic::common::admin_password is deprecated. Please use password')
}
if ($admin_tenant_name) {
warning('nova::ironic::common::admin_tenant_name is deprecated. Please use project_name')
}
if ($admin_url) {
warning('nova::ironic::common::admin_url is deprecated. Please use auth_url')
}
$username_real = pick($admin_username, $username)
$password_real = pick($admin_password, $password)
$auth_url_real = pick($admin_url, $auth_url)
$project_name_real = pick($admin_tenant_name, $project_name)
nova_config {
'ironic/auth_plugin': value => $auth_plugin;
'ironic/username': value => $username_real;
'ironic/password': value => $password_real;
'ironic/auth_url': value => $auth_url_real;
'ironic/project_name': value => $project_name_real;
'ironic/api_endpoint': value => $api_endpoint;
}
# TODO(aschultz): these are deprecated, remove in P
nova_config {
'ironic/admin_username': value => $username_real;
'ironic/admin_password': value => $password_real;
'ironic/admin_url': value => $auth_url_real;
'ironic/admin_tenant_name': value => $project_name_real;
}
}