Feature #3768
Cyclades changes for compatibility with OS/Compute v2
Status: | Closed | Start date: | 05/20/2013 | |
---|---|---|---|---|
Priority: | High | Due date: | ||
Assignee: | Christos Stavrakakis | % Done: | 100% |
|
Category: | Cyclades API | Spent time: | - | |
Target version: | 0.14.0 |
Description
Change Cyclades to be compatible with:
1. Adjust "meta" and "metadata" terms URIs
JSON request and response bodies-
-2. Adjust "meta" and "metadata" terms
3. Omit "values" term JSON request and response bodies
JSON response bodies
4. Rename some terms
1. Adjust "meta" and "metadata" terms @ URIs
---------------------------------------------------------------
OS/Compute v2 uses the term "metadata" on all service URIs.
Affected Cyclades URIs:
/servers/<server-id>/meta
/servers/<server-id>/meta/<key>
/images/<image-id>/meta
/images/<image-id>/meta/<key>
.. note:: Syntactically, both Cyclades and OS/Compute-v2 have a [/flavors GET] but [/flavors/details GET] is unique in Cyclades. Semantically, [/flavors/details GET] is semantically equivalent to OS/Comptute-v2 [/flavors GET], but the semantic equivalent of Cyclades [/flavors GET] does not exist in OS/Compute-v2.
2. Adjust "meta" and "metadata" terms @ JSON request and response bodies
No compatibility issues here.
3. Omit "values" term @ JSON request and response bodies
The term "values" is omitted in OS/Compute v2 JSON bodies, e.g.
Cyclades: {"servers": {"values": [{..vm 1..}, {..vm 2..}, ...]}}
OS/Compute v2: {"servers": [{..vm 1..}, {..vm 2..}, ...]}
Cyclades "values" occurrences:
- /servers[/details] GET response:
* {"servers": {"values" ...
* {"servers": {"values": [ {"attachments": {"values" ...
* {"servers": {"values": [ {"metadata": {"values" ...
- /servers POST request:
* {"server": {"metadata": { "values" ...
- /servers POST response:
* {"server": {"metadata": { "values" ...
* {"server": {attachments": { "values" ...
- /servers/<server-id> GET response:
* {"server": "attachments": {"values" ...
* {"server": {"metadata": {"values" ...
- /servers/<server id>/ips GET response:
* {"addresses"" {"values" ...
- /servers/<server-id>/meta[data] GET response:
* {"metadata": {"values" ...
- /flavors[/detail] GET response:
* {"flavors": {"values" ...
- /images/[/detail] GET response:
* {"images": {"values" ...
* {"images": {"values": [ {"metadata": {"values" ...
- /images/<image-id> GET response:
* {"image": {"metadata": {"values" ...
- /images/<image-id>/meta[data] GET
* {"metadata": {"values" ...
- /networks[/detail] GET response:
* {"networks": {"values" ...
4. Rename some terms @ JSON response bodies
Renames:
flavorRef --> flavor
imageRef --> image
Locations where the renames should be applied:
- /servers[/details] GET response body
- /servers POST response body
- /servers/<id> GET response body
Related issues
Associated revisions
cyclades: Rename 'cpu' to 'vcpus' to flavor API
Rename attribute of GET /flavors response, from 'cpu' to 'vcpus'.
Refs #3768
cyclades: Remove 'Ref' suffix from servers API
Rename 'flavorRef' to 'flavor' and 'imageRef' to 'image', to responses of
/servers API. 'flavorRef' and 'imageRef' are still preserved to to request
parameters of POST /servers.
Refs #3768
cyclades: Remove "values" term from API
For compatibility with OpenStack Compute API v2, we remove the
term 'values' from all JSON requests and responses.
Refs #3768
cyclades: Rename meta to metadata at Cyclades URLs
For compatibility with OpenStack Compute API v2, rename 'meta' to
'metadata' to Cyclades API URLs. Specifically, to the following ones:
- /servers/<server-id>/meta
- /servers/<server-id>/meta/<key>
- /images/<image-id>/meta
- /images/<image-id>/meta/<key>
Refs #3768
cyclades ui: Revert server create params names
the new api changed image/flavor keys only in servers response.
imageRef and flavorRef are still required in server create requests
(makes sense)
Refs: #3768
cyclades ui: Update metadata post/delete url
the updated api uses /metadata/ instead of /meta/
Refs: #3768
cyclades ui: Revert glance response parsing
Refs: #3768
Document cyclades-api changes to fit OS API v2
Rename attribute of GET /flavors response, from 'cpu' to 'vcpus'.
Catholicaly remove "values" term from requests and responses
cyclades: Rename meta to metadata at Cyclades URLs:
* /servers/<server-id>/meta
* /servers/<server-id>/meta/<key>
* /images/<image-id>/meta
* /images/<image-id>/meta/<key>
Refs: #3768
cyclades: Rename 'cpu' to 'vcpus' to flavor API
Rename attribute of GET /flavors response, from 'cpu' to 'vcpus'.
Refs #3768
cyclades: Remove 'Ref' suffix from servers API
Rename 'flavorRef' to 'flavor' and 'imageRef' to 'image', to responses of
/servers API. 'flavorRef' and 'imageRef' are still preserved to to request
parameters of POST /servers.
Refs #3768
cyclades: Remove "values" term from API
For compatibility with OpenStack Compute API v2, we remove the
term 'values' from all JSON requests and responses.
Refs #3768
cyclades: Rename meta to metadata at Cyclades URLs
For compatibility with OpenStack Compute API v2, rename 'meta' to
'metadata' to Cyclades API URLs. Specifically, to the following ones:
- /servers/<server-id>/meta
- /servers/<server-id>/meta/<key>
- /images/<image-id>/meta
- /images/<image-id>/meta/<key>
Refs #3768
History
#1 Updated by Stavros Sachtouris almost 11 years ago
2nd compatibility issue (2. Adjust "meta" and "metadata" terms @ JSON request and response bodies) is incorrectly reported as such.
#2 Updated by Christos Stavrakakis almost 11 years ago
- Status changed from Assigned to Feedback
- % Done changed from 0 to 100
Suggested changes revised:
1. Adjust "meta" and "metadata" terms URIs
JSON request and response bodies
2. Omit "values" term
3. Rename some terms @ JSON response bodies
1. Adjust "meta" and "metadata" terms @ URIs
--------------------------------------------
OS/Compute v2 uses the term "metadata" on all service URIs.
Affected Cyclades URIs:
/servers/<server-id>/meta
/servers/<server-id>/meta/<key>
/images/<image-id>/meta
/images/<image-id>/meta/<key>
3. Omit "values" term @ JSON request and response bodies
--------------------------------------------------------
The term "values" is omitted in OS/Compute v2 JSON bodies, e.g.
Cyclades: {"servers": {"values": [{..vm 1..}, {..vm 2..}, ...]}}
OS/Compute v2: {"servers": [{..vm 1..}, {..vm 2..}, ...]}
Cyclades "values" occurrences:
- /servers[/details] GET response:
* {"servers": {"values" ...
* {"servers": {"values": [ {"attachments": {"values" ...
* {"servers": {"values": [ {"metadata": {"values" ...
- /servers POST request:
* {"server": {"metadata": { "values" ...
- /servers POST response:
* {"server": {"metadata": { "values" ...
* {"server": {attachments": { "values" ...
- /servers/<server-id> GET response:
* {"server": "attachments": {"values" ...
* {"server": {"metadata": {"values" ...
- /servers/<server id>/ips GET response:
* {"addresses"" {"values" ...
- /servers/<server-id>/meta[data] GET response:
* {"metadata": {"values" ...
- /flavors[/detail] GET response:
* {"flavors": {"values" ...
- /images/[/detail] GET response:
* {"images": {"values" ...
* {"images": {"values": [ {"metadata": {"values" ...
- /images/<image-id> GET response:
* {"image": {"metadata": {"values" ...
- /images/<image-id>/meta[data] GET
* {"metadata": {"values" ...
- /networks[/detail] GET response:
* {"networks": {"values" ...
* {"networks: [ {"attachments": {"values"..}..
- /versions
3. Rename some terms @ JSON response bodies
-------------------------------------------
Renames:
flavorRef --> flavor
imageRef --> image
Locations where the renames should be applied:
- /servers[/details] GET response body
- /servers POST response body (note: request body is already compatible)
- /servers/<id> GET response body
Renames:
cpus --> vcpus
#3 Updated by Christos Stavrakakis over 10 years ago
- Status changed from Feedback to Closed