Client for OpenStack services
Go to file
Terry Howe d843255bd8 Change test order to avoid incompatibliity
If py26 or py27 tests are run first, there is a incompatibility in
the .testrepository that breaks several tests.  To get around this,
you need to run the py33 tests first.  This change was made over in
the cliff project.

Before:
    (.venv)terry@brat:~/cli$ rm -rf .testrepository/
    (.venv)terry@brat:~/cli$ tox
      ...
      py26: commands succeeded
      py27: commands succeeded
    ERROR:   py33: commands failed
    ERROR:   py34: commands failed
      pep8: commands succeeded
After:
    (.venv)terry@brat:~/cli$ rm -rf .testrepository/
    (.venv)terry@brat:~/cli$ tox
      ...
      py33: commands succeeded
      py34: commands succeeded
      py26: commands succeeded
      py27: commands succeeded
      pep8: commands succeeded
      congratulations :)
    (.venv)terry@brat:~/cli$

Change-Id: Ie1717efd6827eae36683f2e7fe7ff8ec58ff4aa8
2015-01-28 05:44:37 -07:00
doc Merge "Add filter to image list" 2015-01-28 05:43:09 +00:00
examples Default user domain id and project domain id 2015-01-16 02:52:15 -05:00
functional Followup for ec2 credentials command fix 2014-12-05 22:21:32 -06:00
openstackclient Merge "Add filter to image list" 2015-01-28 05:43:09 +00:00
python-openstackclient/locale Imported Translations from Transifex 2015-01-19 06:14:14 +00:00
tools sync oslo bits 2014-06-20 16:18:33 -04:00
.coveragerc Update .coveragerc 2013-02-06 16:47:06 +02:00
.gitignore Enhance the theming for modules page 2014-11-18 22:07:57 -05: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
babel.cfg Add translation markers for user v2 actions 2014-10-09 14:47:19 -04:00
HACKING.rst Fix PEP8 E302 errors 2014-07-22 17:51:15 -06:00
LICENSE First commit 2012-04-18 13:16:39 -05:00
MANIFEST.in Add translation markers for user v2 actions 2014-10-09 14:47:19 -04:00
openstack-common.conf Use oslo.utils 2014-09-22 13:07:31 +03:00
post_test_hook.sh Add functional tests to osc 2014-10-01 19:46:07 -04:00
README.rst Cleanup README.rst 2014-07-31 00:53:36 -04:00
requirements.txt Add missing oslo-config to requirements 2015-01-18 09:20:09 +00:00
run_tests.sh Modify run_tests.sh to just run tox 2013-08-02 01:41:14 -05:00
setup.cfg Merge "Add version url config workaround" 2015-01-19 18:08:53 +00:00
setup.py Updated from global requirements 2014-05-01 13:50:49 +00:00
test-requirements.txt Upgrade hacking to 0.10 2015-01-12 15:22:39 -05:00
tox.ini Change test order to avoid incompatibliity 2015-01-28 05:44:37 -07:00

OpenStack Client

OpenStack Client (aka python-openstackclient) is a command-line client for the OpenStack APIs. It is primarily a 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.

OpenStack Client has a plugin mechanism to add support for API extensions.

Note

OpenStackClient is considered to be beta release quality as of the 0.3 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

OpenStack Client can be installed from PyPI using pip:

pip install python-openstackclient

Developers can use the install virtualenv script to create the virtualenv:

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

Unit tests are now run using tox. The run_test.sh script provides compatibility but is generally considered deprecated.

The client can be called interactively by simply typing:

openstack

There are a few variants on getting help. A list of global options and supported commands is shown with --help:

openstack --help

There is also a help command that can be used to get help text for a specific command:

openstack help
openstack help server create

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)

The corresponding command-line options look very similar:

--os-auth-url <url>
--os-project-name <project-name>
--os-username <user-name>
[--os-password <password>]

If a password is not provided above (in plaintext), you will be interactively prompted to provide one securely.

The token flow variation for authentication uses an already-acquired 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:

cd doc
make html

Results are in the build/html directory.