Client for OpenStack services
Find a file
2015-01-19 20:15:02 +00:00
doc Merge "Create 1.0.2 release notes" 2015-01-19 20:15:02 +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 version url config workaround" 2015-01-19 18:08:53 +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 Tests work fine with random PYTHONHASHSEED 2014-11-12 15:55:39 +02: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 Wiki: https://wiki.openstack.org/wiki/OpenStackClient
.. _GitHub: https://github.com/openstack/python-openstackclient

OpenStack Client 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
===============

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`_

.. _reStructuredText: http://docutils.sourceforge.net/rst.html
.. _Sphinx: http://sphinx.pocoo.org/

Building Manually::

    cd doc
    make html

Results are in the ``build/html`` directory.