Client for OpenStack services
Go to file
Terry Howe ecc4fb330d Glance client no longer isa http client
If the client has-a http_client, then is must not be an is-a.  This has been tested with the current version of glanceclient and the master branch.

Closes-Bug: #1269821
Change-Id: I14d67eb094bfb4c2dbc07106343488298b6a9409
2014-02-07 13:43:02 -07:00
doc Release notes for 0.3.0 release 2013-12-17 09:22:17 -06:00
openstackclient Glance client no longer isa http client 2014-02-07 13:43:02 -07:00
tools Closes-Bug: #1262321 2013-12-19 20:06:54 -07:00
.coveragerc Update .coveragerc 2013-02-06 16:47:06 +02:00
.gitignore Migrate to pbr. 2013-05-16 10:36:08 -07: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 Add Identity v2 project tests 2013-08-16 14:35:46 -05:00
HACKING.rst Update URL for global hacking doc and fix typos 2013-11-11 11:09:55 -08:00
LICENSE First commit 2012-04-18 13:16:39 -05:00
MANIFEST.in Migrate to pbr. 2013-05-16 10:36:08 -07:00
README.rst Closes-Bug: #1262322 Make links clickable 2013-12-25 09:41:17 -07:00
openstack-common.conf Add security group commands 2013-07-29 19:07:22 -05:00
requirements.txt Sync with global requirements 2014-01-16 09:21:39 +01:00
run_tests.sh Modify run_tests.sh to just run tox 2013-08-02 01:41:14 -05:00
setup.cfg Merge "Add module list command" 2013-12-05 23:34:31 +00:00
setup.py Updated from global requirements 2013-10-01 16:15:07 +00:00
test-requirements.txt Remove mox3 requirement 2013-12-17 09:21:03 -06:00
tox.ini Update tox.ini for new tox 1.6 config 2013-09-04 14:23:15 -05: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 OpenStack Client Wiki. The primary goal is to provide a unified shell command structure and a common language to describe operations in OpenStack. The master repository is on GitHub.

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

  • Release management
  • Blueprints and feature specifications
  • Issue tracking
  • PyPi

* Developer Docs .. _release management: https://launchpad.net/python-openstackclient .. _Blueprints and feature specifications: https://blueprints.launchpad.net/python-openstackclient .. _Issue tracking: https://bugs.launchpad.net/python-openstackclient .. _PyPi: https://pypi.python.org/pypi/python-openstackclient .. _Developer Docs: http://docs.openstack.org/developer/python-openstackclient/ .. _install virtualenv: tools/install_venv.py

Note

OpenStackClient is considered to be alpha release quality as of the 0.2 release; no assurances are made at this point for ongoing compatibility in command forms or output. We do not, however, expect any major changes at this point.

Getting Started

We recommend using a virtualenv to install the client. This description uses the install virtualenv 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 https://wiki.openstack.org/wiki/OpenStackClient/Authentication.

The 'password flow' variation is most commonly used:

export OS_AUTH_URL=<url-to-openstack-identity>
export OS_PROJECT_NAME=<project-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-project-name <project-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.