composable neutron ml2 and ovs agent
Adds new puppet and puppet pacemaker specific services for the Neutron ml2 configuration and the Ovs agent. Partially-implements: blueprint composable-services-within-roles Change-Id: I896e5dfe6fae49371c9fe7f47c4364eb6f621b07
This commit is contained in:
parent
08a201e238
commit
89fbd07afe
|
@ -3,13 +3,13 @@ resource_registry:
|
|||
OS::TripleO::AllNodesExtraConfig: ../puppet/extraconfig/all_nodes/neutron-midonet-all-nodes.yaml
|
||||
OS::TripleO::Controller::Net::SoftwareConfig: ../net-config-linux-bridge.yaml # We have to avoid any ovs bridge. MidoNet is incompatible with its datapath
|
||||
OS::TripleO::Services::NeutronL3Agent: OS::Heat::None
|
||||
OS::TripleO::Services::NeutronOvsAgent: OS::Heat::None
|
||||
|
||||
parameter_defaults:
|
||||
EnableZookeeperOnController: true
|
||||
EnableCassandraOnController: true
|
||||
NeutronCorePlugin: 'midonet.neutron.plugin_v1.MidonetPluginV2' # Overriding default core_plugin in Neutron. Don't touch it
|
||||
NeutronEnableIsolatedMetadata: true # MidoNet 1.9 needs this one to work. Don't change it
|
||||
NeutronEnableOVSAgent: false
|
||||
|
||||
# Other available options for MidoNet Services
|
||||
# TunnelZoneName: 'tunnelname'
|
||||
|
|
|
@ -4,6 +4,7 @@ resource_registry:
|
|||
OS::TripleO::ControllerExtraConfigPre: ../puppet/extraconfig/pre_deploy/controller/neutron-nuage.yaml
|
||||
OS::TripleO::Services::NeutronL3Agent: OS::Heat::None
|
||||
OS::TripleO::Services::NeutronMetadataAgent: OS::Heat::None
|
||||
OS::TripleO::Services::NeutronOvsAgent: OS::Heat::None
|
||||
|
||||
parameter_defaults:
|
||||
NeutronNuageOSControllerIp: '0.0.0.0'
|
||||
|
@ -17,7 +18,6 @@ parameter_defaults:
|
|||
UseForwardedFor: true
|
||||
NeutronCorePlugin: 'neutron.plugins.nuage.plugin.NuagePlugin'
|
||||
NeutronEnableDHCPAgent: false
|
||||
NeutronEnableOVSAgent: false
|
||||
NeutronServicePlugins: []
|
||||
NovaOVSBridge: 'alubr0'
|
||||
controllerExtraConfig:
|
||||
|
|
|
@ -6,11 +6,11 @@ resource_registry:
|
|||
OS::TripleO::Services::NeutronDhcpAgent: OS::Heat::None
|
||||
OS::TripleO::Services::NeutronL3Agent: OS::Heat::None
|
||||
OS::TripleO::Services::NeutronMetadataAgent: OS::Heat::None
|
||||
OS::TripleO::Services::NeutronOvsAgent: OS::Heat::None
|
||||
|
||||
parameter_defaults:
|
||||
NeutronCorePlugin: neutron_plugin_contrail.plugins.opencontrail.contrail_plugin.NeutronPluginContrailCoreV2
|
||||
NeutronServicePlugins: neutron_plugin_contrail.plugins.opencontrail.loadbalancer.plugin.LoadBalancerPlugin
|
||||
NeutronEnableOVSAgent: false
|
||||
NeutronEnableTunnelling: false
|
||||
|
||||
# required params:
|
||||
|
|
|
@ -2,10 +2,11 @@
|
|||
# extensions, configured via puppet
|
||||
resource_registry:
|
||||
OS::TripleO::ControllerExtraConfigPre: ../puppet/extraconfig/pre_deploy/controller/neutron-plumgrid.yaml
|
||||
# PLUMgrid doesn't require dhcp, l3, and metadata agents
|
||||
# PLUMgrid doesn't require dhcp, l3, metadata, and ovs agents
|
||||
OS::TripleO::Services::NeutronDhcpAgent: OS::Heat::None
|
||||
OS::TripleO::Services::NeutronL3Agent: OS::Heat::None
|
||||
OS::TripleO::Services::NeutronMetadataAgent: OS::Heat::None
|
||||
OS::TripleO::Services::NeutronOvsAgent: OS::Heat::None
|
||||
|
||||
parameter_defaults:
|
||||
NeutronCorePlugin: networking_plumgrid.neutron.plugins.plugin.NeutronPluginPLUMgridV2
|
||||
|
@ -25,6 +26,3 @@ parameter_defaults:
|
|||
#Optional Parameters
|
||||
#PLUMgridNeutronPluginVersion: present
|
||||
#PLUMgridPlumlibVersion: present
|
||||
|
||||
# PLUMgrid doesn't require the ovs agent
|
||||
NeutronEnableOVSAgent: false
|
||||
|
|
|
@ -23,6 +23,8 @@ resource_registry:
|
|||
OS::TripleO::Services::NeutronL3Agent: ../puppet/services/pacemaker/neutron-l3.yaml
|
||||
OS::TripleO::Services::NeutronMetadataAgent: ../puppet/services/pacemaker/neutron-metadata.yaml
|
||||
OS::TripleO::Services::NeutronServer: ../puppet/services/pacemaker/neutron-server.yaml
|
||||
OS::TripleO::Services::NeutronCorePlugin: ../puppet/services/pacemaker/neutron-plugin-ml2.yaml
|
||||
OS::TripleO::Services::NeutronOvsAgent: ../puppet/services/pacemaker/neutron-ovs-agent.yaml
|
||||
OS::TripleO::Services::RabbitMQ: ../puppet/services/pacemaker/rabbitmq.yaml
|
||||
OS::TripleO::Services::HAproxy: ../puppet/services/pacemaker/haproxy.yaml
|
||||
OS::TripleO::Services::Memcached: ../puppet/services/pacemaker/memcached.yaml
|
||||
|
|
|
@ -136,6 +136,8 @@ resource_registry:
|
|||
OS::TripleO::Services::NeutronL3Agent: puppet/services/neutron-l3.yaml
|
||||
OS::TripleO::Services::NeutronMetadataAgent: puppet/services/neutron-metadata.yaml
|
||||
OS::TripleO::Services::NeutronServer: puppet/services/neutron-server.yaml
|
||||
OS::TripleO::Services::NeutronCorePlugin: puppet/services/neutron-plugin-ml2.yaml
|
||||
OS::TripleO::Services::NeutronOvsAgent: puppet/services/neutron-ovs-agent.yaml
|
||||
OS::TripleO::Services::RabbitMQ: puppet/services/rabbitmq.yaml
|
||||
OS::TripleO::Services::HAproxy: puppet/services/haproxy.yaml
|
||||
OS::TripleO::Services::Keepalived: puppet/services/keepalived.yaml
|
||||
|
|
|
@ -198,17 +198,6 @@ parameters:
|
|||
description: |
|
||||
The tunnel types for the Neutron tenant network.
|
||||
type: comma_delimited_list
|
||||
NeutronTunnelIdRanges:
|
||||
description: |
|
||||
Comma-separated list of <tun_min>:<tun_max> tuples enumerating ranges
|
||||
of GRE tunnel IDs that are available for tenant network allocation
|
||||
default: ["1:4094", ]
|
||||
type: comma_delimited_list
|
||||
NeutronVniRanges:
|
||||
description: |
|
||||
Comma-separated list of <vni_min>:<vni_max> tuples enumerating ranges
|
||||
of VXLAN VNI IDs that are available for tenant network allocation
|
||||
default: ["1:4094", ]
|
||||
type: comma_delimited_list
|
||||
NeutronCorePlugin:
|
||||
default: 'ml2'
|
||||
|
@ -232,10 +221,6 @@ parameters:
|
|||
description: |
|
||||
The mechanism drivers for the Neutron tenant network.
|
||||
type: comma_delimited_list
|
||||
NeutronPluginExtensions:
|
||||
default: "qos,port_security"
|
||||
description: |
|
||||
Comma-separated list of extensions enabled for the Neutron plugin.
|
||||
type: comma_delimited_list
|
||||
NeutronAgentExtensions:
|
||||
default: "qos"
|
||||
|
@ -637,6 +622,8 @@ parameters:
|
|||
- OS::TripleO::Services::NeutronL3Agent
|
||||
- OS::TripleO::Services::NeutronMetadataAgent
|
||||
- OS::TripleO::Services::NeutronServer
|
||||
- OS::TripleO::Services::NeutronCorePlugin
|
||||
- OS::TripleO::Services::NeutronOvsAgent
|
||||
- OS::TripleO::Services::RabbitMQ
|
||||
- OS::TripleO::Services::HAproxy
|
||||
- OS::TripleO::Services::Keepalived
|
||||
|
@ -911,12 +898,7 @@ resources:
|
|||
MysqlMaxConnections: {get_param: MysqlMaxConnections}
|
||||
MysqlRootPassword: {get_attr: [MysqlRootPassword, value]}
|
||||
NeutronPublicInterfaceIP: {get_param: NeutronPublicInterfaceIP}
|
||||
NeutronFlatNetworks: {get_param: NeutronFlatNetworks}
|
||||
NeutronBridgeMappings: {get_param: NeutronBridgeMappings}
|
||||
NeutronTenantMtu: {get_param: NeutronTenantMtu}
|
||||
NeutronEnableTunnelling: {get_param: NeutronEnableTunnelling}
|
||||
NeutronEnableL2Pop: {get_param: NeutronEnableL2Pop}
|
||||
NeutronNetworkVLANRanges: {get_param: NeutronNetworkVLANRanges}
|
||||
NeutronPublicInterface: {get_param: NeutronPublicInterface}
|
||||
NeutronPublicInterfaceDefaultRoute: {get_param: NeutronPublicInterfaceDefaultRoute}
|
||||
NeutronPublicInterfaceRawDevice: {get_param: NeutronPublicInterfaceRawDevice}
|
||||
|
@ -926,12 +908,6 @@ resources:
|
|||
NeutronAgentMode: {get_param: NeutronAgentMode}
|
||||
NeutronCorePlugin: {get_param: NeutronCorePlugin}
|
||||
NeutronServicePlugins: {get_param: NeutronServicePlugins}
|
||||
NeutronTypeDrivers: {get_param: NeutronTypeDrivers}
|
||||
NeutronMechanismDrivers: {get_param: NeutronMechanismDrivers}
|
||||
NeutronPluginExtensions: {get_param: NeutronPluginExtensions}
|
||||
NeutronAgentExtensions: {get_param: NeutronAgentExtensions}
|
||||
NeutronNetworkType: {get_param: NeutronNetworkType}
|
||||
NeutronTunnelTypes: {get_param: NeutronTunnelTypes}
|
||||
NovaIPv6: {get_param: NovaIPv6}
|
||||
NovaPassword: {get_param: NovaPassword}
|
||||
NtpServer: {get_param: NtpServer}
|
||||
|
|
|
@ -247,20 +247,6 @@ parameters:
|
|||
type: string
|
||||
hidden: true
|
||||
default: '' # Has to be here because of the ignored empty value bug
|
||||
NeutronBridgeMappings:
|
||||
description: >
|
||||
The OVS logical->physical bridge mappings to use. See the Neutron
|
||||
documentation for details. Defaults to mapping br-ex - the external
|
||||
bridge on hosts - to a physical name 'datacentre' which can be used
|
||||
to create provider networks (and we use this for the default floating
|
||||
network) - if changing this either use different post-install network
|
||||
scripts or be sure to keep 'datacentre' as a mapping network name.
|
||||
type: comma_delimited_list
|
||||
default: "datacentre:br-ex"
|
||||
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
|
||||
|
@ -285,39 +271,6 @@ parameters:
|
|||
Comma-separated list of service plugin entrypoints to be loaded from the
|
||||
neutron.service_plugins namespace.
|
||||
type: comma_delimited_list
|
||||
NeutronTypeDrivers:
|
||||
default: "vxlan,vlan,flat,gre"
|
||||
description: |
|
||||
Comma-separated list of network type driver entrypoints to be loaded.
|
||||
type: comma_delimited_list
|
||||
NeutronMechanismDrivers:
|
||||
default: 'openvswitch'
|
||||
description: |
|
||||
The mechanism drivers for the Neutron tenant network.
|
||||
type: comma_delimited_list
|
||||
NeutronEnableTunnelling:
|
||||
type: string
|
||||
default: "True"
|
||||
NeutronEnableL2Pop:
|
||||
type: string
|
||||
description: >
|
||||
Enable/disable the L2 population feature in the Neutron agents.
|
||||
default: "False"
|
||||
NeutronFlatNetworks:
|
||||
type: comma_delimited_list
|
||||
default: 'datacentre'
|
||||
description: If set, flat networks to configure in neutron plugins.
|
||||
NeutronNetworkType:
|
||||
default: 'vxlan'
|
||||
description: The tenant network type for Neutron.
|
||||
type: comma_delimited_list
|
||||
NeutronNetworkVLANRanges:
|
||||
default: 'datacentre:1:1000'
|
||||
description: >
|
||||
The Neutron ML2 and OpenVSwitch vlan mapping range to support. See the
|
||||
Neutron documentation for permitted values. Defaults to permitting any
|
||||
VLAN on the 'datacentre' physical network (See NeutronBridgeMappings).
|
||||
type: comma_delimited_list
|
||||
NeutronPassword:
|
||||
description: The password for the neutron service and db account, used by neutron agents.
|
||||
type: string
|
||||
|
@ -357,33 +310,6 @@ parameters:
|
|||
will determine the MTU that is assigned to the VM host through DHCP.
|
||||
default: 1400
|
||||
type: number
|
||||
NeutronTunnelTypes:
|
||||
default: 'vxlan'
|
||||
description: |
|
||||
The tunnel types for the Neutron tenant network.
|
||||
type: comma_delimited_list
|
||||
NeutronTunnelIdRanges:
|
||||
description: |
|
||||
Comma-separated list of <tun_min>:<tun_max> tuples enumerating ranges
|
||||
of GRE tunnel IDs that are available for tenant network allocation
|
||||
default: ["1:4094", ]
|
||||
type: comma_delimited_list
|
||||
NeutronVniRanges:
|
||||
description: |
|
||||
Comma-separated list of <vni_min>:<vni_max> tuples enumerating ranges
|
||||
of VXLAN VNI IDs that are available for tenant network allocation
|
||||
default: ["1:4094", ]
|
||||
type: comma_delimited_list
|
||||
NeutronPluginExtensions:
|
||||
default: "qos,port_security"
|
||||
description: |
|
||||
Comma-separated list of extensions enabled for the Neutron plugin.
|
||||
type: comma_delimited_list
|
||||
NeutronAgentExtensions:
|
||||
default: "qos"
|
||||
description: |
|
||||
Comma-separated list of extensions enabled for the Neutron agents.
|
||||
type: comma_delimited_list
|
||||
NovaApiVirtualIP:
|
||||
type: string
|
||||
default: ''
|
||||
|
@ -744,8 +670,6 @@ resources:
|
|||
bootstack_nodeid: {get_attr: [Controller, name]}
|
||||
ceilometer_workers: {get_param: CeilometerWorkers}
|
||||
nova_workers: {get_param: NovaWorkers}
|
||||
neutron_enable_tunneling: {get_param: NeutronEnableTunnelling}
|
||||
neutron_enable_l2pop: {get_param: NeutronEnableL2Pop}
|
||||
haproxy_log_address: {get_param: HAProxySyslogAddress}
|
||||
haproxy_stats_password: {get_param: HAProxyStatsPassword}
|
||||
haproxy_stats_user: {get_param: HAProxyStatsUser}
|
||||
|
@ -780,11 +704,6 @@ resources:
|
|||
template: tripleo-CLUSTER
|
||||
params:
|
||||
CLUSTER: {get_param: MysqlClusterUniquePart}
|
||||
neutron_flat_networks:
|
||||
str_replace:
|
||||
template: NETWORKS
|
||||
params:
|
||||
NETWORKS: {get_param: NeutronFlatNetworks}
|
||||
neutron_metadata_proxy_shared_secret: {get_param: NeutronMetadataProxySharedSecret}
|
||||
neutron_agent_mode: {get_param: NeutronAgentMode}
|
||||
neutron_router_distributed: {get_param: NeutronDVR}
|
||||
|
@ -794,61 +713,10 @@ resources:
|
|||
template: PLUGINS
|
||||
params:
|
||||
PLUGINS: {get_param: NeutronServicePlugins}
|
||||
neutron_type_drivers:
|
||||
str_replace:
|
||||
template: DRIVERS
|
||||
params:
|
||||
DRIVERS: {get_param: NeutronTypeDrivers}
|
||||
neutron_enable_ovs_agent: {get_param: NeutronEnableOVSAgent}
|
||||
neutron_mechanism_drivers:
|
||||
str_replace:
|
||||
template: MECHANISMS
|
||||
params:
|
||||
MECHANISMS: {get_param: NeutronMechanismDrivers}
|
||||
neutron_network_vlan_ranges:
|
||||
str_replace:
|
||||
template: RANGES
|
||||
params:
|
||||
RANGES: {get_param: NeutronNetworkVLANRanges}
|
||||
neutron_bridge_mappings:
|
||||
str_replace:
|
||||
template: MAPPINGS
|
||||
params:
|
||||
MAPPINGS: {get_param: NeutronBridgeMappings}
|
||||
neutron_public_interface: {get_param: NeutronPublicInterface}
|
||||
neutron_public_interface_raw_device: {get_param: NeutronPublicInterfaceRawDevice}
|
||||
neutron_public_interface_default_route: {get_param: NeutronPublicInterfaceDefaultRoute}
|
||||
neutron_public_interface_tag: {get_param: NeutronPublicInterfaceTag}
|
||||
neutron_tunnel_id_ranges:
|
||||
str_replace:
|
||||
template: RANGES
|
||||
params:
|
||||
RANGES: {get_param: NeutronTunnelIdRanges}
|
||||
neutron_vni_ranges:
|
||||
str_replace:
|
||||
template: RANGES
|
||||
params:
|
||||
RANGES: {get_param: NeutronVniRanges}
|
||||
neutron_tenant_network_types:
|
||||
str_replace:
|
||||
template: TYPES
|
||||
params:
|
||||
TYPES: {get_param: NeutronNetworkType}
|
||||
neutron_tunnel_types:
|
||||
str_replace:
|
||||
template: TYPES
|
||||
params:
|
||||
TYPES: {get_param: NeutronTunnelTypes}
|
||||
neutron_plugin_extensions:
|
||||
str_replace:
|
||||
template: PLUGIN_EXTENSIONS
|
||||
params:
|
||||
PLUGIN_EXTENSIONS: {get_param: NeutronPluginExtensions}
|
||||
neutron_agent_extensions:
|
||||
str_replace:
|
||||
template: AGENT_EXTENSIONS
|
||||
params:
|
||||
AGENT_EXTENSIONS: {get_param: NeutronAgentExtensions}
|
||||
neutron_password: {get_param: NeutronPassword}
|
||||
neutron_tenant_mtu: {get_param: NeutronTenantMtu}
|
||||
neutron_internal_url: { get_param: [ EndpointMap, NeutronInternal, uri ] }
|
||||
|
@ -1125,30 +993,16 @@ resources:
|
|||
# Neutron
|
||||
neutron::bind_host: {get_input: neutron_api_network}
|
||||
neutron::network_device_mtu: {get_input: neutron_tenant_mtu}
|
||||
neutron::agents::ml2::ovs::enable_tunneling: {get_input: neutron_enable_tunneling}
|
||||
neutron::agents::ml2::ovs::l2_population: {get_input: neutron_enable_l2pop}
|
||||
neutron::agents::ml2::ovs::local_ip: {get_input: neutron_local_ip}
|
||||
neutron::plugins::ml2::flat_networks: {get_input: neutron_flat_networks}
|
||||
neutron::agents::metadata::metadata_ip: {get_input: neutron_api_network}
|
||||
neutron_agent_mode: {get_input: neutron_agent_mode}
|
||||
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_ovs_agent: {get_input: neutron_enable_ovs_agent}
|
||||
neutron::plugins::ml2::type_drivers: {get_input: neutron_type_drivers}
|
||||
neutron::plugins::ml2::mechanism_drivers: {get_input: neutron_mechanism_drivers}
|
||||
neutron::plugins::ml2::extension_drivers: {get_input: neutron_plugin_extensions}
|
||||
neutron::plugins::ml2::network_vlan_ranges: {get_input: neutron_network_vlan_ranges}
|
||||
neutron::plugins::ml2::tunnel_id_ranges: {get_input: neutron_tunnel_id_ranges}
|
||||
neutron::plugins::ml2::vni_ranges: {get_input: neutron_vni_ranges}
|
||||
neutron::agents::ml2::ovs::bridge_mappings: {get_input: neutron_bridge_mappings}
|
||||
neutron_public_interface: {get_input: neutron_public_interface}
|
||||
neutron_public_interface_raw_device: {get_input: neutron_public_interface_raw_device}
|
||||
neutron_public_interface_default_route: {get_input: neutron_public_interface_default_route}
|
||||
neutron_public_interface_tag: {get_input: neutron_public_interface_tag}
|
||||
neutron::plugins::ml2::tenant_network_types: {get_input: neutron_tenant_network_types}
|
||||
neutron::agents::ml2::ovs::tunnel_types: {get_input: neutron_tunnel_types}
|
||||
neutron::agents::ml2::ovs::extensions: {get_input: neutron_agent_extensions}
|
||||
neutron::keystone::auth::public_url: {get_input: neutron_public_url }
|
||||
neutron::keystone::auth::internal_url: {get_input: neutron_internal_url }
|
||||
neutron::keystone::auth::admin_url: {get_input: neutron_admin_url }
|
||||
|
|
|
@ -247,42 +247,10 @@ if hiera('step') >= 4 {
|
|||
keystone_tenant => hiera('neutron::server::auth_tenant'),
|
||||
keystone_password => hiera('neutron::server::password')
|
||||
}
|
||||
} else {
|
||||
|
||||
include ::neutron::plugins::ml2
|
||||
include ::neutron::agents::ml2::ovs
|
||||
|
||||
if 'cisco_n1kv' in hiera('neutron::plugins::ml2::mechanism_drivers') {
|
||||
include ::neutron::plugins::ml2::cisco::nexus1000v
|
||||
|
||||
class { '::neutron::agents::n1kv_vem':
|
||||
n1kv_source => hiera('n1kv_vem_source', undef),
|
||||
n1kv_version => hiera('n1kv_vem_version', undef),
|
||||
}
|
||||
|
||||
class { '::n1k_vsm':
|
||||
n1kv_source => hiera('n1kv_vsm_source', undef),
|
||||
n1kv_version => hiera('n1kv_vsm_version', undef),
|
||||
pacemaker_control => false,
|
||||
}
|
||||
}
|
||||
|
||||
if 'cisco_ucsm' in hiera('neutron::plugins::ml2::mechanism_drivers') {
|
||||
include ::neutron::plugins::ml2::cisco::ucsm
|
||||
}
|
||||
if 'cisco_nexus' in hiera('neutron::plugins::ml2::mechanism_drivers') {
|
||||
include ::neutron::plugins::ml2::cisco::nexus
|
||||
include ::neutron::plugins::ml2::cisco::type_nexus_vxlan
|
||||
}
|
||||
|
||||
if 'bsn_ml2' in hiera('neutron::plugins::ml2::mechanism_drivers') {
|
||||
include ::neutron::plugins::ml2::bigswitch::restproxy
|
||||
include ::neutron::agents::bigswitch
|
||||
}
|
||||
Service['neutron-server'] -> Service['neutron-ovs-agent-service']
|
||||
}
|
||||
|
||||
Service['neutron-server'] -> Service['neutron-metadata']
|
||||
|
||||
}
|
||||
|
||||
if $enable_ceph {
|
||||
|
|
|
@ -469,37 +469,6 @@ MYSQL_HOST=localhost\n",
|
|||
metadata_proxy_shared_secret => hiera('nova::api::neutron_metadata_proxy_shared_secret'),
|
||||
}
|
||||
}
|
||||
include ::neutron::plugins::ml2
|
||||
class { '::neutron::agents::ml2::ovs':
|
||||
manage_service => false,
|
||||
enabled => false,
|
||||
}
|
||||
|
||||
if 'cisco_ucsm' in hiera('neutron::plugins::ml2::mechanism_drivers') {
|
||||
include ::neutron::plugins::ml2::cisco::ucsm
|
||||
}
|
||||
if 'cisco_nexus' in hiera('neutron::plugins::ml2::mechanism_drivers') {
|
||||
include ::neutron::plugins::ml2::cisco::nexus
|
||||
include ::neutron::plugins::ml2::cisco::type_nexus_vxlan
|
||||
}
|
||||
if 'cisco_n1kv' in hiera('neutron::plugins::ml2::mechanism_drivers') {
|
||||
include ::neutron::plugins::ml2::cisco::nexus1000v
|
||||
|
||||
class { '::neutron::agents::n1kv_vem':
|
||||
n1kv_source => hiera('n1kv_vem_source', undef),
|
||||
n1kv_version => hiera('n1kv_vem_version', undef),
|
||||
}
|
||||
|
||||
class { '::n1k_vsm':
|
||||
n1kv_source => hiera('n1kv_vsm_source', undef),
|
||||
n1kv_version => hiera('n1kv_vsm_version', undef),
|
||||
}
|
||||
}
|
||||
|
||||
if 'bsn_ml2' in hiera('neutron::plugins::ml2::mechanism_drivers') {
|
||||
include ::neutron::plugins::ml2::bigswitch::restproxy
|
||||
include ::neutron::agents::bigswitch
|
||||
}
|
||||
|
||||
if $enable_ceph {
|
||||
$ceph_pools = hiera('ceph_pools')
|
||||
|
@ -730,60 +699,11 @@ password=\"${mysql_root_password}\"",
|
|||
Pacemaker::Resource::Ocf['openstack-core']],
|
||||
}
|
||||
|
||||
if hiera('neutron::enable_ovs_agent', true) {
|
||||
pacemaker::resource::service { $::neutron::params::ovs_agent_service:
|
||||
clone_params => 'interleave=true',
|
||||
}
|
||||
}
|
||||
if hiera('neutron::core_plugin') == 'midonet.neutron.plugin_v1.MidonetPluginV2' {
|
||||
pacemaker::resource::service {'tomcat':
|
||||
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]],
|
||||
}
|
||||
}
|
||||
if hiera('neutron::core_plugin') == 'midonet.neutron.plugin_v1.MidonetPluginV2' {
|
||||
#midonet-chain chain keystone-->neutron-server-->dhcp-->metadata->tomcat
|
||||
pacemaker::constraint::base { 'neutron-server-to-dhcp-agent-constraint':
|
||||
|
|
|
@ -0,0 +1,71 @@
|
|||
heat_template_version: 2016-04-08
|
||||
|
||||
description: >
|
||||
OpenStack Neutron OVS agent configured with Puppet
|
||||
|
||||
parameters:
|
||||
EndpointMap:
|
||||
default: {}
|
||||
description: Mapping of service endpoint -> protocol. Typically set
|
||||
via parameter_defaults in the resource registry.
|
||||
type: json
|
||||
NeutronEnableTunnelling:
|
||||
type: string
|
||||
default: "True"
|
||||
NeutronEnableL2Pop:
|
||||
type: string
|
||||
description: >
|
||||
Enable/disable the L2 population feature in the Neutron agents.
|
||||
default: "False"
|
||||
NeutronBridgeMappings:
|
||||
description: >
|
||||
The OVS logical->physical bridge mappings to use. See the Neutron
|
||||
documentation for details. Defaults to mapping br-ex - the external
|
||||
bridge on hosts - to a physical name 'datacentre' which can be used
|
||||
to create provider networks (and we use this for the default floating
|
||||
network) - if changing this either use different post-install network
|
||||
scripts or be sure to keep 'datacentre' as a mapping network name.
|
||||
type: comma_delimited_list
|
||||
default: "datacentre:br-ex"
|
||||
NeutronTunnelTypes:
|
||||
default: 'vxlan'
|
||||
description: |
|
||||
The tunnel types for the Neutron tenant network.
|
||||
type: comma_delimited_list
|
||||
NeutronAgentExtensions:
|
||||
default: "qos"
|
||||
description: |
|
||||
Comma-separated list of extensions enabled for the Neutron agents.
|
||||
type: comma_delimited_list
|
||||
|
||||
resources:
|
||||
|
||||
NeutronBase:
|
||||
type: ./neutron-base.yaml
|
||||
|
||||
outputs:
|
||||
role_data:
|
||||
description: Role data for the Neutron OVS agent service.
|
||||
value:
|
||||
config_settings:
|
||||
map_merge:
|
||||
- get_attr: [NeutronBase, role_data, config_settings]
|
||||
neutron::agents::ml2::ovs::enable_tunneling: {get_param: NeutronEnableTunnelling}
|
||||
neutron::agents::ml2::ovs::l2_population: {get_param: NeutronEnableL2Pop}
|
||||
neutron::agents::ml2::ovs::bridge_mappings:
|
||||
str_replace:
|
||||
template: MAPPINGS
|
||||
params:
|
||||
MAPPINGS: {get_param: NeutronBridgeMappings}
|
||||
neutron::agents::ml2::ovs::tunnel_types:
|
||||
str_replace:
|
||||
template: TYPES
|
||||
params:
|
||||
TYPES: {get_param: NeutronTunnelTypes}
|
||||
neutron::agents::ml2::ovs::extensions:
|
||||
str_replace:
|
||||
template: AGENT_EXTENSIONS
|
||||
params:
|
||||
AGENT_EXTENSIONS: {get_param: NeutronAgentExtensions}
|
||||
step_config: |
|
||||
include ::tripleo::profile::base::neutron::ovs
|
|
@ -0,0 +1,109 @@
|
|||
heat_template_version: 2016-04-08
|
||||
|
||||
description: >
|
||||
OpenStack Neutron ML2 Plugin configured with Puppet
|
||||
|
||||
parameters:
|
||||
EndpointMap:
|
||||
default: {}
|
||||
description: Mapping of service endpoint -> protocol. Typically set
|
||||
via parameter_defaults in the resource registry.
|
||||
type: json
|
||||
NeutronMechanismDrivers:
|
||||
default: 'openvswitch'
|
||||
description: |
|
||||
The mechanism drivers for the Neutron tenant network.
|
||||
type: comma_delimited_list
|
||||
NeutronTypeDrivers:
|
||||
default: "vxlan,vlan,flat,gre"
|
||||
description: |
|
||||
Comma-separated list of network type driver entrypoints to be loaded.
|
||||
type: comma_delimited_list
|
||||
NeutronFlatNetworks:
|
||||
type: comma_delimited_list
|
||||
default: 'datacentre'
|
||||
description: If set, flat networks to configure in neutron plugins.
|
||||
NeutronPluginExtensions:
|
||||
default: "qos,port_security"
|
||||
description: |
|
||||
Comma-separated list of extensions enabled for the Neutron plugin.
|
||||
type: comma_delimited_list
|
||||
NeutronNetworkVLANRanges:
|
||||
default: 'datacentre:1:1000'
|
||||
description: >
|
||||
The Neutron ML2 and OpenVSwitch vlan mapping range to support. See the
|
||||
Neutron documentation for permitted values. Defaults to permitting any
|
||||
VLAN on the 'datacentre' physical network (See NeutronBridgeMappings).
|
||||
type: comma_delimited_list
|
||||
NeutronTunnelIdRanges:
|
||||
description: |
|
||||
Comma-separated list of <tun_min>:<tun_max> tuples enumerating ranges
|
||||
of GRE tunnel IDs that are available for tenant network allocation
|
||||
default: ["1:4094", ]
|
||||
type: comma_delimited_list
|
||||
NeutronVniRanges:
|
||||
description: |
|
||||
Comma-separated list of <vni_min>:<vni_max> tuples enumerating ranges
|
||||
of VXLAN VNI IDs that are available for tenant network allocation
|
||||
default: ["1:4094", ]
|
||||
type: comma_delimited_list
|
||||
NeutronNetworkType:
|
||||
default: 'vxlan'
|
||||
description: The tenant network type for Neutron.
|
||||
type: comma_delimited_list
|
||||
|
||||
resources:
|
||||
|
||||
NeutronBase:
|
||||
type: ./neutron-base.yaml
|
||||
|
||||
outputs:
|
||||
role_data:
|
||||
description: Role data for the Neutron ML2 plugin.
|
||||
value:
|
||||
config_settings:
|
||||
map_merge:
|
||||
- get_attr: [NeutronBase, role_data, config_settings]
|
||||
- neutron::plugins::ml2::mechanism_drivers:
|
||||
str_replace:
|
||||
template: MECHANISMS
|
||||
params:
|
||||
MECHANISMS: {get_param: NeutronMechanismDrivers}
|
||||
neutron::plugins::ml2::type_drivers:
|
||||
str_replace:
|
||||
template: DRIVERS
|
||||
params:
|
||||
DRIVERS: {get_param: NeutronTypeDrivers}
|
||||
neutron::plugins::ml2::flat_networks:
|
||||
str_replace:
|
||||
template: NETWORKS
|
||||
params:
|
||||
NETWORKS: {get_param: NeutronFlatNetworks}
|
||||
neutron::plugins::ml2::extension_drivers:
|
||||
str_replace:
|
||||
template: PLUGIN_EXTENSIONS
|
||||
params:
|
||||
PLUGIN_EXTENSIONS: {get_param: NeutronPluginExtensions}
|
||||
neutron::plugins::ml2::network_vlan_ranges:
|
||||
str_replace:
|
||||
template: RANGES
|
||||
params:
|
||||
RANGES: {get_param: NeutronNetworkVLANRanges}
|
||||
neutron::plugins::ml2::tunnel_id_ranges:
|
||||
str_replace:
|
||||
template: RANGES
|
||||
params:
|
||||
RANGES: {get_param: NeutronTunnelIdRanges}
|
||||
neutron::plugins::ml2::vni_ranges:
|
||||
str_replace:
|
||||
template: RANGES
|
||||
params:
|
||||
RANGES: {get_param: NeutronVniRanges}
|
||||
neutron::plugins::ml2::tenant_network_types:
|
||||
str_replace:
|
||||
template: TYPES
|
||||
params:
|
||||
TYPES: {get_param: NeutronNetworkType}
|
||||
|
||||
step_config: |
|
||||
include ::tripleo::profile::base::neutron::ml2
|
|
@ -0,0 +1,25 @@
|
|||
heat_template_version: 2016-04-08
|
||||
|
||||
description: >
|
||||
OpenStack Neutron OVS agent with Pacemaker configured with Puppet
|
||||
|
||||
parameters:
|
||||
EndpointMap:
|
||||
default: {}
|
||||
description: Mapping of service endpoint -> protocol. Typically set
|
||||
via parameter_defaults in the resource registry.
|
||||
type: json
|
||||
|
||||
resources:
|
||||
|
||||
NeutronOvsBase:
|
||||
type: ../neutron-ovs-agent.yaml
|
||||
|
||||
outputs:
|
||||
role_data:
|
||||
description: Role data for the Neutron OVS agent service.
|
||||
value:
|
||||
config_settings:
|
||||
get_attr: [NeutronOvsBase, role_data, config_settings]
|
||||
step_config: |
|
||||
include ::tripleo::profile::pacemaker::neutron::ovs
|
|
@ -0,0 +1,28 @@
|
|||
heat_template_version: 2016-04-08
|
||||
|
||||
description: >
|
||||
OpenStack Neutron ML2 Plugin with Pacemaker configured with Puppet
|
||||
|
||||
parameters:
|
||||
EndpointMap:
|
||||
default: {}
|
||||
description: Mapping of service endpoint -> protocol. Typically set
|
||||
via parameter_defaults in the resource registry.
|
||||
type: json
|
||||
|
||||
resources:
|
||||
|
||||
NeutronMl2Base:
|
||||
type: ../neutron-plugin-ml2.yaml
|
||||
|
||||
outputs:
|
||||
role_data:
|
||||
description: Role data for the Neutron ML2 plugin.
|
||||
value:
|
||||
config_settings:
|
||||
map_merge:
|
||||
- get_attr: [NeutronMl2Base, role_data, config_settings]
|
||||
- neutron::agents::ml2::ovs::enabled: false
|
||||
neutron::agents::ml2::ovs::manage_service: false
|
||||
step_config: |
|
||||
include ::tripleo::profile::pacemaker::neutron::ml2
|
Loading…
Reference in New Issue