Add ability to update volume type public spec
Blueprint: volume-types-public-update Change-Id: Ib9a6e73b729115346f9af63ad3ff8301de2181ff
This commit is contained in:
parent
23364c3e7b
commit
8b956bb6b0
|
@ -0,0 +1,127 @@
|
||||||
|
..
|
||||||
|
This work is licensed under a Creative Commons Attribution 3.0 Unported
|
||||||
|
License.
|
||||||
|
|
||||||
|
http://creativecommons.org/licenses/by/3.0/legalcode
|
||||||
|
|
||||||
|
===========================================
|
||||||
|
Ability to update volume type public status
|
||||||
|
===========================================
|
||||||
|
|
||||||
|
https://blueprints.launchpad.net/cinder/+spec/volume-types-public-update
|
||||||
|
|
||||||
|
This proposal is to add the ability to update volume type is_public status.
|
||||||
|
|
||||||
|
Problem description
|
||||||
|
===================
|
||||||
|
|
||||||
|
Currently, the v2 volume type update api doesn't support updating volume type's
|
||||||
|
public status. All volume types created are public by default if not specified,
|
||||||
|
It is not possible to update a existing volume_type is_public status.
|
||||||
|
It is necessary to add updating public status for volume type. If a volume
|
||||||
|
type updated from public to private, the volumes created with this type will
|
||||||
|
not be affected, but the user without access will not be able to create volume
|
||||||
|
with this type anymore.
|
||||||
|
|
||||||
|
Use Cases
|
||||||
|
=========
|
||||||
|
|
||||||
|
Suppose the admin created a volume type. And he/she wants to make the volume
|
||||||
|
type not public and add access to specified projects.
|
||||||
|
|
||||||
|
Proposed change
|
||||||
|
===============
|
||||||
|
|
||||||
|
* Modify volume_type update API adding is_public property support.
|
||||||
|
|
||||||
|
Alternatives
|
||||||
|
------------
|
||||||
|
|
||||||
|
|
||||||
|
Data model impact
|
||||||
|
-----------------
|
||||||
|
|
||||||
|
|
||||||
|
REST API impact
|
||||||
|
---------------
|
||||||
|
|
||||||
|
Volume type update change
|
||||||
|
|
||||||
|
* Update volume type API
|
||||||
|
* V2/<tenant id>/types/volume_type_id
|
||||||
|
* Method: PUT
|
||||||
|
* JSON schema definition for V2::
|
||||||
|
|
||||||
|
{
|
||||||
|
"volume_type":
|
||||||
|
{
|
||||||
|
"name": "test_type",
|
||||||
|
"description": "Test volume type",
|
||||||
|
"is_public": "False" # new
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
* In the existing update volume type API, add a new parameter "is_public" to
|
||||||
|
allow updating public status for volume type.
|
||||||
|
|
||||||
|
Security impact
|
||||||
|
---------------
|
||||||
|
|
||||||
|
|
||||||
|
Notifications impact
|
||||||
|
--------------------
|
||||||
|
|
||||||
|
|
||||||
|
Other end user impact
|
||||||
|
---------------------
|
||||||
|
|
||||||
|
python-cinderclient needs to be changed to support the modified API.
|
||||||
|
|
||||||
|
* Update volume type
|
||||||
|
cinder type-update --name <name> --description <description>
|
||||||
|
--is-public <is-public>
|
||||||
|
|
||||||
|
Performance Impact
|
||||||
|
------------------
|
||||||
|
|
||||||
|
|
||||||
|
Other deployer impact
|
||||||
|
---------------------
|
||||||
|
|
||||||
|
|
||||||
|
Developer impact
|
||||||
|
----------------
|
||||||
|
|
||||||
|
|
||||||
|
Implementation
|
||||||
|
==============
|
||||||
|
|
||||||
|
Assignee(s)
|
||||||
|
-----------
|
||||||
|
|
||||||
|
Primary assignee:
|
||||||
|
liyingjun
|
||||||
|
|
||||||
|
Other contributors:
|
||||||
|
|
||||||
|
Work Items
|
||||||
|
----------
|
||||||
|
|
||||||
|
1. API change:
|
||||||
|
* Modify Update Volume Type API.
|
||||||
|
|
||||||
|
Dependencies
|
||||||
|
============
|
||||||
|
|
||||||
|
Testing
|
||||||
|
=======
|
||||||
|
|
||||||
|
New unit tests will be added to test the changed code.
|
||||||
|
|
||||||
|
Documentation Impact
|
||||||
|
====================
|
||||||
|
|
||||||
|
Documentation changes are needed.
|
||||||
|
|
||||||
|
References
|
||||||
|
==========
|
Loading…
Reference in New Issue