Client for OpenStack services
Go to file
Matt Riedemann 4bd53dc109 Fix compute service set handling for 2.53+
With compute API microversion 2.53 there is a single
PUT /os-services/{service_id} API which takes the service
id as a UUID. Since the openstack compute service set
command only takes --host and --service (binary) to identify
the service, this change checks if 2.53 or greater is being
used and if so, looks up the service by host and binary and
calls the appropriate methods in novaclient.

If the command cannot uniquely identify a compute service
with the given host and binary, an error is raised. A future
change could add an --id option to be used with 2.53+ to
pass the service id (as UUID) directly to avoid the host/binary
filtering.

Change-Id: I868e0868e8eb17e7e34eef3d2d58dceedd29c2b0
Story: 2005349
Task: 30302
2019-08-09 16:00:13 +00:00
doc Mention compute service set --up|--down requires 2.11 or greater 2019-07-24 12:03:01 -04:00
examples osc-lib: api.auth 2016-06-30 08:57:59 -05:00
openstackclient Fix compute service set handling for 2.53+ 2019-08-09 16:00:13 +00:00
releasenotes Fix compute service set handling for 2.53+ 2019-08-09 16:00:13 +00:00
tools Avoid tox_install.sh for constraints support 2017-12-01 10:26:50 -06:00
.coveragerc Updated coverage configuration file 2016-10-24 17:53:33 +05:30
.gitignore Updates for stestr 2017-09-15 06:32:58 +00:00
.gitreview OpenDev Migration Patch 2019-04-19 19:45:05 +00:00
.mailmap Clean up test environment and remove unused imports. 2013-01-22 11:44:18 -06:00
.stestr.conf Updates for stestr 2017-09-15 06:32:58 +00:00
.zuul.yaml Add Python 3 Train unit tests 2019-07-01 15:08:23 +08:00
babel.cfg Add translation markers for user v2 actions 2014-10-09 14:47:19 -04:00
CONTRIBUTING.rst Added CONTRIBUTING.rst file 2016-05-16 17:42:48 +05:30
HACKING.rst Update the documentation link for doc migration 2017-07-24 11:33:07 +08:00
LICENSE Remove LICENSE APPENDIX 2015-11-18 13:25:56 +09:00
lower-constraints.txt Add host and hypervisor_hostname to create servers 2019-07-19 15:45:18 +00:00
README.rst Followup opendev cleanup and test jobs 2019-04-19 23:47:02 -05:00
requirements.txt Add host and hypervisor_hostname to create servers 2019-07-19 15:45:18 +00:00
setup.cfg Add Python 3 Train unit tests 2019-07-01 15:08:23 +08:00
setup.py Updated from global requirements 2017-03-03 22:59:10 +00:00
test-requirements.txt Blacklist Bandit 1.6.0 due to directory exclusion bug 2019-05-09 16:47:46 -05:00
tox.ini Add Python 3 Train unit tests 2019-07-05 14:33:43 -04:00

Team and repository tags

image

OpenStackClient

Latest Version

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

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 https://docs.openstack.org/python-openstackclient/latest/cli/authentication.html.

Authentication using username/password is most commonly used:

export OS_AUTH_URL=<url-to-openstack-identity>
export OS_IDENTITY_API_VERSION=3
export OS_PROJECT_NAME=<project-name>
export OS_PROJECT_DOMAIN_NAME=<project-domain-name>
export OS_USERNAME=<username>
export OS_USER_DOMAIN_NAME=<user-domain-name>
export OS_PASSWORD=<password>  # (optional)

The corresponding command-line options look very similar:

--os-auth-url <url>
--os-identity-api-version 3
--os-project-name <project-name>
--os-project-domain-name <project-domain-name>
--os-username <username>
--os-user-domain-name <user-domain-name>
[--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>