Python bindings for Manila
Go to file
Eric Harney 7f7d7d32dc Re-enable shell completion cache
This enables writing ids to a local completion
cache when using the manilaclient shell, which
allows tools/manila.bash_completion to complete
commands such as:
    manila delete a<tab>

Share ids are recorded on "manila list" operations.

Caching can be expanded to cover additional
types of manila objects using this same infrastructure.

Uses ~/.cache/manilaclient/ to match path standards,
and uses SHA-1 since Python running w/ FIPS mode may
not have MD5.

Also, fix a small bug in the fakes used in our test suite.
We were adding the shares count (an optional param) to all
the list responses, while this is something that should be done
only if the param with_count is set to True.

Co-Authored-By: Victoria Martinez de la Cruz <victoria@redhat.com>
Closes-Bug: #1712835
Change-Id: I7f4dedf1dd4b7db6cf24fc1c4ed2a8d3685f714c
(cherry picked from commit 6ecdbef0fc)
2022-06-29 18:26:44 +00:00
doc Merge "remove unicode from code" 2021-03-12 00:54:35 +00:00
etc Implement functionality for functional tests using tempest-lib 2014-11-12 13:05:24 +02:00
manilaclient Re-enable shell completion cache 2022-06-29 18:26:44 +00:00
playbooks/python-manilaclient-functional Migrate functional job to native zuulv3 2020-06-30 17:25:46 +00:00
rally-jobs Add rally job manifests 2017-07-31 19:57:48 -04:00
releasenotes Add CLI error notification in case there is no share type 2022-03-30 01:02:50 +05:30
roles/populate-manilaclient-config Add commands for share server migration 2020-09-10 07:40:32 -03:00
tools Re-enable shell completion cache 2022-06-29 18:26:44 +00:00
zuul.d [CI] Fix CI jobs 2021-12-22 17:15:35 +00:00
.gitignore Drop 'clidoc' from sphinx extensions 2018-08-23 19:21:34 -07:00
.gitreview Update .gitreview for stable/wallaby 2021-03-18 11:21:58 +00:00
.stestr.conf Switch to use stestr instead of testr 2018-05-07 22:24:34 +08:00
CONTRIBUTING.rst [ussuri][goal] Change contributor guide 2020-04-24 16:49:52 -07:00
HACKING TrivialFix for HACKING file 2017-08-23 17:42:54 +08: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
bindep.txt Remove python2 installation from bindep 2020-10-04 00:47:04 -07:00
lower-constraints.txt [goal] Migrate testing to ubuntu focal 2020-09-06 00:49:59 +00:00
requirements.txt Cleanup py27 support 2020-04-04 11:30:07 +02:00
run_tests.sh Remove nonexistent directory "tests" from pep8 scanning 2015-01-06 14:47:01 +02:00
setup.cfg Merge "[OSC] Implement Share Revert Command" 2021-02-17 18:22:47 +00:00
setup.py Cleanup py27 support 2020-04-04 11:30:07 +02:00
test-requirements.txt Use unittest.mock instead of third party lib 2020-06-22 17:26:26 -07:00
tox.ini Fix tox to ignore_basepython_conflict 2022-02-25 12:06:36 -08:00

README.rst

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