Client for OpenStack services
Go to file
Doug Hellmann 5e4032150d Fix "help" command and implement "list server" and "show server"
blueprint client-manager
blueprint nova-client
bug 992841

Move the authentication logic into a new ClientManager class so that only commands that need to authenticate will trigger that code.
Implement "list server" and "show server" commands as examples of using the ClientManager, Lister, and ShowOne classes.

Change-Id: I9845b70b33bae4b193dbe41871bf0ca8e286a727
2012-05-04 09:35:40 -04:00
docs Adding name to Authors and updating a bad URL. More to get my gerrit workflow up. 2012-05-01 15:49:18 -07:00
openstackclient Fix "help" command and implement "list server" and "show server" 2012-05-04 09:35:40 -04:00
tests Fix "help" command and implement "list server" and "show server" 2012-05-04 09:35:40 -04:00
tools Fix "help" command and implement "list server" and "show server" 2012-05-04 09:35:40 -04:00
.gitignore Fix "help" command and implement "list server" and "show server" 2012-05-04 09:35:40 -04:00
.gitreview Add openstack-common and test infrastructure. 2012-04-28 22:27:34 +00:00
HACKING Adding HACKING doc to project 2012-05-02 22:09:29 -07:00
LICENSE First commit 2012-04-18 13:16:39 -05:00
MANIFEST.in Add openstack-common and test infrastructure. 2012-04-28 22:27:34 +00:00
openstack-common.conf Add openstack-common and test infrastructure. 2012-04-28 22:27:34 +00:00
README.rst Add token auth to shell and README 2012-04-27 11:49:15 -05:00
run_tests.sh Add openstack-common and test infrastructure. 2012-04-28 22:27:34 +00:00
setup.cfg Add openstack-common and test infrastructure. 2012-04-28 22:27:34 +00:00
setup.py Change binary name to 'openstack' 2012-05-02 09:45:32 -05:00
tox.ini Add openstack-common and test infrastructure. 2012-04-28 22:27:34 +00:00

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

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=<url-to-openstack-identity>
export OS_TENANT_NAME=<tenant-name>
export OS_USERNAME=<user-name>
export OS_PASSWORD=<password>    # yes, it isn't secure, we'll address it in the future

The corresponding command-line options look very similar:

--os-auth-url <url>
--os-tenant-name <tenant-name>
--os-username <user-name>
--os-password <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=<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
                      (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