diff --git a/docker/services/ovn-controller.yaml b/docker/services/ovn-controller.yaml index f7299ae7f4..189d78c169 100644 --- a/docker/services/ovn-controller.yaml +++ b/docker/services/ovn-controller.yaml @@ -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 diff --git a/environments/services-docker/neutron-ovn-ha.yaml b/environments/services-docker/neutron-ovn-ha.yaml index 2a36c46232..faf3beaeb4 100644 --- a/environments/services-docker/neutron-ovn-ha.yaml +++ b/environments/services-docker/neutron-ovn-ha.yaml @@ -27,3 +27,5 @@ parameter_defaults: NeutronPluginExtensions: "qos,port_security,dns" ComputeParameters: NeutronBridgeMappings: "" + ControllerParameters: + OVNCMSOptions: "enable-chassis-as-gw" diff --git a/environments/services-docker/neutron-ovn.yaml b/environments/services-docker/neutron-ovn.yaml index d79a6117e3..c766bb6a92 100644 --- a/environments/services-docker/neutron-ovn.yaml +++ b/environments/services-docker/neutron-ovn.yaml @@ -27,3 +27,5 @@ parameter_defaults: NeutronPluginExtensions: "qos,port_security,dns" ComputeParameters: NeutronBridgeMappings: "" + ControllerParameters: + OVNCMSOptions: "enable-chassis-as-gw" diff --git a/puppet/services/ovn-controller.yaml b/puppet/services/ovn-controller.yaml index 106caf02f7..18cb9665d2 100644 --- a/puppet/services/ovn-controller.yaml +++ b/puppet/services/ovn-controller.yaml @@ -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]}