Note: This bug is displayed in read-only format because the product is no longer active in Red Hat Bugzilla.

Bug 1930161

Summary: Add ovs/igmp_snooping_enable support
Product: Red Hat OpenStack Reporter: Miguel Angel Nieto <mnietoji>
Component: puppet-neutronAssignee: Bernard Cafarelli <bcafarel>
Status: CLOSED ERRATA QA Contact: nlevinki <nlevinki>
Severity: medium Docs Contact:
Priority: medium    
Version: 13.0 (Queens)CC: aschultz, bcafarel, hakhande, jjoyce, jschluet, mburns, ralonsoh, slinaber, tvignaud
Target Milestone: z16Keywords: Triaged, ZStream
Target Release: 13.0 (Queens)   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: puppet-neutron-12.4.1-15.el7ost Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2021-06-16 10:58:58 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Miguel Angel Nieto 2021-02-18 12:28:04 UTC
Description of problem:
We are configuring the following parameters in our templates for our role ComputeOvsDpdkSriov:

  ComputeOvsDpdkSriovExtraConfig:
    neutron::agents::ml2::ovs::igmp_snooping_enable: true
    neutron::agents::ml2::ovs::other_config:mcast-snooping-disable-flood-unregistered: true

But I can see that parameters are not applied:
[heat-admin@computeovsdpdksriov-1 ~]$ cat /var/lib/config-data/puppet-generated/neutron/etc/neutron/plugins/ml2/openvswitch_agent.ini

[ovs]
bridge_mappings=access:br-access,dpdk-mgmt:br-link0,dpdk-data0:br-dpdk0,dpdk-data1:br-dpdk1,sriov-1:br-sriov1,sriov-2:br-sriov2
integration_bridge=br-int
datapath_type=netdev
vhostuser_socket_dir=/var/lib/vhost_sockets
tunnel_bridge=br-tun
local_ip=10.10.166.139

[agent]
l2_population=False
arp_responder=False
enable_distributed_routing=False
drop_flows_on_start=False
extensions=qos
tunnel_csum=False
tunnel_types=vxlan
vxlan_udp_port=4789

[securitygroup]
firewall_driver=openvswitch


Templates are found in the following url: https://gitlab.cee.redhat.com/mnietoji/deployment_templates/-/tree/b5b366f5257c973457b3127b60824c7d69eb3da6/ospd-13-vxlan-dpdk-sriov-ctlplane-dataplane-bonding-hybrid-panther06



Version-Release number of selected component (if applicable):
[stack@undercloud-0 ~]$ cat core_puddle_version 
2021-01-20.1[stack@undercloud-0 ~]$ 

How reproducible:
Deploy in osp13 with the following parameters:
  ComputeOvsDpdkSriovExtraConfig:
    neutron::agents::ml2::ovs::igmp_snooping_enable: true
    neutron::agents::ml2::ovs::other_config:mcast-snooping-disable-flood-unregistered: true

Check /var/lib/config-data/puppet-generated/neutron/etc/neutron/plugins/ml2/openvswitch_agent.ini to check if parameters are configured properly


Actual results:
Parameters in {{RoleName}}ExtraConfig are ignored


Expected results:
Parameters in {{RoleName}}ExtraConfig should been configured

Additional info:

Comment 2 Alex Schultz 2021-02-18 14:46:16 UTC
Since ExtraConfig is used a lot of places this is likely the missing patch from puppet-neutron. Kicking over to Networking to look into the deployment as it's specifically related to a patch they've only landed last week.  https://review.opendev.org/c/openstack/puppet-neutron/+/773375  You should check the hieradata directory to see if these values are being applied to the system from a Deployment standpoint. The application in the configuration requires that the puppet code understands these extra parameters.  grep igmp_snooping /etc/puppet/hieradata/*

Comment 3 Alex Schultz 2021-02-18 14:47:35 UTC
Also "neutron::agents::ml2::ovs::other_config:mcast-snooping-disable-flood-unregistered: true" is bad.  If this is a dict it should be:


    neutron::agents::ml2::ovs::other_config:
      mcast-snooping-disable-flood-unregistered: true

Comment 4 Rodolfo Alonso 2021-02-23 11:31:55 UTC
Hello:

"neutron::agents::ml2::ovs::other_config:mcast-snooping-disable-flood-unregistered" is not a configuration variable in the Neutron configuration manifest.

Since [1], "igmp_snooping_enable" is available upstream. If needed, this patch can be backported to OSP13. "igmp_snooping_enable" config parameter will set the OVS "mcast-snooping-disable-flood-unregistered" config one.

Regards.

[1]https://review.opendev.org/c/openstack/puppet-neutron/+/773375

Comment 16 Miguel Angel Nieto 2021-05-31 09:35:46 UTC
I verified it using these templates:
https://gitlab.cee.redhat.com/mnietoji/deployment_templates/-/blob/e28bfa62f2ba9a8a17adb504fd502b3135bbf81c/tht/ospd-13-vxlan-dpdk-sriov-ctlplane-dataplane-bonding-lacp-igmp-hybrid/network-environment-overrides.yaml

which contains:
  ComputeOvsDpdkSriovExtraConfig:
    neutron::agents::ml2::ovs::igmp_snooping_enable: true

Used version:
puppet-neutron-12.4.1-15.el7ost.noarch
puddle: 2021-05-13.1

Now it is possible to configure igmp:
[root@computeovsdpdksriov-0 heat-admin]# ovs-vsctl list bridge br-int
_uuid               : 4abbe7b1-dc98-47ce-a724-a61f55883160
auto_attach         : []
controller          : [c4de36f1-cb7c-4f86-8c9d-cdc7b1b120f0]
datapath_id         : "0000b2e7bb4ace47"
datapath_type       : netdev
datapath_version    : "<built-in>"
external_ids        : {}
fail_mode           : secure
flood_vlans         : []
flow_tables         : {}
ipfix               : []
mcast_snooping_enable: true
mirrors             : []
name                : br-int
netflow             : []
other_config        : {mac-table-size="50000", mcast-snooping-disable-flood-unregistered=True}
ports               : [2595acb1-15bb-4d31-ac82-f6103bb63ce9, 3daef19e-8bfb-4723-938e-8819ed909c43, 3f96f73c-cbea-44b9-b94c-cb660020bb3b, 837e1d61-df23-4877-8be3-21885c4e344a, 8b9a4b40-8341-4c32-aef1-adebc55a2371, 8bbe268e-a1b6-4c8f-bcb7-639aa0c0e84b, 921e763a-0f8a-415f-b534-4568c696d26a, 9494452a-5758-44d7-aa74-fdb3bf529679, a1a9bd20-e5b2-43ad-90c3-52eb04550151, be7cfc60-538f-4ad0-ac92-ae9220a66337, bf1adbb7-2222-444a-9ded-4f0cdb4f7ffb, da9b1545-e0ea-4390-9258-e4c9062d3a0e, dc3c2850-7e9e-47cf-9b9f-568832523480]
protocols           : ["OpenFlow10", "OpenFlow11", "OpenFlow12", "OpenFlow13", "OpenFlow14"]
rstp_enable         : false
rstp_status         : {}
sflow               : []
status              : {}
stp_enable          : false

Comment 20 errata-xmlrpc 2021-06-16 10:58:58 UTC
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 (Red Hat OpenStack Platform 13.0 bug fix and enhancement 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-2021:2385