Jump to: navigation, search

Difference between revisions of "UnifiedCLI/Mapping"

(tenant)
Line 1: Line 1:
 
'''''Note: The command format change was committed on 13May2013.  This page has not been completely updated to reflect that yet.'''''
 
 
 
__TOC__
 
__TOC__
 
'''''Note: The command format change was committed on 13May2013.  This page has not been completely updated to reflect that yet.'''''
 
  
 
= [[OpenStackClient]] Commands =
 
= [[OpenStackClient]] Commands =
Line 59: Line 54:
  
 
== Objects ==
 
== Objects ==
 +
 +
'''''Note: these need a review to sync up with the revised object names without dashes ('-') in them.'''''
  
 
* <code>access-token</code> - [[#Identity|Identity]] - OAuth [[#access-token|access-token]]
 
* <code>access-token</code> - [[#Identity|Identity]] - OAuth [[#access-token|access-token]]
Line 107: Line 104:
  
 
The common global options from the default [[OpenStack]] clients have been mapped to the set of global options below.
 
The common global options from the default [[OpenStack]] clients have been mapped to the set of global options below.
 
  
 
{| class="wikitable"
 
{| class="wikitable"
Line 1,534: Line 1,530:
 
|
 
|
 
<source lang="bash">
 
<source lang="bash">
os create agent
+
os agent create
 
     <os>
 
     <os>
 
     <architecture>
 
     <architecture>
Line 1,547: Line 1,543:
 
|
 
|
 
<source lang="bash">
 
<source lang="bash">
os delete agent
+
os agent delete
 
     <id>
 
     <id>
 
</source>
 
</source>
Line 1,555: Line 1,551:
 
|
 
|
 
<source lang="bash">
 
<source lang="bash">
os list agent
+
os agent list  
 
     [--hypervisor <hypervisor>]
 
     [--hypervisor <hypervisor>]
 
</source>
 
</source>
Line 1,563: Line 1,559:
 
|
 
|
 
<source lang="bash">
 
<source lang="bash">
os set agent
+
os agent set
 
     <id>
 
     <id>
 
     <version>
 
     <version>
Line 1,582: Line 1,578:
 
|
 
|
 
<source lang="bash">
 
<source lang="bash">
os add aggregate
+
os aggregate host add
 
     <aggregate>
 
     <aggregate>
 
     <host>
 
     <host>
Line 1,596: Line 1,592:
 
|
 
|
 
<source lang="bash">
 
<source lang="bash">
os create aggregate
+
os aggregate create
 
     <name>
 
     <name>
 
     <availability_zone>
 
     <availability_zone>
Line 1,610: Line 1,606:
 
|
 
|
 
<source lang="bash">
 
<source lang="bash">
os delete aggregate
+
os aggregate delete
 
     <aggregate>
 
     <aggregate>
 
</source>
 
</source>
Line 1,622: Line 1,618:
 
|
 
|
 
<source lang="bash">
 
<source lang="bash">
os list aggregate
+
os aggregate list
 
</source>
 
</source>
 
|| no
 
|| no
Line 1,632: Line 1,628:
 
|
 
|
 
<source lang="bash">
 
<source lang="bash">
os remove aggregate
+
os aggregate host remove
 
     <aggregate>
 
     <aggregate>
 
     <host>
 
     <host>
Line 1,646: Line 1,642:
 
|
 
|
 
<source lang="bash">
 
<source lang="bash">
os set aggregate
+
os aggregate set
 
     [--name <new-name>]
 
     [--name <new-name>]
 
     [--zone <availability-zone>]
 
     [--zone <availability-zone>]
Line 1,668: Line 1,664:
 
|
 
|
 
<source lang="bash">
 
<source lang="bash">
os show aggregate
+
os aggregate show
 
     <aggregate>
 
     <aggregate>
 
</source>
 
</source>
Line 1,732: Line 1,728:
 
|
 
|
 
<source lang="bash">
 
<source lang="bash">
os show console-log
+
os console log show
 
     [--lines <num-lines>]
 
     [--lines <num-lines>]
 
     <server>
 
     <server>
Line 1,746: Line 1,742:
 
|
 
|
 
<source lang="bash">
 
<source lang="bash">
os show console-url
+
os console url show
 
     [--novnc | --xvpvnc | --spice]
 
     [--novnc | --xvpvnc | --spice]
 
     <server>
 
     <server>
Line 1,786: Line 1,782:
 
|
 
|
 
<source lang="bash">
 
<source lang="bash">
os show diagnostics
+
os diagnostics show
 
     <server>
 
     <server>
 
</source>
 
</source>
Line 1,904: Line 1,900:
 
|
 
|
 
<source lang="bash">
 
<source lang="bash">
os list endpoints
+
os endpoint list
 
</source>
 
</source>
 
|| no
 
|| no
Line 1,921: Line 1,917:
 
|
 
|
 
<source lang="bash">
 
<source lang="bash">
os add fixed-ip
+
os ip fixed add
 
     <network>
 
     <network>
 
     <server>
 
     <server>
Line 1,935: Line 1,931:
 
|
 
|
 
<source lang="bash">
 
<source lang="bash">
os remove fixed-ip
+
os ip fixed remove
 
     <ip-address>
 
     <ip-address>
 
     <server>
 
     <server>
Line 1,957: Line 1,953:
 
|
 
|
 
<source lang="bash">
 
<source lang="bash">
os create flavor
+
os flavor create
 
     [--id <id>]
 
     [--id <id>]
 
     [--ram <size-mb>]
 
     [--ram <size-mb>]
Line 1,996: Line 1,992:
 
|
 
|
 
<source lang="bash">
 
<source lang="bash">
os delete flavor
+
os flavor delete
 
     <flavor>
 
     <flavor>
 
</source>
 
</source>
Line 2,008: Line 2,004:
 
|
 
|
 
<source lang="bash">
 
<source lang="bash">
os list flavor
+
os flavor list
 
</source>
 
</source>
 
|| yes
 
|| yes
Line 2,018: Line 2,014:
 
|
 
|
 
<source lang="bash">
 
<source lang="bash">
os show flavor
+
os flavor show
 
     <flavor>
 
     <flavor>
 
</source>
 
</source>
Line 2,034: Line 2,030:
 
|
 
|
 
<source lang="bash">
 
<source lang="bash">
os add floating-ip
+
os ip floating add
 
     <ip-address>
 
     <ip-address>
 
     <server>
 
     <server>
Line 2,048: Line 2,044:
 
|
 
|
 
<source lang="bash">
 
<source lang="bash">
os create floating-ip
+
os ip floating create
 
     [<pool>]
 
     [<pool>]
 
</source>
 
</source>
Line 2,060: Line 2,056:
 
|
 
|
 
<source lang="bash">
 
<source lang="bash">
os delete floating-ip
+
os ip floating delete
 
     <ip-address>
 
     <ip-address>
 
</source>
 
</source>
Line 2,072: Line 2,068:
 
|
 
|
 
<source lang="bash">
 
<source lang="bash">
os list floating-ip
+
os ip floating list
 
</source>
 
</source>
 
|| yes
 
|| yes
Line 2,082: Line 2,078:
 
|
 
|
 
<source lang="bash">
 
<source lang="bash">
os remove floating-ip
+
os ip floating remove
 
     <ip-address>
 
     <ip-address>
 
     <server>
 
     <server>
Line 2,105: Line 2,101:
 
|
 
|
 
<source lang="bash">
 
<source lang="bash">
os list floating-ip-pool
+
os ip floating pool list
 
</source>
 
</source>
 
|| yes
 
|| yes
Line 2,123: Line 2,119:
 
|
 
|
 
<source lang="bash">
 
<source lang="bash">
os list host
+
os host list
 
     [--zone <availability-zone>]
 
     [--zone <availability-zone>]
 
</source>
 
</source>
Line 2,136: Line 2,132:
 
|
 
|
 
<source lang="bash">
 
<source lang="bash">
os set host
+
os host set
 
     ...
 
     ...
 
</source>
 
</source>
Line 2,150: Line 2,146:
 
|
 
|
 
<source lang="bash">
 
<source lang="bash">
os show host
+
os host show
 
     <host>
 
     <host>
 
</source>
 
</source>
Line 2,166: Line 2,162:
 
|
 
|
 
<source lang="bash">
 
<source lang="bash">
os list hypervisor
+
os hypervisor list
 
     [--matching <hostname>]
 
     [--matching <hostname>]
 
</source>
 
</source>
Line 2,174: Line 2,170:
 
|
 
|
 
<source lang="bash">
 
<source lang="bash">
os show hypervisor
+
os hypervisor show
 
     <id>
 
     <id>
 
</source>
 
</source>
Line 2,190: Line 2,186:
 
|
 
|
 
<source lang="bash">
 
<source lang="bash">
os create keypair
+
os keypair create
 
     [--public-key <file>]
 
     [--public-key <file>]
 
     <name>
 
     <name>
Line 2,204: Line 2,200:
 
|
 
|
 
<source lang="bash">
 
<source lang="bash">
os delete keypair
+
os keypair delete
 
     <name>
 
     <name>
 
</source>
 
</source>
Line 2,216: Line 2,212:
 
|
 
|
 
<source lang="bash">
 
<source lang="bash">
os list keypair
+
os keypair list
 
</source>
 
</source>
 
|| yes
 
|| yes
Line 2,226: Line 2,222:
 
|
 
|
 
<source lang="bash">
 
<source lang="bash">
os show keypair
+
os keypair show
 
     [--public-key]
 
     [--public-key]
 
     <name>
 
     <name>
Line 2,243: Line 2,239:
 
|
 
|
 
<source lang="bash">
 
<source lang="bash">
os show limits
+
os limits show
 
     --absolute [--reserved] | --rate
 
     --absolute [--reserved] | --rate
 
</source>
 
</source>
Line 2,263: Line 2,259:
 
|
 
|
 
<source lang="bash">
 
<source lang="bash">
os set quota
+
os quota set
 
     [--instances <instances>]  
 
     [--instances <instances>]  
 
     [--cores <cores>]
 
     [--cores <cores>]
Line 2,293: Line 2,289:
 
|
 
|
 
<source lang="bash">
 
<source lang="bash">
os set quota
+
os quota set
 
     --class
 
     --class
 
     [--instances <instances>]  
 
     [--instances <instances>]  
Line 2,324: Line 2,320:
 
|
 
|
 
<source lang="bash">
 
<source lang="bash">
os show quota
+
os quota show
 
     [--defaults]
 
     [--defaults]
 
     <project>
 
     <project>
Line 2,340: Line 2,336:
 
|
 
|
 
<source lang="bash">
 
<source lang="bash">
os show quota
+
os quota show
 
     --class
 
     --class
 
     <class>
 
     <class>
Line 2,370: Line 2,366:
 
|
 
|
 
<source lang="bash">
 
<source lang="bash">
os add secgroup
+
os secgroup add
 
     <secgroup>
 
     <secgroup>
 
     <server>
 
     <server>
Line 2,384: Line 2,380:
 
|
 
|
 
<source lang="bash">
 
<source lang="bash">
os create secgroup
+
os secgroup create
 
     [--description <description>]
 
     [--description <description>]
 
     <name>
 
     <name>
Line 2,398: Line 2,394:
 
|
 
|
 
<source lang="bash">
 
<source lang="bash">
os delete secgroup
+
os secgroup delete
 
     <secgroup>
 
     <secgroup>
 
</source>
 
</source>
Line 2,410: Line 2,406:
 
|
 
|
 
<source lang="bash">
 
<source lang="bash">
os list secgroup
+
os secgroup list
 
     [--all-tenants]
 
     [--all-tenants]
 
</source>
 
</source>
Line 2,422: Line 2,418:
 
|
 
|
 
<source lang="bash">
 
<source lang="bash">
os remove secgroup
+
os secgroup remove
 
     <secgroup>
 
     <secgroup>
 
     <server>
 
     <server>
Line 2,443: Line 2,439:
 
|
 
|
 
<source lang="bash">
 
<source lang="bash">
os create secgroup-group-rule
+
os secgroup group rule create
 
     [--proto <protocol>]
 
     [--proto <protocol>]
 
     [--port <port>:<port>]
 
     [--port <port>:<port>]
Line 2,462: Line 2,458:
 
|
 
|
 
<source lang="bash">
 
<source lang="bash">
os delete secgroup-group-rule
+
os secgroup group rule delete
 
     [--proto <protocol>]
 
     [--proto <protocol>]
 
     [--port <port>:<port>]
 
     [--port <port>:<port>]
Line 2,488: Line 2,484:
 
|
 
|
 
<source lang="bash">
 
<source lang="bash">
os create secgroup-rule
+
os secgroup rule create
 
     [--proto <proto>]
 
     [--proto <proto>]
 
     [--src-ip <ip-address>]
 
     [--src-ip <ip-address>]
Line 2,508: Line 2,504:
 
|
 
|
 
<source lang="bash">
 
<source lang="bash">
os delete secgroup-rule
+
os secgroup rule delete
 
     [--proto <proto>]
 
     [--proto <proto>]
 
     [--src-ip <ip-address>]
 
     [--src-ip <ip-address>]
Line 2,528: Line 2,524:
 
|
 
|
 
<source lang="bash">
 
<source lang="bash">
os list secgroup-rule
+
os secgroup rule list
 
     <secgroup>
 
     <secgroup>
 
</source>
 
</source>
Line 2,547: Line 2,543:
 
|
 
|
 
<source lang="bash">
 
<source lang="bash">
os create server
+
os server create
 
     --image <image>
 
     --image <image>
 
     --flavor <flavor>
 
     --flavor <flavor>
Line 2,587: Line 2,583:
 
|
 
|
 
<source lang="bash">
 
<source lang="bash">
os delete server
+
os server delete
 
     <server>
 
     <server>
 
</source>
 
</source>
Line 2,599: Line 2,595:
 
|
 
|
 
<source lang="bash">
 
<source lang="bash">
os list server
+
os server list
 
     [--reservation-id <reservation-id>]  
 
     [--reservation-id <reservation-id>]  
 
     [--ip <ip-regex>]
 
     [--ip <ip-regex>]
Line 2,628: Line 2,624:
 
|
 
|
 
<source lang="bash">
 
<source lang="bash">
os lock server
+
os server lock
 
     <server>
 
     <server>
 
</source>
 
</source>
Line 2,640: Line 2,636:
 
|
 
|
 
<source lang="bash">
 
<source lang="bash">
os migrate server
+
os server migrate
 
     --live
 
     --live
 
     [--block_migrate]
 
     [--block_migrate]
Line 2,647: Line 2,643:
 
     <host>
 
     <host>
  
os migrate server
+
os server migrate
 
     [--wait]
 
     [--wait]
 
     <server>
 
     <server>
Line 2,667: Line 2,663:
 
|
 
|
 
<source lang="bash">
 
<source lang="bash">
os pause server
+
os server pause
 
     <server>
 
     <server>
 
</source>
 
</source>
Line 2,679: Line 2,675:
 
|
 
|
 
<source lang="bash">
 
<source lang="bash">
os reboot server
+
os server reboot
 
     [--hard | --soft]
 
     [--hard | --soft]
 
     [--wait]
 
     [--wait]
Line 2,695: Line 2,691:
 
|
 
|
 
<source lang="bash">
 
<source lang="bash">
os rebuild server
+
os server rebuild
 
     --image <image>
 
     --image <image>
 
     [--password <password>]  
 
     [--password <password>]  
Line 2,713: Line 2,709:
 
|
 
|
 
<source lang="bash">
 
<source lang="bash">
os rename server
+
os server rename
 
     <server>
 
     <server>
 
     <new-name>
 
     <new-name>
Line 2,727: Line 2,723:
 
|
 
|
 
<source lang="bash">
 
<source lang="bash">
os rescue server
+
os server rescue
 
     <server>
 
     <server>
 
</source>
 
</source>
Line 2,739: Line 2,735:
 
|
 
|
 
<source lang="bash">
 
<source lang="bash">
os resize server
+
os server resize
 
     --flavor <flavor>
 
     --flavor <flavor>
 
     [--wait]
 
     [--wait]
Line 2,755: Line 2,751:
 
|
 
|
 
<source lang="bash">
 
<source lang="bash">
os resize server
+
os server resize
 
     --confirm
 
     --confirm
 
     <server>
 
     <server>
Line 2,768: Line 2,764:
 
|
 
|
 
<source lang="bash">
 
<source lang="bash">
os resume server
+
os server resume
 
     <server>
 
     <server>
 
</source>
 
</source>
Line 2,780: Line 2,776:
 
|
 
|
 
<source lang="bash">
 
<source lang="bash">
os set server
+
os server set
 
     --meta-data <key=value>
 
     --meta-data <key=value>
 
     [--meta-data <key=value>] ...
 
     [--meta-data <key=value>] ...
Line 2,801: Line 2,797:
 
|
 
|
 
<source lang="bash">
 
<source lang="bash">
os set server
+
os server set
 
     --root-password
 
     --root-password
 
     <server>
 
     <server>
Line 2,814: Line 2,810:
 
|
 
|
 
<source lang="bash">
 
<source lang="bash">
os show server
+
os server show
 
     <server>
 
     <server>
 
</source>
 
</source>
Line 2,826: Line 2,822:
 
|
 
|
 
<source lang="bash">
 
<source lang="bash">
os ssh server
+
os server ssh
 
     [--port PORT]
 
     [--port PORT]
 
     --private]
 
     --private]
Line 2,846: Line 2,842:
 
|
 
|
 
<source lang="bash">
 
<source lang="bash">
os suspend server
+
os server suspend
 
     <server>
 
     <server>
 
</source>
 
</source>
Line 2,858: Line 2,854:
 
|
 
|
 
<source lang="bash">
 
<source lang="bash">
os unlock server
+
os server unlock
 
     <server>
 
     <server>
 
</source>
 
</source>
Line 2,870: Line 2,866:
 
|
 
|
 
<source lang="bash">
 
<source lang="bash">
os unpause server
+
os server unpause
 
     <server>
 
     <server>
 
</source>
 
</source>
Line 2,882: Line 2,878:
 
|
 
|
 
<source lang="bash">
 
<source lang="bash">
os unrescue server
+
os server unrescue
 
     <server>
 
     <server>
 
</source>
 
</source>
Line 2,894: Line 2,890:
  
  
'''usage'''
+
==== usage ====
  
 +
{| class="wikitable"
 +
|-
 +
! OSC Command !! Implemented !! !! Keystone command
 +
|-
 +
|
 
<source lang="bash">
 
<source lang="bash">
nova usage-list [--start <start>] [--end <end>]
+
os usage list
 
+
    [--start <start>]
os list usage ...
+
    [--end <end>]
 +
</source>
 +
|| no
 +
|| ||
 +
<source lang="bash">
 +
nova usage-list
 +
    [--start <start>]
 +
    [--end <end>]
 
</source>
 
</source>
 +
|}
  
  
'''volume'''
+
==== volume ====
  
 +
{| class="wikitable"
 +
|-
 +
! OSC Command !! Implemented !! !! Keystone command
 +
|-
 +
|
 
<source lang="bash">
 
<source lang="bash">
nova volume-attach <server> <volume> <device>
+
os volume attach
 
+
    <volume>
os attach volume ...
+
    <server>
 +
    <device>
 
</source>
 
</source>
 
+
|| no
 +
|| ||
 
<source lang="bash">
 
<source lang="bash">
nova volume-detach <server> <volume>
+
nova volume-attach
 
+
    <server>
os detach volume ...
+
    <volume>
 +
    <device>
 
</source>
 
</source>
 
+
|-
 
+
|
'''x509-cert'''
 
 
 
 
<source lang="bash">
 
<source lang="bash">
nova x509-create-cert [<private_key_file>] [<x509_cert>]
+
os volume detach
 
+
    <server>
os create x509-cert ...
+
    <volume>
 +
</source>
 +
|| no
 +
|| ||
 +
<source lang="bash">
 +
nova volume-detach
 +
    <server>
 +
    <volume>
 
</source>
 
</source>
 +
|}
  
  
'''x509-root-cert'''
+
==== x509-cert ====
  
 +
{| class="wikitable"
 +
|-
 +
! OSC Command !! Implemented !! !! Keystone command
 +
|-
 +
|
 
<source lang="bash">
 
<source lang="bash">
nova x509-get-root-cert [<filename>]
+
os x509 cert create
 +
    [<private_key_file>]
 +
    [<x509_cert>]
 +
</source>
 +
|| no
 +
|| ||
 +
<source lang="bash">
 +
nova x509-create-cert
 +
    [<private_key_file>]
 +
    [<x509_cert>]
 +
</source>
 +
|}
  
os show x509-root-cert ...
+
==== x509-root-cert ====
 +
 
 +
{| class="wikitable"
 +
|-
 +
! OSC Command !! Implemented !! !! Keystone command
 +
|-
 +
|
 +
<source lang="bash">
 +
os show x509-root-cert
 
</source>
 
</source>
 +
|| no
 +
|| ||
 +
<source lang="bash">
 +
nova x509-get-root-cert
 +
    [<filename>]
 +
</source>
 +
|}
 +
  
 
== Image ==
 
== Image ==
 
  
 
{| class="wikitable"
 
{| class="wikitable"
Line 2,965: Line 3,019:
 
=== API v1 ===
 
=== API v1 ===
  
'''image'''
+
==== image ====
  
 
{| class="wikitable"
 
{| class="wikitable"
Line 2,973: Line 3,027:
 
|
 
|
 
<source lang="bash">
 
<source lang="bash">
os create image
+
os image create
 
     [--id <id>]
 
     [--id <id>]
 
     [--store <store>]
 
     [--store <store>]
Line 2,997: Line 3,051:
 
     [--id <IMAGE_ID>]
 
     [--id <IMAGE_ID>]
 
     [--name <NAME>]
 
     [--name <NAME>]
     [--disk-format <CONTAINER_FORMAT>]
+
     [--disk-format <DISK_FORMAT>]
     [--container-format <DISK_FORMAT>]
+
     [--container-format <CONTAINER_FORMAT>]
 
     [--owner <TENANT_ID>]
 
     [--owner <TENANT_ID>]
 
     [--size <SIZE>]
 
     [--size <SIZE>]
Line 3,006: Line 3,060:
 
     [--checksum <CHECKSUM>]
 
     [--checksum <CHECKSUM>]
 
     [--copy-from <IMAGE_URL>]
 
     [--copy-from <IMAGE_URL>]
     [--public] [--protected]
+
     [--is-public [True|False]]
 +
    [--is-protected [True|False]]
 
     [--property <key=value>]
 
     [--property <key=value>]
 +
    [--human-readable]
 
</source>
 
</source>
 
|}
 
|}
Line 3,013: Line 3,069:
 
=== API v2 ===
 
=== API v2 ===
  
'''image'''
+
==== image ====
  
 
{| class="wikitable"
 
{| class="wikitable"
Line 3,021: Line 3,077:
 
|
 
|
 
<source lang="bash">
 
<source lang="bash">
os delete image
+
os image delete
 
     <id>
 
     <id>
 
</source>
 
</source>
Line 3,030: Line 3,086:
 
     <IMAGE_ID>
 
     <IMAGE_ID>
 
</source>
 
</source>
|}
+
|-
 
+
|
 
+
<source lang="bash">
 
+
os image list
 +
</source>
 +
|| yes
 +
|| ||
 
<source lang="bash">
 
<source lang="bash">
 
glance image-list
 
glance image-list
 
os list image ...
 
 
</source>
 
</source>
 
+
|-
 
+
|
 +
<source lang="bash">
 +
os image show
 +
    <image>
 +
</source>
 +
|| yes
 +
|| ||
 +
<source lang="bash">
 +
glance image-show
 +
    <IMAGE_ID>
 +
</source>
 +
|-
 +
|
 +
<source lang="bash">
 +
</source>
 +
|| no
 +
|| ||
 +
<source lang="bash">
 +
glance member-images
 +
    [options]
 +
    <MEMBER>
 +
</source>
 +
|-
 +
|
 
<source lang="bash">
 
<source lang="bash">
glance image-show <IMAGE_ID>
+
os image show
 
+
    <image>
os show image ...
 
 
</source>
 
</source>
 
+
|| yes
 
+
|| ||
 
<source lang="bash">
 
<source lang="bash">
glance member-images [options] <MEMBER>
+
glance show
 
+
    [--human-readable]
os list image --member <member> [options]
+
    <IMAGE>
 
</source>
 
</source>
 
+
|-
 
+
|
 
<source lang="bash">
 
<source lang="bash">
glance show [options] <ID>
+
os image set
 
+
    [--id <id>]
os show image ...
+
    [--store <store>]
 +
    [--container-format <format>]
 +
    [--disk-format <format>]
 +
    [--owner <tenant>]
 +
    [--size <size-bytes>]
 +
    [--min-disk <disk-gb>]
 +
    [--min-ram <ram-mg>]
 +
    [--location <image-url>]
 +
    [--copy-from <image-url>]
 +
    [--file <local-filename>]
 +
    [--checksum <checksum>]
 +
    [--protected | --unprotected]
 +
    [--public | --private]
 +
    [--property <key=value>]
 +
    <name>
 
</source>
 
</source>
 
+
|| no
 
+
|| ||
 
<source lang="bash">
 
<source lang="bash">
glance update [options] <ID> <field1=value1 field2=value2 ...>
+
glance update
 
+
    [--name <NAME>]
os set image ...
+
    [--disk-format <DISK_FORMAT>]
 +
    [--container-format <CONTAINER_FORMAT>]
 +
    [--owner <TENANT_ID>]
 +
    [--size <SIZE>]
 +
    [--min-disk <DISK_GB>]
 +
    [--min-ram <DISK_RAM>]
 +
    [--location <IMAGE_URL>]
 +
    [--file <FILE>]
 +
    [--checksum <CHECKSUM>]
 +
    [--copy-from <IMAGE_URL>]
 +
    [--is-public [True|False]]
 +
    [--is-protected [True|False]]
 +
    [--property <key=value>]
 +
    [--purge-props]
 +
    [--human-readable]
 +
    <IMAGE>
 
</source>
 
</source>
 +
|}
  
  
'''image-member'''
+
==== image-member ====
  
 
<source lang="bash">
 
<source lang="bash">
Line 3,099: Line 3,208:
  
 
== Volume ==
 
== Volume ==
 
  
 
{| class="wikitable"
 
{| class="wikitable"
Line 3,130: Line 3,238:
 
|
 
|
 
<source lang="bash">
 
<source lang="bash">
os list quota
+
os quota list
 
     <tenant>
 
     <tenant>
 
</source>
 
</source>
Line 3,140: Line 3,248:
 
|
 
|
 
<source lang="bash">
 
<source lang="bash">
os set quota
+
os quota set
 
     [--volumes] <new-volumes>]
 
     [--volumes] <new-volumes>]
 
     [--gigabytes <new-gigabytes>]
 
     [--gigabytes <new-gigabytes>]
Line 3,157: Line 3,265:
 
|
 
|
 
<source lang="bash">
 
<source lang="bash">
os show quota
+
os quota show
 
     <tenant>
 
     <tenant>
 
</source>
 
</source>
Line 3,176: Line 3,284:
 
|
 
|
 
<source lang="bash">
 
<source lang="bash">
os create snapshot
+
os snapshot create
 
     --name <name>
 
     --name <name>
 
     [--description <description>]
 
     [--description <description>]
Line 3,194: Line 3,302:
 
|
 
|
 
<source lang="bash">
 
<source lang="bash">
os delete snapshot
+
os snapshot delete
 
     <snapshot>
 
     <snapshot>
 
</source>
 
</source>
Line 3,206: Line 3,314:
 
|
 
|
 
<source lang="bash">
 
<source lang="bash">
os list snapshot
+
os snapshot list
 
</source>
 
</source>
 
|| yes (no opts yet)
 
|| yes (no opts yet)
Line 3,220: Line 3,328:
 
|
 
|
 
<source lang="bash">
 
<source lang="bash">
os set snapshot
+
os snapshot set
 
     [--name <new-name>]
 
     [--name <new-name>]
 
     [--description <new-description>]
 
     [--description <new-description>]
Line 3,236: Line 3,344:
 
|
 
|
 
<source lang="bash">
 
<source lang="bash">
os show snapshot
+
os snapshot show
 
     <snapshot>
 
     <snapshot>
 
</source>
 
</source>
Line 3,255: Line 3,363:
 
|
 
|
 
<source lang="bash">
 
<source lang="bash">
os create volume
+
os volume create
 
     --size <size>
 
     --size <size>
 
     [--description <description>]
 
     [--description <description>]
Line 3,285: Line 3,393:
 
|
 
|
 
<source lang="bash">
 
<source lang="bash">
os delete volume
+
os volume delete
 
     [--force]
 
     [--force]
 
     <volume>
 
     <volume>
Line 3,301: Line 3,409:
 
|
 
|
 
<source lang="bash">
 
<source lang="bash">
os list volume
+
os volume list
 
     [--name <name>]
 
     [--name <name>]
 
     [--status <status>]
 
     [--status <status>]
Line 3,318: Line 3,426:
 
|
 
|
 
<source lang="bash">
 
<source lang="bash">
os set volume
+
os volume set
 
     [--name <new-name>]
 
     [--name <new-name>]
 
     [--description <new-description>]
 
     [--description <new-description>]
Line 3,340: Line 3,448:
 
|
 
|
 
<source lang="bash">
 
<source lang="bash">
os show volume
+
os volume show
 
     <volume>
 
     <volume>
 
</source>
 
</source>
Line 3,352: Line 3,460:
 
|
 
|
 
<source lang="bash">
 
<source lang="bash">
os unset volume
+
os volume unset
 
     [--property <key=value>]
 
     [--property <key=value>]
 
     <volume>
 
     <volume>
Line 3,370: Line 3,478:
 
|
 
|
 
<source lang="bash">
 
<source lang="bash">
os create volume-type
+
os volume type create
 
     [--property <key=value>]
 
     [--property <key=value>]
 
     <name>
 
     <name>
Line 3,383: Line 3,491:
 
|
 
|
 
<source lang="bash">
 
<source lang="bash">
os delete volume-type
+
os volume type delete
 
     <volume-type>
 
     <volume-type>
 
</source>
 
</source>
Line 3,395: Line 3,503:
 
|
 
|
 
<source lang="bash">
 
<source lang="bash">
os list volume-type
+
os volume type list
 
     [--long]
 
     [--long]
 
</source>
 
</source>
Line 3,408: Line 3,516:
 
|
 
|
 
<source lang="bash">
 
<source lang="bash">
os set volume-type
+
os volume type set
 
     [--property <key=value>]
 
     [--property <key=value>]
 
     <volume-type>
 
     <volume-type>
Line 3,423: Line 3,531:
 
|
 
|
 
<source lang="bash">
 
<source lang="bash">
os unset volume-type
+
os volume type unset
 
     [--property <key>]
 
     [--property <key>]
 
     <volume-type>
 
     <volume-type>

Revision as of 16:28, 10 June 2013

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

The OpenStackClient has a consistent and predictable format for all of its commands.

  • The top level command name is openstack
  • Sub-commands take the form:
openstack [<global-options>] <object> <verb> [<command-local-arguments>]

Note: The command format change was committed on 13May2013. This is the new format.

Command Arguments

  • All long options names shall use '-' as the interpolation character (--like-this)
  • Authentication options conform to a revised version of the original CLIAuth
  • Global arguments generally have a corresponding environment variable that may also be used to set the value. If both are present, the command-line option takes priority. The environment variable names can be derived from the option by dropping the leading '--', converting all embedded dashes ('-') to underscores ('_'), and converting to upper case.
  • Positional arguments trail command options. Some commands require two objects be acted upon, both objects will appear in the command object and both positional arguments appear in the same order as in the command object.

Verbs

The verbs used by the default OpenStack clients are defined below to provide a consistent meaning to each action. Many of them have logical opposite actions. Those verbs with an opposite action are noted in parens if applicable.

  • authorize - authorize a token (used in OAuth)
  • 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 original create
  • 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 called metadata
  • 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

Objects

Note: these need a review to sync up with the revised object names without dashes ('-') in them.

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 catalog show
    [--service <service>]
no
keystone catalog
    [--service <service-type>]

ec2-credentials

OSC Command Implemented Keystone command
os ec2-credentials create
    [--project <project>]
    [--user <user>]
in progress
keystone ec2-credentials-create
    [--user <user-id>] 
    [--tenant_id <tenant-id>]
os ec2-credentials delete
    [--user <user>]
    <access-key>
in progress
keystone ec2-credentials-delete
    [--user <user-id>] 
    --access <access-key>
os ec2-credentials list
    [--user <user>]
in progress
keystone ec2-credentials-list
    [--user <user-id>]
os ec2-credentials show
    [--user <user>]
    <access-key>
in progress
keystone ec2-credentials-get
    [--user <user-id>] 
    --access <access-key>

endpoint

OSC Command Implemented Keystone command
os endpoint create
    --publicurl <public-url>
    [--adminurl <admin-url>]
    [--internalurl <internal-url>]
    [--region <endpoint-region>]
    <service>
yes
keystone endpoint-create
    [--region <endpoint-region>]
    [--service_id <service-id>]
    [--publicurl <public-url>]
    [--adminurl <admin-url>]
    [--internalurl <internal-url>]
os endpoint delete
    <endpoint-id>
yes
keystone endpoint-delete
    <endpoint-id>
os endpoint list
    [--long]
yes
keystone endpoint-list
os endpoint show
    [--type <endpoint-type>]
    [--attr <endpoint-attribute>] 
    [--value <endpoint-value>]
    [--all]
    <service-type>
yes
keystone endpoint-get
    --service <service-type>
    [--endpoint_type <endpoint-type>]
    [--attr <service-attribute>] 
    [--value <value>]

role

OSC Command Implemented Keystone command
os role create
    <role-name>
yes
keystone role-create --name
    <role-name>
os role delete
    <role>
yes
keystone role-delete
    <role-id>
os role list
yes
keystone role-list
os role show
    <role>
yes
keystone role-get
    <role-id>

service

OSC Command Implemented Keystone command
os service create
    [--type <service-type>]
    [--description <service-description>]
    <service-name>
yes
keystone service-create
    --name <name> 
    --type <type>
    [--description <service-description>]
os service delete
    <service>
yes
keystone service-delete
    <service-id>
os service list
    [--long]
yes
keystone service-list
os service show
    <service>
yes
keystone service-get
    <service-id>

tenant

OSC Command Implemented Keystone command
os tenant create
    [--description <description>]
    [--enable | --disable]
    <tenant-name>
yes
keystone tenant-create
    --name <tenant-name>
    [--description <tenant-description>]
    [--enabled <true|false>]
os tenant delete
    <tenant>
yes
keystone tenant-delete
    <tenant>
os tenant list
    [--long]
yes
keystone tenant-list
os tenant set
    [--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 tenant show
    <tenant>
yes
keystone tenant-get
    <tenant-id>

token

OSC Command Implemented Keystone command
os token show
    [--width <token-display-width>]
 ??
keystone token-get [--wrap <integer>]

user

OSC Command Implemented Keystone command
os user create
    [--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 user delete
    <user>
yes
keystone user-delete
    <user-id>
os user list
    [--tenant <tenant>]
    [--long]
yes
keystone user-list
    [<tenant-id>]
os user set
    [--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 user show
    <user>
yes
keystone user-get
    <user-id>

user role

OSC Command Implemented Keystone command
os user role add
    [--tenant <tenant>]
    <user>
    <role>
yes
keystone user-role-add
    --user <user-id>
    --role <role-id>
    [--tenant_id <tenant-id>]
os user role list
    [--tenant <tenant>]
    [<user>]
yes
keystone user-role-list
    [--user <user-id>]
    [--tenant_id <tenant-id>]
os user role remove
    [--tenant <tenant>]
    <user>
    <role>
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>]

## do not create in openstackclient, since it is in contribute
keystone discover

## do not create in openstackclient, obsolete.

API v3

access token

OSC Command Implemented Keystone command
os access token create
    --consumer-key <consumer-key>
    --consumer-secret <consumer-secret>
    --request-key <request-key>
    --request-secret <request-secret>
    --verifier <pin>
yes
n/a

credential

OSC Command Implemented Keystone command
os credential create
    [--project <project>]
    [--type ec2|cert]
    <user>
    <data>
yes
keystone credential-create
    --user_id <user-id>
    --type <credential-type>
    --data <credential-data>
    [--project_id <project-id>]
os credential delete
    <credential-id>
yes
keystone credential-delete
    <credential-id>
os credential list
yes
keystone credential-list
os credential set
    [--user <user>]
    [--type ec2|cert]
    [--data <data>]
    [--project <project>]
    <credential-id>
yes
keystone credential-update
    [--user <user>]
    [--type <type>]
    [--data <data>]
    [--project <project>]
    <credential-id>
os credential show
    <credential-id>
yes
keystone credential-get
    <credential-id>

domain

OSC Command Implemented Keystone command
os domain create
    [--description <domain-description>]
    [--enable | --disable]
    <domain-name>
yes
keystone domain-create
    --name <domain-name>
    [--description <domain-description>]
    [--enabled <true|false>]
    [--private_project_names <true|false>]
    [--private_user_names <true|false>]
os domain delete
    <domain>
yes
keystone domain-delete
    <domain-id>
os domain list
yes
keystone domain-list
os domain set
    [--name <new-domain-name>]
    [--description <new-domain-description>]
    [--enable | --disable]
    <domain>
yes
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 domain show
    <domain>
yes
keystone domain-get
    <domain-id>

endpoint

OSC Command Implemented Keystone command
os endpoint create
    [--region <endpoint-region>
    [--enable | --disable]
    <service>
    <interface admin|public|internal>
    <url>
yes
keystone endpoint-create 
    [--region <endpoint-region>
    [--enable | --disable]
    <service_id>
    <interface admin|public|internal>
    <url>
os endpoint delete
    <endpoint-id>
yes
os endpoint list
    [--long]
yes
keystone endpoint-list
os endpoint set
    [--interface <endpoint-interface>]
    [--url <endpoint-url>]
    [--service <service-id>]
    [--region <endpoint-region>]
    [--enable | --disable]
    <endpoint>
yes
keystone endpoint-set
    [--interface <endpoint-interface>]
    [--url <endpoint-url>]
    [--service <service-id>]
    [--region <endpoint-region>]
    [--enable | --disable]
    <endpoint>
os endpoint show
    <endpoint>
yes
keystone endpoint-get 
    <endpoint>

group

OSC Command Implemented Keystone command
os group create
    [--domain <domain>]
    [--description <group-description>]
    <group-name>
yes
keystone group-create
    --name <group-name>
    [--domain_id <domain-id>]
    [--description <group-description>]
os group delete
    <group>
yes
keystone group-delete
    <group-id>
os group list
    [--long]
yes
keystone group-list
os group set
    [--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 group show
    <group>
yes
keystone group-get
    <group-id>

policy

OSC Command Implemented Keystone command
os policy create
    [--type <policy-type>]
    --blob-file <blob-file>
yes
keystone policy-create
    --type <policy-type>
    --blob <policy-blob>
os policy delete
    <policy-id>
yes
keystone policy-delete
    <policy-id>
os policy list
    [--include-blob]
yes
keystone policy-list
os policy set
    [--type <policy-type>]
    [--blob-file<blob-file>]
    <policy-id>
yes
keystone policy-update
    [--type <policy-type>]
    [--blob <policy-blob>]
    <policy-id>
os policy show
    <policy-id>
yes
keystone policy-get
    <policy-id>

project

OSC Command Implemented Keystone command
os project create
    [--domain <project-domain>]
    [--description <project-description>]
    [--enable | --disable]
    <project-name>
yes
keystone project-create
    [--domain_id <domain_id>]
    [--description <description>]
    [--enable | --disable]
    <name>
os project delete
    <project>
yes
os project-delete
    <project_id>
os project list
    [--long]
yes
keystone project-list
os project set
    [--name <new-project-name>]
    [--domain <project-domain>]
    [--description <new-project-description>]
    [--enable | --disable]
    <project>
yes
keystone project-set
    [--name <new-project-name>]
    [--domain <project-domain>]
    [--description <new-project-description>]
    [--enable | --disable]
    <project_id>
os project show
    <project>
yes
keystone project-get
    <project_id>

request token

OSC Command Implemented Keystone command
os request token authorize
    --consumer-key <consumer-key>
    --consumer-secret <consumer-secret>
    --request-key <request-key>
    --request-secret <request-secret>
    --user-token <token>
    --roles <roles>
yes
n/a
os request token create
    --consumer-key <consumer-key>
    --consumer-secret <consumer-secret>
    [--roles <roles>]
yes
n/a

role

OSC Command Implemented Keystone command
os group-role list
yes
os user-role list
yes
os role add
    [--user <user> | --group <group>]
    [--domain <domain> | --project <project>]
    <role>
yes
os role create
    <role-name>
yes
os role delete
    <role>
yes
os role list
yes
os role remove
    [--user <user> | --group <group>]
    [--domain <domain> | --project <project>]
    <role>
yes
os role set
    [--name <new-role-name>]
    <role>
yes
os role show
    <role>
yes

service

OSC Command Implemented Keystone command
os service create
	[--name <name>]
        [--enabled <true|false>]
        <type>
yes
keystone service-create
	[--name <name>]
        [--enabled <true|false>]
        <type>
os service delete
    <service>
yes
keystone service-delete
    <service_id>
os list service
yes
keystone service-list
os service set
    [--type <service-type>]
    [--name <new-name>]
    [--enable | --disable]
    <service>
yes
keystone service-set
    [--type <service-type>]
    [--name <new-name>]
    [--enable | --disable]
    <service>
os service show
    <service>
yes
keystone service-get 
    <service_id>

user

OSC Command Implemented Keystone command
os user create
    [--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 user delete
    <user>
yes
keystone user-delete
    <user-id>
os user list
    [--project <project>]
    [--long]
yes
keystone user-list
os user set
    [--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 user show
    <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 agent create
    <os>
    <architecture>
    <version>
    <url>
    <md5hash>
    <hypervisor>
yes
os agent delete
    <id>
yes
os agent list 
    [--hypervisor <hypervisor>]
yes
os agent set
    <id>
    <version>
    <url>
    <md5hash>
yes


aggregate

OSC Command Implemented Nova command
os aggregate host add
    <aggregate>
    <host>
no
nova aggregate-add-host
    <id>
    <host>
os aggregate create
    <name>
    <availability_zone>
no
nova aggregate-create
    <name>
    <availability_zone>
os aggregate delete
    <aggregate>
no
nova aggregate-delete
    <id>
os aggregate list
no
nova aggregate-list
os aggregate host remove
    <aggregate>
    <host>
no
nova aggregate-remove-host
    <id>
    <host>
os aggregate set
    [--name <new-name>]
    [--zone <availability-zone>]
    [--property <key=value>]
    <aggregate>
no
nova aggregate-update
    <id>
    <name>
    [<availability_zone>]

nova aggregate-set-metadata
    <id>
    <key=value>
    [<key=value> ...]
os aggregate show
    <aggregate>
no
nova aggregate-details
    <id>


bash-completion

OSC Command Implemented Nova command

TBD

no
nova bash-completion

cloudpipe

OSC Command Implemented Nova command
os create cloudpipe
    <project>
no
nova cloudpipe-create
    <project>
os list cloudpipe
no
nova cloudpipe-list

console

OSC Command Implemented Nova command
os console log show
    [--lines <num-lines>]
    <server>
yes
nova console-log
    [--length <length>]
    <server>
os console url show
    [--novnc | --xvpvnc | --spice]
    <server>
yes
nova get-vnc-console
    <server>
    <console_type>

credentials

This may be better handled as part of the Identity API

OSC Command Implemented Nova command
TBD
no
nova credentials

diagnostics

Consider implementing this as: show server --diagnostics <server>

OSC Command Implemented Nova command
os diagnostics show
    <server>
no
nova diagnostics
    <server>

dns

These commands need some attention...an IP shouldn't be required for all record types. They need to be more DNS-y. Zone anyone?

OSC Command Implemented Nova command
os create dns
    [--type <type>]
    <ip>
    <name>
    <domain>
no
nova dns-create
    [--type <type>]
    <ip>
    <name>
    <domain>
os delete dns
    <domain>
    <name>
no
nova dns-delete
    <domain>
    <name>
os list dns
    [--ip <ip>]
    [--name <name>]
    <domain>
no
nova dns-list
    [--ip <ip>]
    [--name <name>]
    <domain>
os create dns-domain
    [--project <project>]
    [--availability-zone <availability-zone>]
    [--public | --private]
    <domain>
no
nova dns-create-private-domain
    [--availability_zone <availability_zone>]
    <domain>

nova dns-create-public-domain
    [--project <project>]
    <domain>
os delete dns-domain
    <domain>
no
nova dns-delete-domain
    <domain>
os list dns-domains
no
nova dns-domains

endpoints

Totally duplicates Identity catalog command

OSC Command Implemented Nova command
os endpoint list
no
nova endpoints

fixed-ip

OSC Command Implemented Nova command
os ip fixed add
    <network>
    <server>
yes
nova add-fixed-ip
    <server>
    <network_id>
os ip fixed remove
    <ip-address>
    <server>
yes
nova remove-fixed-ip
    <server>
    <address>


flavor

OSC Command Implemented Nova command
os flavor create
    [--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 flavor delete
    <flavor>
yes
nova flavor-delete 
    <id>
os flavor list
yes
nova flavor-list
os flavor show
    <flavor>
yes


floating-ip

OSC Command Implemented Nova command
os ip floating add
    <ip-address>
    <server>
yes
nova add-floating-ip
    <server>
    <address>
os ip floating create
    [<pool>]
yes
nova floating-ip-create
    [<floating_ip_pool>]
os ip floating delete
    <ip-address>
yes
nova floating-ip-delete
    <address>
os ip floating list
yes
nova floating-ip-list
os ip floating remove
    <ip-address>
    <server>
yes
nova remove-floating-ip
    <server>
    <address>


floating-ip-pool

OSC Command Implemented Nova command
os ip floating pool list
yes
nova floating-ip-pool-list


host

OSC Command Implemented Nova command
os host list
    [--zone <availability-zone>]
yes
nova host-action
    [--action <action>]
    <hostname>
os host set
    ...
no
nova host-update
    [--status <status>] 
    [--maintenance <maintenance_mode>]
    <hostname>
os host show
    <host>
yes


hypervisor

OSC Command Implemented Nova command
os hypervisor list
    [--matching <hostname>]
yes
os hypervisor show
    <id>
yes


keypair

OSC Command Implemented Nova command
os keypair create
    [--public-key <file>]
    <name>
yes
nova keypair-add
    [--pub_key <pub_key>]
    <name>
os keypair delete
    <name>
yes
nova keypair-delete
    <name>
os keypair list
yes
nova keypair-list
os keypair show
    [--public-key]
    <name>
yes


limits

OSC Command Implemented Nova command
os limits show
    --absolute [--reserved] | --rate
no
nova absolute-limits

nova rate-limits

quota

OSC Command Implemented Nova command
os quota set
    [--instances <instances>] 
    [--cores <cores>]
    [--ram <ram>] 
    [--volumes <volumes>]
    [--gigabytes <gigabytes>]
    [--floating-ips <floating-ips>]
    [--property-items <property-items>]
    [--injected-files <injected-files>]
    [--injected-file-content-bytes <injected-file-content-bytes>]
    <project>
no
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 quota set
    --class
    [--instances <instances>] 
    [--cores <cores>]
    [--ram <ram>] 
    [--volumes <volumes>]
    [--gigabytes <gigabytes>]
    [--floating-ips <floating-ips>]
    [--property-items <property-items>]
    [--injected-files <injected-files>]
    [--injected-file-content-bytes <injected-file-content-bytes>]
    <class>
no
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 quota show
    [--defaults]
    <project>
no
nova quota-defaults
    <tenant_id>

nova quota-show
    <tenant_id>
os quota show
    --class
    <class>
no
nova quota-class-show
    <class>


resource

nova describe-resource <hostname>

os show resource ...

secgroup

OSC Command Implemented Nova command
os secgroup add
    <secgroup>
    <server>
no
nova add-secgroup
    <server>
    <secgroup>
os secgroup create
    [--description <description>]
    <name>
yes
nova secgroup-create
    <name>
    <description>
os secgroup delete
    <secgroup>
yes
nova secgroup-delete
    <secgroup>
os secgroup list
    [--all-tenants]
yes
nova secgroup-list
     [--all-tenants [<0|1>]]
os secgroup remove
    <secgroup>
    <server>
no
nova remove-secgroup
    <server>
    <secgroup>

secgroup-group-rule

OSC Command Implemented Nova command
os secgroup group rule create
    [--proto <protocol>]
    [--port <port>:<port>]
    <source-group>
    <secgroup>
no
nova secgroup-add-group-rule
    [--ip_proto <ip_proto>]
    [--from_port <from_port>]
    [--to_port <to_port>]
    <secgroup>
    <source_group>
os secgroup group rule delete
    [--proto <protocol>]
    [--port <port>:<port>]
    <source-group>
    <secgroup>
no
nova secgroup-delete-group-rule
    [--ip_proto <ip_proto>]
    [--from_port <from_port>]
    [--to_port <to_port>]
    <secgroup>
    <source_group>

secgroup-rule

OSC Command Implemented Nova command
os secgroup rule create
    [--proto <proto>]
    [--src-ip <ip-address>]
    [--src-port <port>]
    [--dst-port <port>]
    <secgroup>
no
nova secgroup-add-rule
    <secgroup>
    <ip_proto>
    <from_port>
    <to_port>
    <cidr>
os secgroup rule delete
    [--proto <proto>]
    [--src-ip <ip-address>]
    [--src-port <port>]
    [--dst-port <port>]
    <secgroup>
no
nova secgroup-delete-rule
    <secgroup>
    <ip_proto>
    <from_port>
    <to_port>
    <cidr>
os secgroup rule list
    <secgroup>
no
nova secgroup-list-rules
    <secgroup>

server

OSC Command Implemented Nova command
os server create
    --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 server delete
    <server>
yes
nova delete
    <server>
os server list
    [--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 server lock
    <server>
no
nova lock
    <server>
os server migrate
    --live
    [--block_migrate]
    [--disk_over_commit]
    <server>
    <host>

os server migrate
    [--wait]
    <server>
no
nova live-migration
    [--block_migrate] 
    [--disk_over_commit]
    <server>
<host>

nova migrate
    [--poll]
    <server>
os server pause
    <server>
yes
nova pause
    <server>
os server reboot
    [--hard | --soft]
    [--wait]
    <server>
yes
nova reboot
    [--hard]
    [--poll]
    <server>
os server rebuild
    --image <image>
    [--password <password>] 
    [--wait]
    <server>
yes
nova rebuild
    [--rebuild_password <rebuild_password>] 
    [--poll]
    <server>
    <image>
os server rename
    <server>
    <new-name>
no
nova rename
    <server>
    <name>
os server rescue
    <server>
no
nova rescue
    <server>
os server resize
    --flavor <flavor>
    [--wait]
    <server>
no
nova resize
    [--poll]
    <server>
    <flavor>
os server resize
    --confirm
    <server>
no
nova resize-confirm
    <server>
os server resume
    <server>
yes
nova resume
    <server>
os server set
    --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 server set
    --root-password
    <server>
no
nova root-password
    <server>
os server show
    <server>
yes
nova show
    <server>
os server ssh
    [--port PORT]
    --private]
    [--ipv6]
    [--login <login>]
    <server>
no
nova ssh
    [--port PORT]
    [--private]
    [--ipv6]
    [--login <login>]
    <server>
os server suspend
    <server>
yes
nova suspend
    <server>
os server unlock
    <server>
no
nova unlock
    <server>
os server unpause
    <server>
yes
nova unpause
    <server>
os server unrescue
    <server>
no
nova unrescue
    <server>


usage

OSC Command Implemented Keystone command
os usage list
    [--start <start>]
    [--end <end>]
no
nova usage-list
    [--start <start>]
    [--end <end>]


volume

OSC Command Implemented Keystone command
os volume attach
    <volume>
    <server>
    <device>
no
nova volume-attach
    <server>
    <volume>
    <device>
os volume detach
    <server>
    <volume>
no
nova volume-detach
    <server>
    <volume>


x509-cert

OSC Command Implemented Keystone command
os x509 cert create
    [<private_key_file>]
    [<x509_cert>]
no
nova x509-create-cert
    [<private_key_file>]
    [<x509_cert>]

x509-root-cert

OSC Command Implemented Keystone command
os show x509-root-cert
no
nova x509-get-root-cert
    [<filename>]


Image

OSC Option Environment Variable Glance Option Environment Variable
--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
--os-token <token> OS_TOKEN --os-auth-token <token> OS_AUTH_TOKEN
--os-url <url> OS_URL --os-image-url <url> OS_IMAGE_URL
--os-cacert <file> OS_CACERT
--cert-file <file> CERT_FILE
--key-file <key-file> KEY_FILE
--no-ssl-compression


API v1

image

OSC Command Implemented Glance command
os image create
    [--id <id>]
    [--store <store>]
    [--container-format <format>]
    [--disk-format <format>]
    [--owner <tenant>]
    [--size <size-bytes>]
    [--min-disk <disk-gb>]
    [--min-ram <ram-mg>]
    [--location <image-url>]
    [--copy-from <image-url>]
    [--file <local-filename>]
    [--checksum <checksum>]
    [--protected | --unprotected]
    [--public | --private]
    [--property <key=value>]
    <name>
yes
glance image-create
    [--id <IMAGE_ID>]
    [--name <NAME>]
    [--disk-format <DISK_FORMAT>]
    [--container-format <CONTAINER_FORMAT>]
    [--owner <TENANT_ID>]
    [--size <SIZE>]
    [--min-disk <DISK_GB>]
    [--min-ram <DISK_RAM>]
    [--location <IMAGE_URL>]
    [--checksum <CHECKSUM>]
    [--copy-from <IMAGE_URL>]
    [--is-public [True|False]]
    [--is-protected [True|False]]
    [--property <key=value>]
    [--human-readable]

API v2

image

OSC Command Implemented Glance command
os image delete
    <id>
yes
glance image-delete
    <IMAGE_ID>
os image list
yes
glance image-list
os image show
    <image>
yes
glance image-show
    <IMAGE_ID>
no
glance member-images
    [options]
    <MEMBER>
os image show
    <image>
yes
glance show
    [--human-readable]
    <IMAGE>
os image set
    [--id <id>]
    [--store <store>]
    [--container-format <format>]
    [--disk-format <format>]
    [--owner <tenant>]
    [--size <size-bytes>]
    [--min-disk <disk-gb>]
    [--min-ram <ram-mg>]
    [--location <image-url>]
    [--copy-from <image-url>]
    [--file <local-filename>]
    [--checksum <checksum>]
    [--protected | --unprotected]
    [--public | --private]
    [--property <key=value>]
    <name>
no
glance update
    [--name <NAME>]
    [--disk-format <DISK_FORMAT>]
    [--container-format <CONTAINER_FORMAT>]
    [--owner <TENANT_ID>]
    [--size <SIZE>]
    [--min-disk <DISK_GB>]
    [--min-ram <DISK_RAM>]
    [--location <IMAGE_URL>]
    [--file <FILE>]
    [--checksum <CHECKSUM>]
    [--copy-from <IMAGE_URL>]
    [--is-public [True|False]]
    [--is-protected [True|False]]
    [--property <key=value>]
    [--purge-props]
    [--human-readable]
    <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

quota

OSC Command Implemented Cinder command
os quota list
    <tenant>
yes
os quota set
    [--volumes] <new-volumes>]
    [--gigabytes <new-gigabytes>]
    <tenant>
yes
 cinder quota-update
    [--volumes <volumes>]
    [--snapshots <snapshots>]
    [--gigabytes <gigabytes>]
    <tenant_id>
os quota show
    <tenant>
yes
cinder quota-show
    <tenant_id>

snapshot

OSC Command Implemented Cinder command
os snapshot create
    --name <name>
    [--description <description>]
    [--force]
    <volume>
yes
cinder snapshot-create
    --force <True|False>
    --display-name <display-name>
    --display-description <display-description>
    <volume-id>
os snapshot delete
    <snapshot>
yes
cinder snapshot-delete
    <snapshot-id>
os snapshot list
yes (no opts yet)
cinder snapshot-list 
    --all-tenants [<0|1>]
    --display-name <display-name>
    --status <status>
    --volume-id <volume-id>
os snapshot set
    [--name <new-name>]
    [--description <new-description>]
    <snapshot>
yes
cinder snapshot-rename
    --display-description <display-description>
    --display-name <display-name>
    <snapshot-id>
os snapshot show
    <snapshot>
yes
cinder snapshot-show
    <snapshot-id>

volume

OSC Command Implemented Cinder command
os volume create
    --size <size>
    [--description <description>]
    [--volume-type <volume-type>]
    [--snapshot-id <snapshot-id>]
    [--source <volid>]
    [--image <image-id>]
    [--availability-zone <availability-zone>]
    [--property <key=value>]
    [--user <user>]           # admin only
    [--project <project>]     # admin only
    <name>
yes
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 volume delete
    [--force]
    <volume>
yes
cinder delete
    <volume-id>

cinder force-delete
    <volume-id>
os volume list
    [--name <name>]
    [--status <status>]
    [--long]
    [--all-tenants]           # admin only
yes
cinder list 
    --all-tenants [<0|1>]
    --display-name <display-name>
    --status <status>
os volume set
    [--name <new-name>]
    [--description <new-description>]
    [--property <key=value>]
    <volume>
yes
cinder metadata
    <volume-id>
    <action>
    <key=value>

cinder rename
    --display-description <display-description>
    <volume-id>
    <display-name>
os volume show
    <volume>
yes
cinder show
    <volume-id>
os volume unset
    [--property <key=value>]
    <volume>
yes

volume-type

OSC Command Implemented Cinder command
os volume type create
    [--property <key=value>]
    <name>
yes
cinder type-create
    <type-name>
os volume type delete
    <volume-type>
yes
cinder type-delete
    <type-id>
os volume type list
    [--long]
yes
cinder type-list 

cinder extra-specs-list
os volume type set
    [--property <key=value>]
    <volume-type>
yes
cinder type-key
    <type-id>
    <set>
    <key=value>
os volume type unset
    [--property <key>]
    <volume-type>
yes
cinder type-key
    <type-id>
    <unset>
    <key>

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."