Python bindings for Manila
Go to file
Valeriy Ponomaryov d4ff416e2d Fix client backwards compatibility
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
2015-11-20 13:29:01 +02:00
contrib/ci Update path to subunit2html in post_test_hook 2015-09-02 17:23:07 -07:00
doc Drop incubating theme from docs 2015-05-27 15:25:02 -07:00
etc Implement functionality for functional tests using tempest-lib 2014-11-12 13:05:24 +02:00
manilaclient Fix client backwards compatibility 2015-11-20 13:29:01 +02:00
tools Fix run_tests.sh 2014-07-16 09:08:23 +03:00
.gitignore Add manila cli help output to doc 2014-12-11 23:58:54 +01:00
.gitreview Update .gitreview file for move to openstack 2014-09-19 21:10:25 +00:00
.testr.conf Fix usage of setUpClass method in functional tests 2015-10-26 15:02:07 +02:00
HACKING mass replace cinder to manila 2013-09-05 13:32:38 +03:00
LICENSE setup.py fixed 2013-09-03 14:37:34 +03:00
MANIFEST.in Initial checkin 2013-09-02 23:42:41 -04:00
openstack-common.conf Sync with oslo-incubator 2014-10-23 08:13:25 +02:00
README.rst Add useful links to project README.rst 2015-10-17 01:17:24 +00:00
requirements.txt Updated from global requirements 2015-11-18 00:23:02 +00:00
run_tests.sh Remove nonexistent directory "tests" from pep8 scanning 2015-01-06 14:47:01 +02:00
setup.cfg Remove explicit version definition 2014-11-24 19:34:26 +02:00
setup.py Updated from global requirements 2015-09-18 16:42:20 +00:00
test-requirements.txt Updated from global requirements 2015-10-23 18:49:37 +00:00
tox.ini Add rw functional tests for shares 2015-06-02 12:46:34 +03:00

Python bindings to the OpenStack Manila API

Latest Version

Downloads

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()
[...]