Decomposition of neutron tasks

Implements: blueprint role-decomposition
Change-Id: Ib65fe6327c252c82a1cbb8e5196a90a40193acd4
(cherry picked from commit 2603220e4c)
This commit is contained in:
Ivan Ponomarev 2016-08-08 14:26:33 +03:00 committed by Mikhail Zhnichkov
parent 36f4566abc
commit 8322a32ea1
26 changed files with 152 additions and 128 deletions

View File

@ -2,7 +2,7 @@
type: puppet
version: 2.2.0
tags: [primary-controller, controller,
primary-keystone, keystone]
primary-keystone, keystone, primary-neutron, neutron]
requires: [deploy_start, openstack-haproxy]
required_for: [primary-keystone, keystone]
cross-depends:
@ -38,7 +38,7 @@
- id: keystone-openrc-generate
type: puppet
version: 2.2.0
tags: [primary-controller, controller]
tags: [primary-controller, controller, primary-neutron, neutron]
requires: [openrc-delete, primary-keystone, keystone]
cross-depends:
- name: openrc-delete

View File

@ -39,21 +39,30 @@
# Anchor (empty task) for another tasks, say 'tenant network FW setup starting'
- id: openstack-network-start
type: skipped
version: 2.0.0
groups: [primary-controller,controller,compute]
version: 2.2.0
tags: [compute, primary-neutron, neutron]
requires: [neutron-keystone, neutron-db, netconfig, primary-openstack-controller, openstack-controller, top-role-compute]
required_for: [openstack-network-common-config]
version: 2.2.0
tags: [compute, primary-neutron, neutron]
cross-depends:
- name: netconfig
role: self
- name: primary-openstack-controller
- name: openstack-controller
- name: top-role-compute
- name: neutron-keystone
- name: openstack-haproxy
role: primary-controller
- name: neutron-db
- name: /^(primary-)?rabbitmq$/
cross-depended-by:
- name: openstack-network-common-config
role: self
- id: openstack-network-common-config
type: puppet
version: 2.1.0
groups: [primary-controller,controller,compute]
version: 2.2.0
tags: [compute, primary-neutron, neutron]
required_for: [openstack-network-end]
requires: [openstack-network-start]
condition:
@ -73,8 +82,8 @@
- id: openstack-network-server-config
type: puppet
version: 2.1.0
groups: [primary-controller,controller]
version: 2.2.0
tags: [primary-neutron, neutron]
required_for: [openstack-network-end]
requires: [openstack-network-start, openstack-network-common-config]
condition:
@ -93,8 +102,8 @@
- id: primary-openstack-network-plugins-l2
type: puppet
version: 2.1.0
groups: [primary-controller]
version: 2.2.0
tags: [primary-neutron]
required_for: [openstack-network-end]
requires: [openstack-network-start, openstack-network-common-config, openstack-network-server-config]
condition:
@ -113,8 +122,8 @@
- id: openstack-network-plugins-l2
type: puppet
version: 2.1.0
groups: [controller,compute]
version: 2.2.0
tags: [compute, neutron]
required_for: [openstack-network-end]
requires: [openstack-network-start, openstack-network-common-config, openstack-network-server-config]
condition:
@ -130,7 +139,7 @@
- id: openstack-network-networks
type: puppet
version: 2.2.0
tags: [primary-controller]
tags: [primary-neutron]
required_for: [openstack-network-end]
requires: [openstack-network-start, openstack-network-common-config, openstack-network-server-config, primary-openstack-network-plugins-l2]
cross-depends:
@ -155,7 +164,7 @@
- id: openstack-network-routers
type: puppet
version: 2.2.0
tags: [primary-controller]
tags: [primary-neutron]
required_for: [openstack-network-end]
requires: [openstack-network-start, openstack-network-networks]
cross-depends:
@ -180,7 +189,7 @@
- id: openstack-network-routers-ha
type: puppet
version: 2.2.0
tags: [primary-controller]
tags: [primary-neutron]
condition:
yaql_exp: >
$.neutron_advanced_configuration.neutron_l3_ha and
@ -196,7 +205,7 @@
- id: primary-openstack-network-agents-l3
type: puppet
version: 2.2.0
tags: [primary-controller]
tags: [primary-neutron]
required_for: [openstack-network-end]
requires: [openstack-network-start, openstack-network-networks, openstack-network-routers, primary-openstack-network-plugins-l2, openstack-network-plugins-l2]
cross-depends:
@ -227,12 +236,12 @@
- id: openstack-network-agents-l3
type: puppet
version: 2.2.0
tags: [controller,compute]
tags: [neutron, compute]
required_for: [openstack-network-end]
requires: [openstack-network-start, openstack-network-networks, openstack-network-routers, primary-openstack-network-plugins-l2, openstack-network-plugins-l2]
cross-depends:
- name: /^(primary-)?openstack-network-plugins-l2$/
role: ["/^(primary-)?controller$/"]
role: ["/^(primary-)?neutron$/"]
- name: openstack-network-start
role: self
- name: openstack-network-networks
@ -267,18 +276,21 @@
- id: openstack-network-server-nova
type: puppet
version: 2.1.0
groups: [primary-controller,controller]
required_for: [openstack-network-end]
requires: [openstack-network-start, openstack-network-common-config, openstack-network-server-config, openstack-network-agents-l3]
version: 2.2.0
tags: [primary-controller, controller]
condition:
yaql_exp: >
changedAny($.quantum, $.quantum_settings,
$.network_metadata.vips, $.get('use_ssl'))
cross-depends:
- name: /^(primary-)?openstack-network-common-config$/
- name: openstack-network-start
role: self
- name: /^(primary-)?openstack-network-server-config$/
- name: openstack-network-agents-l3
role: self
- name: /(primary-)?openstack-network-common-config/
- name: /(primary-)?openstack-network-server-config/
cross-depended-by:
- name: openstack-network-end
role: self
parameters:
puppet_manifest: /etc/puppet/modules/openstack_tasks/examples/openstack-network/server-nova.pp
@ -287,8 +299,8 @@
- id: primary-openstack-network-agents-dhcp
type: puppet
version: 2.1.0
groups: [primary-controller]
version: 2.2.0
tags: [primary-neutron]
required_for: [openstack-network-end]
requires: [openstack-network-start, openstack-network-common-config, openstack-network-server-config, openstack-network-server-nova, openstack-network-agents-l3]
condition:
@ -307,8 +319,8 @@
- id: openstack-network-agents-dhcp
type: puppet
version: 2.1.0
groups: [controller]
version: 2.2.0
tags: [neutron]
required_for: [openstack-network-end]
requires: [openstack-network-start, openstack-network-common-config, openstack-network-server-config, openstack-network-server-nova, openstack-network-agents-l3]
condition:
@ -325,8 +337,8 @@
- id: primary-openstack-network-agents-metadata
type: puppet
version: 2.1.0
groups: [primary-controller]
version: 2.2.0
tags: [primary-neutron]
required_for: [openstack-network-end]
requires: [openstack-network-start, openstack-network-common-config, openstack-network-server-config, openstack-network-server-nova, openstack-network-agents-l3]
refresh_on: [neutron_metadata_agent_config]
@ -353,8 +365,8 @@
- id: openstack-network-agents-metadata
type: puppet
version: 2.1.0
groups: [controller,compute]
version: 2.2.0
tags: [neutron,compute]
required_for: [openstack-network-end]
requires: [openstack-network-start, openstack-network-common-config, openstack-network-server-config, openstack-network-server-nova, openstack-network-agents-l3]
condition:
@ -362,8 +374,8 @@
refresh_on: [neutron_metadata_agent_config]
cross-depends:
- name: primary-openstack-network-agents-metadata
- name: /^(primary-)?openstack-network-plugins-l2$/
role: ["/^(primary-)?controller$/"]
- name: /(primary-)?openstack-network-plugins-l2/
role: ["/(primary-)?neutron/"]
parameters:
puppet_manifest: /etc/puppet/modules/openstack_tasks/examples/openstack-network/agents/metadata.pp
puppet_modules: /etc/puppet/modules
@ -389,7 +401,7 @@
# Anchor (empty task) for another tasks, say 'tenant network FW setup done'
- id: openstack-network-end
type: skipped
version: 2.0.0
groups: [primary-controller,controller,compute]
version: 2.2.0
tags: [compute, primary-neutron, neutron]
required_for: [deploy_end]
requires: []

