Python bindings for Manila
Go to file
Goutham Pacha Ravi 2d4df937d5 Use unittest.mock instead of third party lib
mock was adopted into standard python
in version 3.3 [1]. Since python-manilaclient
no longer supports python2.7, we can use the inbuilt
mock package rather than the third party
lib.

Also fix some issues with imports that
weren't following our import conventions
of grouping imports [3]

[1] https://docs.python.org/3/library/unittest.mock.html
[2] http://lists.openstack.org/pipermail/openstack-discuss/2020-March/013281.html
[3] https://docs.openstack.org/hacking/latest/user/hacking.html#imports

Change-Id: I3e199e1a117ddf7739fce8858694a801a26ed08f
Signed-off-by: Goutham Pacha Ravi <gouthampravi@gmail.com>
2020-06-22 17:26:26 -07:00
contrib/ci Add CLI commands for Manage-Unmanage of Share Servers 2019-03-06 14:41:47 -05:00
doc Switch to newer openstackdocstheme and reno versions 2020-05-22 17:23:00 +00:00
etc Implement functionality for functional tests using tempest-lib 2014-11-12 13:05:24 +02:00
manilaclient Use unittest.mock instead of third party lib 2020-06-22 17:26:26 -07:00
playbooks/legacy/manilaclient-dsvm-neutron-functional OpenDev Migration Patch 2019-04-19 19:44:14 +00:00
rally-jobs Add rally job manifests 2017-07-31 19:57:48 -04:00
releasenotes Switch to newer openstackdocstheme and reno versions 2020-05-22 17:23:00 +00:00
tools TrivialFix: Remove unnecessary future imports 2020-05-05 08:44:02 -07: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
.zuul.yaml Add Python3 victoria unit tests 2020-04-10 18:11:34 +00: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
lower-constraints.txt Use unittest.mock instead of third party lib 2020-06-22 17:26:26 -07: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 Add py38 package metadata 2020-04-24 10:30:35 -05: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 Drop install_command usage in tox 2020-04-22 18:25:56 -07: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()
[...]