Description of problem: I am deploying OSP16.1 OC with OVN configuration. The following script is used: (overcloud) [stack@undercloud-0 ~]$ cat overcloud_deploy.sh #!/bin/bash THT_PATH='/home/stack/ospd-16-vlan-sriov-hybrid-ha-ovn-squad' if [[ ! -f "$THT_PATH/roles_data.yaml" ]]; then openstack overcloud roles generate -o $THT_PATH/roles_data.yaml ControllerSriov ComputeSriov fi openstack -vvv overcloud deploy \ --templates \ --timeout 120 \ -r $THT_PATH/roles_data.yaml \ -e /usr/share/openstack-tripleo-heat-templates/environments/network-isolation.yaml \ -e /usr/share/openstack-tripleo-heat-templates/environments/services/neutron-sriov.yaml \ -e /usr/share/openstack-tripleo-heat-templates/environments/host-config-and-reboot.yaml \ -e /usr/share/openstack-tripleo-heat-templates/environments/services/neutron-ovn-dvr-ha.yaml \ -e /home/stack/ospd-16-vlan-sriov-hybrid-ha-ovn-squad/network-environment.yaml \ -e /home/stack/containers-prepare-parameter.yaml \ -e /home/stack/ospd-16-vlan-sriov-hybrid-ha-ovn-squad/os-net-config-mappings.yaml \ --log-file overcloud_install.log &> overcloud_install.log The following file includes OVNCMSOptions configuration: (overcloud) [stack@undercloud-0 ~]$ grep -B1 OVNCMSOptions /usr/share/openstack-tripleo-heat-templates/environments/services/neutron-ovn-dvr-ha.yaml ControllerParameters: OVNCMSOptions: "enable-chassis-as-gw" However, OVS is not configured with that value (see no ovn-cms-options value is included): [root@controller-0 ~]# ovs-vsctl list open . | grep external_ids external_ids : {hostname=controller-0.localdomain, ovn-bridge=br-int, ovn-bridge-mappings="datacentre:br-ext-int,tenant:br-int", ovn-encap-ip="10.20.2.67", ovn-encap-type=geneve, ovn- openflow-probe-interval="60", ovn-remote="tcp:10.20.1.72:6642", ovn-remote-probe-interval="60000", rundir="/var/run/openvswitch", system-id="479e0c95-8438-4a22-aa6f-68673be395bf"} Due to this, ovn-cms-options value is empty in OVN SB DB: [root@controller-0 ~]# podman exec -u root -it ovn-dbs-bundle-podman-0 bash ()[root@controller-0 /]# ovn-sbctl list chassis | grep ovn-cms-options external_ids : {datapath-type=system, iface-types="erspan,geneve,gre,internal,ip6erspan,ip6gre,lisp,patch,stt,system,tap,vxlan", is-interconn="false", neutron-metadata-proxy-networks= "", "neutron:liveness_check_at"="2020-04-28T15:10:22.749200+00:00", "neutron:metadata_liveness_check_at"="2020-04-28T15:10:22.755921+00:00", "neutron:ovn-metadata-id"="2903a683-83f7-4b9c-975 9-d0cf41867aea", "neutron:ovn-metadata-sb-cfg"="1936", ovn-bridge-mappings="datacentre:br-ext-int,tenant:br-int", ovn-chassis-mac-mappings="", ovn-cms-options=""} Version-Release number of selected component (if applicable): RHOS-16.1-RHEL-8-20200424.n.0 python3-tripleo-common-11.3.3-0.20200423204446.86569f2.el8ost.noarch How reproducible: 1/1 Steps to Reproduce: 1. install osp16.1 with ovn configured 2. ovs-vsctl list open . | grep external_ids 3. Actual results: No ovn-cms-options value Expected results: ovn-cms-options="enable-chassis-as-gw" Additional info:
Verification information: puddle: RHOS-16.1-RHEL-8-20200520.n.0 openstack-tripleo-heat-templates-11.3.2-0.20200514023428.0602d12.el8ost.noarch Files neutron-ovn-dvr-ha.yaml, neutron-ovn-ha.yaml and neutron-ovn-standalone.yaml set OVNCMSOptions for Sriov roles. For example: /usr/share/openstack-tripleo-heat-templates/environments/services/neutron-ovn-ha.yaml- ControllerParameters: /usr/share/openstack-tripleo-heat-templates/environments/services/neutron-ovn-ha.yaml: OVNCMSOptions: "enable-chassis-as-gw" /usr/share/openstack-tripleo-heat-templates/environments/services/neutron-ovn-ha.yaml- ControllerSriovParameters: /usr/share/openstack-tripleo-heat-templates/environments/services/neutron-ovn-ha.yaml: OVNCMSOptions: "enable-chassis-as-gw" /usr/share/openstack-tripleo-heat-templates/environments/services/neutron-ovn-ha.yaml- NetworkerParameters: /usr/share/openstack-tripleo-heat-templates/environments/services/neutron-ovn-ha.yaml: OVNCMSOptions: "enable-chassis-as-gw" /usr/share/openstack-tripleo-heat-templates/environments/services/neutron-ovn-ha.yaml- NetworkerSriovParameters: /usr/share/openstack-tripleo-heat-templates/environments/services/neutron-ovn-ha.yaml: OVNCMSOptions: "enable-chassis-as-gw" The value is correctly applied to GW nodes (in this case, to controller nodes): [heat-admin@controller-0 ~]$ sudo ovs-vsctl get open . external_ids:ovn-cms-options enable-chassis-as-gw External connectivity from VM instances with SRIOV ports is successful.
If this bug requires doc text for errata release, please set the 'Doc Type' and provide draft text according to the template in the 'Doc Text' field. The documentation team will review, edit, and approve the text. If this bug does not require doc text, please set the 'requires_doc_text' flag to '-'.
Since the problem described in this bug report should be resolved in a recent advisory, it has been closed with a resolution of ERRATA. For information on the advisory, and where to find the updated files, follow the link below. If the solution does not work for you, open a new bug report. https://access.redhat.com/errata/RHBA-2020:3148