[Bug 1904399] Re: [OVN] Inconsistent "flooding to unregistered" IGMP configuration
Corey Bryant
1904399 at bugs.launchpad.net
Tue Feb 23 22:09:42 UTC 2021
Testcases successful (see below). I would also like to get bootstack
feedback before tagging this as verified.
== groovy-proposed ==
root at 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 at 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 at 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 at 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 at 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 at 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: 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 2.562s
OK
root at fv:/usr/lib/python3/dist-packages# apt policy python3-neutron
python3-neutron:
Installed: 2:17.0.0-0ubuntu3~cloud0
Candidate: 2:17.0.0-0ubuntu3~cloud0
Version table:
*** 2:17.0.0-0ubuntu3~cloud0 500
500 http://ubuntu-cloud.archive.canonical.com/ubuntu focal-proposed/victoria/main amd64 Packages
100 /var/lib/dpkg/status
== ussuri-proposed ==
root at b1:/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/paste/deploy/loadwsgi.py:22: PkgResourcesDeprecationWarning: Parameters to load are deprecated. Call .resolve and .require separately.
return pkg_resources.EntryPoint.parse("x=" + s).load(False)
/usr/lib/python3/dist-packages/neutron_lib/context.py:154: DeprecationWarning: context.session is used with and without new enginefacade. Please update the code to use new enginefacede consistently.
DeprecationWarning)
.
----------------------------------------------------------------------
Ran 1 test in 2.720s
OK
root at b1:/usr/lib/python3/dist-packages# apt policy python3-neutron
python3-neutron:
Installed: 2:16.2.0-0ubuntu3~cloud0
Candidate: 2:16.2.0-0ubuntu3~cloud0
Version table:
*** 2:16.2.0-0ubuntu3~cloud0 500
500 http://ubuntu-cloud.archive.canonical.com/ubuntu bionic-proposed/ussuri/main amd64 Packages
--
You received this bug notification because you are a member of Ubuntu
OpenStack, which is subscribed to Ubuntu Cloud Archive.
https://bugs.launchpad.net/bugs/1904399
Title:
[OVN] Inconsistent "flooding to unregistered" IGMP configuration
Status in Ubuntu Cloud Archive:
Fix Committed
Status in Ubuntu Cloud Archive ussuri series:
Fix Committed
Status in Ubuntu Cloud Archive victoria series:
Fix Committed
Status in neutron:
Fix Released
Status in neutron package in Ubuntu:
Fix Released
Status in neutron source package in Focal:
Fix Committed
Status in neutron source package in Groovy:
Fix Committed
Status in neutron source package in Hirsute:
Fix Released
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 at f1:~# sudo apt install python3-neutron
root at 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.
To manage notifications about this bug go to:
https://bugs.launchpad.net/cloud-archive/+bug/1904399/+subscriptions
More information about the Ubuntu-openstack-bugs
mailing list