-
Feature Request
-
Resolution: Done
-
Critical
-
None
-
2.5.1
-
Not Started
-
Not Started
-
Not Started
-
Not Started
-
Not Started
-
Not Started
-
-
3scale 2019-09-09, 3scale 2019-09-30
When deleting a service via the API, the action is currently asynchronous. This means that it is very difficult to automate this action as there is no ergonomic way to determine when the service has been fully deleted. Often this action is followed by a recreate of the service which results in a 422 error due to the service name already being in use.
This API could be improved by either being synchronous (which would probably require performance improvements to the delete process since it can take a while). Or via a new job status API that returns a job id that can be queried to determine when the job is done.
Note that service deletion has been addressed in THREESCALE-2987, THREESCALE-2988
Dev notes
To get something to the customer quickly, we can just add another endpoint to provide some information if the object still exists in the Database (unscoped query)
The endpoint could look like
Path: /admin/api/objects/status Parameters: - object_type: Service|Account|Proxy - object_id: Integer Response: 200 or 404 Determine the body in case of 200
(Somewhat related - at the tenant level we have a "show" request that responds with the status when it has not been deleted yet.)
For jobId it is an idea but I do not want to introduce more dependencies on our background job.
- is related to
-
THREESCALE-2987 Delete in background : Speeding up enqueueing job deletion
- Closed
-
THREESCALE-2204 Fix efficiency/bugs to destroy tenants/services and enable the worker again
- Closed