pecan resource/plugin association breaks with extensions from other plugins

Bug #1552926 reported by Kevin Benton
6
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
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to neutron (master)

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 <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
    Change-Id: I22fa396e1ccd6af936fd4d58bbb0638ff5ab4467

Changed in neutron:
status: In Progress → Fix Released
Revision history for this message
Thierry Carrez (ttx) wrote : Fix included in openstack/neutron 8.0.0.0rc1

This issue was fixed in the openstack/neutron 8.0.0.0rc1 release candidate.

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.