2f7bf29d47
This patch introduces a new microversion to identify services by uuid instead of id, to ensure uniqueness across cells. GET /os-services returns uuid in the id field, and uuid must be provided to delete a service with DELETE /os-services/{service_uuid}. The old PUT /os-services/* APIs are now capped and replaced with a new PUT /os-services/{service_uuid} which takes a uuid path parameter to uniquely identify the service to update. It also restricts updates to nova-compute services only, since disabling or forcing-down a non-compute service like nova-scheduler doesn't make sense as it doesn't do anything. The new update() method in this microversion also avoids trying to re-use the existing private action methods like _enable and _disable since those are predicated on looking up the service by host/binary, are confusing to follow for code flow, and just don't really make sense with a pure PUT resource update method. Part of blueprint service-hyper-uuid-in-api Co-Authored-By: Matt Riedemann <mriedem.os@gmail.com> Change-Id: I45494a4df7ee4454edb3ef8e7c5817d8c4e9e5ad
49 lines
1.5 KiB
JSON
49 lines
1.5 KiB
JSON
{
|
|
"services": [
|
|
{
|
|
"id": "c4726392-27de-4ff9-b2e0-5aa1d08a520f",
|
|
"binary": "nova-scheduler",
|
|
"disabled_reason": "test1",
|
|
"host": "host1",
|
|
"state": "up",
|
|
"status": "disabled",
|
|
"updated_at": "2012-10-29T13:42:02.000000",
|
|
"forced_down": false,
|
|
"zone": "internal"
|
|
},
|
|
{
|
|
"id": "e81d66a4-ddd3-4aba-8a84-171d1cb4d339",
|
|
"binary": "nova-compute",
|
|
"disabled_reason": "test2",
|
|
"host": "host1",
|
|
"state": "up",
|
|
"status": "disabled",
|
|
"updated_at": "2012-10-29T13:42:05.000000",
|
|
"forced_down": false,
|
|
"zone": "nova"
|
|
},
|
|
{
|
|
"id": "bbd684ff-d3f6-492e-a30a-a12a2d2db0e0",
|
|
"binary": "nova-scheduler",
|
|
"disabled_reason": null,
|
|
"host": "host2",
|
|
"state": "down",
|
|
"status": "enabled",
|
|
"updated_at": "2012-09-19T06:55:34.000000",
|
|
"forced_down": false,
|
|
"zone": "internal"
|
|
},
|
|
{
|
|
"id": "13aa304e-5340-45a7-a7fb-b6d6e914d272",
|
|
"binary": "nova-compute",
|
|
"disabled_reason": "test4",
|
|
"host": "host2",
|
|
"state": "down",
|
|
"status": "disabled",
|
|
"updated_at": "2012-09-18T08:03:38.000000",
|
|
"forced_down": false,
|
|
"zone": "nova"
|
|
}
|
|
]
|
|
}
|