placement doc: Conflict caveat for DELETE APIs

Since the DELETE /resource_providers/{u}/inventories and .../traits APIs
don't have a way to accept generation, they're not "threadsafe" in the
sense of multiple client threads managing traits/inventories for the
same provider.  This change adds a note to the documentation for these
APIs to this effect, suggesting the use of PUT with empty
traits/inventories instead.

Change-Id: Icfd79cc1f5a912131845a22b4fe900147b19f934
Closes-Bug: #1746373
This commit is contained in:
Eric Fried 2018-02-05 10:27:24 -06:00
parent 9e9b3e14c7
commit f3b0cf3975
2 changed files with 12 additions and 0 deletions

View File

@ -115,6 +115,12 @@ Normal Response Codes: 204
Error response codes: itemNotFound(404), conflict(409)
.. note:: Since this request does not accept the resource provider generation,
it is not safe to use when multiple threads are managing inventories
for a single provider. In such situations, use the
``PUT /resource_providers/{uuid}/inventories`` API with an empty
``inventories`` dict.
Request
-------

View File

@ -102,6 +102,12 @@ Error response codes: itemNotFound(404), conflict(409)
* `409 Conflict` if the provider's traits are updated by another
thread while attempting the operation.
.. note:: Since this request does not accept the resource provider generation,
it is not safe to use when multiple threads are managing traits for
a single provider. In such situations, use the
``PUT /resource_providers/{uuid}/traits`` API with an empty
``traits`` list.
Request
-------