Add keystone domain parameters for swift config group in ironic-inspector

These are used to configure the keystone session for the swiftclient
that's used in ironic-inspector. If we use keystone v3, these are
needed.

Change-Id: Icb2a058d08325fba4bdb934e265938741ed7d4ee
This commit is contained in:
Juan Antonio Osorio Robles 2017-03-09 14:25:05 +02:00
parent b57b665e1d
commit 30ee1f425b
3 changed files with 23 additions and 0 deletions

View File

@ -115,6 +115,14 @@
# (optional) Tenant name for accessing Swift API
# Defaults to 'services'
#
# [*swift_project_domain_name*]
# (Optional) Name of domain for $swift_tenant_name
# Defaults to $::os_service_default
#
# [*swift_user_domain_name*]
# (Optional) Name of domain for $swift_username
# Defaults to $::os_service_default
#
# [*swift_auth_url*]
# (optional) Keystone authentication URL for Swift
# Defautls to 'http://127.0.0.1:5000/v2.0'
@ -224,6 +232,8 @@ class ironic::inspector (
$swift_username = 'ironic',
$swift_password = undef,
$swift_tenant_name = 'services',
$swift_project_domain_name = $::os_service_default,
$swift_user_domain_name = $::os_service_default,
$swift_auth_url = 'http://127.0.0.1:5000/v2.0',
$dnsmasq_ip_range = '192.168.0.100,192.168.0.120',
$dnsmasq_ip_subnets = undef,
@ -340,6 +350,8 @@ tftpboot and httpboot setup, please include ::ironic::pxe")
'swift/username': value => $swift_username;
'swift/password': value => $swift_password, secret => true;
'swift/project_name': value => $swift_tenant_name;
'swift/project_domain_name': value => $swift_project_domain_name;
'swift/user_domain_name': value => $swift_user_domain_name;
'swift/auth_url': value => $swift_auth_url;
# Here we use oslo.config interpolation with another option default_processing_hooks,
# which we don't change as it might break introspection completely.

View File

@ -0,0 +1,5 @@
---
features:
- One can now configure the keystone domain parameters for the swift config
group in ironic-inspector. These rae needed when one is deploying it with
keystone v3.

View File

@ -110,6 +110,8 @@ describe 'ironic::inspector' do
is_expected.to contain_ironic_inspector_config('swift/auth_type').with_value(p[:swift_auth_type])
is_expected.to contain_ironic_inspector_config('swift/username').with_value(p[:swift_username])
is_expected.to contain_ironic_inspector_config('swift/project_name').with_value(p[:swift_tenant_name])
is_expected.to contain_ironic_inspector_config('swift/project_domain_name').with_value('<SERVICE DEFAULT>')
is_expected.to contain_ironic_inspector_config('swift/user_domain_name').with_value('<SERVICE DEFAULT>')
is_expected.to contain_ironic_inspector_config('swift/auth_url').with_value(p[:swift_auth_url])
is_expected.to contain_ironic_inspector_config('processing/processing_hooks').with_value('$default_processing_hooks')
is_expected.to contain_ironic_inspector_config('processing/node_not_found_hook').with_value('<SERVICE DEFAULT>')
@ -153,6 +155,8 @@ describe 'ironic::inspector' do
:ironic_user_domain_name => 'Default',
:ironic_auth_url => 'http://192.168.0.1:5000/v2.0',
:swift_password => 'password',
:swift_project_domain_name => 'Default',
:swift_user_domain_name => 'Default',
:swift_auth_url => 'http://192.168.0.1:5000/v2.0',
:pxe_transfer_protocol => 'http',
:additional_processing_hooks => 'hook1,hook2',
@ -183,6 +187,8 @@ describe 'ironic::inspector' do
is_expected.to contain_ironic_inspector_config('ironic/user_domain_name').with_value(p[:ironic_user_domain_name])
is_expected.to contain_ironic_inspector_config('ironic/auth_url').with_value(p[:ironic_auth_url])
is_expected.to contain_ironic_inspector_config('swift/password').with_value(p[:swift_password])
is_expected.to contain_ironic_inspector_config('swift/project_domain_name').with_value(p[:swift_project_domain_name])
is_expected.to contain_ironic_inspector_config('swift/user_domain_name').with_value(p[:swift_user_domain_name])
is_expected.to contain_ironic_inspector_config('swift/auth_url').with_value(p[:swift_auth_url])
is_expected.to contain_ironic_inspector_config('processing/processing_hooks').with_value('$default_processing_hooks,hook1,hook2')
is_expected.to contain_ironic_inspector_config('processing/node_not_found_hook').with_value('enroll')