[RFE] Nova API doesn't return aggregate's uuid, which is needed when using the placement API
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
OpenStack Compute (nova) |
Fix Released
|
Wishlist
|
Jay Pipes |
Bug Description
When creating an aggregate using the Nova API, it doesn't return the new aggregate's uuid:
DEBUG (connectionpool
DEBUG (session:371) RESP: [200] Content-Length: 179 Content-Type: application/json Openstack-
RESP BODY: {"aggregate": {"name": "test-aggregate", "availability_
This becomes a problem when the aggregate is intended to be associated with a resource provider through the placement API, which requires the aggregate's uuid:
(Pdb) my_client.
*** BadRequest: {"errors": [{"status": 400, "request_id": "req-3e5a0b16-
I am testing this with a 4 nodes devstack built with Nova and Neutron master branches
Changed in nova: | |
assignee: | Jay Pipes (jaypipes) → Matt Riedemann (mriedem) |
Changed in nova: | |
assignee: | Matt Riedemann (mriedem) → Jay Pipes (jaypipes) |
importance: | Critical → High |
Changed in nova: | |
assignee: | Jay Pipes (jaypipes) → Matt Riedemann (mriedem) |
Changed in nova: | |
assignee: | Matt Riedemann (mriedem) → Jay Pipes (jaypipes) |
summary: |
- Nova API doesn't return aggregate's uuid, which is needed when using the - placement API + [RFE] Nova API doesn't return aggregate's uuid, which is needed when + using the placement API |
Changed in nova: | |
importance: | High → Wishlist |
IMO, the fix for this has to consider the following:
1) When creating an aggregate, the Nova API has to return the uuid assigned to it in the response providers/ {uuid}/ aggregates returns the list of uuid's associated with the resource provider (http:// specs.openstack .org/openstack/ nova-specs/ specs/newton/ implemented/ generic- resource- pools.html# get-resource- providers- uuid-aggregates). As a consequence, at a minimum, when doing a GET /os-aggregates (Nova API), the response must include an uuid attribute for each aggregate listed. This will enable the user to translate the aggregates uuids in the placement API to the ids used by the aggregate operations (GET /os-aggregates/ {aggregate_ id}, PUT /os-aggregates/ {aggregate_ id}, DELETE /os-aggregates/ {aggregate_ id}) in the Nova API.
2) In the placement API, GET /resource_
- Ideally, the GET /os-aggregates/ {aggregate_ id}, PUT /os-aggregates/ {aggregate_ id} and DELETE /os-aggregates/ {aggregate_ id} in the Nova API will also accept uuids (i.e. GET /os-aggregates/ {aggregate_ uuid}, PUT /os-aggregates/ {aggregate_ uuid} and DELETE /os-aggregates/ {aggregate_ uuid}). But this is a nice to have, not essential, as long as Nova's GET /os-aggregates return the uuids