Using an OpenStack CLI Client
Installation
Openstack CLI client can be installed on any host with python and pip installed. To install Openstack CLI client, run the
pip install --upgrade python-openstackclient python-swiftclient
command either as root or as yourself, depending on where and how python is installed on the machine you are running this on. This command will also install the Openstack SDK for python. You may also need to add the install directory to your PATH
by running
export PATH=$PATH:$HOME/.local/bin
Openstack CLI client is also installed on
linuxlogin.cac.cornell.edu
Simply
ssh <user name>@linuxlogin.cac.cornell.edu
and enter your CAC account password when prompted.
Download Openstack RC File
-
Using your web browser, Go to https://redcloud.cac.cornell.edu/dashboard/project/api_access/.
-
Log in using your CAC account (do NOT use GLOBUS).
-
Click on the
Download Openstack RC File
menu in the upper right corner and selectOpenstack RC File (Identity API v3)
. -
A file named
<project name>-openrc.sh
will be downloaded to your computer. Copy it to the host with Openstack CLI client installed and you are ready to go!
Usage
On the host where Openstack CLI client is installed,
-
Source the Openstack RC file. Enter your CAC account password when prompted. You will need to do this step before you can use the Openstack CLI client in a new terminal session. In addition, if you want to switch between multiple projects, you will need to source the RC file for the project that you want to switch to.
-bash-4.2$ source
-openrc.sh Please enter your OpenStack Password for projectas user : -
You should be able to list available images like this:
-bash-4.2$ openstack image list +--------------------------------------+----------------------------+--------+ | ID | Name | Status | +--------------------------------------+----------------------------+--------+ | bb0efad8-5d21-46de-ba8b-6522b3328b48 | centos-7.5 | active | | 9387131a-91ef-4cae-a3b7-da20c586af70 | ubuntu-18.04-LTS | active | +--------------------------------------+----------------------------+--------+
-
Run
openstack command help
to get the list of available commands. Use-h
option with any command to get detailed syntax help. For example:-bash-4.2$ openstack image list -h usage: openstack image list [-h] [-f {csv,json,table,value,yaml}] [-c COLUMN] [--max-width <integer>] [--fit-width] [--print-empty] [--noindent] [--quote {all,minimal,none,nonnumeric}] [--sort-column SORT_COLUMN] [--public | --private | --shared] [--property <ey=value>] [--name <name>] [--status <status>] [--long] [--sort <key>[:<direction>]] [--limit <num-images>] [--marker <image>]
List available images
optional arguments: -h, --help show this help message and exit --public List only public images --private List only private images --shared List only shared images : :
-
Use the
swift
command to access object store:-bash-4.2$ swift stat Account: v1 Containers: 1 Objects: 1 Bytes: 4611840 X-Timestamp: 1539699805.38623 X-Account-Bytes-Used-Actual: 4612096 X-Trans-Id: tx00000000000000000000d-005bc5f45c-38952d-default Content-Type: text/plain; charset=utf-8 Accept-Ranges: bytes -bash-4.2$ swift stat Account: v1 Containers: 1 Objects: 1 Bytes: 4611840 X-Timestamp: 1539699998.81229 X-Account-Bytes-Used-Actual: 4612096 X-Trans-Id: tx00000000000000000000e-005bc5f51e-38952d-default Content-Type: text/plain; charset=utf-8 Accept-Ranges: bytes -bash-4.2$ swift help usage: swift [--version] [--help] [--os-help] [--snet] [--verbose] [--debug] [--info] [--quiet] [--auth
] [--auth-version | --os-identity-api-version ] : : Command-line interface to the OpenStack Swift API. Positional arguments: delete Delete a container or objects within a container. download Download objects from containers. list Lists the containers for the account or the objects for a container. post Updates meta information for the account, container, or object; creates containers if not present. : : :