View File

@ -176,9 +176,11 @@
type: puppet
version: 2.1.0
groups: [compute, compute-vmware]
requires: [top-role-compute, top-role-compute-vmware, openstack-network-compute-nova]
requires: [top-role-compute, top-role-compute-vmware]
required_for: [deploy_end]
refresh_on: [nova_config, nova_paste_api_ini]
cross-depends:
- name: openstack-network-compute-nova
condition:
yaql_exp: *top_compute
parameters:

View File

@ -1,7 +1,7 @@
- id: sahara
type: puppet
version: 2.1.0
groups: [primary-controller, controller]
version: 2.2.0
tags: [primary-controller, controller]
condition:
yaql_exp: >
$.sahara.enabled and changedAny($.access, $.sahara, $.rabbit,
@ -15,11 +15,16 @@
$.node_roles.any($.matches('controller'))).network_roles.select(
$.get('mgmt/messaging')), $.get('amqp_hosts'),
$.get('external_lb'), $.get('use_ssl'), $.get('kombu_compression'))
required_for: [deploy_end, controller_remaining_tasks]
requires: [openstack-network-end, horizon]
cross-depends:
- name: openstack-network-end
- name: horizon
- name: sahara-db
- name: sahara-keystone
cross-depended-by:
- name: deploy_end
role: self
- name: controller_remaining_tasks
role: self
parameters:
puppet_manifest: /etc/puppet/modules/openstack_tasks/examples/sahara/sahara.pp
puppet_modules: /etc/puppet/modules

