Support more [fetcher_keystone] parameters

Change-Id: I7f60d26ab9554867a30f53df7520e6cbfc18fdd1
This commit is contained in:
Takashi Kajinami 2022-01-25 21:35:57 +09:00
parent 6c3336b5d9
commit d9d0ab9923
3 changed files with 49 additions and 26 deletions

View File

@ -39,18 +39,28 @@
#
# [*keystone_version*]
# (Optional) Keystone version to use.
# Defaults to $::os_service_defaul.
# Defaults to $::os_service_default.
#
# [*ignore_rating_role*]
# (Optional) Skip rating role check for cloudkitty user.
# Defaults to $::os_service_default.
#
# [*ignore_disabled_tenants*]
# (Optional) Stop rating disabled tenants.
# Defaults to $::os_service_default.
#
class cloudkitty::fetcher::keystone (
$auth_section = undef,
$auth_url = $::os_service_default,
$username = $::os_service_default,
$password = $::os_service_default,
$project_name = $::os_service_default,
$user_domain_name = $::os_service_default,
$project_domain_name = $::os_service_default,
$auth_type = $::os_service_default,
$keystone_version = $::os_service_default,
$auth_section = undef,
$auth_url = $::os_service_default,
$username = $::os_service_default,
$password = $::os_service_default,
$project_name = $::os_service_default,
$user_domain_name = $::os_service_default,
$project_domain_name = $::os_service_default,
$auth_type = $::os_service_default,
$keystone_version = $::os_service_default,
$ignore_rating_role = $::os_service_default,
$ignore_disabled_tenants = $::os_service_default,
) {
include cloudkitty::deps
@ -66,13 +76,15 @@ class cloudkitty::fetcher::keystone (
$keystone_version_real = pick($::cloudkitty::keystone_version, $keystone_version)
cloudkitty_config {
'fetcher_keystone/auth_section': value => $auth_section_real;
'fetcher_keystone/username': value => $username;
'fetcher_keystone/password': value => $password, secret => true;
'fetcher_keystone/project_name': value => $project_name;
'fetcher_keystone/user_domain_name': value => $user_domain_name;
'fetcher_keystone/project_domain_name': value => $project_domain_name;
'fetcher_keystone/auth_url': value => $auth_url;
'fetcher_keystone/keystone_version': value => $keystone_version_real;
'fetcher_keystone/auth_section': value => $auth_section_real;
'fetcher_keystone/username': value => $username;
'fetcher_keystone/password': value => $password, secret => true;
'fetcher_keystone/project_name': value => $project_name;
'fetcher_keystone/user_domain_name': value => $user_domain_name;
'fetcher_keystone/project_domain_name': value => $project_domain_name;
'fetcher_keystone/auth_url': value => $auth_url;
'fetcher_keystone/keystone_version': value => $keystone_version_real;
'fetcher_keystone/ignore_rating_role': value => $ignore_rating_role;
'fetcher_keystone/ignore_disabled_tenants': value => $ignore_disabled_tenants;
}
}

View File

@ -0,0 +1,5 @@
---
features:
- |
The ``ignore_rating_role`` parameter and the ``ignore_disabled_tenants``
parameter has been added to the ``cloudkitty::fetcher::keystone`` class.

View File

@ -17,20 +17,24 @@ describe 'cloudkitty::fetcher::keystone' do
is_expected.to contain_cloudkitty_config('fetcher_keystone/project_domain_name').with_value('<SERVICE DEFAULT>')
is_expected.to contain_cloudkitty_config('fetcher_keystone/auth_url').with_value('<SERVICE DEFAULT>')
is_expected.to contain_cloudkitty_config('fetcher_keystone/keystone_version').with_value('<SERVICE DEFAULT>')
is_expected.to contain_cloudkitty_config('fetcher_keystone/ignore_rating_role').with_value('<SERVICE DEFAULT>')
is_expected.to contain_cloudkitty_config('fetcher_keystone/ignore_disabled_tenants').with_value('<SERVICE DEFAULT>')
end
end
context 'with parameters set' do
let :params do
{
:auth_section => '<SERVICE DEFAULT>',
:username => 'cloudkitty',
:password => 'cloudkitty_password',
:project_name => 'service',
:user_domain_name => 'Default',
:project_domain_name => 'Default',
:auth_url => 'http://127.0.0.1:5000',
:keystone_version => 3,
:auth_section => '<SERVICE DEFAULT>',
:username => 'cloudkitty',
:password => 'cloudkitty_password',
:project_name => 'service',
:user_domain_name => 'Default',
:project_domain_name => 'Default',
:auth_url => 'http://127.0.0.1:5000',
:keystone_version => 3,
:ignore_rating_role => false,
:ignore_disabled_tenants => true,
}
end
@ -43,6 +47,8 @@ describe 'cloudkitty::fetcher::keystone' do
is_expected.to contain_cloudkitty_config('fetcher_keystone/project_domain_name').with_value('Default')
is_expected.to contain_cloudkitty_config('fetcher_keystone/auth_url').with_value('http://127.0.0.1:5000')
is_expected.to contain_cloudkitty_config('fetcher_keystone/keystone_version').with_value(3)
is_expected.to contain_cloudkitty_config('fetcher_keystone/ignore_rating_role').with_value(false)
is_expected.to contain_cloudkitty_config('fetcher_keystone/ignore_disabled_tenants').with_value(true)
end
end
end