yahoo-eng-team team mailing list archive
-
yahoo-eng-team team
-
Mailing list archive
-
Message #37050
[Bug 1486861] [NEW] get_extensions_path fail to remove duplicate path when the path gets appended with a another path
Public bug reported:
get_extensions_path contains logic to eliminate duplicated paths.
However, in the case where the 'api_extensions_path' of config contains
multiple concatenated paths, it treats the concatenated list as one
extension path.
This could be a problem for Neutron services, specifically fwaas, lbaas
and vpnaas. For these, their extension paths are automatically added in
get_extensions_paths. If fwaas extension path is also specified in
CONF.api_extensions_path', for example, and if that path is appended
with a different extension path, the duplicated fwaas extension paths
are not recognized as duplicate.
In an offending case, you would have:
paths = ['fw_ext_path', 'fw_ext_path:some_other_path']
and since 'fw_ext_path' != 'fw_ext_path:some_other_path', both
'fw_ext_path' remains, which causes error later on when Firewall
object's 'super' is called since the module containing the Firewall
class definition of Firewall was loaded twice (python doesn't like
this).
In the above scenario, the paths should have been evaluated as:
paths = ['fw_ext_path', 'fw_ext_path', 'some_other_path']
** Affects: neutron
Importance: Undecided
Status: New
** Description changed:
get_extensions_path contains logic to eliminate duplicated paths.
However, in the case where the 'api_extensions_path' of config contains
multiple concatenated paths, it treats the concatenated list as one
extension path.
This could be a problem for Neutron services, specifically fwaas, lbaas
and vpnaas. For these, their extension paths are automatically added in
get_extensions_paths. If fwaas extension path is also specified in
CONF.api_extensions_path', for example, and if that path is appended
with a different extension path, the duplicated fwaas extension paths
are not recognized as duplicate.
In an offending case, you would have:
- paths = ['fw_ext_path', 'fw_ext_path:some_other_path']
+ paths = ['fw_ext_path', 'fw_ext_path:some_other_path']
and since 'fw_ext_path' != 'fw_ext_path:some_other_path', both
'fw_ext_path' remains, which causes error later on when Firewall
object's 'super' is called since the module containing the Firewall
class definition of Firewall was loaded twice (python doesn't like
this).
In the above scenario, the paths should have been evaluated as:
- paths = ['fw_ext_path', 'fw_ext_path', 'some_other_path']
+ paths = ['fw_ext_path', 'fw_ext_path', 'some_other_path']
--
You received this bug notification because you are a member of Yahoo!
Engineering Team, which is subscribed to neutron.
https://bugs.launchpad.net/bugs/1486861
Title:
get_extensions_path fail to remove duplicate path when the path gets
appended with a another path
Status in neutron:
New
Bug description:
get_extensions_path contains logic to eliminate duplicated paths.
However, in the case where the 'api_extensions_path' of config
contains multiple concatenated paths, it treats the concatenated list
as one extension path.
This could be a problem for Neutron services, specifically fwaas,
lbaas and vpnaas. For these, their extension paths are automatically
added in get_extensions_paths. If fwaas extension path is also
specified in CONF.api_extensions_path', for example, and if that path
is appended with a different extension path, the duplicated fwaas
extension paths are not recognized as duplicate.
In an offending case, you would have:
paths = ['fw_ext_path', 'fw_ext_path:some_other_path']
and since 'fw_ext_path' != 'fw_ext_path:some_other_path', both
'fw_ext_path' remains, which causes error later on when Firewall
object's 'super' is called since the module containing the Firewall
class definition of Firewall was loaded twice (python doesn't like
this).
In the above scenario, the paths should have been evaluated as:
paths = ['fw_ext_path', 'fw_ext_path', 'some_other_path']
To manage notifications about this bug go to:
https://bugs.launchpad.net/neutron/+bug/1486861/+subscriptions
Follow ups