The osc commands `openstack share set <share-id> --task-state` and `openstack share server set <share-server-id> --task-state` were failing when no value was provided, or when None was passed as an argument, leading to the API receive the string "null" instead of the JSON null value. This change makes the --task-state argument optional, allowing it to be specified without a value or with the string "None". In both cases, the command correctly interprets these inputs as a request to clear the task state by sending a proper null value to the API. Test Plan: - Added unittests for --task-state argument handling both share set and share server set commands. - Verified cases when --task-state is provided without a value (interpreted as None) or with value "None" (ensuring it is properly converted to None). Closes-Bug: #2108991 Change-Id: Ic2a9eed81154bfbe8517c7411da72f1e4d0e1e64 Signed-off-by: llmtech-dev <llm.tech.developer@gmail.com>
Team and repository tags
Python bindings to the OpenStack Manila API
This is a client for the OpenStack Manila API. There's a Python API
(the manilaclient module), and a command-line script
(manila). Each implements 100% of the OpenStack Manila
API.
See the OpenStack
CLI guide for information on how to use the manila
command-line tool. You may also want to look at the OpenStack API
documentation.
The project is hosted on Launchpad, where bugs can be filed. The code is hosted on Github. Patches must be submitted using Gerrit, not Github pull requests.
This code is a fork of Cinderclient of Grizzly release and then it was developed separately. Cinderclient code is a fork of Jacobian's python-cloudservers If you need API support for the Rackspace API solely or the BSD license, you should use that repository. python-manilaclient is licensed under the Apache License like the rest of OpenStack.
Contents:
Command-line API
Installing this package gets you a shell command,
manila, that you can use to interact with any Rackspace
compatible API (including OpenStack).
You'll need to provide your OpenStack username and password. You can
do this with the --os-username, --os-password
and --os-tenant-name params, but it's easier to just set
them as environment variables:
export OS_USERNAME=foouser
export OS_PASSWORD=barpass
export OS_TENANT_NAME=fooproject
You will also need to define the authentication url either with param
--os-auth-url or as an environment variable:
export OS_AUTH_URL=http://example.com:5000/v2.0/
Since Keystone can return multiple regions in the Service Catalog,
you can specify the one you want with --os-region-name (or
export OS_REGION_NAME). It defaults to the first in the
list returned.
You'll find complete documentation on the shell by running
manila help, see manila help COMMAND for help
on a specific command.
Python API
There's also a complete Python API, but it has not yet been documented.
Quick-start using keystone:
# use v2.0 auth with http://example.com:5000/v2.0/
>>> from manilaclient.v1 import client
>>> nt = client.Client(USER, PASS, TENANT, AUTH_URL, service_type="share")
>>> nt.shares.list()
[...]
- License: Apache License, Version 2.0
- PyPi - package installation
- Online Documentation
- Launchpad project - release management
- Blueprints - feature specifications
- Bugs - issue tracking
- Source
- How to Contribute
- Release Notes