Decomposition of neutron tasks
Implements: blueprint role-decomposition
Change-Id: Ib65fe6327c252c82a1cbb8e5196a90a40193acd4
(cherry picked from commit 2603220e4c
)
This commit is contained in:
parent
36f4566abc
commit
8322a32ea1
@ -2,7 +2,7 @@
|
|||||||
type: puppet
|
type: puppet
|
||||||
version: 2.2.0
|
version: 2.2.0
|
||||||
tags: [primary-controller, controller,
|
tags: [primary-controller, controller,
|
||||||
primary-keystone, keystone]
|
primary-keystone, keystone, primary-neutron, neutron]
|
||||||
requires: [deploy_start, openstack-haproxy]
|
requires: [deploy_start, openstack-haproxy]
|
||||||
required_for: [primary-keystone, keystone]
|
required_for: [primary-keystone, keystone]
|
||||||
cross-depends:
|
cross-depends:
|
||||||
@ -38,7 +38,7 @@
|
|||||||
- id: keystone-openrc-generate
|
- id: keystone-openrc-generate
|
||||||
type: puppet
|
type: puppet
|
||||||
version: 2.2.0
|
version: 2.2.0
|
||||||
tags: [primary-controller, controller]
|
tags: [primary-controller, controller, primary-neutron, neutron]
|
||||||
requires: [openrc-delete, primary-keystone, keystone]
|
requires: [openrc-delete, primary-keystone, keystone]
|
||||||
cross-depends:
|
cross-depends:
|
||||||
- name: openrc-delete
|
- name: openrc-delete
|
||||||
|
@ -39,21 +39,30 @@
|
|||||||
# Anchor (empty task) for another tasks, say 'tenant network FW setup starting'
|
# Anchor (empty task) for another tasks, say 'tenant network FW setup starting'
|
||||||
- id: openstack-network-start
|
- id: openstack-network-start
|
||||||
type: skipped
|
type: skipped
|
||||||
version: 2.0.0
|
version: 2.2.0
|
||||||
groups: [primary-controller,controller,compute]
|
tags: [compute, primary-neutron, neutron]
|
||||||
requires: [neutron-keystone, neutron-db, netconfig, primary-openstack-controller, openstack-controller, top-role-compute]
|
requires: [neutron-keystone, neutron-db, netconfig, primary-openstack-controller, openstack-controller, top-role-compute]
|
||||||
required_for: [openstack-network-common-config]
|
required_for: [openstack-network-common-config]
|
||||||
|
version: 2.2.0
|
||||||
|
tags: [compute, primary-neutron, neutron]
|
||||||
cross-depends:
|
cross-depends:
|
||||||
|
- name: netconfig
|
||||||
|
role: self
|
||||||
|
- name: primary-openstack-controller
|
||||||
|
- name: openstack-controller
|
||||||
|
- name: top-role-compute
|
||||||
- name: neutron-keystone
|
- name: neutron-keystone
|
||||||
- name: openstack-haproxy
|
- name: openstack-haproxy
|
||||||
role: primary-controller
|
|
||||||
- name: neutron-db
|
- name: neutron-db
|
||||||
- name: /^(primary-)?rabbitmq$/
|
- name: /^(primary-)?rabbitmq$/
|
||||||
|
cross-depended-by:
|
||||||
|
- name: openstack-network-common-config
|
||||||
|
role: self
|
||||||
|
|
||||||
- id: openstack-network-common-config
|
- id: openstack-network-common-config
|
||||||
type: puppet
|
type: puppet
|
||||||
version: 2.1.0
|
version: 2.2.0
|
||||||
groups: [primary-controller,controller,compute]
|
tags: [compute, primary-neutron, neutron]
|
||||||
required_for: [openstack-network-end]
|
required_for: [openstack-network-end]
|
||||||
requires: [openstack-network-start]
|
requires: [openstack-network-start]
|
||||||
condition:
|
condition:
|
||||||
@ -73,8 +82,8 @@
|
|||||||
|
|
||||||
- id: openstack-network-server-config
|
- id: openstack-network-server-config
|
||||||
type: puppet
|
type: puppet
|
||||||
version: 2.1.0
|
version: 2.2.0
|
||||||
groups: [primary-controller,controller]
|
tags: [primary-neutron, neutron]
|
||||||
required_for: [openstack-network-end]
|
required_for: [openstack-network-end]
|
||||||
requires: [openstack-network-start, openstack-network-common-config]
|
requires: [openstack-network-start, openstack-network-common-config]
|
||||||
condition:
|
condition:
|
||||||
@ -93,8 +102,8 @@
|
|||||||
|
|
||||||
- id: primary-openstack-network-plugins-l2
|
- id: primary-openstack-network-plugins-l2
|
||||||
type: puppet
|
type: puppet
|
||||||
version: 2.1.0
|
version: 2.2.0
|
||||||
groups: [primary-controller]
|
tags: [primary-neutron]
|
||||||
required_for: [openstack-network-end]
|
required_for: [openstack-network-end]
|
||||||
requires: [openstack-network-start, openstack-network-common-config, openstack-network-server-config]
|
requires: [openstack-network-start, openstack-network-common-config, openstack-network-server-config]
|
||||||
condition:
|
condition:
|
||||||
@ -113,8 +122,8 @@
|
|||||||
|
|
||||||
- id: openstack-network-plugins-l2
|
- id: openstack-network-plugins-l2
|
||||||
type: puppet
|
type: puppet
|
||||||
version: 2.1.0
|
version: 2.2.0
|
||||||
groups: [controller,compute]
|
tags: [compute, neutron]
|
||||||
required_for: [openstack-network-end]
|
required_for: [openstack-network-end]
|
||||||
requires: [openstack-network-start, openstack-network-common-config, openstack-network-server-config]
|
requires: [openstack-network-start, openstack-network-common-config, openstack-network-server-config]
|
||||||
condition:
|
condition:
|
||||||
@ -130,7 +139,7 @@
|
|||||||
- id: openstack-network-networks
|
- id: openstack-network-networks
|
||||||
type: puppet
|
type: puppet
|
||||||
version: 2.2.0
|
version: 2.2.0
|
||||||
tags: [primary-controller]
|
tags: [primary-neutron]
|
||||||
required_for: [openstack-network-end]
|
required_for: [openstack-network-end]
|
||||||
requires: [openstack-network-start, openstack-network-common-config, openstack-network-server-config, primary-openstack-network-plugins-l2]
|
requires: [openstack-network-start, openstack-network-common-config, openstack-network-server-config, primary-openstack-network-plugins-l2]
|
||||||
cross-depends:
|
cross-depends:
|
||||||
@ -155,7 +164,7 @@
|
|||||||
- id: openstack-network-routers
|
- id: openstack-network-routers
|
||||||
type: puppet
|
type: puppet
|
||||||
version: 2.2.0
|
version: 2.2.0
|
||||||
tags: [primary-controller]
|
tags: [primary-neutron]
|
||||||
required_for: [openstack-network-end]
|
required_for: [openstack-network-end]
|
||||||
requires: [openstack-network-start, openstack-network-networks]
|
requires: [openstack-network-start, openstack-network-networks]
|
||||||
cross-depends:
|
cross-depends:
|
||||||
@ -180,7 +189,7 @@
|
|||||||
- id: openstack-network-routers-ha
|
- id: openstack-network-routers-ha
|
||||||
type: puppet
|
type: puppet
|
||||||
version: 2.2.0
|
version: 2.2.0
|
||||||
tags: [primary-controller]
|
tags: [primary-neutron]
|
||||||
condition:
|
condition:
|
||||||
yaql_exp: >
|
yaql_exp: >
|
||||||
$.neutron_advanced_configuration.neutron_l3_ha and
|
$.neutron_advanced_configuration.neutron_l3_ha and
|
||||||
@ -196,7 +205,7 @@
|
|||||||
- id: primary-openstack-network-agents-l3
|
- id: primary-openstack-network-agents-l3
|
||||||
type: puppet
|
type: puppet
|
||||||
version: 2.2.0
|
version: 2.2.0
|
||||||
tags: [primary-controller]
|
tags: [primary-neutron]
|
||||||
required_for: [openstack-network-end]
|
required_for: [openstack-network-end]
|
||||||
requires: [openstack-network-start, openstack-network-networks, openstack-network-routers, primary-openstack-network-plugins-l2, openstack-network-plugins-l2]
|
requires: [openstack-network-start, openstack-network-networks, openstack-network-routers, primary-openstack-network-plugins-l2, openstack-network-plugins-l2]
|
||||||
cross-depends:
|
cross-depends:
|
||||||
@ -227,12 +236,12 @@
|
|||||||
- id: openstack-network-agents-l3
|
- id: openstack-network-agents-l3
|
||||||
type: puppet
|
type: puppet
|
||||||
version: 2.2.0
|
version: 2.2.0
|
||||||
tags: [controller,compute]
|
tags: [neutron, compute]
|
||||||
required_for: [openstack-network-end]
|
required_for: [openstack-network-end]
|
||||||
requires: [openstack-network-start, openstack-network-networks, openstack-network-routers, primary-openstack-network-plugins-l2, openstack-network-plugins-l2]
|
requires: [openstack-network-start, openstack-network-networks, openstack-network-routers, primary-openstack-network-plugins-l2, openstack-network-plugins-l2]
|
||||||
cross-depends:
|
cross-depends:
|
||||||
- name: /^(primary-)?openstack-network-plugins-l2$/
|
- name: /^(primary-)?openstack-network-plugins-l2$/
|
||||||
role: ["/^(primary-)?controller$/"]
|
role: ["/^(primary-)?neutron$/"]
|
||||||
- name: openstack-network-start
|
- name: openstack-network-start
|
||||||
role: self
|
role: self
|
||||||
- name: openstack-network-networks
|
- name: openstack-network-networks
|
||||||
@ -267,18 +276,21 @@
|
|||||||
|
|
||||||
- id: openstack-network-server-nova
|
- id: openstack-network-server-nova
|
||||||
type: puppet
|
type: puppet
|
||||||
version: 2.1.0
|
version: 2.2.0
|
||||||
groups: [primary-controller,controller]
|
tags: [primary-controller, controller]
|
||||||
required_for: [openstack-network-end]
|
|
||||||
requires: [openstack-network-start, openstack-network-common-config, openstack-network-server-config, openstack-network-agents-l3]
|
|
||||||
condition:
|
condition:
|
||||||
yaql_exp: >
|
yaql_exp: >
|
||||||
changedAny($.quantum, $.quantum_settings,
|
changedAny($.quantum, $.quantum_settings,
|
||||||
$.network_metadata.vips, $.get('use_ssl'))
|
$.network_metadata.vips, $.get('use_ssl'))
|
||||||
cross-depends:
|
cross-depends:
|
||||||
- name: /^(primary-)?openstack-network-common-config$/
|
- name: openstack-network-start
|
||||||
role: self
|
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
|
role: self
|
||||||
parameters:
|
parameters:
|
||||||
puppet_manifest: /etc/puppet/modules/openstack_tasks/examples/openstack-network/server-nova.pp
|
puppet_manifest: /etc/puppet/modules/openstack_tasks/examples/openstack-network/server-nova.pp
|
||||||
@ -287,8 +299,8 @@
|
|||||||
|
|
||||||
- id: primary-openstack-network-agents-dhcp
|
- id: primary-openstack-network-agents-dhcp
|
||||||
type: puppet
|
type: puppet
|
||||||
version: 2.1.0
|
version: 2.2.0
|
||||||
groups: [primary-controller]
|
tags: [primary-neutron]
|
||||||
required_for: [openstack-network-end]
|
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]
|
requires: [openstack-network-start, openstack-network-common-config, openstack-network-server-config, openstack-network-server-nova, openstack-network-agents-l3]
|
||||||
condition:
|
condition:
|
||||||
@ -307,8 +319,8 @@
|
|||||||
|
|
||||||
- id: openstack-network-agents-dhcp
|
- id: openstack-network-agents-dhcp
|
||||||
type: puppet
|
type: puppet
|
||||||
version: 2.1.0
|
version: 2.2.0
|
||||||
groups: [controller]
|
tags: [neutron]
|
||||||
required_for: [openstack-network-end]
|
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]
|
requires: [openstack-network-start, openstack-network-common-config, openstack-network-server-config, openstack-network-server-nova, openstack-network-agents-l3]
|
||||||
condition:
|
condition:
|
||||||
@ -325,8 +337,8 @@
|
|||||||
|
|
||||||
- id: primary-openstack-network-agents-metadata
|
- id: primary-openstack-network-agents-metadata
|
||||||
type: puppet
|
type: puppet
|
||||||
version: 2.1.0
|
version: 2.2.0
|
||||||
groups: [primary-controller]
|
tags: [primary-neutron]
|
||||||
required_for: [openstack-network-end]
|
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]
|
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]
|
refresh_on: [neutron_metadata_agent_config]
|
||||||
@ -353,8 +365,8 @@
|
|||||||
|
|
||||||
- id: openstack-network-agents-metadata
|
- id: openstack-network-agents-metadata
|
||||||
type: puppet
|
type: puppet
|
||||||
version: 2.1.0
|
version: 2.2.0
|
||||||
groups: [controller,compute]
|
tags: [neutron,compute]
|
||||||
required_for: [openstack-network-end]
|
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]
|
requires: [openstack-network-start, openstack-network-common-config, openstack-network-server-config, openstack-network-server-nova, openstack-network-agents-l3]
|
||||||
condition:
|
condition:
|
||||||
@ -362,8 +374,8 @@
|
|||||||
refresh_on: [neutron_metadata_agent_config]
|
refresh_on: [neutron_metadata_agent_config]
|
||||||
cross-depends:
|
cross-depends:
|
||||||
- name: primary-openstack-network-agents-metadata
|
- name: primary-openstack-network-agents-metadata
|
||||||
- name: /^(primary-)?openstack-network-plugins-l2$/
|
- name: /(primary-)?openstack-network-plugins-l2/
|
||||||
role: ["/^(primary-)?controller$/"]
|
role: ["/(primary-)?neutron/"]
|
||||||
parameters:
|
parameters:
|
||||||
puppet_manifest: /etc/puppet/modules/openstack_tasks/examples/openstack-network/agents/metadata.pp
|
puppet_manifest: /etc/puppet/modules/openstack_tasks/examples/openstack-network/agents/metadata.pp
|
||||||
puppet_modules: /etc/puppet/modules
|
puppet_modules: /etc/puppet/modules
|
||||||
@ -389,7 +401,7 @@
|
|||||||
# Anchor (empty task) for another tasks, say 'tenant network FW setup done'
|
# Anchor (empty task) for another tasks, say 'tenant network FW setup done'
|
||||||
- id: openstack-network-end
|
- id: openstack-network-end
|
||||||
type: skipped
|
type: skipped
|
||||||
version: 2.0.0
|
version: 2.2.0
|
||||||
groups: [primary-controller,controller,compute]
|
tags: [compute, primary-neutron, neutron]
|
||||||
required_for: [deploy_end]
|
required_for: [deploy_end]
|
||||||
requires: []
|
requires: []
|
||||||
|
@ -176,9 +176,11 @@
|
|||||||
type: puppet
|
type: puppet
|
||||||
version: 2.1.0
|
version: 2.1.0
|
||||||
groups: [compute, compute-vmware]
|
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]
|
required_for: [deploy_end]
|
||||||
refresh_on: [nova_config, nova_paste_api_ini]
|
refresh_on: [nova_config, nova_paste_api_ini]
|
||||||
|
cross-depends:
|
||||||
|
- name: openstack-network-compute-nova
|
||||||
condition:
|
condition:
|
||||||
yaql_exp: *top_compute
|
yaql_exp: *top_compute
|
||||||
parameters:
|
parameters:
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
- id: sahara
|
- id: sahara
|
||||||
type: puppet
|
type: puppet
|
||||||
version: 2.1.0
|
version: 2.2.0
|
||||||
groups: [primary-controller, controller]
|
tags: [primary-controller, controller]
|
||||||
condition:
|
condition:
|
||||||
yaql_exp: >
|
yaql_exp: >
|
||||||
$.sahara.enabled and changedAny($.access, $.sahara, $.rabbit,
|
$.sahara.enabled and changedAny($.access, $.sahara, $.rabbit,
|
||||||
@ -15,11 +15,16 @@
|
|||||||
$.node_roles.any($.matches('controller'))).network_roles.select(
|
$.node_roles.any($.matches('controller'))).network_roles.select(
|
||||||
$.get('mgmt/messaging')), $.get('amqp_hosts'),
|
$.get('mgmt/messaging')), $.get('amqp_hosts'),
|
||||||
$.get('external_lb'), $.get('use_ssl'), $.get('kombu_compression'))
|
$.get('external_lb'), $.get('use_ssl'), $.get('kombu_compression'))
|
||||||
required_for: [deploy_end, controller_remaining_tasks]
|
|
||||||
requires: [openstack-network-end, horizon]
|
|
||||||
cross-depends:
|
cross-depends:
|
||||||
|
- name: openstack-network-end
|
||||||
|
- name: horizon
|
||||||
- name: sahara-db
|
- name: sahara-db
|
||||||
- name: sahara-keystone
|
- name: sahara-keystone
|
||||||
|
cross-depended-by:
|
||||||
|
- name: deploy_end
|
||||||
|
role: self
|
||||||
|
- name: controller_remaining_tasks
|
||||||
|
role: self
|
||||||
parameters:
|
parameters:
|
||||||
puppet_manifest: /etc/puppet/modules/openstack_tasks/examples/sahara/sahara.pp
|
puppet_manifest: /etc/puppet/modules/openstack_tasks/examples/sahara/sahara.pp
|
||||||
puppet_modules: /etc/puppet/modules
|
puppet_modules: /etc/puppet/modules
|
||||||
|
@ -22,9 +22,9 @@ class openstack_tasks::openstack_network::agents::dhcp {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if $ha_agent {
|
if $ha_agent {
|
||||||
$primary_controller = hiera('primary_controller')
|
$primary_neutron = has_primary_role(intersection(hiera('neutron_roles'), hiera('roles')))
|
||||||
class { '::cluster::neutron::dhcp' :
|
class { '::cluster::neutron::dhcp' :
|
||||||
primary => $primary_controller,
|
primary => $primary_neutron,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -6,17 +6,17 @@ class openstack_tasks::openstack_network::agents::l3 {
|
|||||||
$neutron_advanced_config = hiera_hash('neutron_advanced_configuration', { })
|
$neutron_advanced_config = hiera_hash('neutron_advanced_configuration', { })
|
||||||
$dvr = pick($neutron_advanced_config['neutron_dvr'], 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')
|
||||||
$neutron_compute_roles = hiera('neutron_compute_nodes', ['compute'])
|
$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)
|
$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)
|
$debug = hiera('debug', true)
|
||||||
$metadata_port = '8775'
|
$metadata_port = '8775'
|
||||||
$network_scheme = hiera_hash('network_scheme', {})
|
$network_scheme = hiera_hash('network_scheme', {})
|
||||||
|
|
||||||
if $controller {
|
if $neutron_controller {
|
||||||
if $dvr {
|
if $dvr {
|
||||||
$agent_mode = 'dvr_snat'
|
$agent_mode = 'dvr_snat'
|
||||||
} else {
|
} else {
|
||||||
@ -41,9 +41,9 @@ class openstack_tasks::openstack_network::agents::l3 {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if ($ha_agent) and !($compute) {
|
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' :
|
cluster::neutron::l3 { 'default-l3' :
|
||||||
primary => $primary_controller,
|
primary => $primary_neutron,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -2,10 +2,9 @@ class openstack_tasks::openstack_network::agents::metadata {
|
|||||||
|
|
||||||
notice('MODULAR: openstack_network/agents/metadata.pp')
|
notice('MODULAR: openstack_network/agents/metadata.pp')
|
||||||
|
|
||||||
$use_neutron = hiera('use_neutron', false)
|
$neutron_controller_roles = hiera('neutron_roles')
|
||||||
$neutron_controller_roles = hiera('neutron_controller_roles', ['controller', 'primary-controller'])
|
|
||||||
$neutron_compute_roles = hiera('neutron_compute_nodes', ['compute'])
|
$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)
|
$compute = roles_include($neutron_compute_roles)
|
||||||
$neutron_advanced_config = hiera_hash('neutron_advanced_configuration', { })
|
$neutron_advanced_config = hiera_hash('neutron_advanced_configuration', { })
|
||||||
$neutron_config = hiera_hash('neutron_config')
|
$neutron_config = hiera_hash('neutron_config')
|
||||||
@ -20,7 +19,7 @@ class openstack_tasks::openstack_network::agents::metadata {
|
|||||||
min(max($::processorcount, 2), $workers_max))
|
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)
|
$debug = hiera('debug', true)
|
||||||
$ha_agent = try_get_value($neutron_advanced_config, 'metadata_agent_ha', true)
|
$ha_agent = try_get_value($neutron_advanced_config, 'metadata_agent_ha', true)
|
||||||
$service_endpoint = hiera('service_endpoint')
|
$service_endpoint = hiera('service_endpoint')
|
||||||
@ -44,9 +43,9 @@ class openstack_tasks::openstack_network::agents::metadata {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if ($ha_agent) and !($compute) {
|
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' :
|
class { '::cluster::neutron::metadata' :
|
||||||
primary => $primary_controller,
|
primary => $primary_neutron,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -8,9 +8,8 @@ class openstack_tasks::openstack_network::plugins::ml2 {
|
|||||||
include ::neutron::params
|
include ::neutron::params
|
||||||
|
|
||||||
$node_name = hiera('node_name')
|
$node_name = hiera('node_name')
|
||||||
$neutron_primary_controller_roles = hiera('neutron_primary_controller_roles', ['primary-controller'])
|
|
||||||
$neutron_compute_roles = hiera('neutron_compute_nodes', ['compute'])
|
$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)
|
$compute = roles_include($neutron_compute_roles)
|
||||||
|
|
||||||
$neutron_config = hiera_hash('neutron_config')
|
$neutron_config = hiera_hash('neutron_config')
|
||||||
@ -160,7 +159,7 @@ class openstack_tasks::openstack_network::plugins::ml2 {
|
|||||||
if $ha_agent {
|
if $ha_agent {
|
||||||
#Exec<| title == 'waiting-for-neutron-api' |> ->
|
#Exec<| title == 'waiting-for-neutron-api' |> ->
|
||||||
class { '::cluster::neutron::ovs' :
|
class { '::cluster::neutron::ovs' :
|
||||||
primary => $primary_controller,
|
primary => $primary_neutron,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -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)
|
# 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)
|
$l3_ha = pick($neutron_advanced_config['neutron_l3_ha'], false)
|
||||||
$dvr = pick($neutron_advanced_config['neutron_dvr'], 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))
|
$controllers_num = size(get_nodes_hash_by_roles(hiera_hash('network_metadata'), $neutron_controller_roles))
|
||||||
|
|
||||||
if $use_neutron {
|
if $use_neutron {
|
||||||
|
@ -15,9 +15,8 @@ class openstack_tasks::openstack_network::server_config {
|
|||||||
$nova_hash = hiera_hash('nova', { })
|
$nova_hash = hiera_hash('nova', { })
|
||||||
$pci_vendor_devs = $neutron_config['supported_pci_vendor_devs']
|
$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'])
|
$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)
|
$compute = roles_include($neutron_compute_roles)
|
||||||
|
|
||||||
$db_type = 'mysql'
|
$db_type = 'mysql'
|
||||||
@ -179,7 +178,7 @@ class openstack_tasks::openstack_network::server_config {
|
|||||||
}
|
}
|
||||||
|
|
||||||
class { '::neutron::server':
|
class { '::neutron::server':
|
||||||
sync_db => $primary_controller,
|
sync_db => $primary_neutron,
|
||||||
|
|
||||||
username => $username,
|
username => $username,
|
||||||
password => $password,
|
password => $password,
|
||||||
|
@ -125,27 +125,6 @@ class osnailyfacter::firewall::firewall {
|
|||||||
source_nets => $management_nets,
|
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
|
# Role-related rules
|
||||||
$amqp_role = intersection($roles, hiera('amqp_roles'))
|
$amqp_role = intersection($roles, hiera('amqp_roles'))
|
||||||
if $amqp_role {
|
if $amqp_role {
|
||||||
@ -292,13 +271,6 @@ class osnailyfacter::firewall::firewall {
|
|||||||
source_nets => concat($management_nets, $storage_nets),
|
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':
|
openstack::firewall::multi_net {'111 dns-server udp':
|
||||||
port => $dns_server_port,
|
port => $dns_server_port,
|
||||||
proto => 'udp',
|
proto => 'udp',
|
||||||
@ -319,12 +291,6 @@ class osnailyfacter::firewall::firewall {
|
|||||||
action => 'accept',
|
action => 'accept',
|
||||||
}
|
}
|
||||||
|
|
||||||
openstack::firewall::multi_net {'116 openvswitch db':
|
|
||||||
port => $openvswitch_db_port,
|
|
||||||
proto => 'udp',
|
|
||||||
action => 'accept',
|
|
||||||
source_nets => $management_nets,
|
|
||||||
}
|
|
||||||
|
|
||||||
firewall {'121 ceilometer':
|
firewall {'121 ceilometer':
|
||||||
port => $ceilometer_port,
|
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') {
|
if member($roles, 'compute') {
|
||||||
openstack::firewall::multi_net {'105 nova vnc':
|
openstack::firewall::multi_net {'105 nova vnc':
|
||||||
port => $nova_api_vnc_ports,
|
port => $nova_api_vnc_ports,
|
||||||
|
@ -382,6 +382,10 @@ class osnailyfacter::globals::globals {
|
|||||||
$glance_known_stores = false
|
$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:
|
# Define keystone-related variables:
|
||||||
$keystone_roles = ['primary-keystone', 'keystone']
|
$keystone_roles = ['primary-keystone', 'keystone']
|
||||||
$keystone_nodes = get_nodes_hash_by_roles($network_metadata, $keystone_roles)
|
$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
|
# Define node roles, that will carry corosync/pacemaker
|
||||||
$corosync_roles = hiera('corosync_roles', ['primary-controller', 'controller',
|
$corosync_roles = hiera('corosync_roles', ['primary-controller', 'controller',
|
||||||
'primary-rabbitmq', 'rabbitmq',
|
'primary-rabbitmq', 'rabbitmq',
|
||||||
'primary-database', 'database'])
|
'primary-database', 'database',
|
||||||
|
'primary-neutron', 'neutron'])
|
||||||
|
|
||||||
# Define cinder-related variables
|
# Define cinder-related variables
|
||||||
# todo: use special node-roles instead controllers in the future
|
# todo: use special node-roles instead controllers in the future
|
||||||
@ -469,10 +474,6 @@ class osnailyfacter::globals::globals {
|
|||||||
# Define mongo-related variables
|
# Define mongo-related variables
|
||||||
$mongo_roles = ['primary-mongo', 'mongo']
|
$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:
|
#Define Ironic-related variables:
|
||||||
$ironic_api_nodes = $controller_nodes
|
$ironic_api_nodes = $controller_nodes
|
||||||
|
|
||||||
|
@ -19,7 +19,8 @@
|
|||||||
type: puppet
|
type: puppet
|
||||||
version: 2.2.0
|
version: 2.2.0
|
||||||
tags: [controller, primary-rabbitmq, rabbitmq,
|
tags: [controller, primary-rabbitmq, rabbitmq,
|
||||||
primary-database, database]
|
primary-database, database,
|
||||||
|
primary-neutron, neutron]
|
||||||
cross-depends:
|
cross-depends:
|
||||||
- name: primary-cluster
|
- name: primary-cluster
|
||||||
required_for: [deploy_end]
|
required_for: [deploy_end]
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
version: 2.2.0
|
version: 2.2.0
|
||||||
tags: [primary-controller, controller, cinder, cinder-block-device, cinder-vmware, compute, ceph-osd,
|
tags: [primary-controller, controller, cinder, cinder-block-device, cinder-vmware, compute, ceph-osd,
|
||||||
primary-mongo, mongo, ironic, primary-rabbitmq, rabbitmq, primary-database, database,
|
primary-mongo, mongo, ironic, primary-rabbitmq, rabbitmq, primary-database, database,
|
||||||
primary-keystone, keystone]
|
primary-keystone, keystone, primary-neutron, neutron]
|
||||||
required_for: [deploy_end]
|
required_for: [deploy_end]
|
||||||
requires: [netconfig]
|
requires: [netconfig]
|
||||||
reexecute_on: [deploy_changes]
|
reexecute_on: [deploy_changes]
|
||||||
|
@ -16,7 +16,7 @@
|
|||||||
version: 2.2.0
|
version: 2.2.0
|
||||||
tags: [primary-controller, controller, cinder, cinder-block-device, cinder-vmware, compute, ceph-osd,
|
tags: [primary-controller, controller, cinder, cinder-block-device, cinder-vmware, compute, ceph-osd,
|
||||||
primary-mongo, mongo, ironic, primary-rabbitmq, rabbitmq, primary-database, database,
|
primary-mongo, mongo, ironic, primary-rabbitmq, rabbitmq, primary-database, database,
|
||||||
primary-keystone, keystone]
|
primary-keystone, keystone, primary-neutron, neutron]
|
||||||
requires: [setup_repositories]
|
requires: [setup_repositories]
|
||||||
required_for: [globals]
|
required_for: [globals]
|
||||||
condition:
|
condition:
|
||||||
|
@ -4,7 +4,8 @@
|
|||||||
tags: [primary-controller, controller,
|
tags: [primary-controller, controller,
|
||||||
cinder, cinder-block-device, cinder-vmware, compute, compute-vmware,
|
cinder, cinder-block-device, cinder-vmware, compute, compute-vmware,
|
||||||
ceph-osd, primary-mongo, mongo, virt, ironic,
|
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]
|
required_for: [deploy_end]
|
||||||
requires: [hiera]
|
requires: [hiera]
|
||||||
condition:
|
condition:
|
||||||
|
@ -3,7 +3,8 @@
|
|||||||
version: 2.2.0
|
version: 2.2.0
|
||||||
tags: [primary-controller, controller, cinder, cinder-block-device, cinder-vmware,
|
tags: [primary-controller, controller, cinder, cinder-block-device, cinder-vmware,
|
||||||
compute, compute-vmware, ceph-osd, primary-mongo, mongo, virt, ironic,
|
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]
|
requires: [deploy_start, rsync_core_puppet]
|
||||||
required_for: [setup_repositories]
|
required_for: [setup_repositories]
|
||||||
condition:
|
condition:
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
version: 2.2.0
|
version: 2.2.0
|
||||||
tags: [primary-controller, controller, cinder, cinder-block-device, cinder-vmware, compute, ceph-osd,
|
tags: [primary-controller, controller, cinder, cinder-block-device, cinder-vmware, compute, ceph-osd,
|
||||||
primary-mongo, mongo, ironic, primary-rabbitmq, rabbitmq, primary-database, database,
|
primary-mongo, mongo, ironic, primary-rabbitmq, rabbitmq, primary-database, database,
|
||||||
primary-keystone, keystone]
|
primary-keystone, keystone, primary-neutron, neutron]
|
||||||
required_for: [deploy_end]
|
required_for: [deploy_end]
|
||||||
requires: [netconfig]
|
requires: [netconfig]
|
||||||
condition:
|
condition:
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
version: 2.2.0
|
version: 2.2.0
|
||||||
tags: [primary-controller, controller, cinder, cinder-block-device, cinder-vmware, compute, ceph-osd,
|
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-mongo, mongo, virt, ironic, primary-rabbitmq, rabbitmq, primary-database, database,
|
||||||
primary-keystone, keystone]
|
primary-keystone, keystone, primary-neutron, neutron]
|
||||||
required_for: [deploy_end]
|
required_for: [deploy_end]
|
||||||
requires: [globals,setup_repositories]
|
requires: [globals,setup_repositories]
|
||||||
condition:
|
condition:
|
||||||
|
@ -51,7 +51,7 @@
|
|||||||
version: 2.2.0
|
version: 2.2.0
|
||||||
tags: [primary-controller, controller, cinder, cinder-block-device, cinder-vmware, compute, ceph-osd,
|
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-mongo, mongo, virt, ironic, primary-rabbitmq, rabbitmq, primary-database, database,
|
||||||
primary-keystone, keystone]
|
primary-keystone, keystone, primary-neutron, neutron]
|
||||||
required_for: [deploy_end]
|
required_for: [deploy_end]
|
||||||
requires: [tools]
|
requires: [tools]
|
||||||
reexecute_on: [deploy_changes]
|
reexecute_on: [deploy_changes]
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
version: 2.2.0
|
version: 2.2.0
|
||||||
tags: [primary-controller, controller, cinder, cinder-block-device, cinder-vmware, compute, ceph-osd,
|
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-mongo, mongo, virt, ironic, primary-rabbitmq, rabbitmq, primary-database, database,
|
||||||
primary-keystone, keystone]
|
primary-keystone, keystone, primary-neutron, neutron]
|
||||||
required_for: [deploy_end]
|
required_for: [deploy_end]
|
||||||
requires: [logging]
|
requires: [logging]
|
||||||
condition:
|
condition:
|
||||||
|
@ -59,6 +59,7 @@
|
|||||||
<% globals.store "neutron_config", @real_neutron_config -%>
|
<% globals.store "neutron_config", @real_neutron_config -%>
|
||||||
<% globals.store "neutron_db_password", @neutron_db_password -%>
|
<% globals.store "neutron_db_password", @neutron_db_password -%>
|
||||||
<% globals.store "neutron_metadata_proxy_secret", @neutron_metadata_proxy_secret -%>
|
<% 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_nodes", @neutron_nodes -%>
|
||||||
<% globals.store "neutron_user_password", @neutron_user_password -%>
|
<% globals.store "neutron_user_password", @neutron_user_password -%>
|
||||||
<% globals.store "node", @node_hash -%>
|
<% globals.store "node", @node_hash -%>
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
# ROLE: primary-controller
|
# ROLE: primary-neutron
|
||||||
# ROLE: controller
|
# ROLE: neutron
|
||||||
# ROLE: compute
|
# ROLE: compute
|
||||||
|
|
||||||
require 'spec_helper'
|
require 'spec_helper'
|
||||||
@ -67,8 +67,8 @@ describe manifest do
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
elsif Noop.hiera('role') =~ /controller/
|
elsif Noop.hiera('role') =~ /neutron/
|
||||||
context 'with Neutron-l3-agent on controller' do
|
context 'with Neutron-l3-agent on neutron' do
|
||||||
na_config = Noop.hiera_hash('neutron_advanced_configuration')
|
na_config = Noop.hiera_hash('neutron_advanced_configuration')
|
||||||
dvr = na_config.fetch('neutron_dvr', false)
|
dvr = na_config.fetch('neutron_dvr', false)
|
||||||
agent_mode = (dvr ? 'dvr_snat' : 'legacy')
|
agent_mode = (dvr ? 'dvr_snat' : 'legacy')
|
||||||
@ -97,7 +97,7 @@ describe manifest do
|
|||||||
|
|
||||||
if ha_agent
|
if ha_agent
|
||||||
it { should contain_cluster__neutron__l3('default-l3').with(
|
it { should contain_cluster__neutron__l3('default-l3').with(
|
||||||
'primary' => (node_role == 'primary-controller')
|
'primary' => (node_role == 'primary-neutron')
|
||||||
)}
|
)}
|
||||||
else
|
else
|
||||||
it { should_not contain_cluster__neutron__l3('default-l3') }
|
it { should_not contain_cluster__neutron__l3('default-l3') }
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
# ROLE: primary-controller
|
# ROLE: primary-neutron
|
||||||
# ROLE: controller
|
# ROLE: neutron
|
||||||
# ROLE: compute
|
# ROLE: compute
|
||||||
|
|
||||||
require 'spec_helper'
|
require 'spec_helper'
|
||||||
@ -24,7 +24,7 @@ describe manifest do
|
|||||||
|
|
||||||
na_config = Noop.hiera_hash('neutron_advanced_configuration', {})
|
na_config = Noop.hiera_hash('neutron_advanced_configuration', {})
|
||||||
neutron_config = Noop.hiera_hash('neutron_config')
|
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'])
|
neutron_compute_roles = Noop.hiera('neutron_compute_nodes', ['compute'])
|
||||||
workers_max = Noop.hiera 'workers_max'
|
workers_max = Noop.hiera 'workers_max'
|
||||||
isolated_metadata = neutron_config.fetch('metadata',{}).fetch('isolated_metadata', true)
|
isolated_metadata = neutron_config.fetch('metadata',{}).fetch('isolated_metadata', true)
|
||||||
@ -106,7 +106,7 @@ describe manifest do
|
|||||||
)}
|
)}
|
||||||
if ha_agent
|
if ha_agent
|
||||||
it { should contain_class('cluster::neutron::metadata').with(
|
it { should contain_class('cluster::neutron::metadata').with(
|
||||||
'primary' => (node_role == 'primary-controller')
|
'primary' => (node_role == 'primary-neutron')
|
||||||
)}
|
)}
|
||||||
else
|
else
|
||||||
it { should_not contain_class('cluster::neutron::metadata') }
|
it { should_not contain_class('cluster::neutron::metadata') }
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
# ROLE: primary-controller
|
# ROLE: primary-neutron
|
||||||
|
|
||||||
require 'spec_helper'
|
require 'spec_helper'
|
||||||
require 'shared-examples'
|
require 'shared-examples'
|
||||||
@ -6,9 +6,9 @@ manifest = 'openstack-network/routers.pp'
|
|||||||
|
|
||||||
describe manifest do
|
describe manifest do
|
||||||
shared_examples 'catalog' 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
|
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']
|
nets = neutron_config['predefined_networks']
|
||||||
|
|
||||||
floating_net = (neutron_config['default_floating_net'] or 'net04_ext')
|
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)
|
l3_ha = Noop.hiera_hash('neutron_advanced_configuration', {}).fetch('neutron_l3_ha', false)
|
||||||
dvr = Noop.hiera_hash('neutron_advanced_configuration', {}).fetch('neutron_dvr', false)
|
dvr = Noop.hiera_hash('neutron_advanced_configuration', {}).fetch('neutron_dvr', false)
|
||||||
network_metadata = Noop.hiera_hash('network_metadata')
|
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_controller_nodes = Noop.puppet_function 'get_nodes_hash_by_roles', network_metadata, neutron_controller_roles
|
||||||
neutron_controllers_num = neutron_controller_nodes.size
|
neutron_controllers_num = neutron_controller_nodes.size
|
||||||
|
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
# ROLE: primary-controller
|
# ROLE: primary-neutron
|
||||||
# ROLE: controller
|
# ROLE: neutron
|
||||||
|
|
||||||
require 'spec_helper'
|
require 'spec_helper'
|
||||||
require 'shared-examples'
|
require 'shared-examples'
|
||||||
@ -15,7 +15,7 @@ describe manifest do
|
|||||||
end
|
end
|
||||||
|
|
||||||
shared_examples 'catalog' do
|
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
|
let(:network_scheme) do
|
||||||
Noop.hiera_hash('network_scheme', {})
|
Noop.hiera_hash('network_scheme', {})
|
||||||
end
|
end
|
||||||
@ -26,7 +26,7 @@ describe manifest do
|
|||||||
management_vip = Noop.hiera('management_vip')
|
management_vip = Noop.hiera('management_vip')
|
||||||
service_endpoint = Noop.hiera('service_endpoint', management_vip)
|
service_endpoint = Noop.hiera('service_endpoint', management_vip)
|
||||||
l3_ha = Noop.hiera_hash('neutron_advanced_configuration', {}).fetch('neutron_l3_ha', false)
|
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']
|
extension_drivers = ['port_security']
|
||||||
segmentation_type = neutron_config.fetch('L2',{}).fetch('segmentation_type')
|
segmentation_type = neutron_config.fetch('L2',{}).fetch('segmentation_type')
|
||||||
pnets = neutron_config.fetch('L2',{}).fetch('phys_nets',{})
|
pnets = neutron_config.fetch('L2',{}).fetch('phys_nets',{})
|
||||||
|
Loading…
Reference in New Issue
Block a user