Merge "Add Ironic multitenancy support"
This commit is contained in:
commit
a5abfc28aa
|
@ -37,7 +37,7 @@
|
|||
- id: keystone-openrc-generate
|
||||
type: puppet
|
||||
version: 2.2.0
|
||||
tags: [primary-controller, controller, primary-neutron, neutron]
|
||||
tags: [primary-controller, controller, primary-neutron, neutron, ironic]
|
||||
requires: [openrc-delete, primary-keystone, keystone]
|
||||
cross-depends:
|
||||
- name: openrc-delete
|
||||
|
|
|
@ -148,10 +148,10 @@
|
|||
|
||||
- id: ironic-conductor
|
||||
type: puppet
|
||||
version: 2.1.0
|
||||
version: 2.2.0
|
||||
groups: [ironic]
|
||||
required_for: [deploy_end]
|
||||
requires: [hosts, firewall]
|
||||
requires: [hosts, firewall, keystone-openrc-generate]
|
||||
condition:
|
||||
yaql_exp: >
|
||||
$.ironic.enabled and changedAny($.network_scheme, $.ironic,
|
||||
|
@ -167,6 +167,8 @@
|
|||
- name: ironic-api
|
||||
- name: ironic-db
|
||||
- name: /^(primary-)?rabbitmq$/
|
||||
- name: openstack-network-networks
|
||||
role: ["/^(primary-)?neutron$/"]
|
||||
parameters:
|
||||
puppet_manifest: /etc/puppet/modules/openstack_tasks/examples/roles/ironic-conductor.pp
|
||||
puppet_modules: /etc/puppet/modules
|
||||
|
|
|
@ -88,10 +88,18 @@ class openstack_tasks::openstack_network::networks {
|
|||
$baremetal_router_external = dig44($nets, ['baremetal', 'L2', 'router_ext'])
|
||||
$baremetal_shared = dig44($nets, ['baremetal', 'shared'], false)
|
||||
|
||||
$ironic_settings_hash = hiera_hash('ironic_settings', {})
|
||||
$ironic_provision_network = dig44($ironic_settings_hash, ['ironic_provision_network'], false)
|
||||
if $ironic_provision_network {
|
||||
$baremetal_provider_network_type = 'vlan'
|
||||
} else {
|
||||
$baremetal_provider_network_type = 'flat'
|
||||
}
|
||||
|
||||
neutron_network { 'baremetal' :
|
||||
ensure => 'present',
|
||||
provider_physical_network => $baremetal_physnet,
|
||||
provider_network_type => 'flat',
|
||||
provider_network_type => $baremetal_provider_network_type,
|
||||
provider_segmentation_id => $baremetal_segment_id,
|
||||
router_external => $baremetal_router_external,
|
||||
tenant_name => $tenant_name,
|
||||
|
|
|
@ -107,9 +107,16 @@ class openstack_tasks::roles::ironic_conductor {
|
|||
class { '::ironic::client': }
|
||||
|
||||
class { '::ironic::conductor':
|
||||
api_url => "http://${baremetal_vip}:6385",
|
||||
enabled_drivers => ['fuel_ssh', 'fuel_ipmitool', 'fake', 'fuel_libvirt'],
|
||||
swift_temp_url_key => $ironic_swift_tempurl_key,
|
||||
api_url => "http://${baremetal_vip}:6385",
|
||||
enabled_drivers => ['fuel_ssh', 'fuel_ipmitool', 'fake', 'fuel_libvirt'],
|
||||
swift_temp_url_key => $ironic_swift_tempurl_key,
|
||||
cleaning_network_name => 'baremetal',
|
||||
provisioning_network_name => 'baremetal',
|
||||
|
||||
}
|
||||
|
||||
class { '::ironic::drivers::interfaces':
|
||||
enabled_network_interfaces => ['noop', 'flat', 'neutron']
|
||||
}
|
||||
|
||||
class { '::ironic::drivers::pxe':
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
type: puppet
|
||||
version: 2.2.0
|
||||
tags: [primary-controller, controller, compute, cinder, primary-mongo, mongo, ceph-osd, virt,
|
||||
primary-keystone, keystone]
|
||||
primary-keystone, keystone, ironic]
|
||||
requires: [firewall]
|
||||
condition:
|
||||
yaql_exp: >
|
||||
|
@ -22,7 +22,7 @@
|
|||
type: puppet
|
||||
version: 2.2.0
|
||||
tags: [primary-controller, controller, compute, cinder, primary-mongo, mongo, ceph-osd, virt,
|
||||
primary-keystone, keystone]
|
||||
primary-keystone, keystone, ironic]
|
||||
requires: [firewall, ssl-keys-saving]
|
||||
condition:
|
||||
yaql_exp: &public_ssl_enabled >
|
||||
|
@ -42,7 +42,7 @@
|
|||
version: 2.1.0
|
||||
groups: [primary-controller, controller, compute, cinder, primary-mongo, mongo, ceph-osd, virt,
|
||||
primary-rabbitmq, rabbitmq, primary-database, database,
|
||||
primary-keystone, keystone, primary-neutron, neutron]
|
||||
primary-keystone, keystone, primary-neutron, neutron, ironic]
|
||||
requires: [firewall, ssl-add-trust-chain]
|
||||
condition:
|
||||
yaql_exp: *public_ssl_enabled
|
||||
|
|
|
@ -91,11 +91,18 @@ describe manifest do
|
|||
end
|
||||
|
||||
context 'Ironic baremetal network', :if => nets.has_key?('baremetal') do
|
||||
let(:baremetal_provider_network_type) do
|
||||
if Noop.hiera_structure('ironic_settings/ironic_provision_network', false)
|
||||
'vlan'
|
||||
else
|
||||
'flat'
|
||||
end
|
||||
end
|
||||
it 'should create baremetal network' do
|
||||
should contain_neutron_network('baremetal').with(
|
||||
should contain_neutron_network('baremetal').with(
|
||||
'ensure' => 'present',
|
||||
'provider_physical_network' => nets['baremetal']['L2']['physnet'],
|
||||
'provider_network_type' => 'flat',
|
||||
'provider_network_type' => baremetal_provider_network_type,
|
||||
'provider_segmentation_id' => nets['baremetal']['L2']['segment_id'],
|
||||
'router_external' => nets['baremetal']['L2']['router_ext'],
|
||||
'shared' => nets['baremetal']['shared'],
|
||||
|
|
|
@ -38,11 +38,19 @@ describe manifest do
|
|||
|
||||
it 'should declare ironic::conductor class correctly' do
|
||||
should contain_class('ironic::conductor').with(
|
||||
'api_url' => "http://#{baremetal_vip}:6385",
|
||||
'enabled_drivers' => ['fuel_ssh', 'fuel_ipmitool', 'fake', 'fuel_libvirt'],
|
||||
'api_url' => "http://#{baremetal_vip}:6385",
|
||||
'enabled_drivers' => ['fuel_ssh', 'fuel_ipmitool', 'fake', 'fuel_libvirt'],
|
||||
'cleaning_network_name' => "baremetal",
|
||||
'provisioning_network_name' => "baremetal",
|
||||
)
|
||||
end
|
||||
|
||||
it 'should declare ironic::drivers:interfaces correctly' do
|
||||
should contain_class('ironic::drivers::interfaces').with(
|
||||
'enabled_network_interfaces' => ['noop', 'flat', 'neutron']
|
||||
)
|
||||
end
|
||||
|
||||
it 'should configure the database connection string' do
|
||||
if facts[:os_package_type] == 'debian'
|
||||
extra_params = '?charset=utf8&read_timeout=60'
|
||||
|
|
Loading…
Reference in New Issue