Client for OpenStack services
Go to file
Akihiro Motoki 3cba09e767 Fix unit test failures related to new os-client-config and osc-lib
[breakage related to os-client-config 1.28.0]
os-client-config 1.28.0 add a check if filebased and envvars are
both used. This check causes OSC unit test failure.

OSC now instantiates OpenStackConfig twice as a workaround.
The unit test mocks _load_config_file() and it returns a config dict,
but os-client-config OpenStackConfig.__init__ updates the dict returned.
As a result, when OpenStackConfig is instantiated second time,
the mock of _load_config_file returns a modified version of the config
dict. This hits the new check in os-client-config 1.28.0.

This commit changes the mock to use side_effect rather than return_value
to ensure the original dict is used.

[breakage related to osc-lib 1.7.0]
The change in osc-lib 1.7.0 added "if" logic to avoid calling get() twice.
In tests.unit.volume.test_find_resource, kwargs is empty dict in find_resource(),
so the second call to get() is NOT called now.
Removing the second elements of side_effect addresses the unit failure.

Co-Authored-By: Rui Chen <chenrui.momo@gmail.com>
Change-Id: Ib9d14661b2755bbd6619e15c0d9023fbc9d27d70
Closes-Bug: #1703782
Closes-Bug: #1703783
2017-07-12 12:26:00 +00:00
doc Merge "Allow objects to be streamed to stdout" 2017-07-06 15:24:31 +00:00
examples osc-lib: api.auth 2016-06-30 08:57:59 -05:00
openstackclient Fix unit test failures related to new os-client-config and osc-lib 2017-07-12 12:26:00 +00:00
releasenotes Use openstackdocstheme in release note 2017-07-06 17:56:01 +00:00
tools Cleanup after install 2016-08-28 08:48:23 +02:00
.coveragerc Updated coverage configuration file 2016-10-24 17:53:33 +05:30
.gitignore move auto-generated api docs into contributor tree 2017-06-23 11:57:31 +02: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 move unit tests to new "unit" test module 2016-09-08 15:19:50 -07:00
CONTRIBUTING.rst Added CONTRIBUTING.rst file 2016-05-16 17:42:48 +05:30
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
README.rst update the docs URLs in the readme 2017-06-23 11:57:39 +02:00
babel.cfg Add translation markers for user v2 actions 2014-10-09 14:47:19 -04:00
requirements.txt Updated from global requirements 2017-06-24 12:15:02 +00:00
setup.cfg move auto-generated api docs into contributor tree 2017-06-23 11:57:31 +02:00
setup.py Updated from global requirements 2017-03-03 22:59:10 +00:00
test-requirements.txt Merge "Add python-octaviaclient plugin" 2017-06-30 21:28:33 +00:00
tox.ini Remove ipdb installation in tox debug section 2017-04-24 15:06:26 +08:00

README.rst

Team and repository tags

image

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.

  • PyPi - package installation
  • Online Documentation
  • Launchpad project - release management
  • Blueprints - feature specifications
  • Bugs - issue tracking
  • Source
  • Developer - getting started as a developer
  • Contributing - contributing code
  • Testing - testing code
  • IRC: #openstack-sdks on Freenode (irc.freenode.net)
  • License: Apache 2.0

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

If you want to make changes to the OpenStackClient for testing and contribution, make any changes and then run:

python setup.py develop

or:

pip install -e .

Configuration

The CLI is configured via environment variables and command-line options as listed in http://docs.openstack.org/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>