Client for OpenStack services
Go to file
Clark Boylan 77e5ce57fd Move docs to doc.
To better facilitate the building and publishing of sphinx
documentation by Jenkins we are moving all openstack projects with
sphinx documentation to a common doc tree structure. Documentation
goes in project/doc/source and build results go in project/doc/build.

Change-Id: I925e687254bac9e06c2c520f4fc35a083e21c4ca
2012-06-11 14:37:48 -07:00
doc Move docs to doc. 2012-06-11 14:37:48 -07:00
openstackclient minor fixes 2012-05-29 14:31:00 -07: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 Move docs to doc. 2012-06-11 14:37:48 -07:00
README.rst Move docs to doc. 2012-06-11 14:37:48 -07:00
openstack-common.conf Add openstack-common and test infrastructure. 2012-04-28 22:27:34 +00:00
run_tests.sh Add openstack-common and test infrastructure. 2012-04-28 22:27:34 +00:00
setup.cfg Move docs to doc. 2012-06-11 14:37:48 -07:00
setup.py minor fixes 2012-05-29 14:31:00 -07:00
tox.ini Add openstack-common and test infrastructure. 2012-04-28 22:27:34 +00:00

README.rst

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

If you want to work in development mode, do this instead:

mkvirtualenv openstackclient
pip install -r tools/pip-requires
python setup.py develop

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 doc/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