Add neutron-ovs to ironic role

Change-Id: Ifd4c791e7801ae732ba493b71fcd434032fc7611
This commit is contained in:
Andrey Shestakov 2015-09-09 12:17:15 +03:00
parent 7a7d7ae768
commit 8976aa29d2
7 changed files with 158 additions and 57 deletions

View File

@ -5,6 +5,7 @@ $nova_hash = hiera_hash('nova_hash', {})
$access_hash = hiera_hash('access',{}) $access_hash = hiera_hash('access',{})
$public_vip = hiera('public_vip') $public_vip = hiera('public_vip')
$management_vip = hiera('management_vip') $management_vip = hiera('management_vip')
$public_ssl_hash = hiera('public_ssl')
$network_metadata = hiera_hash('network_metadata', {}) $network_metadata = hiera_hash('network_metadata', {})
$baremetal_vip = $network_metadata['vips']['baremetal']['ipaddr'] $baremetal_vip = $network_metadata['vips']['baremetal']['ipaddr']
@ -29,8 +30,17 @@ $db_name = pick($ironic_hash['db_name'], 'ironic')
$db_password = pick($ironic_hash['password'], 'ironic') $db_password = pick($ironic_hash['password'], 'ironic')
$database_connection = "mysql://${db_name}:${db_password}@${db_host}/${db_name}?charset=utf8&read_timeout=60" $database_connection = "mysql://${db_name}:${db_password}@${db_host}/${db_name}?charset=utf8&read_timeout=60"
$public_address = $public_ssl_hash['services'] ? {
true => $public_ssl_hash['hostname'],
default => $public_vip,
}
$public_protocol = $public_ssl_hash['services'] ? {
true => 'https',
default => 'http',
}
$region = hiera('region', 'RegionOne') $region = hiera('region', 'RegionOne')
$public_url = "http://${public_vip}:6385" $public_url = "${public_protocol}://${public_address}:6385"
$admin_url = "http://${management_vip}:6385" $admin_url = "http://${management_vip}:6385"
$internal_url = "http://${management_vip}:6385" $internal_url = "http://${management_vip}:6385"

View File

