Client for OpenStack services
Go to file
Josh Kearney b26cb5bf68 Upgraded to PEP8 1.3.3 to stay aligned with Nova, etc.
Made all the necessary changes to pass new PEP8 standards.

Also cleaned up docstrings to conform to the HACKING stanards.

Change-Id: Ib8df3030da7a7885655689ab5da0717748c9edbe
2013-01-31 13:31:41 -06:00
doc Fix PEP8 issues. 2012-08-29 14:17:08 +08:00
openstackclient Upgraded to PEP8 1.3.3 to stay aligned with Nova, etc. 2013-01-31 13:31:41 -06:00
tests Clean up test_shell so that the tests are captured though the test framework. 2013-01-30 14:59:29 -06:00
tools Upgraded to PEP8 1.3.3 to stay aligned with Nova, etc. 2013-01-31 13:31:41 -06:00
.gitignore Clean up test_shell so that the tests are captured though the test framework. 2013-01-30 14:59:29 -06:00
.gitreview Add openstack-common and test infrastructure. 2012-04-28 22:27:34 +00:00
.mailmap Clean up test environment and remove unused imports. 2013-01-22 11:44:18 -06:00
.testr.conf Migrate from nose to testr. 2013-01-22 12:16:09 -06:00
HACKING Migrate from nose to testr. 2013-01-22 12:16:09 -06:00
LICENSE First commit 2012-04-18 13:16:39 -05:00
MANIFEST.in Updated gitignore and manifest. 2013-01-21 15:36:55 -06:00
openstack-common.conf Copy cfg and iniparser from oslo-incubator 2013-01-30 21:44:40 -06:00
README.rst Updated README to reflect latest changes. 2013-01-29 15:12:39 -06:00
run_tests.sh Upgraded to PEP8 1.3.3 to stay aligned with Nova, etc. 2013-01-31 13:31:41 -06:00
setup.cfg Migrate from nose to testr. 2013-01-22 12:16:09 -06:00
setup.py Upgraded to PEP8 1.3.3 to stay aligned with Nova, etc. 2013-01-31 13:31:41 -06:00
tox.ini Upgraded to PEP8 1.3.3 to stay aligned with Nova, etc. 2013-01-31 13:31:41 -06:00

OpenStack Client

python-openstackclient is a unified command-line client for the OpenStack APIs. It is a thin wrapper to the stock python-*client modules that implement the actual REST API client actions.

This is an implementation of the design goals shown in http://wiki.openstack.org/UnifiedCLI. The primary goal is to provide a unified shell command structure and a common language to describe operations in OpenStack.

python-openstackclient is designed to add support for API extensions via a plugin mechanism.

For release management:

* https://launchpad.net/python-openstackclient

For blueprints and feature specifications:

* https://blueprints.launchpad.net/python-openstackclient

For issue tracking:

* https://bugs.launchpad.net/python-openstackclient

Getting Started

We recommend using a virtualenv to install the client. This description uses the install_venv.py script to create the virtualenv:

python tools/install_venv.py
source .venv/bin/activate
python setup.py develop

Unit tests can be ran simply by running:

run_tests.sh

The client can be called interactively by simply typing:

openstack

Alternatively command line parameters can be called non-interactively:

openstack --help

Configuration

The CLI is configured via environment variables and command-line options as listed in http://wiki.openstack.org/UnifiedCLI/Authentication.

The 'password flow' variation is most commonly used:

export OS_AUTH_URL=<url-to-openstack-identity>
export OS_TENANT_NAME=<tenant-name>
export OS_USERNAME=<user-name>
export OS_PASSWORD=<password>  # (optional)
export OS_USE_KEYRING=true  # (optional)

The corresponding command-line options look very similar:

--os-auth-url <url>
--os-tenant-name <tenant-name>
--os-username <user-name>
[--os-password <password>]
[--os-use-keyring]

If a password is not provided above (in plaintext), you will be interactively prompted to provide one securely. If keyring is enabled, the password entered in the prompt is stored in keyring. From next time, the password is read from keyring, if it is not provided above (in plaintext).

The token flow variation for authentication uses an already-aquired token and a URL pointing directly to the service API that presumably was acquired from the Service Catalog:

export OS_TOKEN=<token>
export OS_URL=<url-to-openstack-service>

The corresponding command-line options look very similar:

--os-token <token>
--os-url <url-to-openstack-service>

Additional command-line options and their associated environment variables are listed here:

--debug             # turns on some debugging of the API conversation
--verbose | -v      # Increase verbosity of output. Can be repeated.
--quiet | -q        # suppress output except warnings and errors
--help | -h         # show a help message and exit

Building Documentation

This documentation is written by contributors, for contributors.

The source is maintained in the doc/source folder using reStructuredText and built by Sphinx

  • Building Manually:

    $ export DJANGO_SETTINGS_MODULE=local.local_settings
    $ python doc/generate_autodoc_index.py
    $ sphinx-build -b html doc/source build/sphinx/html

Results are in the build/sphinx/html directory.