[Bug 1904399] Re: [OVN] Inconsistent "flooding to unregistered" IGMP configuration

Corey Bryant 1904399 at bugs.launchpad.net
Mon Feb 8 20:41:16 UTC 2021


** Description changed:

  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
  
- [0] https://opendev.org/openstack/neutron/src/branch/master/neutron/conf/agent/ovs_conf.py#L36-L47
+ [Impact]
+ 
+ See above.
+ 
+ [Test Case]
+ 
+ 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.

** Description changed:

  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]
  
- 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
+ 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.

-- 
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:
  Triaged
Status in Ubuntu Cloud Archive ussuri series:
  Triaged
Status in Ubuntu Cloud Archive victoria series:
  Triaged
Status in neutron:
  Fix Released
Status in neutron package in Ubuntu:
  Fix Released
Status in neutron source package in Focal:
  Triaged
Status in neutron source package in Groovy:
  Triaged
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