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:
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 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 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
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.
Other deployer impact
No deployer impact.
Developer impact
No developer impact.
Implementation
Assignee(s)
Primary assignee:
Other contributors:
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.