pecan resource/plugin association breaks with extensions from other plugins
Bug #1552926 reported by
Kevin Benton
This bug affects 1 person
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
neutron |
Fix Released
|
Critical
|
Kevin Benton |
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.
Changed in neutron: | |
assignee: | nobody → Kevin Benton (kevinbenton) |
milestone: | none → mitaka-rc1 |
Changed in neutron: | |
status: | New → In Progress |
Changed in neutron: | |
importance: | Undecided → Critical |
To post a comment you must log in.
Reviewed: https:/ /review. openstack. org/287611 /git.openstack. org/cgit/ openstack/ neutron/ commit/ ?id=35ba0a19d9d 7eb08c045b433ca 94a2b47e2833fa
Committed: https:/
Submitter: Jenkins
Branch: master
commit 35ba0a19d9d7eb0 8c045b433ca94a2 b47e2833fa
Author: Kevin Benton <email address hidden>
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 f936fd4d58bbb06 38ff5ab4467
Change-Id: I22fa396e1ccd6a