[inspector] Update authentication parameters
Inspector has switched to keystoneauth and authentication plugins, this change makes puppet-ironic use them. Also this change exposes auth_strategy parameter disabling keystone support completely. This change removes deprecation warnings on inspector start up. Change-Id: Icb0948c3fc085c76c3309ab1ad194a978922bfdb
This commit is contained in:
@@ -37,6 +37,10 @@
|
|||||||
# (optional) Enable debug logging
|
# (optional) Enable debug logging
|
||||||
# Defaults to undef
|
# Defaults to undef
|
||||||
#
|
#
|
||||||
|
# [*auth_strategy*]
|
||||||
|
# (optional) API authentication strategy: keystone or noauth
|
||||||
|
# Defaults to 'keystone'
|
||||||
|
#
|
||||||
# [*auth_uri*]
|
# [*auth_uri*]
|
||||||
# (optional) Complete public Identity API endpoint
|
# (optional) Complete public Identity API endpoint
|
||||||
# Defaults to 'http://127.0.0.1:5000/v2.0'
|
# Defaults to 'http://127.0.0.1:5000/v2.0'
|
||||||
@@ -82,6 +86,10 @@
|
|||||||
# (optional) Method for storing introspection data
|
# (optional) Method for storing introspection data
|
||||||
# Defaults to 'none'
|
# Defaults to 'none'
|
||||||
#
|
#
|
||||||
|
# [*ironic_auth_type*]
|
||||||
|
# (optional) Authentication plugin for accessing Ironic
|
||||||
|
# Defaults to 'password'
|
||||||
|
#
|
||||||
# [*ironic_username*]
|
# [*ironic_username*]
|
||||||
# (optional) User name for accessing Ironic API
|
# (optional) User name for accessing Ironic API
|
||||||
# Defaults to 'ironic'
|
# Defaults to 'ironic'
|
||||||
@@ -106,6 +114,10 @@
|
|||||||
# (optional) Interval between retries in case of conflict error
|
# (optional) Interval between retries in case of conflict error
|
||||||
# Defaults to 2
|
# Defaults to 2
|
||||||
#
|
#
|
||||||
|
# [*swift_auth_type*]
|
||||||
|
# (optional) Authentication plugin for accessing Swift
|
||||||
|
# Defaults to 'password'
|
||||||
|
#
|
||||||
# [*swift_username*]
|
# [*swift_username*]
|
||||||
# (optional) User name for accessing Swift API
|
# (optional) User name for accessing Swift API
|
||||||
# Defaults to 'ironic'
|
# Defaults to 'ironic'
|
||||||
@@ -156,6 +168,7 @@ class ironic::inspector (
|
|||||||
$pxe_transfer_protocol = 'tftp',
|
$pxe_transfer_protocol = 'tftp',
|
||||||
$enable_uefi = false,
|
$enable_uefi = false,
|
||||||
$debug = undef,
|
$debug = undef,
|
||||||
|
$auth_strategy = 'keystone',
|
||||||
$auth_uri = 'http://127.0.0.1:5000/v2.0',
|
$auth_uri = 'http://127.0.0.1:5000/v2.0',
|
||||||
$identity_uri = 'http://127.0.0.1:35357',
|
$identity_uri = 'http://127.0.0.1:35357',
|
||||||
$admin_user = 'ironic',
|
$admin_user = 'ironic',
|
||||||
@@ -167,12 +180,14 @@ class ironic::inspector (
|
|||||||
$enable_setting_ipmi_credentials = false,
|
$enable_setting_ipmi_credentials = false,
|
||||||
$keep_ports = 'all',
|
$keep_ports = 'all',
|
||||||
$store_data = 'none',
|
$store_data = 'none',
|
||||||
|
$ironic_auth_type = 'password',
|
||||||
$ironic_username = 'ironic',
|
$ironic_username = 'ironic',
|
||||||
$ironic_password = undef,
|
$ironic_password = undef,
|
||||||
$ironic_tenant_name = 'services',
|
$ironic_tenant_name = 'services',
|
||||||
$ironic_auth_url = 'http://127.0.0.1:5000/v2.0',
|
$ironic_auth_url = 'http://127.0.0.1:5000/v2.0',
|
||||||
$ironic_max_retries = 30,
|
$ironic_max_retries = 30,
|
||||||
$ironic_retry_interval = 2,
|
$ironic_retry_interval = 2,
|
||||||
|
$swift_auth_type = 'password',
|
||||||
$swift_username = 'ironic',
|
$swift_username = 'ironic',
|
||||||
$swift_password = undef,
|
$swift_password = undef,
|
||||||
$swift_tenant_name = 'services',
|
$swift_tenant_name = 'services',
|
||||||
@@ -251,28 +266,38 @@ class ironic::inspector (
|
|||||||
}
|
}
|
||||||
|
|
||||||
# Configure inspector.conf
|
# Configure inspector.conf
|
||||||
|
|
||||||
|
if $auth_strategy == 'keystone' {
|
||||||
|
ironic_inspector_config {
|
||||||
|
'keystone_authtoken/auth_type': value => 'password';
|
||||||
|
'keystone_authtoken/auth_uri': value => $auth_uri;
|
||||||
|
'keystone_authtoken/auth_url': value => $identity_uri;
|
||||||
|
'keystone_authtoken/username': value => $admin_user;
|
||||||
|
'keystone_authtoken/password': value => $admin_password, secret => true;
|
||||||
|
'keystone_authtoken/project_name': value => $admin_tenant_name;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
ironic_inspector_config {
|
ironic_inspector_config {
|
||||||
'keystone_authtoken/auth_uri': value => $auth_uri;
|
'DEFAULT/auth_strategy': value => $auth_strategy;
|
||||||
'keystone_authtoken/identity_uri': value => $identity_uri;
|
|
||||||
'keystone_authtoken/admin_user': value => $admin_user;
|
|
||||||
'keystone_authtoken/admin_password': value => $admin_password, secret => true;
|
|
||||||
'keystone_authtoken/admin_tenant_name': value => $admin_tenant_name;
|
|
||||||
'firewall/dnsmasq_interface': value => $dnsmasq_interface;
|
'firewall/dnsmasq_interface': value => $dnsmasq_interface;
|
||||||
'database/connection': value => $db_connection;
|
'database/connection': value => $db_connection;
|
||||||
'processing/ramdisk_logs_dir': value => $ramdisk_logs_dir;
|
'processing/ramdisk_logs_dir': value => $ramdisk_logs_dir;
|
||||||
'processing/enable_setting_ipmi_credentials': value => $enable_setting_ipmi_credentials;
|
'processing/enable_setting_ipmi_credentials': value => $enable_setting_ipmi_credentials;
|
||||||
'processing/keep_ports': value => $keep_ports;
|
'processing/keep_ports': value => $keep_ports;
|
||||||
'processing/store_data': value => $store_data;
|
'processing/store_data': value => $store_data;
|
||||||
'ironic/os_username': value => $ironic_username;
|
'ironic/auth_type': value => $ironic_auth_type;
|
||||||
'ironic/os_password': value => $ironic_password, secret => true;
|
'ironic/username': value => $ironic_username;
|
||||||
'ironic/os_tenant_name': value => $ironic_tenant_name;
|
'ironic/password': value => $ironic_password, secret => true;
|
||||||
'ironic/os_auth_url': value => $ironic_auth_url;
|
'ironic/project_name': value => $ironic_tenant_name;
|
||||||
|
'ironic/auth_url': value => $ironic_auth_url;
|
||||||
'ironic/max_retries': value => $ironic_max_retries;
|
'ironic/max_retries': value => $ironic_max_retries;
|
||||||
'ironic/retry_interval': value => $ironic_retry_interval;
|
'ironic/retry_interval': value => $ironic_retry_interval;
|
||||||
|
'swift/auth_type': value => $swift_auth_type;
|
||||||
'swift/username': value => $swift_username;
|
'swift/username': value => $swift_username;
|
||||||
'swift/password': value => $swift_password, secret => true;
|
'swift/password': value => $swift_password, secret => true;
|
||||||
'swift/tenant_name': value => $swift_tenant_name;
|
'swift/project_name': value => $swift_tenant_name;
|
||||||
'swift/os_auth_url': value => $swift_auth_url;
|
'swift/auth_url': value => $swift_auth_url;
|
||||||
# Here we use oslo.config interpolation with another option default_processing_hooks,
|
# Here we use oslo.config interpolation with another option default_processing_hooks,
|
||||||
# which we don't change as it might break introspection completely.
|
# which we don't change as it might break introspection completely.
|
||||||
'processing/processing_hooks': value => join(delete_undef_values(['$default_processing_hooks', $additional_processing_hooks]), ',');
|
'processing/processing_hooks': value => join(delete_undef_values(['$default_processing_hooks', $additional_processing_hooks]), ',');
|
||||||
|
@@ -25,6 +25,7 @@ describe 'ironic::inspector' do
|
|||||||
:enabled => true,
|
:enabled => true,
|
||||||
:pxe_transfer_protocol => 'tftp',
|
:pxe_transfer_protocol => 'tftp',
|
||||||
:enable_uefi => false,
|
:enable_uefi => false,
|
||||||
|
:auth_strategy => 'keystone',
|
||||||
:auth_uri => 'http://127.0.0.1:5000/v2.0',
|
:auth_uri => 'http://127.0.0.1:5000/v2.0',
|
||||||
:identity_uri => 'http://127.0.0.1:35357',
|
:identity_uri => 'http://127.0.0.1:35357',
|
||||||
:admin_user => 'ironic',
|
:admin_user => 'ironic',
|
||||||
@@ -35,11 +36,13 @@ describe 'ironic::inspector' do
|
|||||||
:enable_setting_ipmi_credentials => false,
|
:enable_setting_ipmi_credentials => false,
|
||||||
:keep_ports => 'all',
|
:keep_ports => 'all',
|
||||||
:store_data => 'none',
|
:store_data => 'none',
|
||||||
|
:ironic_auth_type => 'password',
|
||||||
:ironic_username => 'ironic',
|
:ironic_username => 'ironic',
|
||||||
:ironic_tenant_name => 'services',
|
:ironic_tenant_name => 'services',
|
||||||
:ironic_auth_url => 'http://127.0.0.1:5000/v2.0',
|
:ironic_auth_url => 'http://127.0.0.1:5000/v2.0',
|
||||||
:ironic_max_retries => 30,
|
:ironic_max_retries => 30,
|
||||||
:ironic_retry_interval => 2,
|
:ironic_retry_interval => 2,
|
||||||
|
:swift_auth_type => 'password',
|
||||||
:swift_username => 'ironic',
|
:swift_username => 'ironic',
|
||||||
:swift_tenant_name => 'services',
|
:swift_tenant_name => 'services',
|
||||||
:swift_auth_url => 'http://127.0.0.1:5000/v2.0',
|
:swift_auth_url => 'http://127.0.0.1:5000/v2.0',
|
||||||
@@ -86,24 +89,28 @@ describe 'ironic::inspector' do
|
|||||||
end
|
end
|
||||||
|
|
||||||
it 'configures inspector.conf' do
|
it 'configures inspector.conf' do
|
||||||
|
is_expected.to contain_ironic_inspector_config('DEFAULT/auth_strategy').with_value(p[:auth_strategy])
|
||||||
|
is_expected.to contain_ironic_inspector_config('keystone_authtoken/auth_type').with_value('password')
|
||||||
is_expected.to contain_ironic_inspector_config('keystone_authtoken/auth_uri').with_value(p[:auth_uri])
|
is_expected.to contain_ironic_inspector_config('keystone_authtoken/auth_uri').with_value(p[:auth_uri])
|
||||||
is_expected.to contain_ironic_inspector_config('keystone_authtoken/identity_uri').with_value(p[:identity_uri])
|
is_expected.to contain_ironic_inspector_config('keystone_authtoken/auth_url').with_value(p[:identity_uri])
|
||||||
is_expected.to contain_ironic_inspector_config('keystone_authtoken/admin_user').with_value(p[:admin_user])
|
is_expected.to contain_ironic_inspector_config('keystone_authtoken/username').with_value(p[:admin_user])
|
||||||
is_expected.to contain_ironic_inspector_config('keystone_authtoken/admin_tenant_name').with_value(p[:admin_tenant_name])
|
is_expected.to contain_ironic_inspector_config('keystone_authtoken/project_name').with_value(p[:admin_tenant_name])
|
||||||
is_expected.to contain_ironic_inspector_config('firewall/dnsmasq_interface').with_value(p[:dnsmasq_interface])
|
is_expected.to contain_ironic_inspector_config('firewall/dnsmasq_interface').with_value(p[:dnsmasq_interface])
|
||||||
is_expected.to contain_ironic_inspector_config('database/connection').with_value(p[:db_connection])
|
is_expected.to contain_ironic_inspector_config('database/connection').with_value(p[:db_connection])
|
||||||
is_expected.to contain_ironic_inspector_config('processing/ramdisk_logs_dir').with_value(p[:ramdisk_logs_dir])
|
is_expected.to contain_ironic_inspector_config('processing/ramdisk_logs_dir').with_value(p[:ramdisk_logs_dir])
|
||||||
is_expected.to contain_ironic_inspector_config('processing/enable_setting_ipmi_credentials').with_value(p[:enable_setting_ipmi_credentials])
|
is_expected.to contain_ironic_inspector_config('processing/enable_setting_ipmi_credentials').with_value(p[:enable_setting_ipmi_credentials])
|
||||||
is_expected.to contain_ironic_inspector_config('processing/keep_ports').with_value(p[:keep_ports])
|
is_expected.to contain_ironic_inspector_config('processing/keep_ports').with_value(p[:keep_ports])
|
||||||
is_expected.to contain_ironic_inspector_config('processing/store_data').with_value(p[:store_data])
|
is_expected.to contain_ironic_inspector_config('processing/store_data').with_value(p[:store_data])
|
||||||
is_expected.to contain_ironic_inspector_config('ironic/os_username').with_value(p[:ironic_username])
|
is_expected.to contain_ironic_inspector_config('ironic/auth_type').with_value(p[:ironic_auth_type])
|
||||||
is_expected.to contain_ironic_inspector_config('ironic/os_tenant_name').with_value(p[:ironic_tenant_name])
|
is_expected.to contain_ironic_inspector_config('ironic/username').with_value(p[:ironic_username])
|
||||||
is_expected.to contain_ironic_inspector_config('ironic/os_auth_url').with_value(p[:ironic_auth_url])
|
is_expected.to contain_ironic_inspector_config('ironic/project_name').with_value(p[:ironic_tenant_name])
|
||||||
|
is_expected.to contain_ironic_inspector_config('ironic/auth_url').with_value(p[:ironic_auth_url])
|
||||||
is_expected.to contain_ironic_inspector_config('ironic/max_retries').with_value(p[:ironic_max_retries])
|
is_expected.to contain_ironic_inspector_config('ironic/max_retries').with_value(p[:ironic_max_retries])
|
||||||
is_expected.to contain_ironic_inspector_config('ironic/retry_interval').with_value(p[:ironic_retry_interval])
|
is_expected.to contain_ironic_inspector_config('ironic/retry_interval').with_value(p[:ironic_retry_interval])
|
||||||
|
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/username').with_value(p[:swift_username])
|
||||||
is_expected.to contain_ironic_inspector_config('swift/tenant_name').with_value(p[:swift_tenant_name])
|
is_expected.to contain_ironic_inspector_config('swift/project_name').with_value(p[:swift_tenant_name])
|
||||||
is_expected.to contain_ironic_inspector_config('swift/os_auth_url').with_value(p[:swift_auth_url])
|
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/processing_hooks').with_value('$default_processing_hooks')
|
||||||
end
|
end
|
||||||
|
|
||||||
@@ -159,12 +166,12 @@ describe 'ironic::inspector' do
|
|||||||
it 'should replace default parameter with new value' do
|
it 'should replace default parameter with new value' do
|
||||||
is_expected.to contain_ironic_inspector_config('DEFAULT/debug').with_value(p[:debug])
|
is_expected.to contain_ironic_inspector_config('DEFAULT/debug').with_value(p[:debug])
|
||||||
is_expected.to contain_ironic_inspector_config('keystone_authtoken/auth_uri').with_value(p[:auth_uri])
|
is_expected.to contain_ironic_inspector_config('keystone_authtoken/auth_uri').with_value(p[:auth_uri])
|
||||||
is_expected.to contain_ironic_inspector_config('keystone_authtoken/identity_uri').with_value(p[:identity_uri])
|
is_expected.to contain_ironic_inspector_config('keystone_authtoken/auth_url').with_value(p[:identity_uri])
|
||||||
is_expected.to contain_ironic_inspector_config('keystone_authtoken/admin_password').with_value(p[:admin_password])
|
is_expected.to contain_ironic_inspector_config('keystone_authtoken/password').with_value(p[:admin_password])
|
||||||
is_expected.to contain_ironic_inspector_config('ironic/os_password').with_value(p[:ironic_password])
|
is_expected.to contain_ironic_inspector_config('ironic/password').with_value(p[:ironic_password])
|
||||||
is_expected.to contain_ironic_inspector_config('ironic/os_auth_url').with_value(p[:ironic_auth_url])
|
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/password').with_value(p[:swift_password])
|
||||||
is_expected.to contain_ironic_inspector_config('swift/os_auth_url').with_value(p[:swift_auth_url])
|
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/processing_hooks').with_value('$default_processing_hooks,hook1,hook2')
|
||||||
end
|
end
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user