← Back to team overview

yahoo-eng-team team mailing list archive

[Bug 1552926] Re: pecan resource/plugin association breaks with extensions from other plugins

 

Reviewed:  https://review.openstack.org/287611
Committed: https://git.openstack.org/cgit/openstack/neutron/commit/?id=35ba0a19d9d7eb08c045b433ca94a2b47e2833fa
Submitter: Jenkins
Branch:    master

commit 35ba0a19d9d7eb08c045b433ca94a2b47e2833fa
Author: Kevin Benton <kevin@xxxxxxxxxx>
Date:   Wed Mar 2 19:35:38 2016 -0800

    Fix pecan collection->plugin map for extensions
    
    The way pecan was mapping collections to plugins always assumed
    that the same plugin that supported an extension that extended
    a given collection was responsible for the collection itself.
    This isn't the case for extensions that just add data to a
    collection via the dictionary extension mechanisms. For example,
    the timestamps are implemented in an extension that is run by
    a standalone service plugin that just performs DB updates via
    DB hooks and gives the responses to users via the dictionary
    extension hooks.
    
    This patch fixes it by checking to ensure the plugin actually
    supports the get method for the collection itself before assuming
    that the collection belongs to the plugin.
    
    Closes-Bug: #1552926
    Change-Id: I22fa396e1ccd6af936fd4d58bbb0638ff5ab4467


** Changed in: neutron
       Status: In Progress => Fix Released

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

Title:
  pecan resource/plugin association breaks with extensions from other
  plugins

Status in neutron:
  Fix Released

Bug description:
  The pecan process of finding the plugin for a given non-core resource
  inspects all of the extensions to find which ones define attributes
  for a given resource. It incorrectly assumes that the plugin that has
  an extension extending a resource is responsible for that resource.

  For example, the timestamp plugin is a service plugin that extends
  many resources but only adds information to the response sent to the
  users via dict extend functions, so it's not actually responsible for
  the operations on those extensions.

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


References