Client for OpenStack services
Go to file
Tang Chen 35833f7bd8 Fix DisplayCommandBase comments for cliff ShowOne subclass tests
As bug #1477199 describes, the wrong comment below is all over the
unit test code of OSC.

    # DisplayCommandBase.take_action() returns two tuples

There is no such class named DisplayCommandBase in OSC. It is in cliff.

All OSC command classes inherit from the base classes in cliff,
class Command, class Lister and class ShowOne. It is like this:

Object
|--> Command
     |--> DisplayCommandBase
          |--> Lister
          |--> ShowOne

take_action() is an abstract method of class Command, and generally is
overwritten by subclasses.
* Command.take_action() returns nothing.
* Lister.take_action() returns a tuple which contains a tuple of columns
  and a generator used to generate the data.
* ShowOne.take_action() returns an iterator which contains a tuple of
  columns and a tuple of data.

So, this problem should be fixed in 3 steps:
1. Remove all DisplayCommandBase comments for tests of classes inheriting
   from class Command in cliff as it returns nothing.
2. Fix all DisplayCommandBase comments for tests of classes inheriting
   from class Lister in cliff. Lister.take_action() returns a tuple and
   a generator.
3. Fix all DisplayCommandBase comments for tests of classes inheriting
   from class ShowOne in cliff. ShowOne.take_action() returns two tuples.

This patch finishes step 3 in all but identity tests. There are too many
such comments in identity tests. So fix them all in another patch.

Change-Id: I1afe4852069d25d562a9448ec2bf2cff58955052
Partial-bug: #1477199
2016-02-10 13:31:38 +08:00
doc Merge "Add support for triggering an crash dump" 2016-02-05 22:49:36 +00:00
examples Switch to ksa Session 2015-12-02 01:55:14 +00:00
functional Merge "Add functional tests for snapshots" 2016-02-05 22:50:01 +00:00
openstackclient Fix DisplayCommandBase comments for cliff ShowOne subclass tests 2016-02-10 13:31:38 +08:00
releasenotes Merge "Add release note for recursive delete" 2016-02-07 03:16:15 +00:00
.coveragerc Change ignore-errors to ignore_errors 2015-09-21 14:54:21 +00:00
.gitignore Add reno for release notes management 2015-12-02 14:32:07 -06: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 Use format options for functional tests 2015-05-17 12:33:39 +00:00
babel.cfg Add translation markers for user v2 actions 2014-10-09 14:47:19 -04:00
HACKING.rst Remove non-existing hacking deviations from doc 2015-08-09 13:22:48 -07:00
LICENSE Remove LICENSE APPENDIX 2015-11-18 13:25:56 +09:00
post_test_hook.sh unwedge the gate 2015-10-08 03:09:43 -04:00
README.rst Use Block Storage instead of Volume 2015-11-27 17:56:10 +08:00
requirements.txt Updated from global requirements 2016-01-28 13:41:16 +00:00
setup.cfg Add support for triggering an crash dump 2016-02-05 21:48:41 +08:00
setup.py Updated from global requirements 2015-09-18 16:42:31 +00:00
test-requirements.txt Updated from global requirements 2016-02-08 02:44:02 +00:00
tox.ini Deprecated tox -downloadcache option removed 2015-12-11 23:30:31 +01:00

OpenStackClient

Latest Version

Downloads

OpenStackClient (aka OSC) is a command-line client for OpenStack that brings the command set for Compute, Identity, Image, Object Store and Block Storage APIs together in a single shell with a uniform command structure.

The primary goal is to provide a unified shell command structure and a common language to describe operations in OpenStack.

Getting Started

OpenStack Client can be installed from PyPI using pip:

pip install python-openstackclient

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 http://docs.openstack.org/developer/python-openstackclient/authentication.html.

Authentication using username/password is most commonly used:

export OS_AUTH_URL=<url-to-openstack-identity>
export OS_PROJECT_NAME=<project-name>
export OS_USERNAME=<username>
export OS_PASSWORD=<password>  # (optional)

The corresponding command-line options look very similar:

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

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

Authentication may also be performed using 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>