1. Use source/destination instead of original/current, because "current" is misleading since it will no longer be accurate if two transfers have occurred for the same volume. 2. Change "accept" to " accepted". Part of blueprint: improve-volume-transfer-records Change-Id: I5d7c948ee51503e3a92543ba3855171f98a7ea81
3.4 KiB
Improve volume transfer records
https://blueprints.launchpad.net/cinder/+spec/improve-volume-transfer-records
This blueprint proposes to improve volume transfer records by adding
source_project_id
and destination_project_id
,
accepted
fields to transfer
table and related
api responses, makes it easier for users to trace the volume transfer
history.
Problem description
Currently, the volume transfer record does not include the destination project_id after transferring and the source project_id before transferring. These fields are very useful for admins and operators to trace the transfer history.
And also once the transfer is deleted, the user can't determine if this transfer had been accepted or not before it was deleted.
It is bad for admins and users to trace volume historical track between project and audit the volume records.
Use Cases
- In order to trace the volume transfer history, the admin wants to know who was the volume owner before transferring.
- The admin wants to know whether a deleted transfer had been accepted or not.
Proposed change
This spec proposes to do
Add three new fields to
transfer
table:source_project_id
, this field records the source project_id before volume transferring.destination_project_id
, this field records the destination project_id after volume transferring.accepted
, this field records if this transfer was accepted or not.
Add a new microverion API to add above fields to the response of follow API:
- Create a volume transfer POST /v3/{project_id}/volume-transfers
- Show volume transfer detail GET /v3/{project_id}/volume-transfers
- List volume transfer and detail GET /v3/{project_id}/volume-transfers/detail
And the response of "List volume transfer (non-detail)" API will not include these fields.
Alternatives
The admins could find part of volume transferring info from log, but it's difficult to find it out easily, especially when the user wants to audit a very old volume transfer.
REST API impact
A new microversion will be created to add these new added fields to transfer related API responses.
Data model impact
None
Security impact
None
Notifications impact
Notifications will be changed to add these new added fields.
Other end user impact
None
Performance Impact
None
Other deployer impact
None
Developer impact
None
Implementation
Assignee(s)
- Primary assignee:
-
Yikun Jiang <yikunkero@gmail.com>
Work Items
- Add
source_project_id
anddestination_project_id
,accepted
fields totransfer
table - Add
source_project_id
anddestination_project_id
,accepted
fields to related API. - Implement changes for python-cinderclient to support list transfer
with
--detail
. - Update related transfer api doc.
Dependencies
None
Testing
- Unit-tests, tempest and other related test should be implemented
Documentation Impact
None
References
None