Plan improvements: versionning & api endpoint yaml support

Registered by Pierre Padrixe (stannie)

Plan yaml support

Add yaml support for Plan resource in order to POST a Plan directly in YAML format to the API, so the users don't have to convert the template in JSON. The intent of this bp is not to replace the current format of the API but to add YAML as an additional format by using content-type and accept-type headers.

API Methods
GET /plan/:id - yaml/json format supported by using content-type header
GET /plans - json
POST /plans: - yaml/json using content-type / accept-type
PUT /plan/:id - yaml/json using content-type / accept-type

Related tasks:

"Plan API should return json/yaml as accept header specifies"
https://bugs.launchpad.net/solum/+bug/1331093

Plan versionning

Adding yaml support to the api implies using pecan and to build the wsme datamodel manually. This allows us to implement the Plan versionning feature: we can now load a different handler and wsme datamodel in function of the version passed in the Plan template.

Related tasks:
"Tech Debt: Separate plan version from API version" https://bugs.launchpad.net/solum/+bug/1291114

Blueprint information

Status:
Complete
Approver:
None
Priority:
Undefined
Drafter:
Pierre Padrixe (stannie)
Direction:
Needs approval
Assignee:
Pierre Padrixe (stannie)
Definition:
New
Series goal:
None
Implementation:
Implemented
Milestone target:
None
Started by
Pierre Padrixe (stannie)
Completed by
Adrian Otto

Whiteboard

(?)

Work Items

This blueprint contains Public information 
Everyone can see this information.

Subscribers

No subscribers.