Spec-ceilometer-api-server-pecan-wsme


 * Launchpad Entry: CeilometerSpec:api-server-pecan-wsme
 * Created: 26 Nov 2012
 * Contributors: Doug Hellmann

Summary
During the Grizzly summit we had a discussion about whether the Oslo team should continue to maintain the WSGI server in openstack.common. I proposed switching to Pecan and WSME instead, because they give us multiple serialization formats and a reliable WSGI server without a bunch of extra coding on our part. This document discusses the work to be done to port the Ceilometer API to use these tools as a proof-of-concept.

Rationale
Ceilometer chose to use Flask to implement the first version of its API because the OpenStack WSGI toolset is complicated and takes a lot of effort to understand. Flask is not necessarily going to have Python 3 support, though, so we want to look at other tools.

See https://etherpad.openstack.org/grizzly-common-wsgi-frameworks for more details

Design
See Ceilometer/blueprints/APIv2 for new API details

UI Changes
We will likely need to make some API changes to ceilometer in order to have WSME work effectively, so there will be a v2 API. We will keep those changes to a minimum initially in order to make the two implementations easy to compare.

Code Changes
Code changes should include an overview of what needs to change, and in some cases even the specific details.

Migration
Include:
 * data migration, if any
 * redirects from old URLs to new ones, if any
 * how users will be pointed to the new way of doing things, if necessary.

Test/Demo Plan
This need not be added or completed until the specification is nearing beta.

Unresolved issues
This should highlight any issues that should be addressed in further specifications, and not problems with the specification itself; since any specification with problems cannot be approved.

BoF agenda and discussion
Use this section to take notes during the BoF; if you keep it in the approved spec, use it for summarising what was discussed and note any options that were rejected.