Decomposition of neutron tasks

Implements: blueprint role-decomposition
Change-Id: Ib65fe6327c252c82a1cbb8e5196a90a40193acd4
This commit is contained in:
Ivan Ponomarev 2016-08-08 14:26:33 +03:00 committed by Valyavskiy Viacheslav
parent 68318cf10b
commit 2603220e4c
26 changed files with 148 additions and 123 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:
@ -37,7 +37,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

@ -41,21 +41,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:
@ -75,8 +84,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:
@ -94,8 +103,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:
@ -114,8 +123,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:
@ -131,7 +140,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:
@ -156,7 +165,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:
@ -181,7 +190,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
@ -197,7 +206,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:
@ -228,12 +237,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
@ -268,18 +277,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
@ -288,8 +300,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:
@ -308,8 +320,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:
@ -326,8 +338,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]
@ -354,8 +366,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:
@ -363,8 +375,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
@ -390,7 +402,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

@ -173,9 +173,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

@ -19,9 +19,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

@ -5,17 +5,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 $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 {
@ -40,9 +40,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,9 +2,9 @@ class openstack_tasks::openstack_network::agents::metadata {
notice('MODULAR: openstack_network/agents/metadata.pp')
$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')
@ -19,7 +19,7 @@ class openstack_tasks::openstack_network::agents::metadata {
min(max($::processorcount, 2), $workers_max))
}
if $controller or ($dvr and $compute) {
if $neutron_controller or ($dvr and $compute) {
$debug = hiera('debug', true)
$ha_agent = dig44($neutron_advanced_config, ['metadata_agent_ha'], true)
$service_endpoint = hiera('service_endpoint')
@ -43,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

@ -5,10 +5,9 @@ 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)
$compute = roles_include($neutron_compute_roles)
$neutron_compute_roles = hiera('neutron_compute_nodes', ['compute'])
$primary_neutron = has_primary_role(intersection(hiera('neutron_roles'), hiera('roles')))
$compute = roles_include($neutron_compute_roles)
$neutron_config = hiera_hash('neutron_config')
$neutron_server_enable = pick($neutron_config['neutron_server_enable'], true)
@ -157,7 +156,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

@ -7,7 +7,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))
$access_hash = hiera_hash('access', {})

View File

@ -11,10 +11,9 @@ 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)
$compute = roles_include($neutron_compute_roles)
$neutron_compute_roles = hiera('neutron_compute_nodes', ['compute'])
$primary_neutron = has_primary_role(intersection(hiera('neutron_roles'), hiera('roles')))
$compute = roles_include($neutron_compute_roles)
$db_type = try_get_value($neutron_config, 'database/type', 'mysql+pymysql')
$db_password = $neutron_config['database']['passwd']
@ -194,7 +193,7 @@ class openstack_tasks::openstack_network::server_config {
}
class { '::neutron::server':
sync_db => $primary_controller,
sync_db => $primary_neutron,
auth_strategy => 'keystone',

View File

@ -185,27 +185,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':
dport => $vxlan_udp_port,
proto => 'udp',
action => 'accept',
}
# Role-related rules
$amqp_role = intersection($roles, hiera('amqp_roles'))
if $amqp_role {
@ -352,13 +331,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',
@ -379,12 +351,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':
dport => $ceilometer_port,
@ -424,6 +390,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

@ -370,6 +370,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)
@ -391,7 +395,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
@ -472,10 +477,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]
condition:

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]
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: [logging]
condition:

View File

@ -60,6 +60,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

@ -66,8 +66,8 @@ describe manifest do
end
end
elsif not (Noop.hiera('roles') & ['controller', 'primary-controller']).empty?
context 'with Neutron-l3-agent on controller' do
elsif not (Noop.hiera('roles') & ['neutron', 'primary-neutron']).empty?
context 'with Neutron-l3-agent on neutron node' do
na_config = Noop.hiera_hash('neutron_advanced_configuration')
dvr = na_config.fetch('neutron_dvr', false)
agent_mode = (dvr ? 'dvr_snat' : 'legacy')
@ -96,7 +96,7 @@ describe manifest do
if ha_agent
it { should contain_cluster__neutron__l3('default-l3').with(
'primary' => (node_roles.include? 'primary-controller')
'primary' => (node_roles.include? 'primary-neutron')
)}
else
it { should_not contain_cluster__neutron__l3('default-l3') }

View File

@ -22,7 +22,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)
@ -107,7 +107,7 @@ describe manifest do
include_examples 'override_resources'
if ha_agent
it { should contain_class('cluster::neutron::metadata').with(
'primary' => (node_roles.include? 'primary-controller')
'primary' => (node_roles.include? 'primary-neutron')
)}
else
it { should_not contain_class('cluster::neutron::metadata') }

View File

@ -6,9 +6,9 @@ manifest = 'openstack-network/routers.pp'
describe manifest do
shared_examples 'catalog' do
if Noop.hiera('primary_controller')
if 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

@ -39,7 +39,7 @@ describe manifest do
compute = Noop.puppet_function 'roles_include', neutron_compute_roles
it 'Configure database options for neutron::server' do
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')))
db_type = neutron_config.fetch('database', {}).fetch('type', 'mysql+pymysql')
db_password = neutron_config.fetch('database', {}).fetch('passwd')
db_user = neutron_config.fetch('database', {}).fetch('user', 'neutron')