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 -- Mailing list: https://launchpad.net/~yahoo-eng-team Post to : [email protected] Unsubscribe : https://launchpad.net/~yahoo-eng-team More help : https://help.launchpad.net/ListHelp

