Python bindings for Manila
Go to file
Takashi Kajinami 8969f0e6a5 Remove Python 3.8 support
Python 3.8 was removed from the tested runtimes for 2024.2[1] and has
not been tested since then.

Also add Python 3.12 which is part of the tested runtimes for 2025.1.
Now unit tests job with Python 3.12 is voting.

[1] https://governance.openstack.org/tc/reference/runtimes/2024.2.html

Change-Id: I762cefb951429f1ae8df99c5897ae4078fd49967
2024-10-24 18:18:36 +09:00
doc Remove old excludes 2024-05-01 11:23:35 +09:00
etc Implement functionality for functional tests using tempest-lib 2014-11-12 13:05:24 +02:00
manilaclient Merge "Metadata for share export location" 2024-10-09 07:24:47 +00:00
playbooks Add FIPS testing jobs 2022-07-06 19:17:31 +00:00
rally-jobs Add rally job manifests 2017-07-31 19:57:48 -04:00
releasenotes Remove Python 3.8 support 2024-10-24 18:18:36 +09:00
roles/populate-manilaclient-config Replace OS_TENANT_NAME 2024-07-17 09:44:12 +09:00
tools Merge "tools: Remove dead tools" 2021-07-27 14:21:47 +00:00
zuul.d Replace OS_TENANT_NAME 2024-07-17 09:44:12 +09:00
.gitignore Drop 'clidoc' from sphinx extensions 2018-08-23 19:21:34 -07:00
.gitreview OpenDev Migration Patch 2019-04-19 19:44:14 +00:00
.stestr.conf Switch to use stestr instead of testr 2018-05-07 22:24:34 +08:00
bindep.txt Fix PDF docs issue 2021-07-27 08:46:08 -03:00
CONTRIBUTING.rst [ussuri][goal] Change contributor guide 2020-04-24 16:49:52 -07:00
HACKING utils: Remove unicode-related helpers 2021-07-14 10:26:30 +01:00
LICENSE setup.py fixed 2013-09-03 14:37:34 +03:00
README.rst Add PDF documentation build 2019-09-13 14:00:46 -04:00
requirements.txt Remove unused simplejson 2024-05-22 10:07:16 +09:00
run_tests.sh Remove nonexistent directory "tests" from pep8 scanning 2015-01-06 14:47:01 +02:00
setup.cfg Remove Python 3.8 support 2024-10-24 18:18:36 +09:00
setup.py Cleanup py27 support 2020-04-04 11:30:07 +02:00
test-requirements.txt Remove old excludes 2024-05-01 11:23:35 +09:00
tox.ini Merge "adds bandit testing and Zuul CI job." 2024-05-11 03:14:50 +00:00

Team and repository tags

image

Python bindings to the OpenStack Manila API

Latest Version

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