diff --git a/manifests/fetcher/keystone.pp b/manifests/fetcher/keystone.pp index b85a358..f80fe03 100644 --- a/manifests/fetcher/keystone.pp +++ b/manifests/fetcher/keystone.pp @@ -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; } } diff --git a/releasenotes/notes/fetcher_keystone-opts-ffd8b0a4a26f7a0a.yaml b/releasenotes/notes/fetcher_keystone-opts-ffd8b0a4a26f7a0a.yaml new file mode 100644 index 0000000..45c3960 --- /dev/null +++ b/releasenotes/notes/fetcher_keystone-opts-ffd8b0a4a26f7a0a.yaml @@ -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. diff --git a/spec/classes/cloudkitty_fetcher_keystone_spec.rb b/spec/classes/cloudkitty_fetcher_keystone_spec.rb index 5c5d650..2f0bc72 100644 --- a/spec/classes/cloudkitty_fetcher_keystone_spec.rb +++ b/spec/classes/cloudkitty_fetcher_keystone_spec.rb @@ -17,20 +17,24 @@ describe 'cloudkitty::fetcher::keystone' do is_expected.to contain_cloudkitty_config('fetcher_keystone/project_domain_name').with_value('') is_expected.to contain_cloudkitty_config('fetcher_keystone/auth_url').with_value('') is_expected.to contain_cloudkitty_config('fetcher_keystone/keystone_version').with_value('') + is_expected.to contain_cloudkitty_config('fetcher_keystone/ignore_rating_role').with_value('') + is_expected.to contain_cloudkitty_config('fetcher_keystone/ignore_disabled_tenants').with_value('') end end context 'with parameters set' do let :params do { - :auth_section => '', - :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 => '', + :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