[OVN] Inconsistent "flooding to unregistered" IGMP configuration

Bug #1904399 reported by Lucas Alvares Gomes
10
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Ubuntu Cloud Archive
Fix Released
High
Unassigned
Ussuri
Fix Released
High
Unassigned
Victoria
Fix Released
High
Unassigned
neutron
Fix Released
Medium
Lucas Alvares Gomes
neutron (Ubuntu)
Fix Released
Undecided
Unassigned
Focal
Fix Released
High
Unassigned
Groovy
Fix Released
High
Unassigned
Hirsute
Fix Released
Undecided
Unassigned

Bug Description

ML2/OVN reuses the same "[ovs]/igmp_snooping_enable" configuration option from ML2/OVS, which says [0]:

"Setting this option to True will also enable Open vSwitch mcast-snooping-disable-flood-unregistered flag. This option will disable flooding of unregistered multicast packets to all ports."

But, that's not true for ML2/OVN, in fact, this is the opposite because ML2/OVN does have the option to flood to unregistered VMs enabled by default.

In order to keep the consistent between both drivers and this configuration option, ML2/OVN needs to disable the "mcast_flood_unregistered" configuration in the other_config column from the Logical Switch table when igmp_snooping_enable is True.

[0] https://opendev.org/openstack/neutron/src/branch/master/neutron/conf/agent/ovs_conf.py#L36-L47

[Impact]

See above.

[Test Case]

Run the following and expect success:
root@f1:~# sudo apt install python3-neutron
root@f1:/usr/lib/python3/dist-packages# python3 -m unittest neutron.tests.unit.plugins.ml2.drivers.ovn.mech_driver.ovsdb.test_maintenance.TestDBInconsistenciesPeriodics.test_check_for_igmp_snoop_support

I would also like to get test feedback from Canonical bootstack as they are hitting this issue.

[Regression Potential]
This is a very minimal and targeted change that always hard codes MCAST_FLOOD_UNREGISTERED to 'false'.

In assessing regression potential for changes like this, one that comes to mind is potential of a type error when setting MCAST_FLOOD_UNREGISTERED. Upon visual inspection of this code fix, a type error would be impossible, as what was once set to a 'true' or 'false' value is now set to 'false'.

Another thought is whether MCAST_FLOOD_UNREGISTERED has any use if MCAST_SNOOP is set to false, but that is not the case according to upstream OVN documentation which states: mcast_flood_unregistered: optional string, either true or false Determines whether unregistered multicast traffic should be flooded or not. Only applicable if other_config:mcast_snoop is enabled.

Changed in neutron:
assignee: nobody → Lucas Alvares Gomes (lucasagomes)
importance: Undecided → Medium
importance: Medium → High
importance: High → Medium
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix proposed to neutron (master)

Fix proposed to branch: master
Review: https://review.opendev.org/762818

Changed in neutron:
status: New → In Progress
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix included in openstack/neutron 16.3.0

This issue was fixed in the openstack/neutron 16.3.0 release.

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix included in openstack/neutron 17.1.0

This issue was fixed in the openstack/neutron 17.1.0 release.

Changed in neutron (Ubuntu Hirsute):
status: New → Fix Released
Changed in neutron (Ubuntu Groovy):
status: New → Triaged
Changed in neutron (Ubuntu Focal):
status: New → Triaged
Changed in neutron:
status: In Progress → Fix Released
Changed in neutron (Ubuntu Focal):
importance: Undecided → High
Changed in neutron (Ubuntu Groovy):
importance: Undecided → High
Revision history for this message
Corey Bryant (corey.bryant) wrote :

New versions of neutron containing this fix have been uploaded to the groovy and focal unapproved queue where they are awaiting SRU team review.

description: updated
description: updated
Revision history for this message
Brian Murray (brian-murray) wrote : Please test proposed package

Hello Lucas, or anyone else affected,

Accepted neutron into groovy-proposed. The package will build now and be available at https://launchpad.net/ubuntu/+source/neutron/2:17.0.0-0ubuntu3 in a few hours, and then in the -proposed repository.

