ovn: Provide the option to configure OVNCMSOptions ('ovn-cms-options') as a role parameter
This option was recently supported in ovn-controller [1]. If this value is configured
in the external_ids column of OpenvSwitch table of OVS database, ovn-controller copies
it to the chassis table, which will be read by Neutron OVN mechanism driver. OVN mech driver can
take certain decisions based on the value. One such use case is setting the value
'enable-chassis-as-gw' in this option. Only those chassis which has this option set,
will be considered as a candidate to schedule a neutron router. So, the administrator
can decide to use only controller nodes (or networker nodes) for scheduling the
router.
[1] - 4705963f2c
Change-Id: Iabe5aec30c740447b9714e1b1ace366768488bdb
Signed-off-by: Numan Siddique <nusiddiq@redhat.com>
This commit is contained in:
parent
7f0fd98287
commit
71d59bb0a3
@ -87,8 +87,23 @@ outputs:
|
||||
recurse: true
|
||||
docker_config:
|
||||
step_4:
|
||||
configure_cms_options:
|
||||
start_order: 0
|
||||
detach: false
|
||||
net: host
|
||||
privileged: true
|
||||
user: root
|
||||
command: ['/bin/bash', '-c', 'CMS_OPTS=$(hiera ovn::controller::ovn_cms_options -c /etc/puppet/hiera.yaml); if [ X"$CMS_OPTS" != X ]; then ovs-vsctl set open . external_ids:ovn-cms-opts=$CMS_OPTS; fi']
|
||||
image: &ovn_controller_image {get_param: DockerOvnControllerImage}
|
||||
volumes:
|
||||
list_concat:
|
||||
- {get_attr: [ContainersCommon, volumes]}
|
||||
-
|
||||
- /lib/modules:/lib/modules:ro
|
||||
- /run/openvswitch:/run/openvswitch
|
||||
ovn_controller:
|
||||
image: {get_param: DockerOvnControllerImage}
|
||||
start_order: 1
|
||||
image: *ovn_controller_image
|
||||
net: host
|
||||
privileged: true
|
||||
user: root
|
||||
|
@ -27,3 +27,5 @@ parameter_defaults:
|
||||
NeutronPluginExtensions: "qos,port_security,dns"
|
||||
ComputeParameters:
|
||||
NeutronBridgeMappings: ""
|
||||
ControllerParameters:
|
||||
OVNCMSOptions: "enable-chassis-as-gw"
|
||||
|
@ -27,3 +27,5 @@ parameter_defaults:
|
||||
NeutronPluginExtensions: "qos,port_security,dns"
|
||||
ComputeParameters:
|
||||
NeutronBridgeMappings: ""
|
||||
ControllerParameters:
|
||||
OVNCMSOptions: "enable-chassis-as-gw"
|
||||
|
@ -57,6 +57,10 @@ parameters:
|
||||
description: Whether Metadata Service has to be enabled
|
||||
type: boolean
|
||||
default: true
|
||||
OVNCMSOptions:
|
||||
description: The CMS options to configure in ovs db
|
||||
type: string
|
||||
default: ""
|
||||
|
||||
|
||||
resources:
|
||||
@ -70,9 +74,11 @@ resources:
|
||||
map_replace:
|
||||
- map_replace:
|
||||
- ovn::controller::ovn_bridge_mappings: NeutronBridgeMappings
|
||||
ovn::controller::ovn_cms_options: OVNCMSOptions
|
||||
- values: {get_param: [RoleParameters]}
|
||||
- values:
|
||||
NeutronBridgeMappings: {get_param: NeutronBridgeMappings}
|
||||
OVNCMSOptions: {get_param: OVNCMSOptions}
|
||||
|
||||
conditions:
|
||||
force_config_drive: {equals: [{get_param: OVNMetadataEnabled}, false]}
|
||||
|
Loading…
Reference in New Issue
Block a user