Enhance Mgmt-Show To Support Deleted Spec
blueprint mgmt-show-deleted Change-Id: Ie8b205a987a4a1cd46dd869825a39b422431b025
This commit is contained in:
parent
398b2534c0
commit
24e52491db
149
specs/kilo/mgmt-show-deleted.rst
Normal file
149
specs/kilo/mgmt-show-deleted.rst
Normal file
@ -0,0 +1,149 @@
|
||||
..
|
||||
This work is licensed under a Creative Commons Attribution 3.0 Unported
|
||||
License.
|
||||
|
||||
http://creativecommons.org/licenses/by/3.0/legalcode
|
||||
|
||||
==============================================
|
||||
Enhance Mgmt-Show To Support Deleted Instances
|
||||
==============================================
|
||||
|
||||
Blueprint:
|
||||
|
||||
https://blueprints.launchpad.net/trove/+spec/mgmt-show-deleted
|
||||
|
||||
Today, ``GET /v1.0/<tenant_id>/mgmt/instances/<instance_id>`` does not work
|
||||
for Trove instances that are marked as deleted.
|
||||
|
||||
The proposal is to introduce an optional query parameter that indicates that
|
||||
the Trove instance information should be returned irrespective of whether the
|
||||
Trove instance is marked as deleted or not.
|
||||
|
||||
Problem Description
|
||||
===================
|
||||
|
||||
Without an API to retrieve information about a deleted instance, the deployer
|
||||
is forced to consult the Trove infrastructure database directly.
|
||||
|
||||
The mgmt-list operation supports returning deleted instances if
|
||||
``?deleted=true`` is provided, so it only makes sense that additional
|
||||
information about a deleted instance be accessible via mgmt-show.
|
||||
|
||||
Use Cases
|
||||
----------
|
||||
|
||||
* As a deployer, I want to be able to retrieve information about a deleted
|
||||
Trove instance.
|
||||
|
||||
Proposed change
|
||||
===============
|
||||
|
||||
Support the ``?deleted=true/false`` query parameter in
|
||||
``GET /v1.0/<tenant_id>/mgmt/instances/<instance_id>``
|
||||
|
||||
Changes In Behavior:
|
||||
|
||||
* If ``deleted=true``, if the Trove instance UUID is present in the
|
||||
infrastructure database, the instance information is returned and the
|
||||
request is successful.
|
||||
* If ``deleted=false``, or the deleted query parameter is omitted, the request
|
||||
will only succeed if the trove instance is not marked as deleted.
|
||||
* If the compute_instance_id exists in the trove.instances row, return it in
|
||||
the mgmt-show response at instance.server.id, even if the Nova API
|
||||
consultation fails.
|
||||
* If the volume_id exists in the trove.instances row, return it in the
|
||||
mgmt-show response at instance.volume.id, even if the Cinder API
|
||||
consultation fails.
|
||||
|
||||
Configuration
|
||||
-------------
|
||||
|
||||
No Configuration changes.
|
||||
|
||||
Database
|
||||
--------
|
||||
|
||||
No Database changes.
|
||||
|
||||
Public API
|
||||
----------
|
||||
|
||||
No public API changes.
|
||||
|
||||
|
||||
Management API
|
||||
--------------
|
||||
|
||||
``GET /v1.0/<tenant_id>/mgmt/instances/<instance_id>`` will be enhanced to
|
||||
support the 'deleted' query parameter.
|
||||
|
||||
For reference, the response of a mgmt-show: http://git.io/2RwWWA
|
||||
|
||||
Today, if the compute_instance_id is not recognized by the Nova API, the
|
||||
mgmt-show response will not include instance.server{}. Along the same lines,
|
||||
if the volume_id is not recognized by the Cinder API, the mgmt-show response
|
||||
will not include instance.volume{}.
|
||||
|
||||
This blueprint changes that behavior by always returning instance.server.id
|
||||
and instance.volume.id if they exist in the trove.instances table.
|
||||
|
||||
Internal API
|
||||
------------
|
||||
|
||||
No internal API changes.
|
||||
|
||||
Guest Agent
|
||||
-----------
|
||||
|
||||
No Guest Agent changes.
|
||||
|
||||
|
||||
Alternatives
|
||||
------------
|
||||
|
||||
No relevant alternatives given the prior art on using 'deleted=true/false'
|
||||
in other Trove routes.
|
||||
|
||||
|
||||
Implementation
|
||||
==============
|
||||
|
||||
Assignee(s)
|
||||
-----------
|
||||
|
||||
Primary assignee:
|
||||
Auston McReynolds (amcrn)
|
||||
|
||||
Milestones
|
||||
----------
|
||||
|
||||
Kilo-1
|
||||
|
||||
Work Items
|
||||
----------
|
||||
|
||||
See https://review.openstack.org/#/c/128446/
|
||||
|
||||
Dependencies
|
||||
============
|
||||
|
||||
No dependencies.
|
||||
|
||||
|
||||
Testing
|
||||
=======
|
||||
|
||||
Standard.
|
||||
|
||||
|
||||
Documentation Impact
|
||||
====================
|
||||
|
||||
If the Management API is documented (which I don't believe it is), then
|
||||
the addition of the 'deleted' query parameter is relevant.
|
||||
|
||||
|
||||
References
|
||||
==========
|
||||
|
||||
None.
|
Loading…
Reference in New Issue
Block a user