UnifiedCLI/Mapping
Contents
OpenStackClient Commands
Part of the UnifiedCLI proposal
[Note that the use of the word object here is its generic meaning as the target of an action.]
Command Structure
Verbs
The verbs used by the default OpenStack clients have been mapped to the set below that attempts to define a consistent meaning to each action. Many of them have logical opposite actions. Those verbs with an opposite action is noted in parens if applicable.
-
add
(remove
) - add an object to a container which itself is usually another object; the command is built in the order of "add object1 to object2" (<object1>-<object2>), the positional arguments also appear in that order -
attach
(detach
) - connect two objects (is this different from add/remove?) -
create
(delete
) - create a new occurrance of the specified object -
delete
(create
) - delete a specific occurrance of the specified object -
detach
(attach
) - disconnect two objects (is this different from add/remove?) -
list
- display summary information about multiple objects - lock (unlock)
-
migrate
- move a server to a different host;--live
performs a live migration if possible -
pause
(unpause
) - stop a server and leave it in memory -
reboot
- forcibly reboot a server -
rebuild
- rebuild a server using (most of) the same arguments as in the originalcreate
-
remove
(add
) - remove an object from a group of objects -
rescue
(unrescue
) - reboot a server in a special rescue mode allowing access to the original disks -
resize
- change a server's flavor -
resume
(suspend
) - return a suspended server to running state -
save
- download an object locally -
set
(unset
) - set an attribute of the object, often calledmetadata
-
show
- display detailed information about the specifiec object -
ssh
-
suspend
(resume
) - stop a server and save to disk freeing memory - unlock (lock)
-
unpause
(pause
) - return a paused server to running state -
unrescue
(rescue
) - return a server to normal boot mode -
unset
(set
) - remove an attribute of the object
Global Options
The common global options from the default OpenStack clients have been mapped to the set of global options below.
OSC Option | Environment Variable | Option | Environment Variable | |
---|---|---|---|---|
--version | --version | |||
--help | --help | |||
--debug | --debug | |||
--quiet | ||||
--verbose | ||||
--log-file <filename> | ||||
--os-auth-url <url> | OS_AUTH_URL | --os-auth-url <url> | OS_AUTH_URL | |
--os-tenant-name <name> | OS_TENANT_NAME | --os-tenant-name <name> | OS_TENANT_NAME | |
--os-tenant-id <id> | OS_TENANT_ID | --os-tenant-id <id> | OS_TENANT_ID | |
--os-username <name> | OS_USERNAME | --os-username <name> | OS_USERNAME | |
--os-password <pw> | OS_PASSWORD | --os-password <pw> | OS_PASSWORD | |
--os-region-name <region> | OS_REGION_NAME | --os-region-name <region> | OS_REGION_NAME | |
--os-cacert <file> | OS_CACERT | --os-cacert <file> | OS_CACERT | |
--insecure | ||||
--os-use-keyring |
Common Options
A number of options will appear in many commands and should have the same form in all commands to the extent possible.
Option | Description | Usual Default |
---|---|---|
--description | describes an object | none |
--enable | Used for setting the enabled state for an object | n/a |
--disable | Used for setting the enabled state for an object | n/a |
Command Mapping Summary
This is an example mapping of the existing commands from Keystone (Identity), Nova (Compute), Glance (Image) and Cinder (Volume) to the <verb> <object>
form for the OpenStackClient cli tool. It reduces both the number of verbs and objects by handling some of the smaller differences with command line options.
Further consolidation could be achieved by additional options or by introduction secondary objects to the syntax. For example, the credentials and x509-cert (and x509-root-cert) objects could be combined:
nova x509-create-cert [<pk-file>] [<x509-cert>] | os create credentials --x509 [<pk-file>] [<x509-cert>] |
nova credentials | os show credentials |
nova x509-get-root-cert | os show credentials --x509 --root |
Identity
OSC Option | Environment Variable | Keystone Option | Environment Variable | |
---|---|---|---|---|
--os-identity-api-version <ver> | OS_IDENTITY_API_VERSION | --os-identity-api-version <ver> | OS_IDENTITY_API_VERSION | |
--os-token <token> | OS_TOKEN | --os-token <token> | OS_SERVICE_TOKEN | |
--os-url <url> | OS_URL | --os-endpoint <url> | OS_SERVICE_ENDPOINT | |
--os-cert <file> | OS_CERT | |||
--os-key <key-file> | OS_KEY | |||
--os-cache | OS_CACHE | |||
--force-new-token | ||||
--stale-duration <seconds> |
API v2.0
catalog
OSC Command | Implemented | Keystone command | |
---|---|---|---|
os show service
[--catalog <service-type>]
|
yes |
keystone catalog
[--service <service-type>]
|
ec2-credentials
OSC Command | Implemented | Keystone command | |
---|---|---|---|
os create ec2-credentials
--tenant_id <tenant-id>
[--user <user-id>]
|
no |
keystone ec2-credentials-create
[--user <user-id>]
[--tenant_id <tenant-id>]
## are both args really optional?
| |
os delete ec2-credentials
<access-key>
## what changes if --user is not provided?
|
no |
keystone ec2-credentials-delete
[--user <user-id>]
--access <access-key>
| |
os list ec2-credentials
[--user <user-id>]
|
no |
keystone ec2-credentials-list
[--user <user-id>]
| |
os show ec2-credentials
<access-key>
## what changes if --user is not provided?
|
no |
keystone ec2-credentials-get
[--user <user-id>]
--access <access-key>
|
endpoint
OSC Command | Implemented | Keystone command | |
---|---|---|---|
os create endpoint
[--region <endpoint-region>
[--publicurl <public-url>]
[--adminurl <admin-url>]
[--internalurl <internal-url>]
<service>
|
yes |
keystone endpoint-create
[--region <endpoint-region>]
[--service_id <service-id>]
[--publicurl <public-url>]
[--adminurl <admin-url>]
[--internalurl <internal-url>]
| |
os delete endpoint
<endpoint-id>
|
yes |
keystone endpoint-delete
<endpoint-id>
| |
os list endpoint
[--long]
|
yes |
keystone endpoint-list
| |
os show endpoint
[--type <endpoint-type>]
[--attr <endpoint-attribute>]
[--value <endpoint-value>]
[--all]
<service>
|
yes |
keystone endpoint-get
--service <service-type>
[--endpoint_type <endpoint-type>]
[--attr <service-attribute>]
[--value <value>]
|
role
OSC Command | Implemented | Keystone command | |
---|---|---|---|
os create role
<role-name>
|
yes |
keystone role-create --name
<role-name>
| |
os delete role
<role>
|
yes |
keystone role-delete
<role-id>
| |
os list role
|
yes |
keystone role-list
| |
os show role
<role>
|
yes |
keystone role-get
<role-id>
|
service
OSC Command | Implemented | Keystone command | |
---|---|---|---|
os create service
[--type <service-type>]
[--description <service-description>]
<service-name>
|
yes |
keystone service-create
--name <name>
--type <type>
[--description <service-description>]
| |
os delete service
<service>
|
yes |
keystone service-delete
<service-id>
| |
os list service [--long]
|
yes |
keystone service-list
| |
os show service
<service>
|
yes |
keystone service-get
<service-id>
|
tenant
OSC Command | Implemented | Keystone command | |
---|---|---|---|
os create tenant
[--description <tenant-description>]
[--enable | --disable]
<tenant-name>
|
yes |
keystone tenant-create
--name <tenant-name>
[--description <tenant-description>]
[--enabled <true|false>]
| |
os delete tenant
<tenant>
|
yes |
keystone tenant-delete
<tenant-id>
| |
os list tenant
[--long]
|
yes |
keystone tenant-list
| |
os set tenant
[--name <new-tenant-name>]
[--description <new-tenant-description>]
[--enable | --disable]
<tenant>
|
yes |
keystone tenant-update
[--name <tenant_name>]
[--description <tenant-description>]
[--enabled <true|false>]
<tenant-id>
| |
os show tenant
<tenant>
|
yes |
keystone tenant-get
<tenant-id>
|
token
OSC Command | Implemented | Keystone command | |
---|---|---|---|
os show token
[--width <token-display-width>]
|
?? |
keystone token-get [--wrap <integer>]
|
user
OSC Command | Implemented | Keystone command | |
---|---|---|---|
os create user
[--password <user-password>]
[--email <user-email>]
[--tenant <tenant>]
[--enable | --disable]
<user-name>
|
yes |
keystone user-create
--name <user-name>
[--tenant_id <tenant-id>]
[--pass <pass>]
[--email <email>]
[--enabled <true|false>]
| |
os delete user
<user>
|
yes |
keystone user-delete
<user-id>
| |
os list user
[--tenant <tenant>]
[--long]
|
yes |
keystone user-list
[<tenant-id>]
| |
os set user
[--name <new-user-name>]
[--password <user-password>]
[--email <user-email>]
[--tenant <tenant>]
[--enable|--disable]
<user>
|
yes |
keystone user-password-update
--pass <password>
<user-id>
| |
os show user
<user>
|
yes |
keystone user-get
<user-id>
|
user-role
OSC Command | Implemented | Keystone command | |
---|---|---|---|
os add role-user
[--tenant <tenant>]
<role> <user>
|
yes |
keystone user-role-add
--user <user-id>
--role <role-id>
[--tenant_id <tenant-id>]
| |
os list role-user
[--tenant <tenant>]
[<user>]
|
yes |
keystone user-role-list
[--user <user-id>]
[--tenant_id <tenant-id>]
| |
os remove role-user
[--tenant <tenant>]
<role> <user>
|
yes |
keystone user-role-remove
--user <user-id>
--role <role-id>
[--tenant_id <tenant-id>]
|
<other>
keystone bootstrap
--pass <password>
[--user-name <user-name>]
[--role-name <role-name>]
[--tenant-name <tenant-name>]
##TBD
keystone discover
##TBD
API v3
credential
OSC Command | Implemented | Nova command | |
---|---|---|---|
os create credential
[--project <project>]
[--type ec2|cert]
<user>
<data>
|
in progress |
keystone credential-create
--user_id <user-id>
--type <credential-type>
--data <credential-data>
[--project_id <project-id>]
| |
os delete credential
<credential-id>
|
in progress |
keystone credential-delete
<credential-id>
| |
os list credential
|
in progress |
keystone credential-list
| |
os set credential
[--user <user>]
[--type <type>]
[--data <data>]
[--project <project>]
<credential-id>
|
in progress |
keystone credential-update
[--user <user>]
[--type <type>]
[--data <data>]
[--project <project>]
<credential-id>
| |
os show credential
<credential-id>
|
in progress |
keystone credential-get
<credential-id>
|
domain
OSC Command | Implemented | Nova command | |
---|---|---|---|
os create domain
[--description <domain-description>]
[--enable | --disable]
<domain-name>
|
in progress |
keystone domain-create
--name <domain-name>
[--description <domain-description>]
[--enabled <true|false>]
[--private_project_names <true|false>]
[--private_user_names <true|false>]
| |
os delete domain
<domain>
|
in progress |
keystone domain-delete
<domain-id>
| |
os list domain
|
in progress |
keystone domain-list
| |
os set domain
[--name <new-domain-name>]
[--description <new-domain-description>]
[--enable | --disable]
<domain>
|
in progress |
keystone domain-update
[--name <domain_name>]
[--description <domain-description>]
[--enabled <true|false>]
[--private_project_names <true|false>]
[--private_user_names <true|false>]
<domain-id>
| |
os show domain
<domain>
|
in progress |
keystone domain-get
<domain-id>
|
endpoint
OSC Command | Implemented | Keystone command | |
---|---|---|---|
os create endpoint
[--region <endpoint-region>
[--publicurl <public-url>]
[--adminurl <admin-url>]
[--internalurl <internal-url>]
[--enable | --disable]
<service>
<endpoint-interface>
<endpoint-url>
|
no |
keystone endpoint-create
--service_id <service-id>
--interface <endpoint-interface>
--url <endpoint-url>
[--region <endpoint-region>]
[--enabled <true|false>]
| |
os delete endpoint
<endpoint-id>
|
no |
keystone endpoint-delete
<endpoint-id>
| |
os list endpoint
[--long]
|
no |
keystone endpoint-list
| |
os set endpoint
[--region <endpoint-region>]
[--service <service-id>]
[--interface <endpoint-interface>]
[--url <endpoint-url>]
[--enable | --disable]
<endpoint>
|
no |
keystone endpoint-update
--endpoint_id <endpoint-id>
[--region <endpoint-region>]
[--enabled <true|false>]
[<service-id>]
[<endpoint-interface>]
[<endpoint-url>]
| |
os show endpoint
<endpoint>
|
no |
keystone endpoint-get
<endpoint-id>
|
group
OSC Command | Implemented | Nova command | |
---|---|---|---|
os create group
[--domain <domain>]
[--description <group-description>]
<group-name>
|
yes |
keystone group-create
--name <group-name>
[--domain_id <domain-id>]
[--description <group-description>]
| |
os delete group
<group>
|
yes |
keystone group-delete
<group-id>
| |
os list group
[--long]
|
yes |
keystone group-list
| |
os set group
[--name <new-group-name>]
[--domain <domain>]
[--description <new-group-description>]
<group>
|
yes |
keystone group-update
[--name <group_name>]
[--domain_id <domain-id>]
[--description <group-description>]
<group-id>
| |
os show group
<group>
|
yes |
keystone group-get
<group-id>
|
policy
OSC Command | Implemented | Nova command | |
---|---|---|---|
os create policy
[--type <policy-type>]
--blob <policy-blob>
|
in progress |
keystone policy-create
--type <policy-type>
--blob <policy-blob>
| |
os delete policy
<policy-id>
|
in progress |
keystone policy-delete
<policy-id>
| |
os list policy
[--include-blob]
|
in progress |
keystone policy-list
| |
os set policy
[--type <policy-type>]
[--blob <policy-blob>]
<policy-id>
|
in progress |
keystone policy-update
[--type <policy-type>]
[--blob <policy-blob>]
<policy-id>
| |
os show policy
<policy-id>
|
in progress |
keystone policy-get
<policy-id>
|
project
OSC Command | Implemented | Nova command | |
---|---|---|---|
os create project
[--domain <project-domain>]
[--description <project-description>]
[--enable | --disable]
<project-name>
|
yes |
keystone project-create
--name <project-name>
[--domain_id <project-domain-id>]
[--description <project-description>]
[--enabled <true|false>]
| |
os delete project
<project>
|
yes |
keystone project-delete
<project-id>
| |
os list project [--long]
|
yes |
keystone project-list
| |
os set project
[--name <new-project-name>]
[--domain <project-domain>]
[--description <new-project-description>]
[--enable | --disable]
<project>
|
yes |
keystone project-update
[--name <project_name>]
[--domain_id <project-domain-id>]
[--description <project-description>]
[--enabled <true|false>]
<project-id>
| |
os show project
<project>
|
yes |
keystone project-get
<project-id>
|
role
keystone role-create --name <role-name>
os create role <role-name>
keystone role-delete <role-id>
os delete role <role>
keystone role-get <role-id>
os show role <role>
keystone role-list
os list role
keystone role-update <role-id>
os update role <role>
service
keystone service-create --type <type>
[--name <name>]
[--enabled <true|false>]
os create service
[--name <name>]
[--enabled <true|false>]
<type>
keystone service-delete <service-id>
os delete service <service>
keystone service-get <service-id>
os show service <service>
keystone service-list
os list service [--long]
keystone service-update --service_id <service-id>
[--type <type>]
[--name <name>]
[--enabled <true|false>]
os update service
[--type <type>]
[--name <name>]
[--enabled <true|false>]
<service>
user
OSC Command | Implemented | Nova command | |
---|---|---|---|
os create user
[--password <password>]
[--project <project>]
[--email <user-email>]
[--enable | --disable]
<name>
|
yes |
keystone user-create
--name <user-name>
[--domain_id <domain-id>]
[--default_project_id <project-id>]
[--description <description>]
[--enabled <true|false>]
[--password <password>]
| |
os delete user
<user>
|
yes |
keystone user-delete
<user-id>
| |
os list user
[--project <project>]
[--long]
|
yes |
keystone user-list
| |
os set user
[--name <new-name>]
[--password <password>]
[--project <project>]
[--email <user-email>]
[--enable | --disable]
<user>
|
yes |
keystone user-update
--user_id <user-id>
[--name <user-name>]
[--domain_id <domain-id>]
[--default_project_id <project-id>]
[--description <description>]
[--enabled <true|false>]
[--password <password>]
| |
os show user
<user>
|
yes |
keystone user-get
<user-id>
|
Compute
OSC Option | Environment Variable | Nova Option | Environment Variable | |
---|---|---|---|---|
--os-auth-system <auth-system> | OS_AUTH_SYSTEM | |||
--service-type <type> | ||||
--service-name <name> | NOVA_SERVICE_NAME | |||
--volume-service-name <name> | NOVA_VOLUME_SERVICE_NAME | |||
--endpoint-type <type> | NOVA_ENDPOINT_TYPE | |||
--os-compute-api-version <ver> | OS_COMPUTE_API_VERSION | --os-compute-api-version <ver> | OS_COMPUTE_API_VERSION | |
--bypass-url <bypass-url> |
API v2 (1.1)
agent
OSC Command | Implemented | Nova command | |
---|---|---|---|
os create agent
<os>
<architecture>
<version>
<url>
<md5hash>
<hypervisor>
|
yes | ||
os delete agent
<id>
|
yes | ||
os list agent
[--hypervisor <hypervisor>]
|
yes | ||
os set agent
<id>
<version>
<url>
<md5hash>
|
yes |
aggregate
nova aggregate-create <name> <availability_zone>
os create aggregate ...
nova aggregate-delete <id>
os delete aggregate ...
nova aggregate-details <id>
os show aggregate ...
nova aggregate-list
os list aggregate
nova aggregate-update <id> <name> [<availability_zone>]
os set aggregate ...
nova aggregate-set-metadata <id> <key=value> [<key=value> ...]
os set aggregate --metadata ...
aggregate-host
nova aggregate-add-host <id> <host>
os add aggregate-host ...
nova aggregate-remove-host <id> <host>
os remove aggregate-host ...
bash-completion
nova bash-completion
os show bash-completion
cloudpipe
nova cloudpipe-create <project>
os create cloudpipe ...
nova cloudpipe-list
os list cloudpipe
console
nova console-log [--length <length>] <server>
os show console ...
nova get-vnc-console <server> <console_type>
os show console [--vnc] ...
credentials
nova credentials
os show credentials
diagnostics
nova diagnostics <server>
os show diagnostics ...
dns
nova dns-create [--type <type>] <ip> <name> <domain>
os create dns ...
nova dns-delete <domain> <name>
os delete dns ...
nova dns-list [--ip <ip>] [--name <name>] <domain>
os list dns ...
dns-domain
nova dns-create-private-domain [--availability_zone <availability_zone>]
<domain>
os create dns-domain [--private] ...
dns-public-domain
nova dns-create-public-domain [--project <project>] <domain>
os create dns-domain [--public] ...
nova dns-delete-domain <domain>
os delete dns-domain ...
nova dns-domains
os list dns-domains
endpoints
nova endpoints
os list endpoints
# does this overlap with keystone?
fixed-ip
nova add-fixed-ip <server> <network_id>
os add fixed-ip ...
nova remove-fixed-ip <server> <address>
os remove fixed-ip ...
flavor
OSC Command | Implemented | Nova command | |
---|---|---|---|
os create flavor
[--id <id>]
[--ram <size-mb>]
[--disk <size-gb>]
[--ephemeral-disk <size-gb>]
[--swap <size-mb>]
[--vcpus <num-cpu>]
[--rxtx-factor <factor>]
[--public | --private]
<name>
|
(partial)
default: auto
default: 256M
default: 0G
default: 0G
default: 0G
default: 1
default: 1
default: public
|
nova flavor-create
[--ephemeral <ephemeral>]
[--swap <swap>]
[--rxtx-factor <factor>]
<name>
<id>
<ram>
<disk>
<vcpus>
| |
os delete flavor
<flavor>
|
yes |
nova flavor-delete
<id>
| |
os list flavor
|
yes |
nova flavor-list
| |
os show flavor
<flavor>
|
yes |
floating-ip
nova add-floating-ip <server> <address>
os add floating-ip ...
nova floating-ip-create [<floating_ip_pool>]
os create floating-ip ...
nova floating-ip-delete <address>
os delete floating-ip
nova floating-ip-list
os list floating-ip
nova remove-floating-ip <server> <address>
os remove floating-ip ...
floating-ip-pool
nova floating-ip-pool-list
os list floating-ip-pool
host
OSC Command | Implemented | Nova command | |
---|---|---|---|
os list host
[--zone <availability-zone>]
|
yes |
nova host-action
[--action <action>]
<hostname>
| |
os set host
...
|
no |
nova host-update
[--status <status>]
[--maintenance <maintenance_mode>]
<hostname>
| |
os show host
<host>
|
yes |
hypervisor
OSC Command | Implemented | Nova command | |
---|---|---|---|
os list hypervisor
[--matching <hostname>]
|
yes | ||
os show hypervisor
<id>
|
yes |
image
nova image-create [--poll] <server> <name>
os create image ...
nova image-delete <image>
os delete image ...
nova image-list
os list image
nova image-meta <image> <action> <key=value> [<key=value> ...]
os set image ...
nova image-show <image>
os show image ...
keypair
nova keypair-add [--pub_key <pub_key>] <name>
os create keypair ...
nova keypair-delete <name>
os delete keypair
nova keypair-list
os list keypair
limits
nova absolute-limits
os show limits --absolute
## is there any other kind?
quota
nova quota-defaults <tenant_id>
nova quota-show <tenant_id>
os show quota <tenant> [--defaults]
nova quota-update [--instances <instances>]
[--cores <cores>]
[--ram <ram>]
[--volumes <volumes>]
[--gigabytes <gigabytes>]
[--floating-ips <floating_ips>]
[--metadata-items <metadata_items>]
[--injected-files <injected_files>]
[--injected-file-content-bytes <injected_file_content_bytes>]
<tenant_id>
os set quota ...
quota-class
nova quota-class-show <class>
os show quota-class ...
nova quota-class-update [--instances <instances>]
[--cores <cores>]
[--ram <ram>]
[--volumes <volumes>]
[--gigabytes <gigabytes>]
[--floating-ips <floating_ips>]
[--metadata-items <metadata_items>]
[--injected-files <injected_files>]
[--injected-file-content-bytes <injected_file_content_bytes>]
<class>
os set quota-class ...
rate-limits
nova rate-limits
os show rate-limits
resource
nova describe-resource <hostname>
os show resource ...
secgroup
nova secgroup-create <name> <description>
os create secgroup ...
nova secgroup-delete <secgroup>
os delete secgroup ...
nova secgroup-list
os list secgroup
secgroup-group-rule
nova secgroup-add-group-rule [--ip_proto <ip_proto>]
[--from_port <from_port>]
[--to_port <to_port>]
<secgroup> <source_group>
os create secgroup-group-rule
nova secgroup-delete-group-rule [--ip_proto <ip_proto>]
[--from_port <from_port>]
[--to_port <to_port>]
<secgroup> <source_group>
os delete secgroup-group-rule ...
secgroup-rule
nova secgroup-add-rule <secgroup> <ip_proto> <from_port> <to_port> <cidr>
os create secgroup-rule
nova secgroup-delete-rule <secgroup> <ip_proto> <from_port> <to_port> <cidr>
os delete secgroup-rule
nova secgroup-list-rules <secgroup>
os list secgroup-rule ...
server
OSC Command | Implemented | Nova command | |
---|---|---|---|
os create server
--image <image>
--flavor <flavor>
[--security-group <security-group-list> [...] ]
[--key-name <key-name>]
[--meta-data <key=value> [...] ]
[--file <dest-filename=source-filename>] [...] ]
[--user-data <user-data>]
[--availability-zone <zone-name>]
[--block-device-mapping <dev-name=mapping> [...] ]
[--nic <net-id=net-uuid,v4-fixed-ip=ip-addr> [...] ]
[--hint <key=value> [...] ]
[--config-drive <value>|True ]
[--min <count>]
[--max <count>]
[--wait]
<server-name>
|
yes |
nova boot
[--flavor <flavor>]
[--image <image>]
[--meta <key=value>]
[--file <dst-path=src-path>]
[--key_name <key_name>]
[--user_data <user-data>]
[--availability_zone <availability-zone>]
[--security_groups <security_groups>]
[--block_device_mapping <dev_name=mapping>]
[--hint <key=value>]
[--nic <net-id=net-uuid,v4-fixed-ip=ip-addr>]
[--config-drive <value>]
[--poll]
<name>
| |
os delete server
<server>
|
yes |
nova delete
<server>
| |
os list server
[--reservation-id <reservation-id>]
[--ip <ip-regex>]
[--ip6 <ip6-regex>]
[--name <name-regex>]
[--instance-name <instance-name-regex>]
[--status <status>]
[--flavor <flavor>]
[--image <image>]
[--host <hostname>]
[--all-tenants]
|
yes |
nova list
[--reservation_id <reservation_id>]
[--ip <ip_regexp>]
[--ip6 <ip6_regexp>]
[--name <name_regexp>]
[--instance_name <name_regexp>]
[--status <status>]
[--flavor <flavor>] [--image <image>]
[--host <hostname>]
[--all_tenants [<0|1>]]
| |
os lock server
<server>
|
no |
nova lock
<server>
| |
os migrate server
--live
[--block_migrate]
[--disk_over_commit]
<server>
<host>
os migrate server
[--wait]
<server>
|
no |
nova live-migration
[--block_migrate]
[--disk_over_commit]
<server>
<host>
nova migrate
[--poll]
<server>
| |
os pause server
<server>
|
yes |
nova pause
<server>
| |
os reboot server
[--hard | --soft]
[--wait]
<server>
|
yes |
nova reboot
[--hard]
[--poll]
<server>
| |
os rebuild server
--image <image>
[--password <password>]
[--wait]
<server>
|
yes |
nova rebuild
[--rebuild_password <rebuild_password>]
[--poll]
<server>
<image>
| |
os rename server
<server>
<new-name>
|
no |
nova rename
<server>
<name>
| |
os rescue server
<server>
|
no |
nova rescue
<server>
| |
os resize server
--flavor <flavor>
[--wait]
<server>
|
no |
nova resize
[--poll]
<server>
<flavor>
| |
os resize server
--confirm
<server>
|
no |
nova resize-confirm
<server>
| |
os resume server
<server>
|
yes |
nova resume
<server>
| |
os set server
--meta-data <key=value>
[--meta-data <key=value>] ...
<server>
os unset server
--meta-data <key>
[--meta-data <key>] ...
<server>
|
no |
nova meta
<server>
<action>
<key=value>
[<key=value> ...]
| |
os set server
--root-password
<server>
|
no |
nova root-password
<server>
| |
os show server
<server>
|
yes |
nova show
<server>
| |
os ssh server
[--port PORT]
--private]
[--ipv6]
[--login <login>]
<server>
|
no |
nova ssh
[--port PORT]
[--private]
[--ipv6]
[--login <login>]
<server>
| |
os suspend server
<server>
|
yes |
nova suspend
<server>
| |
os unlock server
<server>
|
no |
nova unlock
<server>
| |
os unpause server
<server>
|
yes |
nova unpause
<server>
| |
os unrescue server
<server>
|
no |
nova unrescue
<server>
|
usage
nova usage-list [--start <start>] [--end <end>]
os list usage ...
volume
nova volume-attach <server> <volume> <device>
os attach volume ...
nova volume-create [--snapshot_id <snapshot_id>]
[--display_name <display_name>]
[--display_description <display_description>]
[--volume_type <volume_type>]
<size>
os create volume ...
nova volume-delete <volume>
os delete volume ...
nova volume-detach <server> <volume>
os detach volume ...
nova nova volume-list
os list volume
nova volume-show <volume>
os show volume ...
volume-snapshot
nova volume-snapshot-create [--force <True|False>]
[--display_name <display_name>]
[--display_description <display_description>]
<volume_id>
os create volume-snapshot ...
nova volume-snapshot-delete <snapshot_id>
os delete volume-snapshot ...
nova volume-snapshot-list
os list volume-snapshot
nova volume-snapshot-show <snapshot>
os show volume-snapshot
volume-type
nova volume-type-create <name>
os create volume-type ...
nova volume-type-delete <id>
os delete volume-type ...
nova volume-type-list
os list volume-type
x509-cert
nova x509-create-cert [<private_key_file>] [<x509_cert>]
os create x509-cert ...
x509-root-cert
nova x509-get-root-cert [<filename>]
os show x509-root-cert ...
Image
Nova Option | Environment Variable | OSC Option | Environment Variable | |
---|---|---|---|---|
--force | ||||
--dry-run | ||||
--os-image-url <url> | OS_IMAGE_URL | |||
--os-image-api-version <ver> | OS_IMAGE_API_VERSION | --os-image-api-version <ver> | OS_IMAGE_API_VERSION | |
--os-service-type <type> | OS_SERVICE_TYPE | |||
--os-endpoint-type <type> | OS_ENDPOINT_TYPE | |||
--cert-file <file> | ||||
--key-file <file> | ||||
--timeout <seconds> | ||||
--no-ssl-compression |
API v2.0
image
glance image-create [--id <IMAGE_ID>] [--name <NAME>]
[--disk-format <CONTAINER_FORMAT>]
[--container-format <DISK_FORMAT>]
[--owner <TENANT_ID>] [--size <SIZE>]
[--min-disk <DISK_GB>] [--min-ram <DISK_RAM>]
[--location <IMAGE_URL>] [--checksum <CHECKSUM>]
[--copy-from <IMAGE_URL>] [--public] [--protected]
[--property <key=value>]
os create image ...
glance image-delete <IMAGE_ID>
os delete image ...
glance image-list
os list image ...
glance image-show <IMAGE_ID>
os show image ...
glance member-images [options] <MEMBER>
os list image --member <member> [options]
glance show [options] <ID>
os show image ...
glance update [options] <ID> <field1=value1 field2=value2 ...>
os set image ...
image-member
glance member-create [--can-share] <IMAGE_ID> <TENANT_ID>
os create image-member ...
glance member-delete <IMAGE_ID> <TENANT_ID>
os list image-member <image> [options]
glance member-delete [options] <ID> <MEMBER>
os delete image-member ...
glance member-list [--image-id <IMAGE_ID>] [--tenant-id <TENANT_ID>]
os list image-member ...
Volume
Cinder Option | Environment Variable | OSC Option | Environment Variable | |
---|---|---|---|---|
--os-volume-api-version <ver> | OS_VOLUME_API_VERSION | --os-volume-api-version <ver> | OS_VOLUME_API_VERSION | |
--service-type <type> | ||||
--service-name <name> | CINDER_SERVICE_NAME | |||
--volume-service-name <name> | CINDER_VOLUME_SERVICE_NAME | |||
--endpoint-type <type> | CINDER_ENDPOINT_TYPE | |||
--retries <int> |
API v1.0
credentials
cinder credentials
os list credential
limits
cinder rate-limits
os list limit --rate
cinder absolute-limits
os list limit --absolute
snapshot
cinder snapshot-create
<volume-id>
--force <True|False>
--display-name <display-name>
--display-description <display-description>
os create snapshot
--force
--display-name <display-name>
--display-description <display-description>
<volume-id>
cinder snapshot-delete <snapshot-id>
os delete snapshot <snapshot-id>
cinder snapshot-list
--all-tenants [<0|1>]
--display-name <display-name>
--status <status>
--volume-id <volume-id>
os list snapshot
--all-tenants [<0|1>]
--display-name <display-name>
--status <status>
--volume-id <volume-id>
cinder snapshot-rename
--display-description <display-description>
<snapshot-id>
<display-name>
os update snapshot
--display-description <display-description>
<snapshot-id>
<display-name>
cinder snapshot-show <snapshot-id>
os show snapshot <snapshot-id>
type
cinder type-create <type-name>
os create type <type-name>
cinder type-delete <type-id>
os delete type <type>
cinder type-list
os list type
cinder extra-specs-list
os tbd
cinder type-key <type-name-or-id> <action (set|unset)> <key=value>
os tbd
volume
OSC Command | Implemented | Cinder command | |
---|---|---|---|
os create volume
--size <size>
[--description <description>]
[--volume-type <volume-type>]
[--snapshot-id <snapshot-id>]
[--source <volid>]
[--image <image-id>]
[--availability-zone <availability-zone>]
[--metadata <key=value>]
<name>
|
wip |
cinder create
[--snapshot-id <snapshot-id>]
[--source-volid <source-volid>]
[--image-id <image-id>]
[--display-name <display-name>]
[--display-description <display-description>]
[--volume-type <volume-type>]
[--availability-zone <availability-zone>]
[--metadata [<key=value>]]
<size>
| |
os delete volume
<volume>
|
yes |
cinder delete
<volume-id>
| |
os list volume
|
yes (no opts yet) |
cinder list
--all-tenants [<0|1>]
--display-name <display-name>
--status <status>
| |
os set volume
--name <new-name>
--description <description>
<volume>
|
yes |
cinder rename
--display-description <display-description>
<volume-id>
<display-name>
| |
os show volume
<volume>
|
yes |
cinder show
<volume-id>
| |
cinder force-delete
<volume-id>
| |||
cinder metadata
<volume-id>
<action>
<key=value>
|
Network
quantum
Command-line Option | Environment Variable |
---|---|
--host=HOST | |
--port=PORT | |
--ssl | |
--verbose | |
--logfile=LOGFILE | |
--token=TOKEN | |
--version=VERSION | QUANTUM_VERSION |
API v2.0
- Verbs:
- quantum: create, delete, list, plug, show, update, unplug
- os: add, create, delete, list, remove, set, show
- Objects:
- quantum: iface, net, port
- os: interface, network, port
iface
plug_iface <tenant-id> <net-id> <port-id> <iface-id>
add interface <tenant> <network> <port> <interface>
show_iface <tenant-id> <net-id> <port-id>
show interface <tenant> <network> <port>
unplug_iface <tenant-id> <net-id> <port-id>
remove interface <tenant> <network> <port>
net
create_net <tenant-id> <net-name>
create network <tenant> <network-name>
delete_net <tenant-id> <net-id>
delete <tenant> <network>
list_nets <tenant-id>
list network <tenant>
list_nets_detail <tenant-id>
list network --detail <tenant>
show_net <tenant-id> <net-id>
show network <tenant> <network>
show_net_detail <tenant-id> <net-id>
show network --detail <tenant> <network>
update_net <tenant-id> <net-id> <new-name>
set network <tenant> <network> --name <name>
port
create_port <tenant-id> <net-id>
create port <tenant> <network>
delete_port <tenant-id> <net-id> <port-id>
delete port <tenant> <network> <port>
list_ports <tenant-id> <net-id>
list port <tenant> <network>
list_ports_detail <tenant-id> <net-id>
list port --detail <tenant> <network>
show_port <tenant-id> <net-id> <port-id>
show port <tenant> <network> <port>
show_port_detail <tenant-id> <net-id> <port-id>
show port --detail <tenant> <network> <port>
update_port <tenant-id> <net-id> <port-id> <params>
set port <tenant> <network> <port> <params>
Options
In general, options will be transformed into more UNIX-like usage
-
--enable true|false
becomes--enable|--disable
(dhellmann) Not all boolean options have natural antonyms like enable/disable. It may be more consistent to use a --flag --no-flag style naming convention to indicate the opposites of flags.
"(dtroyer) Yup, except i really don't like --no-enable. I'm going to work through the switch mapping to see how many others we really have to deal with."