Client for OpenStack services
Go to file
Colleen Murphy 853ea5ab59 Narrow expected responses for CheckUserInGroup
When checking whether a given user is in a given group, keystone will
return a 404 Not Found if all went well but the user was not in the
group. It may also return a 403 if the user and the group are in
different backends, which would also mean that the user was not in the
group[1]. Any other 400 response is a client error and any 500 response
is a server error to which the user should be alerted.

Without this patch, openstackclient treats any exception as a valid "not
found" and may end up hiding server errors. This patch reduces the
caught exceptions to 403 and 404 responses and treats everything else as
an error.

[1] https://developer.openstack.org/api-ref/identity/v3/?expanded=check-whether-user-belongs-to-group-detail#check-whether-user-belongs-to-group

Closes-bug: #1672634

Change-Id: Id3f3b2409b7cee480ee3c19b6d6c3070599ffe8f
2017-03-14 09:23:19 +01:00
doc Merge "Fix reference in network flavor create command reference" 2017-03-12 19:49:52 +00:00
examples osc-lib: api.auth 2016-06-30 08:57:59 -05:00
openstackclient Narrow expected responses for CheckUserInGroup 2017-03-14 09:23:19 +01:00
releasenotes Narrow expected responses for CheckUserInGroup 2017-03-14 09:23:19 +01: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 gitignore .idea 2016-02-20 16:25:56 +08: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 Show team and repo badges on README 2016-11-26 12:05:49 +01: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-03-03 22:59:10 +00:00
setup.cfg Merge "Remove py34 tox env and pypi classifier" 2017-03-08 22:17:34 +00:00
setup.py Updated from global requirements 2017-03-03 22:59:10 +00:00
test-requirements.txt Updated from global requirements 2017-03-07 02:05:59 +00:00
tox.ini Remove py34 tox env and pypi classifier 2017-03-07 14:40:27 -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/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>