d4ff416e2d
Change [1] introduced support of microversions to manilaclient and changed behaviour of client init that is not compatible with old approach. Also, not all old modules have deprecated modules in place. So, first problem description: - Old client expected string with api version, new one expects APIVersion class instance. So, add support for both and cover them with unit tests. Second problem description: - Manila UI project imports "manilaclient.v1.contrib.list_extensions" directly, but this file was moved to another place without keeping in place deprecated variant. So, add such to fix backward compatibility and allow to use newest manilaclient with manila-ui project. [1] I3733fe85424e39566addc070d42609e508259f19 Change-Id: I838631fb38b8ddf1f4f1e06269af122bf51a5155 Closes-Bug: #1518245 |
||
---|---|---|
contrib/ci | ||
doc | ||
etc | ||
manilaclient | ||
tools | ||
.gitignore | ||
.gitreview | ||
.testr.conf | ||
HACKING | ||
LICENSE | ||
MANIFEST.in | ||
openstack-common.conf | ||
README.rst | ||
requirements.txt | ||
run_tests.sh | ||
setup.cfg | ||
setup.py | ||
test-requirements.txt | ||
tox.ini |
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