Please help us by testing this new package. See https://wiki.ubuntu.com/Testing/EnableProposed for documentation on how to enable and use -proposed. Your feedback will aid us getting this update out to other Ubuntu users.

If this package fixes the bug for you, please add a comment to this bug, mentioning the version of the package you tested, what testing has been performed on the package and change the tag from verification-needed-groovy to verification-done-groovy. If it does not fix the bug for you, please add a comment stating that, and change the tag to verification-failed-groovy. In either case, without details of your testing we will not be able to proceed.

Further information regarding the verification process can be found at https://wiki.ubuntu.com/QATeam/PerformingSRUVerification . Thank you in advance for helping!

N.B. The updated package will be released to -updates after the bug(s) fixed by this package have been verified and the package has been in -proposed for a minimum of 7 days.

Changed in neutron (Ubuntu Groovy):
status: Triaged → Fix Committed
tags: added: verification-needed verification-needed-groovy
Changed in neutron (Ubuntu Focal):
status: Triaged → Fix Committed
tags: added: verification-needed-focal
Revision history for this message
Brian Murray (brian-murray) wrote :

Hello Lucas, or anyone else affected,

Accepted neutron into focal-proposed. The package will build now and be available at https://launchpad.net/ubuntu/+source/neutron/2:16.2.0-0ubuntu3 in a few hours, and then in the -proposed repository.

Please help us by testing this new package. See https://wiki.ubuntu.com/Testing/EnableProposed for documentation on how to enable and use -proposed. Your feedback will aid us getting this update out to other Ubuntu users.

If this package fixes the bug for you, please add a comment to this bug, mentioning the version of the package you tested, what testing has been performed on the package and change the tag from verification-needed-focal to verification-done-focal. If it does not fix the bug for you, please add a comment stating that, and change the tag to verification-failed-focal. In either case, without details of your testing we will not be able to proceed.

Further information regarding the verification process can be found at https://wiki.ubuntu.com/QATeam/PerformingSRUVerification . Thank you in advance for helping!

N.B. The updated package will be released to -updates after the bug(s) fixed by this package have been verified and the package has been in -proposed for a minimum of 7 days.

Revision history for this message
Corey Bryant (corey.bryant) wrote :

Hello Lucas, or anyone else affected,

Accepted neutron into victoria-proposed. The package will build now and be available in the Ubuntu Cloud Archive in a few hours, and then in the -proposed repository.

Please help us by testing this new package. To enable the -proposed repository:

  sudo add-apt-repository cloud-archive:victoria-proposed
  sudo apt-get update

Your feedback will aid us getting this update out to other Ubuntu users.

If this package fixes the bug for you, please add a comment to this bug, mentioning the version of the package you tested, and change the tag from verification-victoria-needed to verification-victoria-done. If it does not fix the bug for you, please add a comment stating that, and change the tag to verification-victoria-failed. In either case, details of your testing will help us make a better decision.

Further information regarding the verification process can be found at https://wiki.ubuntu.com/QATeam/PerformingSRUVerification . Thank you in advance!

tags: added: verification-victoria-needed
Revision history for this message
Corey Bryant (corey.bryant) wrote :

Hello Lucas, or anyone else affected,

Accepted neutron into ussuri-proposed. The package will build now and be available in the Ubuntu Cloud Archive in a few hours, and then in the -proposed repository.

Please help us by testing this new package. To enable the -proposed repository:

  sudo add-apt-repository cloud-archive:ussuri-proposed
  sudo apt-get update

Your feedback will aid us getting this update out to other Ubuntu users.

If this package fixes the bug for you, please add a comment to this bug, mentioning the version of the package you tested, and change the tag from verification-ussuri-needed to verification-ussuri-done. If it does not fix the bug for you, please add a comment stating that, and change the tag to verification-ussuri-failed. In either case, details of your testing will help us make a better decision.

