Skip to content

Python bindings for Manila. Mirror of code maintained at opendev.org.

License

Notifications You must be signed in to change notification settings

openstack/python-manilaclient

Repository files navigation

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.

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.

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