Client for OpenStack services
Go to file
Terry Howe 0b2987fef3 Fix find_resource for keystone and cinder
The find_resource method had two hacks in in to support cinder
and keystone and I have removed those in favor of a monkey patch
for cinder.

The find_resource method used to attempt to UUID parse the id, but
it would do a manager.get anyway.  I changed it to skip the UUID
parsing.  This will make things run minorly faster and it supports
LDAP for keystone.

The find_resource used to attempt to use display_name=name_or_id
when finding.  This was a hack for cinder support, but it breaks
keystone because keystone totally messes up with the bogus filter
and keystone refuses to fix it.

Change-Id: I66e45a6341f704900f1d5321a0e70eac3d051665
Closes-Bug: #1306699
2014-06-17 10:24:26 -06:00
doc Fixed Spelling errors - compatability to compatibility 2014-03-07 09:39:02 -08:00
openstackclient Fix find_resource for keystone and cinder 2014-06-17 10:24:26 -06:00
tools Update oslo incubator bits 2014-02-20 14:09:01 -06: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
openstack-common.conf Update oslo incubator bits 2014-02-20 14:09:01 -06:00
README.rst Fixed several typos throughout the codebase 2014-05-21 07:47:52 -07:00
requirements.txt Updated from global requirements 2014-06-13 22:57:28 +00:00
run_tests.sh Modify run_tests.sh to just run tox 2013-08-02 01:41:14 -05:00
setup.cfg Refactor oauth1 code for updates 2014-06-14 17:21:17 -04:00
setup.py Updated from global requirements 2014-05-01 13:50:49 +00:00
test-requirements.txt Updated from global requirements 2014-06-13 22:57:28 +00:00
tox.ini Ignore most of the new hacking 0.9.2 rules 2014-06-13 17:06:28 -05:00

OpenStack Client

OpenStackclient (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.

OpenStackclient has a plugin mechanism to add support for API extensions.

  • 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 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

OpenStackclient 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)
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-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.