Client for OpenStack services
You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Go to file
Rui Chen 7a7bb06377 Make block-device-mapping more stable and clear
The patch fix the following issues:

1. ValueError is raised if input don't contain "=". Sometimes the whole
"server create" command is very complex, it's difficult to find out root
reason directly.
2. Don't support to add block device from snapshot, like:
vdb=0c8ae9d8-cadc-4a23-8337-4254614d277e:snapshot:1, it's supported by
novaclient, but not in osc.
3. If input "vdb=", not add any mapping information, the server will be
launched successfully, not raise error message to let use add
volume/snapshot id, just ignore "--block-device-mapping" option.
4. The help message of "block-device-mapping" option is so simple, need
to add some details about how to add <type>, <delete_on_terminate>

Change-Id: Ib7f7a654c3dc2a8272545f168b4c4ced230ce39e
Depends-On: Ib37913891bbf7a31b570404c4668c490d5ac859b
Closes-Bug: #1667266
6 years ago
doc Make block-device-mapping more stable and clear 6 years ago
examples osc-lib: api.auth 7 years ago
openstackclient Make block-device-mapping more stable and clear 6 years ago
releasenotes Make block-device-mapping more stable and clear 6 years ago
tools Cleanup after install 7 years ago
.coveragerc Updated coverage configuration file 7 years ago
.gitignore gitignore .idea 7 years ago
.gitreview Add openstack-common and test infrastructure. 11 years ago
.mailmap Clean up test environment and remove unused imports. 11 years ago
.testr.conf move unit tests to new "unit" test module 7 years ago
CONTRIBUTING.rst Added CONTRIBUTING.rst file 7 years ago
HACKING.rst Remove non-existing hacking deviations from doc 8 years ago
README.rst Show team and repo badges on README 7 years ago
babel.cfg Add translation markers for user v2 actions 9 years ago
requirements.txt Updated from global requirements 6 years ago
setup.cfg Explicitly set 'builders' option 6 years ago Updated from global requirements 6 years ago
test-requirements.txt Updated from global requirements 6 years ago
tox.ini Remove ipdb installation in tox debug section 6 years ago


Team and repository tags



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.

  • 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 (
  • 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 develop


pip install -e .


The CLI is configured via environment variables and command-line options as listed in

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>