@ -1,4 +1,4 @@
notice('MODULAR: ironic/network.pp') notice('MODULAR: ironic/network-openstack.pp')
$network_scheme = hiera('network_scheme', {}) $network_scheme = hiera('network_scheme', {})
prepare_network_config($network_scheme) prepare_network_config($network_scheme)
@ -12,43 +12,6 @@ $baremetal_L3_allocation_pool = $ironic_hash['l3_allocation_pool']
$baremetal_L3_gateway = $ironic_hash['l3_gateway'] $baremetal_L3_gateway = $ironic_hash['l3_gateway']
# Physnets
###############################
if $pnets['physnet1'] {
$physnet1 = "physnet1:${pnets['physnet1']['bridge']}"
}
if $pnets['physnet2'] {
$physnet2 = "physnet2:${pnets['physnet2']['bridge']}"
}
$physnet_ironic = "physnet-ironic:br-ironic"
$physnets_array = [$physnet1, $physnet2, $physnet_ironic]
$bridge_mappings = delete_undef_values($physnets_array)
$br_map_str = join($bridge_mappings, ',')
neutron_agent_ovs {
'ovs/bridge_mappings': value => $br_map_str;
}
$flat_networks = ['physnet-ironic']
neutron_plugin_ml2 {
'ml2_type_flat/flat_networks': value => join($flat_networks, ',');
}
service { 'p_neutron-plugin-openvswitch-agent':
ensure => 'running',
enable => true,
provider => 'pacemaker',
}
service { 'p_neutron-dhcp-agent':
ensure => 'running',
enable => true,
provider => 'pacemaker',
}
Neutron_plugin_ml2<||> ~> Service['p_neutron-plugin-openvswitch-agent'] ~> Service['p_neutron-dhcp-agent']
Neutron_agent_ovs<||> ~> Service['p_neutron-plugin-openvswitch-agent'] ~> Service['p_neutron-dhcp-agent']
# Predefined network # Predefined network
############################### ###############################
$netdata = { $netdata = {
@ -77,7 +40,3 @@ neutron_router_interface { "router04:baremetal__subnet":
ensure => present, ensure => present,
} }
# Order
###############################
Neutron_plugin_ml2<||> -> Neutron_agent_ovs<||> -> Openstack::Network::Create_network<||>

View File

@ -0,0 +1,43 @@
notice('MODULAR: ironic/network-physnets-conductor.pp')
$network_scheme = hiera('network_scheme', {})
prepare_network_config($network_scheme)
$neutron_config = hiera_hash('quantum_settings')
$pnets = $neutron_config['L2']['phys_nets']
$baremetal_network = get_network_role_property('ironic/baremetal', 'network')
$nameservers = $neutron_config['predefined_networks']['net04']['L3']['nameservers']
$ironic_hash = hiera_hash('fuel-plugin-ironic', {})
$baremetal_L3_allocation_pool = $ironic_hash['l3_allocation_pool']
$baremetal_L3_gateway = $ironic_hash['l3_gateway']
# Physnets
###############################
if $pnets['physnet1'] {
$physnet1 = "physnet1:${pnets['physnet1']['bridge']}"
}
if $pnets['physnet2'] {
$physnet2 = "physnet2:${pnets['physnet2']['bridge']}"
}
$physnet_ironic = "physnet-ironic:br-ironic"
$physnets_array = [$physnet1, $physnet2, $physnet_ironic]
$bridge_mappings = delete_undef_values($physnets_array)
$br_map_str = join($bridge_mappings, ',')
neutron_agent_ovs {
'ovs/bridge_mappings': value => $br_map_str;
}
$flat_networks = ['physnet-ironic']
neutron_plugin_ml2 {
'ml2_type_flat/flat_networks': value => join($flat_networks, ',');
}
service { 'neutron-plugin-openvswitch-agent':
ensure => 'running',
enable => true,
}
Neutron_plugin_ml2<||> ~> Service['neutron-plugin-openvswitch-agent']
Neutron_agent_ovs<||> ~> Service['neutron-plugin-openvswitch-agent']

View File

@ -0,0 +1,49 @@
notice('MODULAR: ironic/network-physnets.pp')
$network_scheme = hiera('network_scheme', {})
prepare_network_config($network_scheme)
$neutron_config = hiera_hash('quantum_settings')
$pnets = $neutron_config['L2']['phys_nets']
$baremetal_network = get_network_role_property('ironic/baremetal', 'network')
$nameservers = $neutron_config['predefined_networks']['net04']['L3']['nameservers']
$ironic_hash = hiera_hash('fuel-plugin-ironic', {})
$baremetal_L3_allocation_pool = $ironic_hash['l3_allocation_pool']
$baremetal_L3_gateway = $ironic_hash['l3_gateway']
# Physnets
###############################
if $pnets['physnet1'] {
$physnet1 = "physnet1:${pnets['physnet1']['bridge']}"
}
if $pnets['physnet2'] {
$physnet2 = "physnet2:${pnets['physnet2']['bridge']}"
}
$physnet_ironic = "physnet-ironic:br-ironic"
$physnets_array = [$physnet1, $physnet2, $physnet_ironic]
$bridge_mappings = delete_undef_values($physnets_array)
$br_map_str = join($bridge_mappings, ',')
neutron_agent_ovs {
'ovs/bridge_mappings': value => $br_map_str;
}
$flat_networks = ['physnet-ironic']
neutron_plugin_ml2 {
'ml2_type_flat/flat_networks': value => join($flat_networks, ',');
}
service { 'p_neutron-plugin-openvswitch-agent':
ensure => 'running',
enable => true,
provider => 'pacemaker',
}
service { 'p_neutron-dhcp-agent':
ensure => 'running',
enable => true,
provider => 'pacemaker',
}
Neutron_plugin_ml2<||> ~> Service['p_neutron-plugin-openvswitch-agent'] ~> Service['p_neutron-dhcp-agent']
Neutron_agent_ovs<||> ~> Service['p_neutron-plugin-openvswitch-agent'] ~> Service['p_neutron-dhcp-agent']

View File

@ -1,4 +1,4 @@
notice('MODULAR: ironic/network.pp') notice('MODULAR: ironic/vips.pp')
$network_scheme = hiera('network_scheme', {}) $network_scheme = hiera('network_scheme', {})
prepare_network_config($network_scheme) prepare_network_config($network_scheme)

View File

@ -14,29 +14,69 @@
groups: ['primary-controller', 'controller'] groups: ['primary-controller', 'controller']
type: puppet type: puppet
required_for: [ironic-api] required_for: [ironic-api]
requires: [openstack-haproxy, ironic-network] requires: [openstack-haproxy, ironic-vips]
parameters: parameters:
puppet_manifest: puppet/manifests/haproxy.pp puppet_manifest: puppet/manifests/haproxy.pp
puppet_modules: puppet/modules:/etc/puppet/modules puppet_modules: puppet/modules:/etc/puppet/modules
timeout: 3600 timeout: 3600
- id: ironic-network-ovs - id: ironicopenstack-network-compute
groups: ['primary-controller', 'controller']
type: puppet type: puppet
required_for: [virtual_ips] groups: ['ironic']
required_for: [ironic-physnets-conductor]
requires: [ironic-compute]
parameters:
puppet_manifest: /etc/puppet/modules/osnailyfacter/modular/openstack-network/openstack-network-compute.pp
puppet_modules: /etc/puppet/modules
timeout: 3600
- id: ironic-network-ovs
groups: ['primary-controller', 'controller', 'ironic']
type: puppet
required_for: [virtual_ips, ironic-vips, ironic-openstack-network-compute]
requires: [netconfig] requires: [netconfig]
parameters: parameters:
puppet_manifest: puppet/manifests/network-ovs.pp puppet_manifest: puppet/manifests/network-ovs.pp
puppet_modules: puppet/modules:/etc/puppet/modules puppet_modules: puppet/modules:/etc/puppet/modules
timeout: 3600 timeout: 3600
- id: ironic-network - id: ironic-physnets
groups: ['primary-controller', 'controller']
type: puppet
required_for: [ironic-network-openstack]
requires: [ironic-network-ovs, openstack-network]
parameters:
puppet_manifest: puppet/manifests/network-physnets.pp
puppet_modules: puppet/modules:/etc/puppet/modules
timeout: 3600
- id: ironic-openstack-network-compute
groups: ['ironic']
type: puppet
required_for: [ironic-physnets-conductor]
requires: [ironic-compute]
parameters:
puppet_manifest: /etc/puppet/modules/osnailyfacter/modular/openstack-network/openstack-network-compute.pp
puppet_modules: /etc/puppet/modules
timeout: 3600
- id: ironic-physnets-conductor
groups: ['ironic']
type: puppet
required_for: [deploy_end]
requires: [ironic-openstack-network-compute]
parameters:
puppet_manifest: puppet/manifests/network-physnets-conductor.pp
puppet_modules: puppet/modules:/etc/puppet/modules
timeout: 3600
- id: ironic-vips
groups: ['primary-controller', 'controller'] groups: ['primary-controller', 'controller']
type: puppet type: puppet
required_for: [ironic-haproxy] required_for: [ironic-haproxy]
requires: [openstack-controller, ironic-network-ovs] requires: [openstack-controller, ironic-network-ovs]
parameters: parameters:
puppet_manifest: puppet/manifests/network.pp puppet_manifest: puppet/manifests/vips.pp
puppet_modules: puppet/modules:/etc/puppet/modules puppet_modules: puppet/modules:/etc/puppet/modules
timeout: 3600 timeout: 3600
@ -96,13 +136,13 @@
groups: ['primary-controller', 'controller'] groups: ['primary-controller', 'controller']
type: puppet type: puppet
required_for: [deploy_end, controller_remaining_tasks] required_for: [deploy_end, controller_remaining_tasks]
requires: [openstack-controller, ironic-db, ironic-network, ironic-haproxy] requires: [openstack-controller, ironic-db, ironic-vips, ironic-haproxy]
parameters: parameters:
puppet_manifest: puppet/manifests/ironic.pp puppet_manifest: puppet/manifests/ironic.pp
puppet_modules: puppet/modules:/etc/puppet/modules puppet_modules: puppet/modules:/etc/puppet/modules
timeout: 3600 timeout: 3600
- id: ironic-network-conductor - id: ironic-conductor-network
groups: ['ironic'] groups: ['ironic']
type: puppet type: puppet
required_for: [ironic-conductor] required_for: [ironic-conductor]
@ -115,8 +155,8 @@
- id: ironic-conductor - id: ironic-conductor
groups: ['ironic'] groups: ['ironic']
type: puppet type: puppet
required_for: [deploy_end, ironic-compute] required_for: [ironic-compute]
requires: [hosts, firewall, ironic-network-conductor] requires: [ironic-conductor-network]
parameters: parameters:
puppet_manifest: puppet/manifests/ironic-conductor.pp puppet_manifest: puppet/manifests/ironic-conductor.pp
puppet_modules: puppet/modules:/etc/puppet/modules puppet_modules: puppet/modules:/etc/puppet/modules
@ -125,8 +165,8 @@
- id: ironic-compute - id: ironic-compute
groups: ['ironic'] groups: ['ironic']
type: puppet type: puppet
required_for: [deploy_end] required_for: [ironic-openstack-network-compute]
requires: [hosts, firewall, ironic-conductor] requires: [ironic-conductor]
parameters: parameters:
puppet_manifest: puppet/manifests/ironic-compute.pp puppet_manifest: puppet/manifests/ironic-compute.pp
puppet_modules: puppet/modules:/etc/puppet/modules puppet_modules: puppet/modules:/etc/puppet/modules

View File

@ -21,5 +21,5 @@ export BOOTSTRAP_SSH_KEYS="${key_file}.pub"
export AGENT_PACKAGE_PATH="${package_path}/repositories/ubuntu" export AGENT_PACKAGE_PATH="${package_path}/repositories/ubuntu"
mkdir -p "${DESTDIR}" mkdir -p "${DESTDIR}"
#${deployment_scripts_path}/fuel-bootstrap-image-builder/bin/fuel-bootstrap-image ${deployment_scripts_path}/fuel-bootstrap-image-builder/bin/fuel-bootstrap-image
chmod 755 -R "${DESTDIR}" chmod 755 -R "${DESTDIR}"