# (Optional) the keystone project name for ceilometer services
# Defaults to 'services'.
#
+# [*system_scope*]
+# (Optional) Scope for system operations.
+# Defaults to $::os_service_default
+#
# [*cafile*]
# (Optional) Certificate chain for SSL validation.
# Defaults to $::os_service_default.
$region_name = $::os_service_default,
$username = 'ceilometer',
$project_name = 'services',
+ $system_scope = $::os_service_default,
$cafile = $::os_service_default,
$interface = $::os_service_default,
$user_domain_name = 'Default',
include ceilometer::deps
+ if is_service_default($system_scope) {
+ $project_name_real = $project_name
+ $project_domain_name_real = $project_domain_name
+ } else {
+ $project_name_real = $::os_service_default
+ $project_domain_name_real = $::os_service_default
+ }
+
ceilometer_config {
'service_credentials/auth_url' : value => $auth_url;
'service_credentials/region_name' : value => $region_name;
'service_credentials/username' : value => $username;
'service_credentials/password' : value => $password, secret => true;
- 'service_credentials/project_name' : value => $project_name;
+ 'service_credentials/project_name' : value => $project_name_real;
+ 'service_credentials/system_scope' : value => $system_scope;
'service_credentials/cafile' : value => $cafile;
'service_credentials/interface' : value => $interface;
'service_credentials/user_domain_name' : value => $user_domain_name;
- 'service_credentials/project_domain_name': value => $project_domain_name;
+ 'service_credentials/project_domain_name': value => $project_domain_name_real;
'service_credentials/auth_type' : value => $auth_type;
}
}
is_expected.to contain_ceilometer_config('service_credentials/username').with_value('ceilometer')
is_expected.to contain_ceilometer_config('service_credentials/password').with_value('password').with_secret(true)
is_expected.to contain_ceilometer_config('service_credentials/project_name').with_value('services')
+ is_expected.to contain_ceilometer_config('service_credentials/system_scope').with_value('<SERVICE DEFAULT>')
is_expected.to contain_ceilometer_config('service_credentials/cafile').with_value('<SERVICE DEFAULT>')
is_expected.to contain_ceilometer_config('service_credentials/interface').with_value('<SERVICE DEFAULT>')
is_expected.to contain_ceilometer_config('service_credentials/user_domain_name').with_value('Default')
is_expected.to contain_ceilometer_config('service_credentials/username').with_value('ceilometer2')
is_expected.to contain_ceilometer_config('service_credentials/password').with_value('password').with_secret(true)
is_expected.to contain_ceilometer_config('service_credentials/project_name').with_value('services2')
+ is_expected.to contain_ceilometer_config('service_credentials/system_scope').with_value('<SERVICE DEFAULT>')
is_expected.to contain_ceilometer_config('service_credentials/cafile').with_value('/tmp/dummy.pem')
is_expected.to contain_ceilometer_config('service_credentials/interface').with_value('internalURL')
is_expected.to contain_ceilometer_config('service_credentials/user_domain_name').with_value('MyDomain')
end
end
+ context 'when system_scope is set' do
+ before do
+ params.merge!(
+ :system_scope => 'all'
+ )
+ end
+ it 'configures system-scoped credential' do
+ is_expected.to contain_ceilometer_config('service_credentials/project_name').with_value('<SERVICE DEFAULT>')
+ is_expected.to contain_ceilometer_config('service_credentials/project_domain_name').with_value('<SERVICE DEFAULT>')
+ is_expected.to contain_ceilometer_config('service_credentials/system_scope').with_value('all')
+ end
+ end
end
on_supported_os({