Add ironic config section for nova-api
nova-api requires credentials for interact with Ironic API
Change-Id: I665f177d1aa928fa55955a127873c3cef7934420
Closes-bug: #1570819
(cherry picked from commit f66a487b13
)
This commit is contained in:
parent
f7f728fc6f
commit
f058cd3638
|
@ -439,7 +439,17 @@ class openstack_tasks::openstack_controller::openstack_controller {
|
|||
$nova_scheduler_filters = unique(concat(pick($nova_config_hash['default_filters'], $nova_scheduler_default_filters), $sahara_filters, $sriov_filters, $huge_pages_filters, $cpu_pinning_filters))
|
||||
|
||||
if $ironic_hash['enabled'] {
|
||||
$scheduler_host_manager = 'nova.scheduler.ironic_host_manager.IronicHostManager'
|
||||
$scheduler_host_manager = 'nova.scheduler.ironic_host_manager.IronicHostManager'
|
||||
$ironic_endpoint_default = hiera('ironic_endpoint', $management_vip)
|
||||
$ironic_protocol = get_ssl_property($ssl_hash, {}, 'ironic', 'internal', 'protocol', 'http')
|
||||
$ironic_endpoint = get_ssl_property($ssl_hash, {}, 'ironic', 'internal', 'hostname', $ironic_endpoint_default)
|
||||
class { '::nova::ironic::common':
|
||||
admin_username => pick($ironic_hash['auth_name'],'ironic'),
|
||||
admin_password => pick($ironic_hash['user_password'],'ironic'),
|
||||
admin_url => $keystone_identity_uri,
|
||||
admin_tenant_name => pick($ironic_hash['tenant'],'services'),
|
||||
api_endpoint => "${ironic_protocol}://${ironic_endpoint}:6385/v1",
|
||||
}
|
||||
}
|
||||
|
||||
class { '::nova::scheduler::filter':
|
||||
|
|
|
@ -148,6 +148,14 @@ describe manifest do
|
|||
let(:fallback_workers) { [[facts[:processorcount].to_i, 2].max, workers_max.to_i].min }
|
||||
let(:service_workers) { nova_hash.fetch('workers', fallback_workers) }
|
||||
|
||||
let(:ironic_hash) { Noop.hiera_hash 'ironic', {} }
|
||||
let(:ironic_user) { Noop.puppet_function 'pick', ironic_hash['auth_name'], 'ironic' }
|
||||
let(:ironic_password) { Noop.puppet_function 'pick', ironic_hash['user_password'], 'ironic' }
|
||||
let(:ironic_tenant) { Noop.puppet_function 'pick', ironic_hash['tenant'], 'services' }
|
||||
let(:ironic_endpoint_default) { Noop.hiera 'ironic_endpoint', management_vip }
|
||||
let(:ironic_protocol) { Noop.puppet_function 'get_ssl_property',ssl_hash,{},'ironic','internal','protocol','http' }
|
||||
let(:ironic_endpoint) { Noop.puppet_function 'get_ssl_property',ssl_hash,{},'ironic','internal','hostname', ironic_endpoint_default}
|
||||
|
||||
# TODO All this stuff should be moved to shared examples controller* tests.
|
||||
|
||||
it 'should declare correct workers for systems with 4 processess on 4 CPU & 32G system' do
|
||||
|
@ -418,6 +426,15 @@ describe manifest do
|
|||
'scheduler_host_manager' => 'nova.scheduler.ironic_host_manager.IronicHostManager',
|
||||
)
|
||||
end
|
||||
it 'should declare nova::ironic::common class with ironic parameters' do
|
||||
should contain_class('nova::ironic::common').with(
|
||||
'admin_username' => ironic_user,
|
||||
'admin_password' => ironic_password,
|
||||
'admin_tenant_name' => ironic_tenant,
|
||||
'admin_url' => keystone_identity_uri,
|
||||
'api_endpoint' => "#{ironic_protocol}://#{ironic_endpoint}:6385/v1",
|
||||
)
|
||||
end
|
||||
end
|
||||
|
||||
if storage_hash['volumes_ceph']
|
||||
|
|
Loading…
Reference in New Issue