Merge "Manila support in python-openstackclient"
This commit is contained in:
commit
e1bc0475af
|
@ -0,0 +1,696 @@
|
|||
..
|
||||
This work is licensed under a Creative Commons Attribution 3.0 Unported
|
||||
License.
|
||||
|
||||
http://creativecommons.org/licenses/by/3.0/legalcode
|
||||
|
||||
======================
|
||||
OSC support for Manila
|
||||
======================
|
||||
|
||||
Include the URL of your launchpad blueprint:
|
||||
|
||||
https://blueprints.launchpad.net/python-manilaclient/+spec/openstack-client-support
|
||||
|
||||
Problem description
|
||||
===================
|
||||
|
||||
Python-Openstackclient is the default command line client for many
|
||||
OpenStack projects.
|
||||
|
||||
Use Cases
|
||||
=========
|
||||
|
||||
An end user can interact with manila using the same client they use for
|
||||
other services in OpenStack through the python-openstackclient.
|
||||
|
||||
Proposed change
|
||||
===============
|
||||
|
||||
The intent of this spec is to identify the commands to be implemented
|
||||
and establish conventions for command and argument names.
|
||||
This spec is not intended to be a full and correct specification of
|
||||
command and argument names. The details can be left to the code reviews
|
||||
for the commands themselves.
|
||||
|
||||
The following conventions will be adopted for argument flags:
|
||||
|
||||
- We are not planning to implement any different / new arguments
|
||||
to existing ones in python-manilaclient.
|
||||
|
||||
The following ``manila`` commands will be implemented for ``openstack``
|
||||
|
||||
|
||||
Limits
|
||||
------
|
||||
|
||||
::
|
||||
|
||||
manila absolute-limits
|
||||
openstack limits show --absolute
|
||||
|
||||
manila rate-limits
|
||||
openstack limits show --rate
|
||||
|
||||
|
||||
Shares
|
||||
------
|
||||
|
||||
::
|
||||
|
||||
manila create
|
||||
openstack share create
|
||||
|
||||
manila delete
|
||||
openstack share delete
|
||||
|
||||
manila force-delete
|
||||
openstack share delete --force
|
||||
|
||||
manila list
|
||||
openstack share list
|
||||
|
||||
manila show
|
||||
openstack share show
|
||||
|
||||
manila update
|
||||
openstack share set
|
||||
openstack share unset
|
||||
|
||||
|
||||
Share export locations
|
||||
----------------------
|
||||
|
||||
::
|
||||
|
||||
manila share-export-location-list
|
||||
openstack share export location list
|
||||
|
||||
manila share export-location-show
|
||||
openstack share export location show
|
||||
|
||||
Share metadata
|
||||
--------------
|
||||
|
||||
::
|
||||
|
||||
manila metadata
|
||||
openstack share set --property
|
||||
openstack share unset --property
|
||||
|
||||
manila metadata-show
|
||||
openstack share metadata show
|
||||
|
||||
|
||||
Share actions
|
||||
-------------
|
||||
|
||||
::
|
||||
|
||||
manila reset-state
|
||||
openstack share set --status
|
||||
|
||||
manila reset-task-state
|
||||
openstack share set --task-state
|
||||
|
||||
manila extend
|
||||
manila shrink
|
||||
openstack share resize
|
||||
|
||||
manila revert-to-snapshot
|
||||
openstack share revert
|
||||
|
||||
Share snapshots
|
||||
---------------
|
||||
|
||||
::
|
||||
|
||||
manila snapshot-access-allow
|
||||
openstack share snapshot access create
|
||||
|
||||
manila snapshot-access-deny
|
||||
openstack share snapshot access delete
|
||||
|
||||
manila snapshot-access-list
|
||||
openstack share snapshot access list
|
||||
|
||||
manila snapshot-create
|
||||
openstack share snapshot create
|
||||
|
||||
manila snapshot-delete
|
||||
openstack share snapshot delete
|
||||
|
||||
manila snapshot-export-location-list
|
||||
openstack share snapshot export location list
|
||||
|
||||
manila snapshot-export-location-show
|
||||
openstack share snapshot export location show
|
||||
|
||||
manila snapshot-force-delete
|
||||
openstack share snapshot delete --force
|
||||
|
||||
manila snapshot-list
|
||||
openstack share snapshot list
|
||||
|
||||
manila snapshot-manage
|
||||
openstack share snapshot adopt
|
||||
|
||||
manila snapshot-unmanage
|
||||
openstack share snapshot abandon
|
||||
|
||||
manila snapshot-rename
|
||||
openstack share snapshot set --name
|
||||
openstack share snapshot unset --name
|
||||
|
||||
manila snapshot-reset-state
|
||||
openstack share snapshot set --status
|
||||
|
||||
manila snapshot-show
|
||||
openstack share snapshot show
|
||||
|
||||
|
||||
Share snapshot instances
|
||||
------------------------
|
||||
|
||||
::
|
||||
|
||||
manila snapshot-instance-list
|
||||
openstack share snapshot instance list
|
||||
|
||||
manila snapshot-instance-show
|
||||
openstack share snapshot instance show
|
||||
|
||||
manila snapshot-instance-reset-state
|
||||
openstack share snapshot instance set --status
|
||||
|
||||
manila snapshot-instance-export-location list
|
||||
openstack share snapshot instance export location list
|
||||
|
||||
manila snapshot-instance-export-location-show
|
||||
openstack share snapshot instance export location show
|
||||
|
||||
Share networks
|
||||
--------------
|
||||
|
||||
::
|
||||
|
||||
manila share-network-create
|
||||
openstack share network create
|
||||
|
||||
manila share-network-delete
|
||||
openstack share network delete
|
||||
|
||||
manila share-network-list
|
||||
openstack share network list
|
||||
|
||||
manila share-network-show
|
||||
openstack share network show
|
||||
|
||||
manila share-network-update
|
||||
openstack share network set
|
||||
openstack share network unset
|
||||
|
||||
manila share-network-security-service-add
|
||||
openstack share network security service create
|
||||
|
||||
manila share-network-security-service-list
|
||||
openstack share network security service list
|
||||
|
||||
manila share-network-security-service-remove
|
||||
openstack share network security service delete
|
||||
|
||||
Security services
|
||||
-----------------
|
||||
|
||||
::
|
||||
|
||||
manila security-service-create
|
||||
openstack share security service create
|
||||
|
||||
manila security-service-delete
|
||||
openstack share security service delete
|
||||
|
||||
manila security-service-list
|
||||
openstack share security service list
|
||||
|
||||
manila security-service-show
|
||||
openstack share security service show
|
||||
|
||||
manila security-service-update
|
||||
openstack share security service set
|
||||
openstack share security service unset
|
||||
|
||||
Share servers
|
||||
-------------
|
||||
|
||||
::
|
||||
|
||||
manila share-server-delete
|
||||
openstack share server delete
|
||||
|
||||
manila share-server-details
|
||||
manila share server show
|
||||
openstack share server show
|
||||
|
||||
manila share-server-list
|
||||
openstack share server list
|
||||
|
||||
manila share-server-manage
|
||||
openstack share server adopt
|
||||
|
||||
manila share-server-unmanage
|
||||
openstack share server abandon
|
||||
|
||||
manila share-server-reset-state
|
||||
openstack share server set --status
|
||||
|
||||
|
||||
Share instances
|
||||
---------------
|
||||
|
||||
::
|
||||
|
||||
manila share-instance-force-delete
|
||||
openstack share instance delete
|
||||
|
||||
manila share-instance-list
|
||||
openstack share instance list
|
||||
|
||||
manila share-instance-reset-state
|
||||
openstack share instance set --status
|
||||
|
||||
manila share-instance-show
|
||||
openstack share instance show
|
||||
|
||||
Share instance export locations
|
||||
-------------------------------
|
||||
|
||||
::
|
||||
|
||||
manila share-instance-export-location-list
|
||||
openstack share instance export location list
|
||||
|
||||
manila share-instance-export-location-show
|
||||
openstack share instance export location show
|
||||
|
||||
Share types
|
||||
-----------
|
||||
|
||||
::
|
||||
|
||||
manila type-create
|
||||
openstack share type create
|
||||
|
||||
manila type-delete
|
||||
openstack share type delete
|
||||
|
||||
manila type-key
|
||||
openstack share type set
|
||||
openstack share type unset
|
||||
|
||||
manila type-list
|
||||
openstack share type list
|
||||
|
||||
manila type-show
|
||||
manila extra-specs-list
|
||||
openstack share type show
|
||||
|
||||
manila type-access-add
|
||||
openstack share type access create
|
||||
|
||||
manila type-access-list
|
||||
openstack share type access list
|
||||
|
||||
manila type-access-remove
|
||||
openstack share type access delete
|
||||
|
||||
Storage pools
|
||||
-------------
|
||||
|
||||
::
|
||||
|
||||
manila pool-list
|
||||
openstack share pool list
|
||||
|
||||
Services
|
||||
--------
|
||||
|
||||
::
|
||||
|
||||
manila service-enable
|
||||
manila service-disable
|
||||
openstack share service set
|
||||
|
||||
manila service-list
|
||||
openstack share service list
|
||||
|
||||
Availability zones
|
||||
------------------
|
||||
|
||||
::
|
||||
|
||||
manila availability-zone-list
|
||||
|
||||
We must implement this as a subcommand to the existing
|
||||
``openstack availability zone list`` command.
|
||||
|
||||
Manage and unmanage shares
|
||||
--------------------------
|
||||
|
||||
::
|
||||
|
||||
manila manage
|
||||
openstack share adopt
|
||||
|
||||
manila unmanage
|
||||
openstack share abandon
|
||||
|
||||
Quota sets
|
||||
----------
|
||||
|
||||
::
|
||||
|
||||
manila quota-defaults
|
||||
openstack quota defaults
|
||||
|
||||
manila quota-delete
|
||||
openstack quota delete
|
||||
|
||||
manila quota-show
|
||||
openstack quota show
|
||||
|
||||
manila quota-update
|
||||
openstack quota set
|
||||
|
||||
Quota class set
|
||||
---------------
|
||||
|
||||
::
|
||||
|
||||
manila quota-class-show
|
||||
openstack share quota class show
|
||||
|
||||
manila quota-class-update
|
||||
openstack share quota class set
|
||||
|
||||
User messages
|
||||
-------------
|
||||
|
||||
::
|
||||
|
||||
manila message-delete
|
||||
openstack share message delete
|
||||
|
||||
manila message-list
|
||||
openstack share message list
|
||||
|
||||
manila message-show
|
||||
openstack share message show
|
||||
|
||||
Share access rules
|
||||
------------------
|
||||
|
||||
::
|
||||
|
||||
manila access-allow
|
||||
openstack share access create
|
||||
|
||||
manila access-deny
|
||||
openstack share access delete
|
||||
|
||||
manila access-list
|
||||
openstack share access list
|
||||
|
||||
manila access-show
|
||||
openstack share access show
|
||||
|
||||
Share access rule metadata
|
||||
--------------------------
|
||||
|
||||
::
|
||||
|
||||
manila access-metadata
|
||||
openstack share access set --property
|
||||
openstack share access unset --property
|
||||
|
||||
Experimental APIs
|
||||
-----------------
|
||||
|
||||
Share migration
|
||||
---------------
|
||||
|
||||
::
|
||||
|
||||
manila migration-start
|
||||
openstack share migration start
|
||||
|
||||
manila migration-cancel
|
||||
openstack share migration cancel
|
||||
|
||||
manila migration-complete
|
||||
openstack share migration complete
|
||||
|
||||
manila migration-get-progress
|
||||
openstack share migration show
|
||||
|
||||
Share replicas
|
||||
--------------
|
||||
|
||||
::
|
||||
|
||||
manila share-replica-create
|
||||
openstack share replica create
|
||||
|
||||
manila share-replica-delete
|
||||
openstack share replica delete
|
||||
|
||||
manila share-replica-list
|
||||
openstack share replica list
|
||||
|
||||
manila share-replica-promote
|
||||
openstack share replica promote
|
||||
|
||||
manila share-replica-reset-replica-state
|
||||
manila share-replica-reset-state
|
||||
openstack share replica set --replica-state
|
||||
openstack share replica set --status
|
||||
|
||||
manila share-replica-resync
|
||||
openstack share replica resync
|
||||
|
||||
manila share-replica-show
|
||||
openstack share replica show
|
||||
|
||||
Share replica export locations
|
||||
------------------------------
|
||||
|
||||
::
|
||||
|
||||
manila share-replica-export-location-list
|
||||
openstack share replica export location list
|
||||
|
||||
manila share-replica-export-location-show
|
||||
openstack share replica export location show
|
||||
|
||||
Share groups
|
||||
------------
|
||||
|
||||
::
|
||||
|
||||
manila share-group-create
|
||||
openstack share group create
|
||||
|
||||
manila share-group-delete
|
||||
openstack share group delete
|
||||
|
||||
manila share-group-list
|
||||
openstack share group list
|
||||
|
||||
manila share-group-reset-state
|
||||
openstack share group set --status
|
||||
|
||||
manila share-group-show
|
||||
openstack share group show
|
||||
|
||||
manila share-group-update
|
||||
openstack share group set
|
||||
openstack share group unset
|
||||
|
||||
Share group types
|
||||
-----------------
|
||||
|
||||
::
|
||||
|
||||
manila share-group-type-access-add
|
||||
openstack share group type access create
|
||||
|
||||
manila share-group-type-access-list
|
||||
openstack share group type list
|
||||
|
||||
manila share-group-type-access-remove
|
||||
openstack share group type delete
|
||||
|
||||
manila share-group-type-create
|
||||
openstack share group type create
|
||||
|
||||
manila share-group-type-delete
|
||||
openstack share group type delete
|
||||
|
||||
manila share-group-type-key
|
||||
openstack share group type set --key
|
||||
openstack share group type unset --key
|
||||
|
||||
manila share-group-type-list
|
||||
openstack share group type list
|
||||
|
||||
|
||||
Share group snapshots
|
||||
---------------------
|
||||
|
||||
::
|
||||
|
||||
manila share-group-snapshot-create
|
||||
openstack share group snapshot create
|
||||
|
||||
manila share-group-snapshot-delete
|
||||
openstack share group snapshot delete
|
||||
|
||||
manila share-group-snapshot-list
|
||||
openstack share group snapshot list
|
||||
|
||||
manila share-group-snapshot-list-members
|
||||
openstack share group snapshot members list
|
||||
|
||||
manila share-group-snapshot-reset-state
|
||||
openstack share group snapshot unset
|
||||
|
||||
manila share-group-snapshot-show
|
||||
openstack share group snapshot show
|
||||
|
||||
manila share-group-snapshot-update
|
||||
openstack share group snapshot set
|
||||
openstack share group snapshot unset
|
||||
|
||||
Alternatives
|
||||
------------
|
||||
|
||||
* Continue using python-manilaclient as the manila client. Continue
|
||||
maintenance for python-manilaclient. Do not implement any openstack
|
||||
command.
|
||||
|
||||
Data model impact
|
||||
-----------------
|
||||
|
||||
No impact on the data model.
|
||||
|
||||
|
||||
REST API impact
|
||||
---------------
|
||||
|
||||
No impact on the REST API.
|
||||
|
||||
Driver impact
|
||||
-------------
|
||||
|
||||
No impact on the drivers.
|
||||
|
||||
Security impact
|
||||
---------------
|
||||
|
||||
No impact on security.
|
||||
|
||||
Notifications impact
|
||||
--------------------
|
||||
|
||||
No impact on notifications.
|
||||
|
||||
Other end user impact
|
||||
---------------------
|
||||
|
||||
Users will be able to interact with Manila through python-openstackcli.
|
||||
On the other hand, users may keep using manila outside of traditional
|
||||
openstackcli.
|
||||
|
||||
Performance Impact
|
||||
------------------
|
||||
|
||||
No impact on performance.
|
||||
|
||||
Other deployer impact
|
||||
---------------------
|
||||
|
||||
No deployer impact.
|
||||
|
||||
Developer impact
|
||||
----------------
|
||||
|
||||
No developer impact.
|
||||
|
||||
|
||||
Implementation
|
||||
==============
|
||||
|
||||
Assignee(s)
|
||||
-----------
|
||||
|
||||
Primary assignee:
|
||||
|
||||
* Soledad Kuczala <sol.kuczala@gmail.com>
|
||||
|
||||
Other contributors:
|
||||
|
||||
* Goutham Pacha Ravi <gouthampravi@gmail.com>
|
||||
* Sofia Enriquez <senrique@redhat.com>
|
||||
* Victoria Martinez de la Cruz <victoria@redhat.com>
|
||||
|
||||
Work Items
|
||||
----------
|
||||
|
||||
* Implement basic python-openstackclient shell support
|
||||
* Implement shares and share-types support
|
||||
* Implement limits
|
||||
* Implement storage pools
|
||||
* Implement services
|
||||
* Implement share export locations, share metadata and share actions
|
||||
* Implement share snapshots and share snapshot instances
|
||||
* Implement share networks
|
||||
* Implement security services
|
||||
* Implement share servers
|
||||
* Implement share instances and share instance export locations
|
||||
* Implement availability zones
|
||||
* Implement manage and unmanage shares
|
||||
* Implement quota and quota class sets
|
||||
* Implement user messages
|
||||
* Implement share access rules and share access rule metadata
|
||||
* Implement share migration (experimental)
|
||||
* Implement share replicas and share replicas export locations (experimental)
|
||||
* Implement share groups, share groups types and share group snapshots (experimental)
|
||||
|
||||
Dependencies
|
||||
============
|
||||
|
||||
No dependencies at the moment of writing for this project.
|
||||
|
||||
|
||||
Testing
|
||||
=======
|
||||
|
||||
Unit tests will be required as part of the implementation for each of
|
||||
the openstack commands.
|
||||
|
||||
|
||||
Documentation Impact
|
||||
====================
|
||||
|
||||
- End User guide
|
||||
- Documentation in which there is CLI usage will need to be updated.
|
||||
For consistency sake, we expect to have good coverage before changing
|
||||
those docs. In order words, at least non-experimental functionality
|
||||
needs to be implemented before changing manila commands docs for
|
||||
OpenStack commands.
|
||||
|
||||
|
||||
References
|
||||
==========
|
||||
|
||||
* http://lists.openstack.org/pipermail/openstack-discuss/2019-January/002271.html
|
Loading…
Reference in New Issue