View File

@ -22,9 +22,9 @@ class openstack_tasks::openstack_network::agents::dhcp {
}
if $ha_agent {
$primary_controller = hiera('primary_controller')
$primary_neutron = has_primary_role(intersection(hiera('neutron_roles'), hiera('roles')))
class { '::cluster::neutron::dhcp' :
primary => $primary_controller,
primary => $primary_neutron,
}
}

View File

@ -6,17 +6,17 @@ class openstack_tasks::openstack_network::agents::l3 {
$neutron_advanced_config = hiera_hash('neutron_advanced_configuration', { })
$dvr = pick($neutron_advanced_config['neutron_dvr'], false)
$neutron_controller_roles = hiera('neutron_controller_roles', ['controller', 'primary-controller'])
$neutron_controller_roles = hiera('neutron_roles')
$neutron_compute_roles = hiera('neutron_compute_nodes', ['compute'])
$controller = roles_include($neutron_controller_roles)
$neutron_controller = roles_include($neutron_controller_roles)
$compute = roles_include($neutron_compute_roles)
if $use_neutron and ($controller or ($dvr and $compute)) {
if $neutron_controller or ($dvr and $compute) {
$debug = hiera('debug', true)
$metadata_port = '8775'
$network_scheme = hiera_hash('network_scheme', {})
if $controller {
if $neutron_controller {
if $dvr {
$agent_mode = 'dvr_snat'
} else {
@ -41,9 +41,9 @@ class openstack_tasks::openstack_network::agents::l3 {
}
if ($ha_agent) and !($compute) {
$primary_controller = hiera('primary_controller')
$primary_neutron = has_primary_role(intersection(hiera('neutron_roles'), hiera('roles')))
cluster::neutron::l3 { 'default-l3' :
primary => $primary_controller,
primary => $primary_neutron,
}
}

View File

@ -2,10 +2,9 @@ class openstack_tasks::openstack_network::agents::metadata {
notice('MODULAR: openstack_network/agents/metadata.pp')
$use_neutron = hiera('use_neutron', false)
$neutron_controller_roles = hiera('neutron_controller_roles', ['controller', 'primary-controller'])
$neutron_controller_roles = hiera('neutron_roles')
$neutron_compute_roles = hiera('neutron_compute_nodes', ['compute'])
$controller = roles_include($neutron_controller_roles)
$neutron_controller = roles_include($neutron_controller_roles)
$compute = roles_include($neutron_compute_roles)
$neutron_advanced_config = hiera_hash('neutron_advanced_configuration', { })
$neutron_config = hiera_hash('neutron_config')
@ -20,7 +19,7 @@ class openstack_tasks::openstack_network::agents::metadata {
min(max($::processorcount, 2), $workers_max))
}
if $use_neutron and ($controller or ($dvr and $compute)) {
if $neutron_controller or ($dvr and $compute) {
$debug = hiera('debug', true)
$ha_agent = try_get_value($neutron_advanced_config, 'metadata_agent_ha', true)
$service_endpoint = hiera('service_endpoint')
@ -44,9 +43,9 @@ class openstack_tasks::openstack_network::agents::metadata {
}
if ($ha_agent) and !($compute) {
$primary_controller = hiera('primary_controller')
$primary_neutron = has_primary_role(intersection(hiera('neutron_roles'), hiera('roles')))
class { '::cluster::neutron::metadata' :
primary => $primary_controller,
primary => $primary_neutron,
}
}

View File

@ -8,9 +8,8 @@ class openstack_tasks::openstack_network::plugins::ml2 {
include ::neutron::params
$node_name = hiera('node_name')
$neutron_primary_controller_roles = hiera('neutron_primary_controller_roles', ['primary-controller'])
$neutron_compute_roles = hiera('neutron_compute_nodes', ['compute'])
$primary_controller = roles_include($neutron_primary_controller_roles)
$primary_neutron = has_primary_role(intersection(hiera('neutron_roles'), hiera('roles')))
$compute = roles_include($neutron_compute_roles)
$neutron_config = hiera_hash('neutron_config')
@ -160,7 +159,7 @@ class openstack_tasks::openstack_network::plugins::ml2 {
if $ha_agent {
#Exec<| title == 'waiting-for-neutron-api' |> ->
class { '::cluster::neutron::ovs' :
primary => $primary_controller,
primary => $primary_neutron,
}
}
}

View File

@ -8,7 +8,7 @@ class openstack_tasks::openstack_network::routers {
# as HA routers can't be created when less then 2 L3 agents are available (Neutron limitation)
$l3_ha = pick($neutron_advanced_config['neutron_l3_ha'], false)
$dvr = pick($neutron_advanced_config['neutron_dvr'], false)
$neutron_controller_roles = hiera('neutron_controller_roles', ['controller', 'primary-controller'])
$neutron_controller_roles = hiera('neutron_roles')
$controllers_num = size(get_nodes_hash_by_roles(hiera_hash('network_metadata'), $neutron_controller_roles))
if $use_neutron {

View File

@ -15,9 +15,8 @@ class openstack_tasks::openstack_network::server_config {
$nova_hash = hiera_hash('nova', { })
$pci_vendor_devs = $neutron_config['supported_pci_vendor_devs']
$neutron_primary_controller_roles = hiera('neutron_primary_controller_roles', ['primary-controller'])
$neutron_compute_roles = hiera('neutron_compute_nodes', ['compute'])
$primary_controller = roles_include($neutron_primary_controller_roles)
$primary_neutron = has_primary_role(intersection(hiera('neutron_roles'), hiera('roles')))
$compute = roles_include($neutron_compute_roles)
$db_type = 'mysql'
@ -179,7 +178,7 @@ class openstack_tasks::openstack_network::server_config {
}
class { '::neutron::server':
sync_db => $primary_controller,
sync_db => $primary_neutron,
username => $username,
password => $password,

View File

@ -125,27 +125,6 @@ class osnailyfacter::firewall::firewall {
source_nets => $management_nets,
}
firewall { '333 notrack gre':
chain => 'PREROUTING',
table => 'raw',
proto => 'gre',
jump => 'NOTRACK',
}
firewall { '334 accept gre':
chain => 'INPUT',
table => 'filter',
proto => 'gre',
action => 'accept',
}
firewall {'340 vxlan_udp_port':
port => $vxlan_udp_port,
proto => 'udp',
action => 'accept',
}
# Role-related rules
$amqp_role = intersection($roles, hiera('amqp_roles'))
if $amqp_role {
@ -292,13 +271,6 @@ class osnailyfacter::firewall::firewall {
source_nets => concat($management_nets, $storage_nets),
}
openstack::firewall::multi_net {'110 neutron':
port => $neutron_api_port,
proto => 'tcp',
action => 'accept',
source_nets => $neutron_networks,
}
openstack::firewall::multi_net {'111 dns-server udp':
port => $dns_server_port,
proto => 'udp',
@ -319,12 +291,6 @@ class osnailyfacter::firewall::firewall {
action => 'accept',
}
openstack::firewall::multi_net {'116 openvswitch db':
port => $openvswitch_db_port,
proto => 'udp',
action => 'accept',
source_nets => $management_nets,
}
firewall {'121 ceilometer':
port => $ceilometer_port,
@ -364,6 +330,43 @@ class osnailyfacter::firewall::firewall {
}
$neutron_role = intersection($roles, hiera('neutron_roles'))
if $neutron_role {
openstack::firewall::multi_net {'110 neutron':
port => $neutron_api_port,
proto => 'tcp',
action => 'accept',
source_nets => $neutron_networks,
}
firewall { '333 notrack gre':
chain => 'PREROUTING',
table => 'raw',
proto => 'gre',
jump => 'NOTRACK',
}
firewall { '334 accept gre':
chain => 'INPUT',
table => 'filter',
proto => 'gre',
action => 'accept',
}
firewall {'340 vxlan_udp_port':
dport => $vxlan_udp_port,
proto => 'udp',
action => 'accept',
}
openstack::firewall::multi_net {'116 openvswitch db':
port => $openvswitch_db_port,
proto => 'udp',
action => 'accept',
source_nets => $management_nets,
}
}
if member($roles, 'compute') {
openstack::firewall::multi_net {'105 nova vnc':
port => $nova_api_vnc_ports,

View File

@ -382,6 +382,10 @@ class osnailyfacter::globals::globals {
$glance_known_stores = false
}
# Define neutron-related variables:
$neutron_roles = ['primary-neutron', 'neutron']
$neutron_nodes = get_nodes_hash_by_roles($network_metadata, $neutron_roles)
# Define keystone-related variables:
$keystone_roles = ['primary-keystone', 'keystone']
$keystone_nodes = get_nodes_hash_by_roles($network_metadata, $keystone_roles)
@ -403,7 +407,8 @@ class osnailyfacter::globals::globals {
# Define node roles, that will carry corosync/pacemaker
$corosync_roles = hiera('corosync_roles', ['primary-controller', 'controller',
'primary-rabbitmq', 'rabbitmq',
'primary-database', 'database'])
'primary-database', 'database',
'primary-neutron', 'neutron'])
# Define cinder-related variables
# todo: use special node-roles instead controllers in the future
@ -469,10 +474,6 @@ class osnailyfacter::globals::globals {
# Define mongo-related variables
$mongo_roles = ['primary-mongo', 'mongo']
# Define neutron-related variables:
# todo: use special node-roles instead controllers in the future
$neutron_nodes = $controller_nodes
#Define Ironic-related variables:
$ironic_api_nodes = $controller_nodes

View File

@ -19,7 +19,8 @@
type: puppet
version: 2.2.0
tags: [controller, primary-rabbitmq, rabbitmq,
primary-database, database]
primary-database, database,
primary-neutron, neutron]
cross-depends:
- name: primary-cluster
required_for: [deploy_end]

View File

@ -3,7 +3,7 @@
version: 2.2.0
tags: [primary-controller, controller, cinder, cinder-block-device, cinder-vmware, compute, ceph-osd,
primary-mongo, mongo, ironic, primary-rabbitmq, rabbitmq, primary-database, database,
primary-keystone, keystone]
primary-keystone, keystone, primary-neutron, neutron]
required_for: [deploy_end]
requires: [netconfig]
reexecute_on: [deploy_changes]

View File

@ -16,7 +16,7 @@
version: 2.2.0
tags: [primary-controller, controller, cinder, cinder-block-device, cinder-vmware, compute, ceph-osd,
primary-mongo, mongo, ironic, primary-rabbitmq, rabbitmq, primary-database, database,
primary-keystone, keystone]
primary-keystone, keystone, primary-neutron, neutron]
requires: [setup_repositories]
required_for: [globals]
condition:

View File

@ -4,7 +4,8 @@
tags: [primary-controller, controller,
cinder, cinder-block-device, cinder-vmware, compute, compute-vmware,
ceph-osd, primary-mongo, mongo, virt, ironic,
primary-rabbitmq, rabbitmq, primary-database, database, primary-keystone, keystone]
primary-rabbitmq, rabbitmq, primary-database, database, primary-keystone, keystone,
primary-neutron, neutron]
required_for: [deploy_end]
requires: [hiera]
condition:

View File

@ -3,7 +3,8 @@
version: 2.2.0
tags: [primary-controller, controller, cinder, cinder-block-device, cinder-vmware,
compute, compute-vmware, ceph-osd, primary-mongo, mongo, virt, ironic,
primary-rabbitmq, rabbitmq, primary-database, database, primary-keystone, keystone]
primary-rabbitmq, rabbitmq, primary-database, database, primary-keystone, keystone,
primary-neutron, neutron]
requires: [deploy_start, rsync_core_puppet]
required_for: [setup_repositories]
condition:

View File

@ -3,7 +3,7 @@
version: 2.2.0
tags: [primary-controller, controller, cinder, cinder-block-device, cinder-vmware, compute, ceph-osd,
primary-mongo, mongo, ironic, primary-rabbitmq, rabbitmq, primary-database, database,
primary-keystone, keystone]
primary-keystone, keystone, primary-neutron, neutron]
required_for: [deploy_end]
requires: [netconfig]
condition:

View File

@ -3,7 +3,7 @@
version: 2.2.0
tags: [primary-controller, controller, cinder, cinder-block-device, cinder-vmware, compute, ceph-osd,
primary-mongo, mongo, virt, ironic, primary-rabbitmq, rabbitmq, primary-database, database,
primary-keystone, keystone]
primary-keystone, keystone, primary-neutron, neutron]
required_for: [deploy_end]
requires: [globals,setup_repositories]
condition:

View File

@ -51,7 +51,7 @@
version: 2.2.0
tags: [primary-controller, controller, cinder, cinder-block-device, cinder-vmware, compute, ceph-osd,
primary-mongo, mongo, virt, ironic, primary-rabbitmq, rabbitmq, primary-database, database,
primary-keystone, keystone]
primary-keystone, keystone, primary-neutron, neutron]
required_for: [deploy_end]
requires: [tools]
reexecute_on: [deploy_changes]

View File

@ -3,7 +3,7 @@
version: 2.2.0
tags: [primary-controller, controller, cinder, cinder-block-device, cinder-vmware, compute, ceph-osd,
primary-mongo, mongo, virt, ironic, primary-rabbitmq, rabbitmq, primary-database, database,
primary-keystone, keystone]
primary-keystone, keystone, primary-neutron, neutron]
required_for: [deploy_end]
requires: [logging]
condition:

View File

@ -59,6 +59,7 @@
<% globals.store "neutron_config", @real_neutron_config -%>
<% globals.store "neutron_db_password", @neutron_db_password -%>
<% globals.store "neutron_metadata_proxy_secret", @neutron_metadata_proxy_secret -%>
<% globals.store "neutron_roles", @neutron_roles -%>
<% globals.store "neutron_nodes", @neutron_nodes -%>
<% globals.store "neutron_user_password", @neutron_user_password -%>
<% globals.store "node", @node_hash -%>

View File

@ -1,5 +1,5 @@
# ROLE: primary-controller
# ROLE: controller
# ROLE: primary-neutron
# ROLE: neutron
# ROLE: compute
require 'spec_helper'
@ -67,8 +67,8 @@ describe manifest do
end
end
elsif Noop.hiera('role') =~ /controller/
context 'with Neutron-l3-agent on controller' do
elsif Noop.hiera('role') =~ /neutron/
context 'with Neutron-l3-agent on neutron' do
na_config = Noop.hiera_hash('neutron_advanced_configuration')
dvr = na_config.fetch('neutron_dvr', false)
agent_mode = (dvr ? 'dvr_snat' : 'legacy')
@ -97,7 +97,7 @@ describe manifest do
if ha_agent
it { should contain_cluster__neutron__l3('default-l3').with(
'primary' => (node_role == 'primary-controller')
'primary' => (node_role == 'primary-neutron')
)}
else
it { should_not contain_cluster__neutron__l3('default-l3') }

View File

@ -1,5 +1,5 @@
# ROLE: primary-controller
# ROLE: controller
# ROLE: primary-neutron
# ROLE: neutron
# ROLE: compute
require 'spec_helper'
@ -24,7 +24,7 @@ describe manifest do
na_config = Noop.hiera_hash('neutron_advanced_configuration', {})
neutron_config = Noop.hiera_hash('neutron_config')
neutron_controller_roles = Noop.hiera('neutron_controller_nodes', ['controller', 'primary-controller'])
neutron_controller_roles = Noop.hiera('neutron_controller_nodes', ['neutron', 'primary-neutron'])
neutron_compute_roles = Noop.hiera('neutron_compute_nodes', ['compute'])
workers_max = Noop.hiera 'workers_max'
isolated_metadata = neutron_config.fetch('metadata',{}).fetch('isolated_metadata', true)
@ -106,7 +106,7 @@ describe manifest do
)}
if ha_agent
it { should contain_class('cluster::neutron::metadata').with(
'primary' => (node_role == 'primary-controller')
'primary' => (node_role == 'primary-neutron')
)}
else
it { should_not contain_class('cluster::neutron::metadata') }

View File

@ -1,4 +1,4 @@
# ROLE: primary-controller
# ROLE: primary-neutron
require 'spec_helper'
require 'shared-examples'
@ -6,9 +6,9 @@ manifest = 'openstack-network/routers.pp'
describe manifest do
shared_examples 'catalog' do
if (Noop.hiera('use_neutron') and Noop.hiera('primary_controller'))
if (Noop.hiera('use_neutron') and Noop.hiera('primary_neutron'))
context 'with Neutron' do
neutron_config = Noop.hiera('neutron_config')
neutron_config = Noop.puppet_function('has_primary_role', Noop.puppet_function('intersection', Noop.hiera('neutron_roles'), Noop.hiera('roles')))
nets = neutron_config['predefined_networks']
floating_net = (neutron_config['default_floating_net'] or 'net04_ext')
@ -18,7 +18,7 @@ describe manifest do
l3_ha = Noop.hiera_hash('neutron_advanced_configuration', {}).fetch('neutron_l3_ha', false)
dvr = Noop.hiera_hash('neutron_advanced_configuration', {}).fetch('neutron_dvr', false)
network_metadata = Noop.hiera_hash('network_metadata')
neutron_controller_roles = Noop.hiera('neutron_controller_nodes', ['controller', 'primary-controller'])
neutron_controller_roles = Noop.hiera('neutron_controller_nodes', ['neutron', 'primary-neutron'])
neutron_controller_nodes = Noop.puppet_function 'get_nodes_hash_by_roles', network_metadata, neutron_controller_roles
neutron_controllers_num = neutron_controller_nodes.size

View File

@ -1,5 +1,5 @@
# ROLE: primary-controller
# ROLE: controller
# ROLE: primary-neutron
# ROLE: neutron
require 'spec_helper'
require 'shared-examples'
@ -15,7 +15,7 @@ describe manifest do
end
shared_examples 'catalog' do
if (Noop.hiera('use_neutron') == true and Noop.hiera('role') =~ /controller/)
if (Noop.hiera('use_neutron') == true and Noop.hiera('role') =~ /neutron/)
let(:network_scheme) do
Noop.hiera_hash('network_scheme', {})
end
@ -26,7 +26,7 @@ describe manifest do
management_vip = Noop.hiera('management_vip')
service_endpoint = Noop.hiera('service_endpoint', management_vip)
l3_ha = Noop.hiera_hash('neutron_advanced_configuration', {}).fetch('neutron_l3_ha', false)
sync_db = Noop.hiera('primary_controller')
sync_db = Noop.puppet_function('has_primary_role', Noop.puppet_function('intersection', Noop.hiera('neutron_roles'), Noop.hiera('roles')))
extension_drivers = ['port_security']
segmentation_type = neutron_config.fetch('L2',{}).fetch('segmentation_type')
pnets = neutron_config.fetch('L2',{}).fetch('phys_nets',{})