← Back to team overview

yahoo-eng-team team mailing list archive

[Bug 1929676] [NEW] API extensions not supported by e.g. OVN driver may still be on the list returned from neutron

 

Public bug reported:

Some time ago we introduced possibility for mechanism drivers to
explicitly filter and filter API extensions which they don't supports so
such extensions aren't really listed in the API.

But the problem is that when there are more than one mech drivers
enabled, first of them will filter some extensions, but other don't
filters anything, not supported extensions may appears on the list.

To reproduce the issue let's enable ovn and logging mech_drivers:

mechanism_drivers = ovn,logger

And then check e.g. dhcp_agent_scheduler that it will be on the list
returned by cmd "neutron ext-list", even if it's not supported by ovn.

The problem is that _filter_extensions_by_mech_driver is passing list of
all ML2 extensions to each mech_driver so even if one of them disable
it, other can add it back to the list:
https://github.com/openstack/neutron/blob/master/neutron/plugins/ml2/plugin.py#L318

Maybe better approach would be to have on the list only extensions which
are supported by all enabled mech_drivers?

** Affects: neutron
     Importance: Medium
     Assignee: Slawek Kaplonski (slaweq)
         Status: Confirmed


** Tags: ml2

-- 
You received this bug notification because you are a member of Yahoo!
Engineering Team, which is subscribed to neutron.
https://bugs.launchpad.net/bugs/1929676

Title:
  API extensions not supported by e.g. OVN driver may still be on the
  list returned from neutron

Status in neutron:
  Confirmed

Bug description:
  Some time ago we introduced possibility for mechanism drivers to
  explicitly filter and filter API extensions which they don't supports
  so such extensions aren't really listed in the API.

  But the problem is that when there are more than one mech drivers
  enabled, first of them will filter some extensions, but other don't
  filters anything, not supported extensions may appears on the list.

  To reproduce the issue let's enable ovn and logging mech_drivers:

  mechanism_drivers = ovn,logger

  And then check e.g. dhcp_agent_scheduler that it will be on the list
  returned by cmd "neutron ext-list", even if it's not supported by ovn.

  The problem is that _filter_extensions_by_mech_driver is passing list
  of all ML2 extensions to each mech_driver so even if one of them
  disable it, other can add it back to the list:
  https://github.com/openstack/neutron/blob/master/neutron/plugins/ml2/plugin.py#L318

  Maybe better approach would be to have on the list only extensions
  which are supported by all enabled mech_drivers?

To manage notifications about this bug go to:
https://bugs.launchpad.net/neutron/+bug/1929676/+subscriptions


Follow ups