Merge "Make enabling of controller services configurable."
This commit is contained in:
@@ -330,6 +330,22 @@ parameters:
|
||||
default: 'dhcp-option-force=26,1400'
|
||||
description: Dnsmasq options for neutron-dhcp-agent. The default value here forces MTU to be set to 1400 to account for the gre tunnel overhead.
|
||||
type: string
|
||||
NeutronEnableDHCPAgent:
|
||||
description: Knob to enable/disable DHCP Agent
|
||||
type: boolean
|
||||
default: true
|
||||
NeutronEnableL3Agent:
|
||||
description: Knob to enable/disable L3 agent
|
||||
type: boolean
|
||||
default: true
|
||||
NeutronEnableMetadataAgent:
|
||||
description: Knob to enable/disable Metadata agent
|
||||
type: boolean
|
||||
default: true
|
||||
NeutronEnableOVSAgent:
|
||||
description: Knob to enable/disable OVS Agent
|
||||
type: boolean
|
||||
default: true
|
||||
NeutronAgentMode:
|
||||
default: 'dvr_snat'
|
||||
description: Agent mode for the neutron-l3-agent on the controller hosts
|
||||
@@ -873,6 +889,10 @@ resources:
|
||||
list_join:
|
||||
- "','"
|
||||
- {get_param: NeutronTypeDrivers}
|
||||
neutron_enable_dhcp_agent: {get_param: NeutronEnableDHCPAgent}
|
||||
neutron_enable_l3_agent: {get_param: NeutronEnableL3Agent}
|
||||
neutron_enable_metadata_agent: {get_param: NeutronEnableMetadataAgent}
|
||||
neutron_enable_ovs_agent: {get_param: NeutronEnableOVSAgent}
|
||||
neutron_mechanism_drivers: {get_param: NeutronMechanismDrivers}
|
||||
neutron_allow_l3agent_failover: {get_param: NeutronAllowL3AgentFailover}
|
||||
neutron_l3_ha: {get_param: NeutronL3HA}
|
||||
@@ -1213,6 +1233,10 @@ resources:
|
||||
neutron_router_distributed: {get_input: neutron_router_distributed}
|
||||
neutron::core_plugin: {get_input: neutron_core_plugin}
|
||||
neutron::service_plugins: {get_input: neutron_service_plugins}
|
||||
neutron::enable_dhcp_agent: {get_input: neutron_enable_dhcp_agent}
|
||||
neutron::enable_l3_agent: {get_input: neutron_enable_l3_agent}
|
||||
neutron::enable_metadata_agent: {get_input: neutron_enable_metadata_agent}
|
||||
neutron::enable_ovs_agent: {get_input: neutron_enable_ovs_agent}
|
||||
neutron::plugins::ml2::type_drivers: {get_input: neutron_type_drivers}
|
||||
neutron_mechanism_drivers: {get_input: neutron_mechanism_drivers}
|
||||
neutron::server::allow_automatic_l3agent_failover: {get_input: neutron_allow_l3agent_failover}
|
||||
|
@@ -599,37 +599,47 @@ if hiera('step') >= 3 {
|
||||
enabled => false,
|
||||
}
|
||||
include ::neutron::server::notifications
|
||||
class { '::neutron::agents::dhcp' :
|
||||
manage_service => false,
|
||||
enabled => false,
|
||||
if hiera('neutron::core_plugin') == 'neutron.plugins.nuage.plugin.NuagePlugin' {
|
||||
include ::neutron::plugins::nuage
|
||||
}
|
||||
class { '::neutron::agents::l3' :
|
||||
manage_service => false,
|
||||
enabled => false,
|
||||
if hiera('neutron::enable_dhcp_agent',true) {
|
||||
class { '::neutron::agents::dhcp' :
|
||||
manage_service => false,
|
||||
enabled => false,
|
||||
}
|
||||
file { '/etc/neutron/dnsmasq-neutron.conf':
|
||||
content => hiera('neutron_dnsmasq_options'),
|
||||
owner => 'neutron',
|
||||
group => 'neutron',
|
||||
notify => Service['neutron-dhcp-service'],
|
||||
require => Package['neutron'],
|
||||
}
|
||||
}
|
||||
class { '::neutron::agents::metadata':
|
||||
manage_service => false,
|
||||
enabled => false,
|
||||
if hiera('neutron::enable_l3_agent',true) {
|
||||
class { '::neutron::agents::l3' :
|
||||
manage_service => false,
|
||||
enabled => false,
|
||||
}
|
||||
}
|
||||
file { '/etc/neutron/dnsmasq-neutron.conf':
|
||||
content => hiera('neutron_dnsmasq_options'),
|
||||
owner => 'neutron',
|
||||
group => 'neutron',
|
||||
notify => Service['neutron-dhcp-service'],
|
||||
require => Package['neutron'],
|
||||
if hiera('neutron::enable_metadata_agent',true) {
|
||||
class { '::neutron::agents::metadata':
|
||||
manage_service => false,
|
||||
enabled => false,
|
||||
}
|
||||
}
|
||||
class { '::neutron::plugins::ml2':
|
||||
flat_networks => split(hiera('neutron_flat_networks'), ','),
|
||||
tenant_network_types => [hiera('neutron_tenant_network_type')],
|
||||
mechanism_drivers => [hiera('neutron_mechanism_drivers')],
|
||||
if hiera('neutron::core_plugin') == 'ml2' {
|
||||
class { '::neutron::plugins::ml2':
|
||||
flat_networks => split(hiera('neutron_flat_networks'), ','),
|
||||
tenant_network_types => [hiera('neutron_tenant_network_type')],
|
||||
mechanism_drivers => [hiera('neutron_mechanism_drivers')],
|
||||
}
|
||||
class { '::neutron::agents::ml2::ovs':
|
||||
manage_service => false,
|
||||
enabled => false,
|
||||
bridge_mappings => split(hiera('neutron_bridge_mappings'), ','),
|
||||
tunnel_types => split(hiera('neutron_tunnel_types'), ','),
|
||||
}
|
||||
}
|
||||
class { '::neutron::agents::ml2::ovs':
|
||||
manage_service => false,
|
||||
enabled => false,
|
||||
bridge_mappings => split(hiera('neutron_bridge_mappings'), ','),
|
||||
tunnel_types => split(hiera('neutron_tunnel_types'), ','),
|
||||
}
|
||||
|
||||
if 'cisco_ucsm' in hiera('neutron_mechanism_drivers') {
|
||||
include ::neutron::plugins::ml2::cisco::ucsm
|
||||
}
|
||||
@@ -1067,59 +1077,69 @@ if hiera('step') >= 4 {
|
||||
clone_params => 'interleave=true',
|
||||
require => Pacemaker::Resource::Service[$::keystone::params::service_name],
|
||||
}
|
||||
pacemaker::resource::service { $::neutron::params::l3_agent_service:
|
||||
clone_params => 'interleave=true',
|
||||
if hiera('neutron::enable_l3_agent', true) {
|
||||
pacemaker::resource::service { $::neutron::params::l3_agent_service:
|
||||
clone_params => 'interleave=true',
|
||||
}
|
||||
}
|
||||
pacemaker::resource::service { $::neutron::params::dhcp_agent_service:
|
||||
clone_params => 'interleave=true',
|
||||
if hiera('neutron::enable_dhcp_agent', true) {
|
||||
pacemaker::resource::service { $::neutron::params::dhcp_agent_service:
|
||||
clone_params => 'interleave=true',
|
||||
}
|
||||
}
|
||||
pacemaker::resource::service { $::neutron::params::ovs_agent_service:
|
||||
clone_params => 'interleave=true',
|
||||
if hiera('neutron::enable_ovs_agent', true) {
|
||||
pacemaker::resource::service { $::neutron::params::ovs_agent_service:
|
||||
clone_params => 'interleave=true',
|
||||
}
|
||||
}
|
||||
pacemaker::resource::service { $::neutron::params::metadata_agent_service:
|
||||
clone_params => 'interleave=true',
|
||||
}
|
||||
pacemaker::resource::ocf { $::neutron::params::ovs_cleanup_service:
|
||||
ocf_agent_name => 'neutron:OVSCleanup',
|
||||
clone_params => 'interleave=true',
|
||||
}
|
||||
pacemaker::resource::ocf { 'neutron-netns-cleanup':
|
||||
ocf_agent_name => 'neutron:NetnsCleanup',
|
||||
clone_params => 'interleave=true',
|
||||
if hiera('neutron::enable_metadata_agent', true) {
|
||||
pacemaker::resource::service { $::neutron::params::metadata_agent_service:
|
||||
clone_params => 'interleave=true',
|
||||
}
|
||||
}
|
||||
if hiera('neutron::enable_ovs_agent', true) {
|
||||
pacemaker::resource::ocf { $::neutron::params::ovs_cleanup_service:
|
||||
ocf_agent_name => 'neutron:OVSCleanup',
|
||||
clone_params => 'interleave=true',
|
||||
}
|
||||
pacemaker::resource::ocf { 'neutron-netns-cleanup':
|
||||
ocf_agent_name => 'neutron:NetnsCleanup',
|
||||
clone_params => 'interleave=true',
|
||||
}
|
||||
|
||||
# neutron - one chain ovs-cleanup-->netns-cleanup-->ovs-agent
|
||||
pacemaker::constraint::base { 'neutron-ovs-cleanup-to-netns-cleanup-constraint':
|
||||
constraint_type => 'order',
|
||||
first_resource => "${::neutron::params::ovs_cleanup_service}-clone",
|
||||
second_resource => 'neutron-netns-cleanup-clone',
|
||||
first_action => 'start',
|
||||
second_action => 'start',
|
||||
require => [Pacemaker::Resource::Ocf[$::neutron::params::ovs_cleanup_service],
|
||||
Pacemaker::Resource::Ocf['neutron-netns-cleanup']],
|
||||
}
|
||||
pacemaker::constraint::colocation { 'neutron-ovs-cleanup-to-netns-cleanup-colocation':
|
||||
source => 'neutron-netns-cleanup-clone',
|
||||
target => "${::neutron::params::ovs_cleanup_service}-clone",
|
||||
score => 'INFINITY',
|
||||
require => [Pacemaker::Resource::Ocf[$::neutron::params::ovs_cleanup_service],
|
||||
Pacemaker::Resource::Ocf['neutron-netns-cleanup']],
|
||||
}
|
||||
pacemaker::constraint::base { 'neutron-netns-cleanup-to-openvswitch-agent-constraint':
|
||||
constraint_type => 'order',
|
||||
first_resource => 'neutron-netns-cleanup-clone',
|
||||
second_resource => "${::neutron::params::ovs_agent_service}-clone",
|
||||
first_action => 'start',
|
||||
second_action => 'start',
|
||||
require => [Pacemaker::Resource::Ocf['neutron-netns-cleanup'],
|
||||
Pacemaker::Resource::Service[$::neutron::params::ovs_agent_service]],
|
||||
}
|
||||
pacemaker::constraint::colocation { 'neutron-netns-cleanup-to-openvswitch-agent-colocation':
|
||||
source => "${::neutron::params::ovs_agent_service}-clone",
|
||||
target => 'neutron-netns-cleanup-clone',
|
||||
score => 'INFINITY',
|
||||
require => [Pacemaker::Resource::Ocf['neutron-netns-cleanup'],
|
||||
Pacemaker::Resource::Service[$::neutron::params::ovs_agent_service]],
|
||||
# neutron - one chain ovs-cleanup-->netns-cleanup-->ovs-agent
|
||||
pacemaker::constraint::base { 'neutron-ovs-cleanup-to-netns-cleanup-constraint':
|
||||
constraint_type => 'order',
|
||||
first_resource => "${::neutron::params::ovs_cleanup_service}-clone",
|
||||
second_resource => 'neutron-netns-cleanup-clone',
|
||||
first_action => 'start',
|
||||
second_action => 'start',
|
||||
require => [Pacemaker::Resource::Ocf[$::neutron::params::ovs_cleanup_service],
|
||||
Pacemaker::Resource::Ocf['neutron-netns-cleanup']],
|
||||
}
|
||||
pacemaker::constraint::colocation { 'neutron-ovs-cleanup-to-netns-cleanup-colocation':
|
||||
source => 'neutron-netns-cleanup-clone',
|
||||
target => "${::neutron::params::ovs_cleanup_service}-clone",
|
||||
score => 'INFINITY',
|
||||
require => [Pacemaker::Resource::Ocf[$::neutron::params::ovs_cleanup_service],
|
||||
Pacemaker::Resource::Ocf['neutron-netns-cleanup']],
|
||||
}
|
||||
pacemaker::constraint::base { 'neutron-netns-cleanup-to-openvswitch-agent-constraint':
|
||||
constraint_type => 'order',
|
||||
first_resource => 'neutron-netns-cleanup-clone',
|
||||
second_resource => "${::neutron::params::ovs_agent_service}-clone",
|
||||
first_action => 'start',
|
||||
second_action => 'start',
|
||||
require => [Pacemaker::Resource::Ocf['neutron-netns-cleanup'],
|
||||
Pacemaker::Resource::Service[$::neutron::params::ovs_agent_service]],
|
||||
}
|
||||
pacemaker::constraint::colocation { 'neutron-netns-cleanup-to-openvswitch-agent-colocation':
|
||||
source => "${::neutron::params::ovs_agent_service}-clone",
|
||||
target => 'neutron-netns-cleanup-clone',
|
||||
score => 'INFINITY',
|
||||
require => [Pacemaker::Resource::Ocf['neutron-netns-cleanup'],
|
||||
Pacemaker::Resource::Service[$::neutron::params::ovs_agent_service]],
|
||||
}
|
||||
}
|
||||
|
||||
#another chain keystone-->neutron-server-->ovs-agent-->dhcp-->l3
|
||||
@@ -1132,63 +1152,71 @@ if hiera('step') >= 4 {
|
||||
require => [Pacemaker::Resource::Service[$::keystone::params::service_name],
|
||||
Pacemaker::Resource::Service[$::neutron::params::server_service]],
|
||||
}
|
||||
pacemaker::constraint::base { 'neutron-server-to-openvswitch-agent-constraint':
|
||||
constraint_type => 'order',
|
||||
first_resource => "${::neutron::params::server_service}-clone",
|
||||
second_resource => "${::neutron::params::ovs_agent_service}-clone",
|
||||
first_action => 'start',
|
||||
second_action => 'start',
|
||||
require => [Pacemaker::Resource::Service[$::neutron::params::server_service],
|
||||
Pacemaker::Resource::Service[$::neutron::params::ovs_agent_service]],
|
||||
if hiera('neutron::enable_ovs_agent',true) {
|
||||
pacemaker::constraint::base { 'neutron-server-to-openvswitch-agent-constraint':
|
||||
constraint_type => 'order',
|
||||
first_resource => "${::neutron::params::server_service}-clone",
|
||||
second_resource => "${::neutron::params::ovs_agent_service}-clone",
|
||||
first_action => 'start',
|
||||
second_action => 'start',
|
||||
require => [Pacemaker::Resource::Service[$::neutron::params::server_service],
|
||||
Pacemaker::Resource::Service[$::neutron::params::ovs_agent_service]],
|
||||
}
|
||||
}
|
||||
pacemaker::constraint::base { 'neutron-openvswitch-agent-to-dhcp-agent-constraint':
|
||||
constraint_type => 'order',
|
||||
first_resource => "${::neutron::params::ovs_agent_service}-clone",
|
||||
second_resource => "${::neutron::params::dhcp_agent_service}-clone",
|
||||
first_action => 'start',
|
||||
second_action => 'start',
|
||||
require => [Pacemaker::Resource::Service[$::neutron::params::ovs_agent_service],
|
||||
Pacemaker::Resource::Service[$::neutron::params::dhcp_agent_service]],
|
||||
if hiera('neutron::enable_dhcp_agent',true) and hiera('neutron::enable_ovs_agent',true) {
|
||||
pacemaker::constraint::base { 'neutron-openvswitch-agent-to-dhcp-agent-constraint':
|
||||
constraint_type => 'order',
|
||||
first_resource => "${::neutron::params::ovs_agent_service}-clone",
|
||||
second_resource => "${::neutron::params::dhcp_agent_service}-clone",
|
||||
first_action => 'start',
|
||||
second_action => 'start',
|
||||
require => [Pacemaker::Resource::Service[$::neutron::params::ovs_agent_service],
|
||||
Pacemaker::Resource::Service[$::neutron::params::dhcp_agent_service]],
|
||||
|
||||
}
|
||||
pacemaker::constraint::colocation { 'neutron-openvswitch-agent-to-dhcp-agent-colocation':
|
||||
source => "${::neutron::params::dhcp_agent_service}-clone",
|
||||
target => "${::neutron::params::ovs_agent_service}-clone",
|
||||
score => 'INFINITY',
|
||||
require => [Pacemaker::Resource::Service[$::neutron::params::ovs_agent_service],
|
||||
Pacemaker::Resource::Service[$::neutron::params::dhcp_agent_service]],
|
||||
}
|
||||
}
|
||||
pacemaker::constraint::colocation { 'neutron-openvswitch-agent-to-dhcp-agent-colocation':
|
||||
source => "${::neutron::params::dhcp_agent_service}-clone",
|
||||
target => "${::neutron::params::ovs_agent_service}-clone",
|
||||
score => 'INFINITY',
|
||||
require => [Pacemaker::Resource::Service[$::neutron::params::ovs_agent_service],
|
||||
Pacemaker::Resource::Service[$::neutron::params::dhcp_agent_service]],
|
||||
if hiera('neutron::enable_dhcp_agent',true) and hiera('l3_agent_service',true) {
|
||||
pacemaker::constraint::base { 'neutron-dhcp-agent-to-l3-agent-constraint':
|
||||
constraint_type => 'order',
|
||||
first_resource => "${::neutron::params::dhcp_agent_service}-clone",
|
||||
second_resource => "${::neutron::params::l3_agent_service}-clone",
|
||||
first_action => 'start',
|
||||
second_action => 'start',
|
||||
require => [Pacemaker::Resource::Service[$::neutron::params::dhcp_agent_service],
|
||||
Pacemaker::Resource::Service[$::neutron::params::l3_agent_service]]
|
||||
}
|
||||
pacemaker::constraint::colocation { 'neutron-dhcp-agent-to-l3-agent-colocation':
|
||||
source => "${::neutron::params::l3_agent_service}-clone",
|
||||
target => "${::neutron::params::dhcp_agent_service}-clone",
|
||||
score => 'INFINITY',
|
||||
require => [Pacemaker::Resource::Service[$::neutron::params::dhcp_agent_service],
|
||||
Pacemaker::Resource::Service[$::neutron::params::l3_agent_service]]
|
||||
}
|
||||
}
|
||||
pacemaker::constraint::base { 'neutron-dhcp-agent-to-l3-agent-constraint':
|
||||
constraint_type => 'order',
|
||||
first_resource => "${::neutron::params::dhcp_agent_service}-clone",
|
||||
second_resource => "${::neutron::params::l3_agent_service}-clone",
|
||||
first_action => 'start',
|
||||
second_action => 'start',
|
||||
require => [Pacemaker::Resource::Service[$::neutron::params::dhcp_agent_service],
|
||||
Pacemaker::Resource::Service[$::neutron::params::l3_agent_service]],
|
||||
}
|
||||
pacemaker::constraint::colocation { 'neutron-dhcp-agent-to-l3-agent-colocation':
|
||||
source => "${::neutron::params::l3_agent_service}-clone",
|
||||
target => "${::neutron::params::dhcp_agent_service}-clone",
|
||||
score => 'INFINITY',
|
||||
require => [Pacemaker::Resource::Service[$::neutron::params::dhcp_agent_service],
|
||||
Pacemaker::Resource::Service[$::neutron::params::l3_agent_service]],
|
||||
}
|
||||
pacemaker::constraint::base { 'neutron-l3-agent-to-metadata-agent-constraint':
|
||||
constraint_type => 'order',
|
||||
first_resource => "${::neutron::params::l3_agent_service}-clone",
|
||||
second_resource => "${::neutron::params::metadata_agent_service}-clone",
|
||||
first_action => 'start',
|
||||
second_action => 'start',
|
||||
require => [Pacemaker::Resource::Service[$::neutron::params::l3_agent_service],
|
||||
Pacemaker::Resource::Service[$::neutron::params::metadata_agent_service]],
|
||||
}
|
||||
pacemaker::constraint::colocation { 'neutron-l3-agent-to-metadata-agent-colocation':
|
||||
source => "${::neutron::params::metadata_agent_service}-clone",
|
||||
target => "${::neutron::params::l3_agent_service}-clone",
|
||||
score => 'INFINITY',
|
||||
require => [Pacemaker::Resource::Service[$::neutron::params::l3_agent_service],
|
||||
Pacemaker::Resource::Service[$::neutron::params::metadata_agent_service]],
|
||||
if hiera('neutron::enable_l3_agent',true) and hiera('neutron::enable_metadata_agent',true) {
|
||||
pacemaker::constraint::base { 'neutron-l3-agent-to-metadata-agent-constraint':
|
||||
constraint_type => 'order',
|
||||
first_resource => "${::neutron::params::l3_agent_service}-clone",
|
||||
second_resource => "${::neutron::params::metadata_agent_service}-clone",
|
||||
first_action => 'start',
|
||||
second_action => 'start',
|
||||
require => [Pacemaker::Resource::Service[$::neutron::params::l3_agent_service],
|
||||
Pacemaker::Resource::Service[$::neutron::params::metadata_agent_service]]
|
||||
}
|
||||
pacemaker::constraint::colocation { 'neutron-l3-agent-to-metadata-agent-colocation':
|
||||
source => "${::neutron::params::metadata_agent_service}-clone",
|
||||
target => "${::neutron::params::l3_agent_service}-clone",
|
||||
score => 'INFINITY',
|
||||
require => [Pacemaker::Resource::Service[$::neutron::params::l3_agent_service],
|
||||
Pacemaker::Resource::Service[$::neutron::params::metadata_agent_service]]
|
||||
}
|
||||
}
|
||||
|
||||
# Nova
|
||||
|
Reference in New Issue
Block a user