Client for OpenStack services
Go to file
Dean Troyer a4aaac78a9 Add role CRUD commands
* add {add|create|delete|list|remove|show|user-list} role commands

Change-Id: I27129168a9f58154fcdb062a533fa926737f822f
2012-05-18 13:57:16 -05:00
docs Added conf.py so Sphinx docs will build 2012-05-16 12:08:09 -04:00
openstackclient Add role CRUD commands 2012-05-18 13:57:16 -05:00
tests Fix "help" command and implement "list server" and "show server" 2012-05-04 09:35:40 -04:00
tools Moved test related packages to test-requires 2012-05-16 11:56:28 -04:00
.gitignore Fix "help" command and implement "list server" and "show server" 2012-05-04 09:35:40 -04:00
.gitreview Add openstack-common and test infrastructure. 2012-04-28 22:27:34 +00:00
HACKING Clean up tenant and server 2012-05-16 11:44:18 -05:00
LICENSE First commit 2012-04-18 13:16:39 -05:00
MANIFEST.in Add openstack-common and test infrastructure. 2012-04-28 22:27:34 +00:00
openstack-common.conf Add openstack-common and test infrastructure. 2012-04-28 22:27:34 +00:00
README.rst Added :: to readme.rst to format correctly. 2012-05-16 13:05:48 -04:00
run_tests.sh Add openstack-common and test infrastructure. 2012-04-28 22:27:34 +00:00
setup.cfg Add openstack-common and test infrastructure. 2012-04-28 22:27:34 +00:00
setup.py Add role CRUD commands 2012-05-18 13:57:16 -05:00
tox.ini Add openstack-common and test infrastructure. 2012-04-28 22:27:34 +00: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:

For blueprints and feature specifications:

For issue tracking:

Getting Started

We recommend using a virtualenv to install the client. This description uses virtualenvwrapper to create the virtualenv. Install the prereqs, then build the egg, and install the client into the virtualenv:

mkvirtualenv openstackclient
pip install -r tools/pip-requires
python setup.py build
easy_install dist/python_openstackclient-0.1-py2.7.egg

Toxicity 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>    # yes, it isn't secure, we'll address it in the future

The corresponding command-line options look very similar:

--os-auth-url <url>
--os-tenant-name <tenant-name>
--os-username <user-name>
--os-password <password>

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
                      (via httplib2)
--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 Contributor Documentation

This documentation is written by contributors, for contributors.

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

  • Building Automatically:

    $ ./run_tests.sh --docs
  • 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