puppet-aodh/manifests/service_credentials.pp
Takashi Kajinami 642fbc07a6 Fix the error raised when password is not set
Currently, if the aodh::service_credentials::password parameter is not
set then the following error is raised.

pick(): must receive at least one non empty value

This change replaces the default so that we set the intended error
instead.

Change-Id: Ia63c6e752a75d8acbcc3a2fc3b34c6ace65fc129
2021-03-11 10:09:05 +09:00

91 lines
3.3 KiB
Puppet

# The aodh::service_credentials class helps configure service_credentials
# settings
#
# == Parameters
# [*auth_url*]
# the keystone public endpoint
# Optional. Defaults to 'http://localhost:5000/v3'
#
# [*region_name*]
# the keystone region of this node
# Optional. Defaults to 'RegionOne'
#
# [*username*]
# the keystone user for aodh services
# Optional. Defaults to 'aodh'
#
# [*password*]
# the keystone password for aodh services
# Required.
#
# [*project_name*]
# the keystone tenant name for aodh services
# Optional. Defaults to 'services'
#
# [*project_domain_name*]
# the keystone project domain name for aodh services
# Optional. Defaults to 'Default'
#
# [*user_domain_name*]
# the keystone user domain name for aodh services
# Optional. Defaults to 'Default'
#
# [*auth_type*]
# An authentication type to use with an OpenStack Identity server.
# The value should contain auth plugin name.
# Optional. Defaults to 'password'.
#
# [*cacert*]
# Certificate chain for SSL validation.
# Optional. Defaults to $::os_service_default
#
# [*interface*]
# Type of endpoint in Identity service catalog to use for
# communication with OpenStack services.
# Optional. Defaults to $::os_service_default.
#
class aodh::service_credentials (
# TODO(tkajinam): Make this required when we remove aodh::auth
$password = false,
$auth_url = 'http://localhost:5000/v3',
$region_name = 'RegionOne',
$username = 'aodh',
$project_name = 'services',
$project_domain_name = 'Default',
$user_domain_name = 'Default',
$auth_type = 'password',
$cacert = $::os_service_default,
$interface = $::os_service_default,
) {
include aodh::deps
$password_real = pick($::aodh::auth::auth_password, $password)
if ! $password_real {
fail('The password parameter is required')
}
$auth_url_real = pick($::aodh::auth::auth_url, $auth_url)
$region_name_real = pick($::aodh::auth_region, $region_name)
$username_real = pick($::aodh::auth_user, $username)
$project_name_real = pick($::aodh::auth::auth_project_name, $project_name)
$project_domain_name_real = pick($::aodh::auth::project_domain_name, $project_domain_name)
$user_domain_name_real = pick($::aodh::auth::user_domain_name, $user_domain_name)
$auth_type_real = pick($::aodh::auth::auth_type, $auth_type)
$cacert_real = pick($::aodh::auth::auth_cacert, $cacert)
$interface_real = pick($::aodh::auth::interface, $interface)
aodh_config {
'service_credentials/auth_url' : value => $auth_url_real;
'service_credentials/region_name' : value => $region_name_real;
'service_credentials/username' : value => $username_real;
'service_credentials/password' : value => $password_real, secret => true;
'service_credentials/project_name' : value => $project_name_real;
'service_credentials/project_domain_name' : value => $project_domain_name_real;
'service_credentials/user_domain_name' : value => $user_domain_name_real;
'service_credentials/cacert' : value => $cacert_real;
'service_credentials/interface' : value => $interface_real;
'service_credentials/auth_type' : value => $auth_type_real;
}
}