Further information regarding the verification process can be found at https://wiki.ubuntu.com/QATeam/PerformingSRUVerification . Thank you in advance!

tags: added: verification-ussuri-needed
Revision history for this message
Corey Bryant (corey.bryant) wrote :
Download full text (5.5 KiB)

Testcases successful (see below). I would also like to get bootstack feedback before tagging this as verified.

== groovy-proposed ==
root@g1:/usr/lib/python3/dist-packages# python3 -m unittest neutron.tests.unit.plugins.ml2.drivers.ovn.mech_driver.ovsdb.test_maintenance.TestDBInconsistenciesPeriodics.test_check_for_igmp_snoop_support
Could not load 'oslo_cache.etcd3gw': No module named 'etcd3gw'
/usr/lib/python3/dist-packages/sqlalchemy/orm/relationships.py:1993: SAWarning: Setting backref / back_populates on relationship QosNetworkPolicyBinding.port to refer to viewonly relationship Port.qos_network_policy_binding should include sync_backref=False set on the QosNetworkPolicyBinding.port relationship. (this warning may be suppressed after 10 occurrences)
  util.warn_limited(
/usr/lib/python3/dist-packages/sqlalchemy/orm/relationships.py:1993: SAWarning: Setting backref / back_populates on relationship Tag.standard_attr to refer to viewonly relationship StandardAttribute.tags should include sync_backref=False set on the Tag.standard_attr relationship. (this warning may be suppressed after 10 occurrences)
  util.warn_limited(
/usr/lib/python3/dist-packages/neutron_lib/context.py:151: DeprecationWarning: context.session is used with and without new enginefacade. Please update the code to use new enginefacede consistently.
  warnings.warn('context.session is used with and without '
.
----------------------------------------------------------------------
Ran 1 test in 1.716s

OK
root@g1:/usr/lib/python3/dist-packages# apt policy python3-neutron
python3-neutron:
  Installed: 2:17.0.0-0ubuntu3
  Candidate: 2:17.0.0-0ubuntu3
  Version table:
 *** 2:17.0.0-0ubuntu3 500
        500 http://archive.ubuntu.com/ubuntu groovy-proposed/main amd64 Packages

== focal-proposed ==
root@f1:/usr/lib/python3/dist-packages# python3 -m unittest neutron.tests.unit.plugins.ml2.drivers.ovn.mech_driver.ovsdb.test_maintenance.TestDBInconsistenciesPeriodics.test_check_for_igmp_snoop_support
/usr/lib/python3/dist-packages/neutron_lib/context.py:151: DeprecationWarning: context.session is used with and without new enginefacade. Please update the code to use new enginefacede consistently.
  warnings.warn('context.session is used with and without '
.
----------------------------------------------------------------------
Ran 1 test in 2.692s

OK
root@f1:/usr/lib/python3/dist-packages# python3 -m unittest neutron.tests.unit.plugins.ml2.drivers.ovn.mech_driver.ovsdb.test_maintenance.TestDBInconsistenciesPeriodics.test_check_for_igmp_snoop_support^C
root@f1:/usr/lib/python3/dist-packages# apt policy python3-neutron
python3-neutron:
  Installed: 2:16.2.0-0ubuntu3
  Candidate: 2:16.2.0-0ubuntu3
  Version table:
 *** 2:16.2.0-0ubuntu3 500
        500 http://archive.ubuntu.com/ubuntu focal-proposed/main amd64 Packages

== victoria-proposed ==
root@fv:/usr/lib/python3/dist-packages# python3 -m unittest neutron.tests.unit.plugins.ml2.drivers.ovn.mech_driver.ovsdb.test_maintenance.TestDBInconsistenciesPeriodics.test_check_for_igmp_snoop_support
Could not load 'oslo_cache.etcd3gw': No module named 'etcd3gw'
/usr/lib/python3/dist-packages/sqlalchemy/orm/relationships.py:1993: SAWarning...

Read more...

Revision history for this message
Chris Halse Rogers (raof) wrote :

This is now blocking the acceptance of the 17.1.0 SRU from unapproved for both focal and groovy. Could someone please do the SRU testing for this package?

tags: added: verification-done verification-done-focal verification-done-groovy verification-ussuri-done verification-victoria-done
removed: verification-needed verification-needed-focal verification-needed-groovy verification-ussuri-needed verification-victoria-needed
Revision history for this message
Łukasz Zemczak (sil2100) wrote : Update Released

The verification of the Stable Release Update for neutron has completed successfully and the package is now being released to -updates. Subsequently, the Ubuntu Stable Release Updates Team is being unsubscribed and will not receive messages about this bug report. In the event that you encounter a regression using the package from -updates please report a new bug using ubuntu-bug and tag the bug report regression-update so we can easily find any regressions.

Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package neutron - 2:17.0.0-0ubuntu3

---------------
neutron (2:17.0.0-0ubuntu3) groovy; urgency=medium

  * d/p/ovn-fix-inconsistent-igmp-configuration.patch: Cherry-picked from
    upstream stable/victoria to ensure flooding of unregistered multicast
    packets to all ports is disabled (LP: #1904399).

 -- Corey Bryant <email address hidden> Mon, 08 Feb 2021 12:25:46 -0500

Changed in neutron (Ubuntu Groovy):
status: Fix Committed → Fix Released
Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package neutron - 2:16.2.0-0ubuntu3

---------------
neutron (2:16.2.0-0ubuntu3) focal; urgency=medium

  * d/p/ovn-fix-inconsistent-igmp-configuration.patch: Cherry-picked from
    upstream stable/ussuri to ensure flooding of unregistered multicast
    packets to all ports is disabled (LP: #1904399).

 -- Corey Bryant <email address hidden> Mon, 08 Feb 2021 12:31:39 -0500

Changed in neutron (Ubuntu Focal):
status: Fix Committed → Fix Released
Revision history for this message
Corey Bryant (corey.bryant) wrote :

The verification of the Stable Release Update for neutron has completed successfully and the package has now been released to -updates. In the event that you encounter a regression using the package from -updates please report a new bug using ubuntu-bug and tag the bug report regression-update so we can easily find any regressions.

Revision history for this message
Corey Bryant (corey.bryant) wrote :

This bug was fixed in the package neutron - 2:17.0.0-0ubuntu3~cloud0
---------------

 neutron (2:17.0.0-0ubuntu3~cloud0) focal-victoria; urgency=medium
 .
   * New update for the Ubuntu Cloud Archive.
 .
 neutron (2:17.0.0-0ubuntu3) groovy; urgency=medium
 .
   * d/p/ovn-fix-inconsistent-igmp-configuration.patch: Cherry-picked from
     upstream stable/victoria to ensure flooding of unregistered multicast
     packets to all ports is disabled (LP: #1904399).

Revision history for this message
Corey Bryant (corey.bryant) wrote :

The verification of the Stable Release Update for neutron has completed successfully and the package has now been released to -updates. In the event that you encounter a regression using the package from -updates please report a new bug using ubuntu-bug and tag the bug report regression-update so we can easily find any regressions.

Revision history for this message
Corey Bryant (corey.bryant) wrote :

This bug was fixed in the package neutron - 2:16.2.0-0ubuntu3~cloud0
---------------

 neutron (2:16.2.0-0ubuntu3~cloud0) bionic-ussuri; urgency=medium
 .
   * New update for the Ubuntu Cloud Archive.
 .
 neutron (2:16.2.0-0ubuntu3) focal; urgency=medium
 .
   * d/p/ovn-fix-inconsistent-igmp-configuration.patch: Cherry-picked from
     upstream stable/ussuri to ensure flooding of unregistered multicast
     packets to all ports is disabled (LP: #1904399).

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix included in openstack/networking-ovn 7.4.0

This issue was fixed in the openstack/networking-ovn 7.4.0 release.

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix included in openstack/neutron 18.0.0.0rc1

This issue was fixed in the openstack/neutron 18.0.0.0rc1 release candidate.

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.