OVN: Provide the option to define NeutronBridgeMappings as a role parameter
In order for a node to provide external connectivity to tenant traffic, ovn-bridge-mappings should be defined which is read by ovn-controller service. This value comes from the T-H-T param 'NeutronBridgeMappings'. Presently this param is defined with the default value "datacentre:br-ex" and is configured on every node where ovn-controller service is enabled. This would cause problems if some of the hosts do not provide external connectvity. To solve this problem, this patch adds 'NeutronBridgeMappings' as a role parameter so that it can set to empty string if the role doesn't provide external connectivity. In the OVN environment template files, this param is set to empty for Compute role. Since NeutronBridgeMappings is also used by neutron-ovs-agent service, this patch also modifies puppet/services/neutron-ovs-agent.yaml to define NeutronBridgeMappings as a role parameter. Change-Id: I6a00b8dc1ff387cc5e1e62b4d9d7da5e1239ee31 Closes-bug: #1730711
This commit is contained in:
parent
2f12c9c750
commit
1e43e5b08f
@ -23,3 +23,6 @@ parameter_defaults:
|
||||
NeutronNetworkType: 'geneve'
|
||||
NeutronServicePlugins: 'qos,ovn-router,trunk'
|
||||
NeutronVniRanges: ['1:65536', ]
|
||||
|
||||
ComputeParameters:
|
||||
NeutronBridgeMappings: ""
|
||||
|
@ -23,3 +23,6 @@ parameter_defaults:
|
||||
NeutronNetworkType: 'geneve'
|
||||
NeutronServicePlugins: 'qos,ovn-router,trunk'
|
||||
NeutronVniRanges: ['1:65536', ]
|
||||
|
||||
ComputeParameters:
|
||||
NeutronBridgeMappings: ""
|
||||
|
@ -23,3 +23,6 @@ parameter_defaults:
|
||||
NeutronNetworkType: 'geneve'
|
||||
NeutronServicePlugins: 'qos,ovn-router,trunk'
|
||||
NeutronVniRanges: ['1:65536', ]
|
||||
|
||||
ComputeParameters:
|
||||
NeutronBridgeMappings: ""
|
||||
|
@ -23,3 +23,6 @@ parameter_defaults:
|
||||
NeutronNetworkType: 'geneve'
|
||||
NeutronServicePlugins: 'qos,ovn-router,trunk'
|
||||
NeutronVniRanges: ['1:65536', ]
|
||||
|
||||
ComputeParameters:
|
||||
NeutronBridgeMappings: ""
|
||||
|
@ -101,6 +101,20 @@ resources:
|
||||
DefaultPasswords: {get_param: DefaultPasswords}
|
||||
EndpointMap: {get_param: EndpointMap}
|
||||
|
||||
# Merging role-specific parameters (RoleParameters) with the default parameters.
|
||||
# RoleParameters will have the precedence over the default parameters.
|
||||
RoleParametersValue:
|
||||
type: OS::Heat::Value
|
||||
properties:
|
||||
type: json
|
||||
value:
|
||||
map_replace:
|
||||
- map_replace:
|
||||
- neutron::agents::ml2::ovs::bridge_mappings: NeutronBridgeMappings
|
||||
- values: {get_param: [RoleParameters]}
|
||||
- values:
|
||||
NeutronBridgeMappings: {get_param: NeutronBridgeMappings}
|
||||
|
||||
outputs:
|
||||
role_data:
|
||||
description: Role data for the Neutron OVS agent service.
|
||||
@ -113,10 +127,10 @@ outputs:
|
||||
config_settings:
|
||||
map_merge:
|
||||
- get_attr: [NeutronBase, role_data, config_settings]
|
||||
- get_attr: [RoleParametersValue, value]
|
||||
- neutron::agents::ml2::ovs::l2_population: {get_param: NeutronEnableL2Pop}
|
||||
neutron::agents::ml2::ovs::enable_distributed_routing: {get_param: NeutronEnableDVR}
|
||||
neutron::agents::ml2::ovs::arp_responder: {get_param: NeutronEnableARPResponder}
|
||||
neutron::agents::ml2::ovs::bridge_mappings: {get_param: NeutronBridgeMappings}
|
||||
neutron::agents::ml2::ovs::tunnel_types: {get_param: NeutronTunnelTypes}
|
||||
neutron::agents::ml2::ovs::extensions: {get_param: NeutronAgentExtensions}
|
||||
# NOTE: bind IP is found in Heat replacing the network name with the
|
||||
|
@ -55,25 +55,41 @@ parameters:
|
||||
default: "br-int"
|
||||
|
||||
|
||||
resources:
|
||||
# Merging role-specific parameters (RoleParameters) with the default parameters.
|
||||
# RoleParameters will have the precedence over the default parameters.
|
||||
RoleParametersValue:
|
||||
type: OS::Heat::Value
|
||||
properties:
|
||||
type: json
|
||||
value:
|
||||
map_replace:
|
||||
- map_replace:
|
||||
- ovn::controller::ovn_bridge_mappings: NeutronBridgeMappings
|
||||
- values: {get_param: [RoleParameters]}
|
||||
- values:
|
||||
NeutronBridgeMappings: {get_param: NeutronBridgeMappings}
|
||||
|
||||
outputs:
|
||||
role_data:
|
||||
description: Role data for the OVN Controller agent
|
||||
value:
|
||||
service_name: ovn_controller
|
||||
config_settings:
|
||||
ovn::southbound::port: {get_param: OVNSouthboundServerPort}
|
||||
ovn::controller::ovn_encap_type: {get_param: OVNTunnelEncapType}
|
||||
ovn::controller::ovn_encap_ip: {get_param: [ServiceNetMap, NeutronTenantNetwork]}
|
||||
ovn::controller::ovn_bridge_mappings: {get_param: NeutronBridgeMappings}
|
||||
ovn::controller::ovn_bridge: {get_param: OVNIntegrationBridge}
|
||||
nova::compute::force_config_drive: true
|
||||
tripleo.ovn_controller.firewall_rules:
|
||||
'118 neutron vxlan networks':
|
||||
proto: 'udp'
|
||||
dport: 4789
|
||||
'119 neutron geneve networks':
|
||||
proto: 'udp'
|
||||
dport: 6081
|
||||
map_merge:
|
||||
- get_attr: [RoleParametersValue, value]
|
||||
- ovn::southbound::port: {get_param: OVNSouthboundServerPort}
|
||||
ovn::controller::ovn_encap_type: {get_param: OVNTunnelEncapType}
|
||||
ovn::controller::ovn_encap_ip: {get_param: [ServiceNetMap, NeutronTenantNetwork]}
|
||||
ovn::controller::ovn_bridge: {get_param: OVNIntegrationBridge}
|
||||
nova::compute::force_config_drive: true
|
||||
tripleo.ovn_controller.firewall_rules:
|
||||
'118 neutron vxlan networks':
|
||||
proto: 'udp'
|
||||
dport: 4789
|
||||
'119 neutron geneve networks':
|
||||
proto: 'udp'
|
||||
dport: 6081
|
||||
step_config: |
|
||||
include ::tripleo::profile::base::neutron::agents::ovn
|
||||
upgrade_tasks:
|
||||
|
Loading…
Reference in New Issue
Block a user