← Back to team overview

yahoo-eng-team team mailing list archive

[Bug 1486861] Re: get_extensions_path fail to remove duplicate path when the path gets appended with a another path

 

** Changed in: neutron
       Status: Fix Committed => Fix Released

** Changed in: neutron
    Milestone: None => liberty-rc1

-- 
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:
  Fix Released

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


References