================ 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: * https://launchpad.net/python-openstackclient For blueprints and feature specifications: * https://blueprints.launchpad.net/python-openstackclient For issue tracking: * https://bugs.launchpad.net/python-openstackclient 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 .. _virtualenvwrapper: http://www.doughellmann.com/projects/virtualenvwrapper 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= export OS_TENANT_NAME= export OS_USERNAME= export OS_PASSWORD= # yes, it isn't secure, we'll address it in the future The corresponding command-line options look very similar:: --os-auth-url --os-tenant-name --os-username --os-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= export OS_URL= The corresponding command-line options look very similar:: --os-token --os-url 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 ``docs/source`` folder using `reStructuredText`_ and built by `Sphinx`_ .. _reStructuredText: http://docutils.sourceforge.net/rst.html .. _Sphinx: http://sphinx.pocoo.org/ * 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