** 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@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@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@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.

-- 
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/1904399

Title:
  [OVN] Inconsistent "flooding to unregistered" IGMP configuration

To manage notifications about this bug go to:
https://bugs.launchpad.net/cloud-archive/+bug/1904399/+subscriptions

-- 
ubuntu-bugs mailing list
ubuntu-bugs@lists.ubuntu.com
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to