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
(cherry picked from commit 1e43e5b08f
)
This commit is contained in:
parent
b2c2755db7
commit
7c3865d213
@ -23,3 +23,6 @@ parameter_defaults:
|
||||
NeutronNetworkType: 'geneve'
|
||||
NeutronServicePlugins: 'qos,ovn-router'
|
||||
NeutronVniRanges: ['1:65536', ]
|
||||
|
||||
ComputeParameters:
|
||||
NeutronBridgeMappings: ""
|
||||
|
@ -23,3 +23,6 @@ parameter_defaults:
|
||||
NeutronNetworkType: 'geneve'
|
||||
NeutronServicePlugins: 'qos,ovn-router'
|
||||
NeutronVniRanges: ['1:65536', ]
|
||||
|
||||
ComputeParameters:
|
||||
NeutronBridgeMappings: ""
|
||||
|
@ -26,3 +26,6 @@ parameter_defaults:
|
||||
# TODO (numans) - This is temporary and needs to be handled in tripleo-common
|
||||
DockerNeutronApiImage: 'tripleoupstream/centos-binary-neutron-server-ovn:latest'
|
||||
DockerNeutronConfigImage: 'tripleoupstream/centos-binary-neutron-server-ovn:latest'
|
||||
|
||||
ComputeParameters:
|
||||
NeutronBridgeMappings: ""
|
||||
|
@ -25,3 +25,6 @@ parameter_defaults:
|
||||
NeutronVniRanges: ['1:65536', ]
|
||||
DockerNeutronApiImage: 'tripleoupstream/centos-binary-neutron-server-ovn:latest'
|
||||
DockerNeutronConfigImage: 'tripleoupstream/centos-binary-neutron-server-ovn:latest'
|
||||
|
||||
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
|
||||
|
@ -50,24 +50,40 @@ parameters:
|
||||
default: "datacentre:br-ex"
|
||||
|
||||
|
||||
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, NeutronApiNetwork]}
|
||||
ovn::controller::ovn_bridge_mappings: {get_param: NeutronBridgeMappings}
|
||||
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, NeutronApiNetwork]}
|
||||
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