yahoo-eng-team team mailing list archive
-
yahoo-eng-team team
-
Mailing list archive
-
Message #27523
[Bug 1417180] [NEW] Unable to load extensions with same module name
Public bug reported:
https://review.openstack.org/#/c/151375/ introduced a check for avoiding
loading an extension if its module name was already scanned previously.
While this is generally fine, it does not take into account that
different extensions might have the same module name, even if different
paths. This applies for instance in this case:
salvatore@ubuntu:/opt/stack/neutron$ find ./neutron -name qos.py
./neutron/plugins/cisco/extensions/qos.py
./neutron/plugins/vmware/extensions/qos.py
both cisco and vmware plugins declare extensions in a module named
'qos'. However, such extensions are completely different as they have a
different alias (and in this case can hardly work together in the same
deployment).
In this specific case, the vmware plugin is the one for which the
extension is not being loaded since the cisco plugin's module is read
first. While this does not break the plugin, it does break unit tests as
for some reason the cisco's plugin extension path info is not removed
once the cisco unit tests complete running.
It should be however noted that in general it might be ok to have
distinct extensions in modules with the same name. Extension aliases are
instead supposed to be unique and should be used to discriminate
** Affects: neutron
Importance: High
Assignee: Salvatore Orlando (salvatore-orlando)
Status: In Progress
--
You received this bug notification because you are a member of Yahoo!
Engineering Team, which is subscribed to neutron.
https://bugs.launchpad.net/bugs/1417180
Title:
Unable to load extensions with same module name
Status in OpenStack Neutron (virtual network service):
In Progress
Bug description:
https://review.openstack.org/#/c/151375/ introduced a check for
avoiding loading an extension if its module name was already scanned
previously.
While this is generally fine, it does not take into account that
different extensions might have the same module name, even if
different paths. This applies for instance in this case:
salvatore@ubuntu:/opt/stack/neutron$ find ./neutron -name qos.py
./neutron/plugins/cisco/extensions/qos.py
./neutron/plugins/vmware/extensions/qos.py
both cisco and vmware plugins declare extensions in a module named
'qos'. However, such extensions are completely different as they have
a different alias (and in this case can hardly work together in the
same deployment).
In this specific case, the vmware plugin is the one for which the
extension is not being loaded since the cisco plugin's module is read
first. While this does not break the plugin, it does break unit tests
as for some reason the cisco's plugin extension path info is not
removed once the cisco unit tests complete running.
It should be however noted that in general it might be ok to have
distinct extensions in modules with the same name. Extension aliases
are instead supposed to be unique and should be used to discriminate
To manage notifications about this bug go to:
https://bugs.launchpad.net/neutron/+bug/1417180/+subscriptions
Follow ups
References