Replace WSGI framework with Pecan

Registered by Salvatore Orlando on 2014-12-10

We're bored of using this home grown WSGI framework, and we'd love to switch to Pecan.

Blueprint information

Status:
Complete
Approver:
Kyle Mestery
Priority:
Essential
Drafter:
Salvatore Orlando
Direction:
Approved
Assignee:
Kevin Benton
Definition:
Approved
Series goal:
Accepted for liberty
Implementation:
Implemented
Milestone target:
milestone icon 7.0.0
Started by
Kyle Mestery on 2015-01-06
Completed by
Kyle Mestery on 2015-09-21

Related branches

Sprints

Whiteboard

September-18 (mestery): Waiting on https://review.openstack.org/#/c/213380/ and https://review.openstack.org/#/c/225205/ to merge, then we'll fold this back into master and mark this Implemented.

September-8 (mestery): Still looking at Liberty!

Sept-2-2015(armax): pushing to RC1

March-6 (mestery): No code proposed by FPF, out of Kilo.

January-30 (mestery): Moving to Kilo-3.

December-19 (mestery): Kilo-2.

Gerrit topic: https://review.openstack.org/#q,topic:bp/wsgi-pecan-switch,n,z

Addressed by: https://review.openstack.org/140454
    Replace WSGI layer

Addressed by: https://review.openstack.org/162044
    WIP: pecan install

Addressed by: https://review.openstack.org/190936
    Set .gitreview defaultbranch to feature/pecan

Addressed by: https://review.openstack.org/191048
    Initial pecan structure

Addressed by: https://review.openstack.org/191049
    Add keystone middleware wrapper to pecan app

Addressed by: https://review.openstack.org/191050
    Add startup hook after pecan init for plugins

Addressed by: https://review.openstack.org/191051
    Add hook to translate exceptions into HTTP codes

Addressed by: https://review.openstack.org/191052
    Add hook to create a context from the headers

Addressed by: https://review.openstack.org/191053
    Add resource/plugin identification hook

Addressed by: https://review.openstack.org/191054
    Add attribute population hook

Addressed by: https://review.openstack.org/191055
    Add ownership validation hook

Addressed by: https://review.openstack.org/191056
    Add quota enforcement hook

Addressed by: https://review.openstack.org/191057
    Add hook for policy enforcement

Addressed by: https://review.openstack.org/191058
    Add placeholder for notifier hook

Addressed by: https://review.openstack.org/191059
    Add extensions listing to the controller

Addressed by: https://review.openstack.org/191060
    Switch controller to actually call the plugins

Addressed by: https://review.openstack.org/192072
    Initial pecan structure

Addressed by: https://review.openstack.org/192073
    Add keystone middleware wrapper to pecan app

Addressed by: https://review.openstack.org/192074
    Add startup hook after pecan init for plugins

Addressed by: https://review.openstack.org/192075
    Add hook to translate exceptions into HTTP codes

Addressed by: https://review.openstack.org/192076
    Add hook to create a context from the headers

Addressed by: https://review.openstack.org/192077
    Add resource/plugin identification hook

Addressed by: https://review.openstack.org/192078
    Add attribute population hook

Addressed by: https://review.openstack.org/192079
    Add ownership validation hook

Addressed by: https://review.openstack.org/192080
    Add quota enforcement hook

Addressed by: https://review.openstack.org/192081
    Add hook for policy enforcement

Addressed by: https://review.openstack.org/192082
    Add placeholder for notifier hook

Addressed by: https://review.openstack.org/192083
    Add extensions listing to the controller

Addressed by: https://review.openstack.org/192084
    Switch controller to actually call the plugins

Addressed by: https://review.openstack.org/207851
    Pecan WSGI: prevent plugins from opening AMQP connections

Gerrit topic: https://review.openstack.org/#q,topic:pecan_launcher,n,z

Gerrit topic: https://review.openstack.org/#q,topic:bp/Requirements-Management,n,z

Addressed by: https://review.openstack.org/225421
    Merge remote-tracking branch 'origin/feature/pecan' into merge-branch

Addressed by: https://review.openstack.org/242680
    Pecan: Streamline request body processing

Gerrit topic: https://review.openstack.org/#q,topic:bug/1505843,n,z

Gerrit topic: https://review.openstack.org/#q,topic:pecan_controller_refactor,n,z

Gerrit topic: https://review.openstack.org/#q,topic:pecan-streamline,n,z

Addressed by: https://review.openstack.org/241035
    Pecan: Controller and test refactor

Addressed by: https://review.openstack.org/260439
    Pecan: Always associate plugins with resource

Addressed by: https://review.openstack.org/260440
    Pecan: get rid of member action hook

Gerrit topic: https://review.openstack.org/#q,topic:pecan,n,z

Addressed by: https://review.openstack.org/267243
    Pecan: use reservations in quota enforcement hook

Addressed by: https://review.openstack.org/267871
    Make neutron pecan server an option instead of binary

Gerrit topic: https://review.openstack.org/#q,topic:wsgi-pecan-switch,n,z

Addressed by: https://review.openstack.org/271500
    Launch RPC worker when using pecan

Gerrit topic: https://review.openstack.org/#q,topic:bug/1483480,n,z

Addressed by: https://review.openstack.org/287610
    Correct Pecan extensions test

Addressed by: https://review.openstack.org/287611
    Fix pecan collection->plugin map for extensions

Addressed by: https://review.openstack.org/393535
    Switch to Pecan by default

Addressed by: https://review.openstack.org/410347
    Run pecan using same service framework as built-in

Addressed by: https://review.openstack.org/412630
    Don't return content when we set HTTP 204

Addressed by: https://review.openstack.org/409986
    Pecan: Fix tags handling for pecan

Addressed by: https://review.openstack.org/420299
    Pecan: Fix policy checks for lists

Addressed by: https://review.openstack.org/364651
    Pecan: Get loaded by paste deploy

Addressed by: https://review.openstack.org/433284
    Pecan: Fix tags handling for pecan

Addressed by: https://review.openstack.org/433285
    Pecan: Fix policy checks for lists

Addressed by: https://review.openstack.org/440806
    Pecan: Do not load legacy ExtensionMiddleware

Addressed by: https://review.openstack.org/490613
    Deprecate web_framework option

Addressed by: https://review.openstack.org/485825
    Drop the web_framework option

Gerrit topic: https://review.openstack.org/#q,topic:bug/1714131,n,z

Addressed by: https://review.openstack.org/498642
    Switch to Pecan for unit tests

(?)

Work Items

This blueprint contains Public information 
Everyone can see this information.