Difference between revisions of "OpenStackClient/Commands"
(→Network) |
(→DHCP Agent) |
||
Line 3,734: | Line 3,734: | ||
os dhcp agent list | os dhcp agent list | ||
[--long] | [--long] | ||
− | < | + | [--networks <dhcp-agent>] |
</source> | </source> | ||
Note why isn't this "dhcp list"? | Note why isn't this "dhcp list"? | ||
Line 3,742: | Line 3,742: | ||
<source lang="bash"> | <source lang="bash"> | ||
neutron dhcp-agent-list-hosting-net <network> | neutron dhcp-agent-list-hosting-net <network> | ||
− | + | ||
− | + | neutron net-list-on-dhcp-agent <dhcp_agent> | |
</source> | </source> | ||
|} | |} | ||
− | |||
==== Extension ==== | ==== Extension ==== |
Revision as of 00:35, 15 November 2013
Contents
- 1 Command Structure
- 2 Command Mapping Summary
- 2.1 Cross API
- 2.2 Compute
- 2.2.1 API v2 (1.1)
- 2.2.1.1 agent
- 2.2.1.2 aggregate
- 2.2.1.3 bash-completion
- 2.2.1.4 cloudpipe
- 2.2.1.5 console
- 2.2.1.6 credentials
- 2.2.1.7 diagnostics
- 2.2.1.8 dns
- 2.2.1.9 endpoints
- 2.2.1.10 flavor
- 2.2.1.11 host
- 2.2.1.12 hypervisor
- 2.2.1.13 ip fixed
- 2.2.1.14 ip floating
- 2.2.1.15 ip floating pool
- 2.2.1.16 keypair
- 2.2.1.17 limits
- 2.2.1.18 quota
- 2.2.1.19 secgroup
- 2.2.1.20 secgroup-group-rule
- 2.2.1.21 secgroup-rule
- 2.2.1.22 server
- 2.2.1.23 usage
- 2.2.1.24 x509-cert
- 2.2.1.25 x509-root-cert
- 2.2.1 API v2 (1.1)
- 2.3 Identity
- 2.4 Image
- 2.5 Network
- 2.5.1 API v2.0
- 2.5.1.1 Agent
- 2.5.1.2 Cisco
- 2.5.1.3 DHCP Agent
- 2.5.1.4 Extension
- 2.5.1.5 Firewall
- 2.5.1.6 Firewall Policy
- 2.5.1.7 Firewall Rule
- 2.5.1.8 IP Floating
- 2.5.1.9 IPSEC
- 2.5.1.10 L3 Agent
- 2.5.1.11 Load Balancer
- 2.5.1.12 Network
- 2.5.1.13 Network Gateway
- 2.5.1.14 Por t
- 2.5.1.15 Queue
- 2.5.1.16 Quota
- 2.5.1.17 Router
- 2.5.1.18 Security Group
- 2.5.1.19 Security Group Rule
- 2.5.1.20 Service Provider
- 2.5.1.21 Subnet
- 2.5.1.22 VPN
- 2.5.1 API v2.0
- 2.6 Object
- 2.7 Volume
- 3 Options
Command Structure
The detailed command structure is described in OpenStackClient/HumanInterfaceGuidelines#Command_Structure.
Command Arguments
- Arguments that normally require an ID in the OS-API may also use the name or other short identifier where reasonable to support
- Optional machine-parsable format is available with list and show commands. List has an option for CSV-formatted output (see --format, --quote options for a list command) while show has an option for shell-assignment formatted output (see --format option for a show command).
Objects
Note: these need a review to sync up with the revised object names without dashes ('-') in them.
-
agent
- Compute - agent -
agent
- Network - agent - needs disambiguation from Compute agent -
aggregate
- Compute - aggregate -
bash-completion
- Compute - bash-completion -
catalog
- Identity - catalog -
cloudpipe
- Compute - cloudpipe -
console
- Compute - console -
container
- Object - container -
consumer
- Identity - an OAuth consumer -
credential
- Identity v3 - credential -
credentials
- Compute - credentials -
dhcp agent
- Network - dhcp agent -
diagnostics
- Compute - diagnostics -
dns
- Compute - dns -
domain
- Identity v3 - domain -
ec2-credentials
- Identity - ec2-credentials -
endpoint
- Identity - endpoint -
endpoints
- Compute - endpoints -
extension
- Network - extension - should be generalized to all API extensions -
firewall
- Network - firewall -
firewall policy
- Network - firewall -
firewall rule
- Network - firewall rule -
flavor
- Compute - flavor -
group
- Identity v3 - group -
host
- Compute - host -
hypervisor
- Compute - hypervisor -
ip fixed
- Compute - ip fixed -
ip floating
- Compute - ip floating -
ip floating
- Network - ip floating - need to fingure out how to switch between Compute and Network -
ip floating pool
- Compute - ip floating pool -
ipsec
- Network - ipsec -
keypair
- Compute - keypair -
l3 agent
- Network - l3 agent -
limits
- Compute - limits -
network
- Network - network -
object
- Object - object -
policy
- Identity v3 - policy -
project
- Identity v3 - project -
quota
- Compute - quota -
quota
- Volume - quota -
request-token
- Identity - OAuth request-token -
role
- Identity - role -
secgroup
- Compute - secgroup -
secgroup-group-rule
- Compute - secgroup-group-rule -
secgroup-rule
- Compute - secgroup-rule -
server
- Compute - server -
service
- Identity - service -
snapshot
- Volume - snapshot -
tenant
- Identity v2.0 - tenant -
token
- Identity - token -
user
- Identity - user -
user role
- Identity - user role -
volume
- Volume - volume -
volume type
- Volume - volume type
Actions
The actions used by OpenStackClient are defined below to provide a consistent meaning to each action. Many of them have logical opposite actions. Those actions with an opposite action are noted in parens if applicable.
-
authorize
- authorize a token (used in OAuth) -
add
(remove
) - add some object to a container object; the command is built in the order of "container add object" (<container> <object>), the positional arguments appear in the same order -
attach
(detach
) - deprecated; useadd
/remove
-
create
(delete
) - create a new occurrance of the specified object -
delete
(create
) - delete a specific occurrance of the specified object -
detach
(attach
) - deprecated; useadd
/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 a property on the object, formerly calledmetadata
-
show
- display detailed information about the specific 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 |
Cross API
Object names that appear in multiple APIs, like quota, are handled by putting their command handler classes in openstackclient.common. If the number of these becomes large they should be moved into a subdirectory.
credentials
[consider rolling the ec2 creds into this too]
OSC Command | Implemented | Keystone command | |
---|---|---|---|
os credentials create
--x509
[<private-key-file>]
[<certificate-file>]
|
no |
nova x509-create-cert
[<pk-file>]
[<x509-cert>]
| |
os credentials show
[--token]
[--user]
[--x509 [--root]]
|
no |
nova credentials
[--wrap <integer>]
nova x509-get-root-cert
[<filename>]
|
limits
OSC Command | Implemented | Keystone command | |
---|---|---|---|
os limits show
--absolute [--reserved] | --rate
|
yes |
nova absolute-limits
[--reserved]
nova rate-limits
cinder absolute-limits
cinder rate-limits
|
quota
OSC Command | Implemented | Keystone command | |
---|---|---|---|
os quota set
# Compute settings
[--cores <num-cores>]
[--fixed-ips <num-fixed-ips>]
[--floating-ips <num-floating-ips>]
[--injected-file-size <injected-file-bytes>]
[--injected-files <num-injected-files>]
[--instances <num-instances>]
[--key-pairs <num-key-pairs>]
[--properties <num-properties>]
[--ram <ram-mb>]
# Volume settings
[--gigabytes <new-gigabytes>]
[--snapshots <new-snapshots>]
[--volumes <new-volumes>]
<project>
|
yes |
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>
cinder quota-update
[--volumes <volumes>]
[--snapshots <snapshots>]
[--gigabytes <gigabytes>]
<tenant_id>
| |
os quota set
--class
# Compute settings
[--cores <num-cores>]
[--fixed-ips <num-fixed-ips>]
[--floating-ips <num-floating-ips>]
[--injected-file-size <injected-file-bytes>]
[--injected-files <num-injected-files>]
[--instances <num-instances>]
[--key-pairs <num-key-pairs>]
[--properties <num-properties>]
[--ram <ram-mb>]
# Volume settings
[--gigabytes <new-gigabytes>]
[--snapshots <new-snapshots>]
[--volumes <new-volumes>]
<class>
|
yes |
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>
cinder quota-class-update
[--volumes <volumes>]
[--snapshots <snapshots>]
[--gigabytes <gigabytes>]
<tenant_id>
| |
os quota show
[--default]
<project>
|
yes |
nova quota-show
[--tenant <tenant-id>]
cinder quota-show
<tenant_id>
nova quota-defaults
<tenant_id>
cinder quota-defaults
<tenant_id>
| |
os quota show
--class
<class>
|
yes |
nova quota-class-show
<class>
cinder quota-class-show
<class>
|
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 add host
<aggregate>
<host>
|
yes |
nova aggregate-add-host
<id>
<host>
| |
os aggregate create
[--zone <availability-zone>]
[--property <key=value>]
<name>
|
yes |
nova aggregate-create
<name>
[<availability_zone>]
| |
os aggregate delete
<aggregate>
|
yes |
nova aggregate-delete
<id>
| |
os aggregate list
[--long]
|
yes |
nova aggregate-list
| |
os aggregate remove host
<aggregate>
<host>
|
yes |
nova aggregate-remove-host
<id>
<host>
| |
os aggregate set
[--name <new-name>]
[--zone <availability-zone>]
[--property <key=value>]
<aggregate>
|
yes |
nova aggregate-update
<id>
<name>
[<availability_zone>]
nova aggregate-set-metadata
<id>
<key=value>
[<key=value> ...]
| |
os aggregate show
<aggregate>
|
yes |
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
See credentials in the cross API section.
diagnostics
OSC Command | Implemented | Nova command | |
---|---|---|---|
os server show
--diagnostics
<server>
|
yes |
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
|
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 |
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 |
ip fixed
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>
|
ip floating
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>
|
ip floating pool
OSC Command | Implemented | Nova command | |
---|---|---|---|
os ip floating pool list
|
yes |
nova floating-ip-pool-list
|
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
See limits in the cross API section.
quota
See quota in the cross API section.
secgroup
OSC Command | Implemented | Nova command | |
---|---|---|---|
os secgroup add
(see server add secgroup)
|
no |
nova add-secgroup
<server>
<secgroup>
| |
os secgroup create
[--description <description>]
<name>
|
yes |
nova secgroup-create
<name>
<description>
| |
os secgroup delete
<group>
|
yes |
nova secgroup-delete
<secgroup>
| |
os secgroup list
[--all-projects]
|
yes |
nova secgroup-list
[--all-tenants [<0|1>]]
| |
os secgroup remove
(see server remove secgroup)
|
no |
nova remove-secgroup
<server>
<secgroup>
| |
os secgroup set
[--name <new-name>]
[--description [<new-description>]
<group>
|
yes |
nova secgroup-update
<secgroup>
<name>
<description>
| |
os secgroup show
<group>
|
yes |
n/a
|
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>]
[--dst-port <port-range>]
<group>
|
no |
nova secgroup-add-rule
<secgroup>
<ip_proto>
<from_port>
<to_port>
<cidr>
| |
os secgroup rule delete
[--proto <proto>]
[--src-ip <ip-address>]
[--dst-port <port-range>]
<group>
|
no |
nova secgroup-delete-rule
<secgroup>
<ip_proto>
<from_port>
<to_port>
<cidr>
| |
os secgroup rule list
<group>
|
no |
nova secgroup-list-rules
<secgroup>
|
server
OSC Command | Implemented | Nova command | |
---|---|---|---|
os server add secgroup
<server>
<group>
|
yes |
nova add-secgroup
<server>
<secgroup>
| |
os server add volume
[--device <device>]
<server>
<volume>
|
yes |
nova volume-attach
<server>
<volume>
<device>
| |
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>
|
yes |
nova lock
<server>
| |
os server migrate
[--wait]
<server>
os server migrate
--live <host>
[--shared-migration | --block-migration]
[--disk-overcommit | --no-disk-overcommit]
[--wait]
<server>
|
yes |
nova migrate
[--poll]
<server>
nova live-migration
[--block_migrate]
[--disk_over_commit]
<server>
<host>
| |
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 remove secgroup
<server>
<group>
|
yes |
nova remove-secgroup
<server>
<secgroup>
| |
os server remove volume
<server>
<volume>
|
yes |
nova volume-detach
<server>
<volume>
| |
os server rescue
<server>
|
yes |
nova rescue
<server>
| |
os server resize
--flavor <flavor>
[--wait]
<server>
os server resize
--confirm
<server>
os server resize
--revert
<server>
|
yes |
nova resize
[--poll]
<server>
<flavor>
nova resize-confirm
<server>
nova resize-revert
<server>
| |
os server resume
<server>
|
yes |
nova resume
<server>
| |
os server set
--name <new-name>
--property <key=value>
[--property <key=value>] ...
--root-password
<server>
|
yes |
nova meta
<server>
<action>
<key=value>
[<key=value> ...]
nova rename
<server>
<name>
nova root-password
<server>
| |
os server show
<server>
|
yes |
nova show
<server>
| |
os server ssh
[--login <login-name>]
[--port <port>]
[--identity <keyfile>]
[--option <config-options>]
[-4 | -6]
[--private | --public | --address-type <address-type>]
<server>
|
yes |
nova ssh
[--port PORT]
[--private]
[--ipv6]
[--login <login>]
<server>
| |
os server suspend
<server>
|
yes |
nova suspend
<server>
| |
os server unlock
<server>
|
yes |
nova unlock
<server>
| |
os server unpause
<server>
|
yes |
nova unpause
<server>
| |
os server unrescue
<server>
|
yes |
nova unrescue
<server>
| |
os unset server
--property <key>
[--property <key>] ...
<server>
|
yes |
nova meta
<server>
<action>
<key=value>
[<key=value> ...]
|
usage
OSC Command | Implemented | Nova command | |
---|---|---|---|
os usage list
[--start <start>]
[--end <end>]
|
no |
nova usage-list
[--start <start>]
[--end <end>]
|
x509-cert
See credentials in the cross API section.
x509-root-cert
See credentials in the cross API section.
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>]
|
yes |
keystone ec2-credentials-create
[--user <user-id>]
[--tenant_id <tenant-id>]
| |
os ec2 credentials delete
[--user <user>]
<access-key>
|
yes |
keystone ec2-credentials-delete
[--user <user-id>]
--access <access-key>
| |
os ec2 credentials list
[--user <user>]
|
yes |
keystone ec2-credentials-list
[--user <user-id>]
| |
os ec2 credentials show
[--user <user>]
<access-key>
|
yes |
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>]
|
project
OSC Command | Implemented | Keystone command | |
---|---|---|---|
os project create
[--description <description>]
[--enable | --disable]
<project-name>
|
yes |
keystone tenant-create
--name <tenant-name>
[--description <tenant-description>]
[--enabled <true|false>]
| |
os project delete
<project>
|
yes |
keystone tenant-delete
<tenant>
| |
os project list
[--long]
|
yes |
keystone tenant-list
| |
os project set
[--name <new-project-name>]
[--description <new-project-description>]
[--enable | --disable]
<project>
|
yes |
keystone tenant-update
[--name <tenant_name>]
[--description <tenant-description>]
[--enabled <true|false>]
<tenant-id>
| |
os project show
<project>
|
yes |
keystone tenant-get
<tenant-id>
|
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
[--catalog]
<service>
|
yes |
keystone service-get
<service-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>
These keystone commands are not planned for re-implementation in OpenStackClient
keystone bootstrap
--pass <password>
[--user-name <user-name>]
[--role-name <role-name>]
[--tenant-name <tenant-name>]
keystone discover
API v3
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>
|
oauth
OSC Command | Implemented | Keystone command | |
---|---|---|---|
os oauth request token create
--consumer-key <consumer-key>
--consumer-secret <consumer-secret>
--roles <requested-roles>
|
yes |
n /a | |
os oauth request token authorize
--request-key <request-key>
--roles <requested-roles>
|
yes |
n /a | |
os oauth access token create
--consumer-key <consumer-key>
--consumer-secret <consumer-secret>
--request-key <request-key>
--request-secret <request-secret>
--verifier <pin>
|
yes |
n/a
| |
os oauth access token authenticate
--consumer-key <consumer-key>
--consumer-secret <consumer-secret>
--access-key <access-key>
--access-secret <access-secret>
|
yes |
n /a | |
os oauth authorization list
user <user>
|
yes |
n /a | |
os oauth authorization delete
user <user>
access-id <access-id>
|
yes |
n /a | |
os oauth authorization show
request-id <request-id>
|
yes |
n /a | |
look at some alternatives: | |||
os oauth token create
--consumer-key <consumer-key>
--consumer-secret <consumer-secret>
--request-key <request-key>
--request-secret <request-secret>
--verifier <pin>
|
nyet |
* makes the token specific to oauth
* add [--oauth-ver X] if versioning for oauth2 is an issue?
| |
os oauth token create
--request
--consumer-key <consumer-key>
--roles <roles>
|
nyet |
* collapse 'access token' and 'request token' into 'oauth token'?
|
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>
|
role
OSC Command | Implemented | Keystone command | |
---|---|---|---|
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>
|
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]
| |
os image delete
<image>
|
yes |
glance image-delete
<IMAGE_ID>
| |
os image list
[--page-size <size>]
|
yes |
glance image-list
| |
os image save
[--file <filename>]
<image>
|
yes |
glance image-download
[--file <FILE>]
<IMAGE>
| |
os image set
[--name <name>]
[--owner <tenant>]
[--min-disk <disk-gb>]
[--min-ram <ram-mg>]
[--protected | --unprotected]
[--public | --private]
[--property <key=value>]
<image>
|
yes |
glance image-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>
| |
os image show
<image>
|
yes |
glance image-show
[--human-readable]
<IMAGE>
|
API v2
image
OSC Command | Implemented | Glance command | |
---|---|---|---|
os image add project
<image>
<project>
|
no |
glance member-create
[--can-share]
<IMAGE_ID>
<TENANT_ID>
| |
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>
# verify v2 options
|
no |
| |
os image delete
<image>
|
yes |
glance image-delete
<IMAGE_ID>
| |
os image list
[--page-size <size>]
|
yes |
glance image-list
| |
os image list
--shared
[--image <image>]
[--project <project>]
|
no |
glance member-list
[--image-id <IMAGE_ID>]
[--tenant-id <TENANT_ID>]
| |
os image remove project
<image>
<project>
|
no |
glance member-delete
<IMAGE_ID>
<TENANT_ID>
| |
os image save
[--file <filename>]
<image>
|
yes |
glance image-download
[--file <FILE>]
<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 image-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>
| |
os image show
<image>
|
yes |
glance image-show
[--human-readable]
<IMAGE>
|
image-member
The image member commands have been rolled in to the regualr image commands.
Network
The Network commands in neutron
are actually in pretty good shape. It appears most update commands have not be
en implemented, but looks pretty solid other than that. Note some questions:
- Note: Should the --request-format option be a global option. Nice from a developers perspective if you want to test XML for ins
tance, but why would users really care.
- Note: Should we have --os-network-api-version <ver> argument since neutron currently only supports one version?
NOTE(dtroyer): yes for consistency
OSC Option | Environment Variable | Nova Option | Environment Variable | |
---|---|---|---|---|
--os-auth-strategy | OS_AUTH_STRATEGY | |||
--os-auth-url | OS_AUTH_URL | --os-auth-url | OS_AUTH_URL | |
--os-project-name | OS_PROJECT_NAME | --os-tenant-name | OS_TENANT_NAME | |
--os-project-id | OS_PROJECT_ID | --os-tenant-id | OS_TENANT_ID | |
--os-username | OS_USERNAME | --os-username | OS_USERNAME | |
--os-password | OS_PASSWORD | --os-password | OS_PASSWORD | |
--os-region-name | OS_REGION_NAME | --os-region-name | OS_REGION_NAME | |
--os-token | OS_TOKEN | --os-token | OS_TOKEN | |
--os-url | OS_URL | --os-url | OS_URL | |
--os-cacert | OS_CACERT | --os-cacert | OS_CACERT | |
--os-network-api-version <ver> | OS_NETWORK_API_VERSION |
API v2.0
NOTE(dtroyer): I am removing all of the default cliff options for clarity. Also, apparently neutronclient has a different idea of how these are used than OSC.
Agent
NOTE: There is no agent create in neutron at the moment. I assume these should replace the compute commands.
NOTE(dtroyer): The compute agent refers to the bits of code that run inside a VM. A Neutron agent is code that runs on a host system; there are at least 4 different types: plugin, dhcp, l3 and metadata.
OSC Command | Implemented | Neutron command | |
---|---|---|---|
os agent delete
<agent>
|
no |
neutron agent-delete <agent>
| |
os agent list
[--long]
NOTE(dtroyer): list commands always use --long for their 'show me more stuff' option |
no |
neutron agent-list
[-D, --show-details]
[-F FIELD, --field FIELD]
[--quote {all,minimal,none,nonnumeric}]
| |
os agent update
<agent>
NOTE(dtroyer): update commands often map to the OSC verb 'set'. but with no value to set??? |
no |
neutron agent-update <agent>
# NOTE: no args, what does this update?
| |
os agent show
<agent>
|
no |
neutron agent-show <agent>
[-D, --show-details]
[-F FIELD, --field FIELD]
|
Cisco
NOTE(dtroyer): We need to think about how to handle vendor-plugin-specific bits. I don't want these in the default set...
Note all of these "network pofile" and "policy profile", why not just network and policy, profile is useless.
OSC Command | Implemented | Neutron command | |
---|---|---|---|
os cisco credential create <credential_name> <credential_type>
[--tenant-id TENANT_ID]
[--username USERNAME]
[--password PASSWORD]
|
no |
neutron cisco-credential-create <credential_name> <credential_type>
[--tenant-id TENANT_ID]
[--username USERNAME]
[--password PASSWORD]
| |
os cisco credential delete <credential>
|
no |
neutron cisco-credential-delete <credential>
| |
os cisco credential list
[-F FIELD]
|
no |
neutron cisco-credential-list
[-F FIELD]
| |
os cisco credential show <credential>
[-F FIELD]
|
no |
neutron cisco-credential-show <credential>
[-F FIELD]
| |
os cisco network profile create <name> <vlan|overlay|multi-segment|trunk>
[--tenant-id TENANT_ID]
[--sub_type SUB_TYPE]
[--segment_range SEGMENT_RANGE]
[--physical_network PHYSICAL_NETWORK]
[--multicast_ip_range MULTICAST_IP_RANGE]
[--add-tenant ADD_TENANT]
|
no |
neutron cisco-network-profile-create <name> <vlan|overlay|multi-segment|trunk>
[--tenant-id TENANT_ID]
[--sub_type SUB_TYPE]
[--segment_range SEGMENT_RANGE]
[--physical_network PHYSICAL_NETWORK]
[--multicast_ip_range MULTICAST_IP_RANGE]
[--add-tenant ADD_TENANT]
| |
os cisco network profile delete <profile>
[--request-format {json,xml}]
|
no |
neutron cisco-network-profile-delete <profile>
[--request-format {json,xml}]
| |
os cisco network profile list
[-F FIELD]
|
no |
neutron cisco-network-profile-list
[-F FIELD]
| |
os cisco network profile show <profile>
[-F FIELD]
|
no |
neutron cisco-network-profile-show <profile>
[-F FIELD]
| |
os cisco network profile update <profile>
[--request-format {json,xml}]
|
no |
neutron cisco-network-profile-update <profile>
[--request-format {json,xml}]
| |
os cisco policy profile list
[-F FIELD]
|
no |
neutron cisco-policy-profile-list
[-F FIELD]
| |
os cisco policy profile show <profile>
[--request-format {json,xml}] [-D]
[-F FIELD]
|
no |
neutron cisco-policy-profile-show <profile>
[--request-format {json,xml}] [-D]
[-F FIELD]
| |
os cisco policy profile update <profile>
[--request-format {json,xml}]
|
no |
neutron cisco-policy-profile-update <profile>
[--request-format {json,xml}]
|
DHCP Agent
- NOTE(dtroyer): here, 'dhcp agent' will be a two-word object (for now, suggest something shorter? 'dhcp' seems ambiguous)
- Note: In general, should we support these generic -h and --request-format options from neutron. i think not.
NOTE(dtroyer): the --request-format option seems to want to support structured input data. While interesting that is not something we have addressed with OSC yet. So for now, lets leave them TDB.
OSC Command | Implemented | Neutron command | |
---|---|---|---|
os dhcp agent add network
<dhcp_agent>
<network>
|
no |
neutron dhcp-agent-network-add <dhcp_agent> <network>
[--request-format {json,xml}]
| |
os dhcp agent delete network
<dhcp_agent>
<network>
NOTE(dtroyer): this removes a network from an agent (see command structure) |
no |
neutron dhcp-agent-network-remove <dhcp_agent> <network>
[--request-format {json,xml}]
| |
os dhcp agent list
[--long]
[--networks <dhcp-agent>]
Note why isn't this "dhcp list"? NOTE(dtroyer): see above, we need to decide if 'dhcp' is a clear enough object name for the dhcp agent |
no |
neutron dhcp-agent-list-hosting-net <network>
neutron net-list-on-dhcp-agent <dhcp_agent>
|
Extension
Note: Perhaps this would be a nice general feature.
NOTE(dtroyer): yes it would. We don't have this for any of the other APIs yet so we can play with the structure a bit here
OSC Command | Implemented | Neutron command | |
---|---|---|---|
os extension list
[--long]
[--service <service>]
Note: Do we want to provide service as an option for this command? NOTE(dtroyer): maybe. what service exactly? in the Identity API, service means things like 'compute v2', 'identity v3', etc. we need at least the API, I'm not certain if we should expect a user to know that though... |
no |
neutron ext-list
[--request-format {json,xml}] [-D] [-F FIELD]
| |
os extension show
<extension>
|
no |
neutron ext-show <extension> [-f {shell,table}] [-c COLUMN]
[--variable VARIABLE] [--prefix PREFIX]
[--request-format {json,xml}] [-D] [-F FIELD]
|
Firewall
OSC Command | Implemented | Neutron command | |
---|---|---|---|
os firewall create
[--description <description>]
[--project <project>]
[--enable | --disable]
[--share | --no-share]
<name>
NOTE(dtroyer): need a better name for --not-shared? |
no |
neutron firewall-create
<policy>
[--tenant-id TENANT_ID]
[--name NAME]
[--description DESCRIPTION]
[--shared]
[--admin-state-down]
| |
os firewall delete
<firewall>
|
no |
neutron firewall-delete
<firewall>
| |
os firewall list
[--long]
[--sort-key FIELD]
[--sort-dir {asc,desc}]
NOTE(dtroyer): need to think about the sort stuff |
no |
neutron firewall-list
[-P SIZE] [--sort-key FIELD]
[--sort-dir {asc,desc}]
| |
os firewall set
<firewall>
NOTE(dtroyer): what is being changed? |
no |
neutron firewall-update
<firewall>
| |
os firewall show
<firewall>
|
no |
neutron firewall-show
<firewall>
|
Firewall Policy
NOTE(dtroyer): need to work out the format of FIREWALL_RULE
OSC Command | Implemented | Neutron command | |
---|---|---|---|
os firewall policy create
[--description <description>]
[--project <project>]
[--firewall-rules <rules>]
[--share | --no-share]
[--audit | --no-audit]
<name>
|
no |
neutron firewall-policy-create
<name>
[--tenant-id TENANT_ID]
[--description DESCRIPTION]
[--shared]
[--firewall-rules FIREWALL_RULES]
[--audited]
| |
os firewall policy delete
<policy>
|
no |
neutron firewall-policy-delete
<policy>
| |
os firewall policy add rule
[--insert-before FIREWALL_RULE]
[--insert-after FIREWALL_RULE]
<policy>
<rule>
|
no |
neutron firewall-policy-insert-rule
<policy>
<rule>
[--insert-before FIREWALL_RULE]
[--insert-after FIREWALL_RULE]
| |
os firewall policy list
[--long]
|
no |
neutron firewall-policy-list
[-F FIELD] [-P SIZE] [--sort-key FIELD]
[--sort-dir {asc,desc}]
| |
os firewall policy remove rule
<policy>
<rule>
|
no |
neutron firewall-policy-remove-rule
<policy>
<rule>
| |
os firewall policy set
<policy>
NOTE(dtroyer): what is being changed? |
no |
neutron firewall-policy-update
<policy>
| |
os firewall policy show
<policy>
|
no |
neutron firewall-policy-show
<policy>
|
Firewall Rule
OSC Command | Implemented | Neutron command | |
---|---|---|---|
os firewall rule create
[--project <project>]
[--description <description>]
[--source-ip-address SOURCE_IP_ADDRESS]
[--destination-ip-address DESTINATION_IP_ADDRESS]
[--source-port SOURCE_PORT]
[--destination-port DESTINATION_PORT]
[--enable | --disable]
[--share | --no-share]
--protocol tcp|udp|icmp|any
--action allow|deny
<name>
NOTE(dtroyer): it might be more consistent to change --protocol and --action to direct options; ex: '--tcp | --udp | --icmp | --any' |
no |
neutron firewall-rule-create
[--tenant-id TENANT_ID]
[--name NAME]
[--description DESCRIPTION]
[--shared]
[--source-ip-address SOURCE_IP_ADDRESS]
[--destination-ip-address DESTINATION_IP_ADDRESS]
[--source-port SOURCE_PORT]
[--destination-port DESTINATION_PORT]
[--disabled]
--protocol {tcp,udp,icmp,any}
--action {allow,deny}
| |
os firewall rule delete
<rule>
|
no |
neutron firewall-rule-delete
<rule>
| |
os firewall rule list
[--long]
|
no |
neutron firewall-rule-list
[-F FIELD] [-P SIZE] [--sort-key FIELD]
[--sort-dir {asc,desc}]
| |
os firewall rule show
<rule>
|
no |
neutron firewall-rule-show
<rule>
[-F FIELD]
| |
os firewall rule
[--protocol tcp|udp|icmp|any]
<rule>
|
no |
neutron firewall-rule-update
<rule>
[--protocol {tcp,udp,icmp,any}]
|
IP Floating
Note: Do we need to have backward compatibility for older releases where compute controlled floating IPs? I think the latest compute still supports the old interface, but it would be best to discontinue use of that. Should the command be floating-ip or floatingip?
NOTE(dtroyer): The existing commands under Compute are for nova-network; it is a pass-through to Neutron but at some point OSc needs to get smart about when to call nova-network and when to call Neutron directly. The commands need to be the same as much as possible.
OSC Command | Implemented | Neutron command | |
---|---|---|---|
os ip floating add
[--fixed-ip <fixed-ip-address>]
<floating-ip-address>
<port>
NOTE(dtroyer): maybe this should be 'port add floating ip'? |
no |
neutron floatingip-associate
<ip>
<port>
[--fixed-ip-address FIXED_IP_ADDRESS]
| |
os ip floating create
[--project <project>]
[--port <port>]
[--fixed-ip <fixed-ip-address>]
<network>
|
no |
neutron floatingip-create
<network>
[--tenant-id TENANT_ID] [--port-id PORT_ID]
[--fixed-ip-address FIXED_IP_ADDRESS]
| |
os ip floating delete
<floating-ip-address>
|
no |
neutron floatingip-delete
<ip>
| |
os ip floating list
[--long]
|
no |
neutron floatingip-list
[-P SIZE] [--sort-key FIELD]
[--sort-dir {asc,desc}]
| |
os ip floating remove
<floating-ip-address>
|
no |
neutron floatingip-disassociate
<ip>
| |
os ip floating show
<floating-ip-address>
|
no |
neutron floatingip-show
<ip>
|
IPSEC
- Note Why are we doing "ipsec site connection <verb>" instead of "ipsec <verb>"? Is there going to be something other than site connections for ipsec?
NOTE(dtroyer): good question. I wonder if Neutron will ever support any other kind of tunnel? If so, 'tunnel' should be the object anme and --ipsec is a type option...until then let's just use 'ipsec' as the object name.
NOTE(dtroyer): one thing I know is we generally totally abuse the term 'cidr' and use it where we mean network addresses in CIDR notation. We will not perpetuate that in OSC no matter what the rest of the project does. I need to brush up on IPSEC configuration to be able to fix these option names.
OSC Command | Implemented | Neutron command | |
---|---|---|---|
os ipsec create
[--project <project>]
[--description <description>]
[--enable | --disable]
[--mtu MTU]
[--initiator {bi-directional,response-only}]
# use --bi-directional | --response-only ?
[--dpd action=ACTION,interval=INTERVAL,timeout=TIMEOUT]
# rethink --dpd
--vpnservice-id VPNSERVICE
--ikepolicy-id IKEPOLICY
--ipsecpolicy-id IPSECPOLICY
--peer-address PEER_ADDRESS
--peer-id PEER_ID
--peer-cidr PEER_CIDRS
--psk PSK
<name>
|
no |
neutron ipsec-site-connection-create
[--tenant-id TENANT_ID]
[--admin-state-down]
[--name NAME]
[--description DESCRIPTION]
[--mtu MTU]
[--initiator {bi-directional,response-only}]
[--dpd action=ACTION,interval=INTERVAL,timeout=TIMEOUT]
--vpnservice-id VPNSERVICE
--ikepolicy-id IKEPOLICY
--ipsecpolicy-id IPSECPOLICY
--peer-address PEER_ADDRESS
--peer-id PEER_ID
--peer-cidr PEER_CIDRS
--psk PSK
| |
os ipsec delete
<ipsec-site>
|
no |
neutron ipsec-site-connection-delete
<ipsecsite>
| |
os ipsec list
[--long]
|
no |
neutron ipsec-site-connection-list
[--sort-key FIELD]
[--sort-dir {asc,desc}]
| |
os ipsec set
[--dpd action=ACTION,interval=INTERVAL,timeout=TIMEOUT]
<ipsec-site>
|
no |
neutron ipsec-site-connection-update
<ipsecsite>
[--dpd action=ACTION,interval=INTERVAL,timeout=TIMEOUT]
| |
os ipsec site connection show
<ipsec-site>
|
no |
neutron ipsec-site-connection-show
<ipsecsite>
|
L3 Agent
NOTE(dtroyer): the list command may make more sense as options to 'router list'
OSC Command | Implemented | Neutron command | |
---|---|---|---|
os l3 agent list
[--router <router>]
|
no |
neutron l3-agent-list-hosting-router <router>
| |
os l3 agent add router
<l3_agent>
<router>
|
no |
neutron l3-agent-router-add
<l3_agent>
<router>
| |
os l3 agent remove router
<l3_agent>
<router>
|
no |
neutron l3-agent-router-remove
<l3_agent>
<router>
|
Load Balancer
OSC Command | Implemented | Neutron command | |
---|---|---|---|
os lb healthmonitor add <healthmonitor> <pool>
[--request-format {json,xml}]
# Note command change
|
no |
neutron lb-healthmonitor-associate <healthmonitor> <pool>
[--request-format {json,xml}]
| |
os lb healthmonitor create
[-f {shell,table}] [-c COLUMN]
[--variable VARIABLE] [--prefix PREFIX]
[--request-format {json,xml}]
[--tenant-id TENANT_ID]
[--admin-state-down]
[--expected-codes EXPECTED_CODES]
[--http-method HTTP_METHOD]
[--url-path URL_PATH] --delay DELAY
--max-retries MAX_RETRIES --timeout
TIMEOUT --type {PING,TCP,HTTP,HTTPS}
|
no |
neutron lb-healthmonitor-create
[-f {shell,table}] [-c COLUMN]
[--variable VARIABLE] [--prefix PREFIX]
[--request-format {json,xml}]
[--tenant-id TENANT_ID]
[--admin-state-down]
[--expected-codes EXPECTED_CODES]
[--http-method HTTP_METHOD]
[--url-path URL_PATH] --delay DELAY
--max-retries MAX_RETRIES --timeout
TIMEOUT --type {PING,TCP,HTTP,HTTPS}
| |
os lb healthmonitor delete <healthmonitor>
[--request-format {json,xml}]
|
no |
neutron lb-healthmonitor-delete <healthmonitor>
[--request-format {json,xml}]
| |
os lb healthmonitor remove <healthmonitor> <pool>
[--request-format {json,xml}]
# Note command change
|
no |
neutron lb-healthmonitor-disassociate <healthmonitor> <pool>
[--request-format {json,xml}]
| |
os lb healthmonitor list
[-f {csv,table}] [-c COLUMN]
[--quote {all,minimal,none,nonnumeric}]
[--request-format {json,xml}] [-D]
[-F FIELD] [-P SIZE] [--sort-key FIELD]
[--sort-dir {asc,desc}]
|
no |
neutron lb-healthmonitor-list
[-f {csv,table}] [-c COLUMN]
[--quote {all,minimal,none,nonnumeric}]
[--request-format {json,xml}] [-D]
[-F FIELD] [-P SIZE] [--sort-key FIELD]
[--sort-dir {asc,desc}]
| |
os lb healthmonitor show <healthmonitor>
[-f {shell,table}] [-c COLUMN]
[--variable VARIABLE] [--prefix PREFIX]
[--request-format {json,xml}] [-D]
[-F FIELD]
|
no |
neutron lb-healthmonitor-show <healthmonitor>
[-f {shell,table}] [-c COLUMN]
[--variable VARIABLE] [--prefix PREFIX]
[--request-format {json,xml}] [-D]
[-F FIELD]
| |
os lb healthmonitor update <healthmonitor>
[--request-format {json,xml}]
|
no |
neutron lb-healthmonitor-update <healthmonitor>
[--request-format {json,xml}]
| |
os lb member create <pool>
[-f {shell,table}] [-c COLUMN]
[--variable VARIABLE] [--prefix PREFIX]
[--request-format {json,xml}]
[--tenant-id TENANT_ID] [--admin-state-down]
[--weight WEIGHT] --address ADDRESS
--protocol-port PROTOCOL_PORT
|
no |
neutron lb-member-create <pool>
[-f {shell,table}] [-c COLUMN]
[--variable VARIABLE] [--prefix PREFIX]
[--request-format {json,xml}]
[--tenant-id TENANT_ID] [--admin-state-down]
[--weight WEIGHT] --address ADDRESS
--protocol-port PROTOCOL_PORT
| |
os lb member delete <member>
[--request-format {json,xml}]
|
no |
neutron lb-member-delete <member>
[--request-format {json,xml}]
| |
os lb member list
[-f {csv,table}] [-c COLUMN]
[--quote {all,minimal,none,nonnumeric}]
[--request-format {json,xml}] [-D] [-F FIELD]
[-P SIZE] [--sort-key FIELD]
[--sort-dir {asc,desc}]
|
no |
neutron lb-member-list
[-f {csv,table}] [-c COLUMN]
[--quote {all,minimal,none,nonnumeric}]
[--request-format {json,xml}] [-D] [-F FIELD]
[-P SIZE] [--sort-key FIELD]
[--sort-dir {asc,desc}]
| |
os lb member show <member>
[-f {shell,table}] [-c COLUMN]
[--variable VARIABLE] [--prefix PREFIX]
[--request-format {json,xml}] [-D] [-F FIELD]
|
no |
neutron lb-member-show <member>
[-f {shell,table}] [-c COLUMN]
[--variable VARIABLE] [--prefix PREFIX]
[--request-format {json,xml}] [-D] [-F FIELD]
| |
os lb member update <member>
[--request-format {json,xml}]
|
no |
neutron lb-member-update <member>
[--request-format {json,xml}]
| |
os lb pool create
[-f {shell,table}] [-c COLUMN]
[--variable VARIABLE] [--prefix PREFIX]
[--request-format {json,xml}]
[--tenant-id TENANT_ID] [--admin-state-down]
[--description DESCRIPTION] --lb-method
{ROUND_ROBIN,LEAST_CONNECTIONS,SOURCE_IP} --name
NAME --protocol {HTTP,HTTPS,TCP} --subnet-id
SUBNET [--provider PROVIDER]
|
no |
neutron lb-pool-create
[-f {shell,table}] [-c COLUMN]
[--variable VARIABLE] [--prefix PREFIX]
[--request-format {json,xml}]
[--tenant-id TENANT_ID] [--admin-state-down]
[--description DESCRIPTION] --lb-method
{ROUND_ROBIN,LEAST_CONNECTIONS,SOURCE_IP} --name
NAME --protocol {HTTP,HTTPS,TCP} --subnet-id
SUBNET [--provider PROVIDER]
| |
os lb pool delete <pool>
[--request-format {json,xml}]
|
no |
neutron lb-pool-delete <pool>
[--request-format {json,xml}]
| |
os lb pool list
[-f {csv,table}] [-c COLUMN]
[--quote {all,minimal,none,nonnumeric}]
[--request-format {json,xml}] [-D] [-F FIELD]
[-P SIZE] [--sort-key FIELD]
[--sort-dir {asc,desc}]
|
no |
neutron lb-pool-list
[-f {csv,table}] [-c COLUMN]
[--quote {all,minimal,none,nonnumeric}]
[--request-format {json,xml}] [-D] [-F FIELD]
[-P SIZE] [--sort-key FIELD]
[--sort-dir {asc,desc}]
| |
os lb pool list on agent <lbaas_agent>
[-f {csv,table}] [-c COLUMN]
[--quote {all,minimal,none,nonnumeric}]
[--request-format {json,xml}] [-D]
[-F FIELD]
# Note another oddball command
|
no |
neutron lb-pool-list-on-agent <lbaas_agent>
[-f {csv,table}] [-c COLUMN]
[--quote {all,minimal,none,nonnumeric}]
[--request-format {json,xml}] [-D]
[-F FIELD]
# Note another one of those oddball commands
| |
os lb pool show <pool>
[-f {shell,table}] [-c COLUMN]
[--variable VARIABLE] [--prefix PREFIX]
[--request-format {json,xml}] [-D] [-F FIELD]
|
no |
neutron lb-pool-show <pool>
[-f {shell,table}] [-c COLUMN]
[--variable VARIABLE] [--prefix PREFIX]
[--request-format {json,xml}] [-D] [-F FIELD]
| |
os lb pool stats <pool>
[-f {shell,table}] [-c COLUMN]
[--variable VARIABLE] [--prefix PREFIX]
[--request-format {json,xml}] [-D] [-F FIELD]
|
no |
neutron lb-pool-stats <pool>
[-f {shell,table}] [-c COLUMN]
[--variable VARIABLE] [--prefix PREFIX]
[--request-format {json,xml}] [-D] [-F FIELD]
| |
os lb pool update <pool>
[--request-format {json,xml}]
|
no |
neutron lb-pool-update <pool>
[--request-format {json,xml}]
| |
os lb vip create <pool>
[-f {shell,table}] [-c COLUMN]
[--variable VARIABLE] [--prefix PREFIX]
[--request-format {json,xml}]
[--tenant-id TENANT_ID] [--address ADDRESS]
[--admin-state-down]
[--connection-limit CONNECTION_LIMIT]
[--description DESCRIPTION] --name NAME
--protocol-port PROTOCOL_PORT --protocol
{TCP,HTTP,HTTPS} --subnet-id SUBNET
|
no |
neutron lb-vip-create <pool>
[-f {shell,table}] [-c COLUMN]
[--variable VARIABLE] [--prefix PREFIX]
[--request-format {json,xml}]
[--tenant-id TENANT_ID] [--address ADDRESS]
[--admin-state-down]
[--connection-limit CONNECTION_LIMIT]
[--description DESCRIPTION] --name NAME
--protocol-port PROTOCOL_PORT --protocol
{TCP,HTTP,HTTPS} --subnet-id SUBNET
| |
os lb vip delete <vip>
[--request-format {json,xml}]
|
no |
neutron lb-vip-delete <vip>
[--request-format {json,xml}]
| |
os lb vip list
[-f {csv,table}] [-c COLUMN]
[--quote {all,minimal,none,nonnumeric}]
[--request-format {json,xml}] [-D] [-F FIELD]
[-P SIZE] [--sort-key FIELD]
[--sort-dir {asc,desc}]
|
no |
neutron lb-vip-list
[-f {csv,table}] [-c COLUMN]
[--quote {all,minimal,none,nonnumeric}]
[--request-format {json,xml}] [-D] [-F FIELD]
[-P SIZE] [--sort-key FIELD]
[--sort-dir {asc,desc}]
| |
os lb vip show <vip>
[-f {shell,table}] [-c COLUMN]
[--variable VARIABLE] [--prefix PREFIX]
[--request-format {json,xml}] [-D] [-F FIELD]
|
no |
neutron lb-vip-show <vip>
[-f {shell,table}] [-c COLUMN]
[--variable VARIABLE] [--prefix PREFIX]
[--request-format {json,xml}] [-D] [-F FIELD]
| |
os lb vip update <vip>
[--request-format {json,xml}]
|
no |
neutron lb-vip-update <vip>
[--request-format {json,xml}]
| |
os lb agent hosting pool <pool>
[-f {csv,table}] [-c COLUMN]
[--quote {all,minimal,none,nonnumeric}]
[--request-format {json,xml}] [-D]
[-F FIELD]
# Note: oddball command name
|
no |
neutron lb-agent-hosting-pool <pool>
[-f {csv,table}] [-c COLUMN]
[--quote {all,minimal,none,nonnumeric}]
[--request-format {json,xml}] [-D]
[-F FIELD]
|
Network
- Note name changes from net to netowork
OSC Command | Implemented | Neutron command | |
---|---|---|---|
os network create
[--project <project>]
[--share | --no-share]
<name>
|
no |
neutron net-create
<name>
[--tenant-id TENANT_ID] [--admin-state-down]
[--shared]
| |
os network delete
<network>
|
no |
neutron net-delete
<network>
| |
os network list
[--long]
[--external]
|
no |
neutron net-list
neutron net-external-list
| |
os network set
<network>
|
no |
neutron net-update
<network>
| |
os network show
<network>
|
no |
neutron net-show
<network>
|
Network Gateway
Note: change from net to network
NOTE(dtroyer): is just 'gateway' sufficient here?
OSC Command | Implemented | Neutron command | |
---|---|---|---|
os network gateway connect <gateway> <network>
[--request-format {json,xml}]
[--segmentation-type SEGMENTATION_TYPE]
[--segmentation-id SEGMENTATION_ID]
# Note technicall wrong verb here, but add/remove
# seems a little odd
|
no |
neutron net-gateway-connect <gateway> <network>
[--request-format {json,xml}]
[--segmentation-type SEGMENTATION_TYPE]
[--segmentation-id SEGMENTATION_ID]
| |
os network gateway create <name>
[-f {shell,table}] [-c COLUMN]
[--variable VARIABLE] [--prefix PREFIX]
[--request-format {json,xml}]
[--tenant-id TENANT_ID] [--device DEVICE]
|
no |
neutron net-gateway-create <name>
[-f {shell,table}] [-c COLUMN]
[--variable VARIABLE] [--prefix PREFIX]
[--request-format {json,xml}]
[--tenant-id TENANT_ID] [--device DEVICE]
| |
os network gateway delete <gateway>
[--request-format {json,xml}]
|
no |
neutron net-gateway-delete <gateway>
[--request-format {json,xml}]
| |
os network gateway disconnect <gateway> <network>
[--request-format {json,xml}]
[--segmentation-type SEGMENTATION_TYPE]
[--segmentation-id SEGMENTATION_ID]
# Note technicall wrong verb here, but add/remove
# seems a little odd
|
no |
neutron net-gateway-disconnect <gateway> <network>
[--request-format {json,xml}]
[--segmentation-type SEGMENTATION_TYPE]
[--segmentation-id SEGMENTATION_ID]
| |
os network gateway list
[-f {csv,table}] [-c COLUMN]
[--quote {all,minimal,none,nonnumeric}]
[--request-format {json,xml}] [-D] [-F FIELD]
|
no |
neutron net-gateway-list
[-f {csv,table}] [-c COLUMN]
[--quote {all,minimal,none,nonnumeric}]
[--request-format {json,xml}] [-D] [-F FIELD]
| |
os network gateway show <gateway>
[-f {shell,table}] [-c COLUMN]
[--variable VARIABLE] [--prefix PREFIX]
[--request-format {json,xml}] [-D] [-F FIELD]
|
no |
neutron net-gateway-show <gateway>
[-f {shell,table}] [-c COLUMN]
[--variable VARIABLE] [--prefix PREFIX]
[--request-format {json,xml}] [-D] [-F FIELD]
| |
os network gateway update <gateway>
[--request-format {json,xml}]
|
no |
neutron net-gateway-update <gateway>
[--request-format {json,xml}]
|
Por t
OSC Command | Implemented | Neutron command | |
---|---|---|---|
os port create <network>
[--tenant-id TENANT_ID]
[--name NAME]
[--admin-state-down]
[--mac-address MAC_ADDRESS]
[--device-id DEVICE_ID]
[--fixed-ip ip_address=IP_ADDR]
[--security-group SECURITY_GROUP]
[--no-security-groups]
[--extra-dhcp-opt EXTRA_DHCP_OPTS]
|
no |
neutron port-create <network>
[--tenant-id TENANT_ID]
[--name NAME]
[--admin-state-down]
[--mac-address MAC_ADDRESS]
[--device-id DEVICE_ID]
[--fixed-ip ip_address=IP_ADDR]
[--security-group SECURITY_GROUP]
[--no-security-groups]
[--extra-dhcp-opt EXTRA_DHCP_OPTS]
| |
os port delete <port>
|
no |
neutron port-delete <port>
| |
os port list
[-D, --show-details]
[-F FIELD, --field FIELD]
[-P SIZE, --page-size SIZE]
[--sort-key FIELD]
[--sort-dir {asc,desc}]
[-f {csv,table}, --format {csv,table}]
[-c COLUMN, --column COLUMN]
[--quote {all,minimal,none,nonnumeric}]
|
no |
neutron port-list
[-D, --show-details]
[-F FIELD, --field FIELD]
[-P SIZE, --page-size SIZE]
[--sort-key FIELD]
[--sort-dir {asc,desc}]
[-f {csv,table}, --format {csv,table}]
[-c COLUMN, --column COLUMN]
[--quote {all,minimal,none,nonnumeric}]
| |
os port show <port>
[-D, --show-details]
[-F FIELD, --field FIELD]
[-f {shell,table}, --format {shell,table}]
[-c COLUMN, --column COLUMN]
[-variable VARIABLE]
[--prefix PREFIX]
|
no |
neutron port-show <port>
[-D, --show-details]
[-F FIELD, --field FIELD]
[-f {shell,table}, --format {shell,table}]
[-c COLUMN, --column COLUMN]
[-variable VARIABLE]
[--prefix PREFIX]
| |
os port update <port>
[--security-group SECURITY_GROUP]
[--no-security-groups]
[--extra-dhcp-opt EXTRA_DHCP_OPTS]
|
no |
neutron port-update <port>
[--security-group SECURITY_GROUP]
[--no-security-groups]
[--extra-dhcp-opt EXTRA_DHCP_OPTS]
|
Queue
OSC Command | Implemented | Neutron command | |
---|---|---|---|
os queue create <name>
[-f {shell,table}] [-c COLUMN]
[--variable VARIABLE] [--prefix PREFIX]
[--request-format {json,xml}]
[--tenant-id TENANT_ID] [--min MIN] [--max MAX]
[--qos-marking QOS_MARKING] [--default DEFAULT]
[--dscp DSCP]
|
no |
neutron queue-create <name>
[-f {shell,table}] [-c COLUMN]
[--variable VARIABLE] [--prefix PREFIX]
[--request-format {json,xml}]
[--tenant-id TENANT_ID] [--min MIN] [--max MAX]
[--qos-marking QOS_MARKING] [--default DEFAULT]
[--dscp DSCP]
| |
os queue delete <queue>
[--request-format {json,xml}]
|
no |
neutron queue-delete <queue>
[--request-format {json,xml}]
| |
os queue list
[-f {csv,table}] [-c COLUMN]
[--quote {all,minimal,none,nonnumeric}]
[--request-format {json,xml}] [-D] [-F FIELD]
|
no |
neutron queue-list
[-f {csv,table}] [-c COLUMN]
[--quote {all,minimal,none,nonnumeric}]
[--request-format {json,xml}] [-D] [-F FIELD]
| |
os queue show <queue>
[-f {shell,table}] [-c COLUMN]
[--variable VARIABLE] [--prefix PREFIX]
[--request-format {json,xml}] [-D] [-F FIELD]
|
no |
neutron queue-show <queue>
[-f {shell,table}] [-c COLUMN]
[--variable VARIABLE] [--prefix PREFIX]
[--request-format {json,xml}] [-D] [-F FIELD]
|
Quota
Note: See quota in the cross API section.
OSC Command | Implemented | Neutron command | |
---|---|---|---|
|
no |
neutron quota-delete
[--request-format {json,xml}]
[--tenant-id tenant-id]
| |
|
no |
neutron quota-list
[-f {csv,table}] [-c COLUMN]
[--quote {all,minimal,none,nonnumeric}]
[--request-format {json,xml}]
| |
|
no |
neutron quota-show
[-f {shell,table}] [-c COLUMN]
[--variable VARIABLE] [--prefix PREFIX]
[--request-format {json,xml}]
[--tenant-id tenant-id]
| |
|
no |
neutron quota-update
[-f {shell,table}] [-c COLUMN]
[--variable VARIABLE] [--prefix PREFIX]
[--request-format {json,xml}]
[--tenant-id tenant-id] [--network networks]
[--subnet subnets] [--port ports]
[--router routers] [--floatingip floatingips]
[--security-group security_groups]
[--security-group-rule security_group_rules]
|
Router
OSC Command | Implemented | Neutron command | |
---|---|---|---|
os router create <name>
[-f {shell,table}] [-c COLUMN]
[--variable VARIABLE] [--prefix PREFIX]
[--request-format {json,xml}]
[--tenant-id TENANT_ID] [--admin-state-down]
|
no |
neutron router-create <name>
[-f {shell,table}] [-c COLUMN]
[--variable VARIABLE] [--prefix PREFIX]
[--request-format {json,xml}]
[--tenant-id TENANT_ID] [--admin-state-down]
| |
os router delete <router>
[--request-format {json,xml}]
|
no |
neutron router-delete <router>
[--request-format {json,xml}]
| |
os router gateway remove <router>
[--request-format {json,xml}]
# Note name change
|
no |
neutron router-gateway-clear <router>
[--request-format {json,xml}]
| |
os router gateway add <router> <network>
[--request-format {json,xml}]
[--disable-snat]
# Note name change
|
no |
neutron router-gateway-set <router> <network>
[--request-format {json,xml}]
[--disable-snat]
| |
os router interface add <router> <interface>
[--request-format {json,xml}]
|
no |
neutron router-interface-add <router> <interface>
[--request-format {json,xml}]
| |
os router interface remove <router> <interface>
[--request-format {json,xml}]
# Note name change
|
no |
neutron router-interface-delete <router> <interface>
[--request-format {json,xml}]
| |
os router list
[-f {csv,table}] [-c COLUMN]
[--quote {all,minimal,none,nonnumeric}]
[--request-format {json,xml}] [-D] [-F FIELD]
[-P SIZE] [--sort-key FIELD]
[--sort-dir {asc,desc}]
|
no |
neutron router-list
[-f {csv,table}] [-c COLUMN]
[--quote {all,minimal,none,nonnumeric}]
[--request-format {json,xml}] [-D] [-F FIELD]
[-P SIZE] [--sort-key FIELD]
[--sort-dir {asc,desc}]
| |
os router list on l3 agent <l3_agent>
[-f {csv,table}] [-c COLUMN]
[--quote {all,minimal,none,nonnumeric}]
[--request-format {json,xml}] [-D]
[-F FIELD]
|
no |
neutron router-list-on-l3-agent <l3_agent>
[-f {csv,table}] [-c COLUMN]
[--quote {all,minimal,none,nonnumeric}]
[--request-format {json,xml}] [-D]
[-F FIELD]
# Note should we support these oddball
# commands like this one?
| |
os router port list <router>
[-f {csv,table}] [-c COLUMN]
[--quote {all,minimal,none,nonnumeric}]
[--request-format {json,xml}] [-D] [-F FIELD]
[-P SIZE] [--sort-key FIELD]
[--sort-dir {asc,desc}]
|
no |
neutron router-port-list <router>
[-f {csv,table}] [-c COLUMN]
[--quote {all,minimal,none,nonnumeric}]
[--request-format {json,xml}] [-D] [-F FIELD]
[-P SIZE] [--sort-key FIELD]
[--sort-dir {asc,desc}]
| |
os router show <router>
[-f {shell,table}] [-c COLUMN]
[--variable VARIABLE] [--prefix PREFIX]
[--request-format {json,xml}] [-D] [-F FIELD]
|
no |
neutron router-show <router>
[-f {shell,table}] [-c COLUMN]
[--variable VARIABLE] [--prefix PREFIX]
[--request-format {json,xml}] [-D] [-F FIELD]
| |
os router update <router>
[--request-format {json,xml}]
|
no |
neutron router-update <router>
[--request-format {json,xml}]
|
Security Group
Note: should we use "secgroup" or replace it with "security group" Supporting both would be confusing, but for now it would probably work.
NOTE(dtroyer): I think 'security group' is what we need to use; this is one of the last commands to have the short form removed...
OSC Command | Implemented | Neutron command | |
---|---|---|---|
os security group create <name>
[-f {shell,table}] [-c COLUMN]
[--variable VARIABLE] [--prefix PREFIX]
[--request-format {json,xml}]
[--tenant-id TENANT_ID]
[--description DESCRIPTION]
|
no |
neutron security-group-create <name>
[-f {shell,table}] [-c COLUMN]
[--variable VARIABLE] [--prefix PREFIX]
[--request-format {json,xml}]
[--tenant-id TENANT_ID]
[--description DESCRIPTION]
| |
os security group delete <security_group>
[--request-format {json,xml}]
|
no |
neutron security-group-delete <security_group>
[--request-format {json,xml}]
| |
os security group list
[-f {csv,table}] [-c COLUMN]
[--quote {all,minimal,none,nonnumeric}]
[--request-format {json,xml}] [-D]
[-F FIELD] [-P SIZE] [--sort-key FIELD]
[--sort-dir {asc,desc}]
|
no |
neutron security-group-list
[-f {csv,table}] [-c COLUMN]
[--quote {all,minimal,none,nonnumeric}]
[--request-format {json,xml}] [-D]
[-F FIELD] [-P SIZE] [--sort-key FIELD]
[--sort-dir {asc,desc}]
| |
os security group show <security_group>
[-f {shell,table}] [-c COLUMN]
[--variable VARIABLE] [--prefix PREFIX]
[--request-format {json,xml}] [-D]
[-F FIELD]
|
no |
neutron security-group-show <security_group>
[-f {shell,table}] [-c COLUMN]
[--variable VARIABLE] [--prefix PREFIX]
[--request-format {json,xml}] [-D]
[-F FIELD]
| |
os security group update <security_group>
[--request-format {json,xml}]
[--name NAME] [--description DESCRIPTION]
|
no |
neutron security-group-update <security_group>
[--request-format {json,xml}]
[--name NAME] [--description DESCRIPTION]
|
Security Group Rule
Note: Again, we have duplicate commands with Nova.
OSC Command | Implemented | Neutron command | |
---|---|---|---|
os security group rule create <security_group>
[-f {shell,table}] [-c COLUMN]
[--variable VARIABLE]
[--prefix PREFIX]
[--request-format {json,xml}]
[--tenant-id TENANT_ID]
[--direction {ingress,egress}]
[--ethertype ETHERTYPE]
[--protocol PROTOCOL]
[--port-range-min PORT_RANGE_MIN]
[--port-range-max PORT_RANGE_MAX]
[--remote-ip-prefix REMOTE_IP_PREFIX]
[--remote-group-id REMOTE_GROUP]
|
no |
neutron security-group-rule-create <security_group>
[-f {shell,table}] [-c COLUMN]
[--variable VARIABLE]
[--prefix PREFIX]
[--request-format {json,xml}]
[--tenant-id TENANT_ID]
[--direction {ingress,egress}]
[--ethertype ETHERTYPE]
[--protocol PROTOCOL]
[--port-range-min PORT_RANGE_MIN]
[--port-range-max PORT_RANGE_MAX]
[--remote-ip-prefix REMOTE_IP_PREFIX]
[--remote-group-id REMOTE_GROUP]
| |
os security group rule delete <rule>
[--request-format {json,xml}]
|
no |
neutron security-group-rule-delete <rule>
[--request-format {json,xml}]
| |
os security group rule list
[-f {csv,table}] [-c COLUMN]
[--quote {all,minimal,none,nonnumeric}]
[--request-format {json,xml}] [-D]
[-F FIELD] [-P SIZE]
[--sort-key FIELD]
[--sort-dir {asc,desc}]
[--no-nameconv]
|
no |
neutron security-group-rule-list
[-f {csv,table}] [-c COLUMN]
[--quote {all,minimal,none,nonnumeric}]
[--request-format {json,xml}] [-D]
[-F FIELD] [-P SIZE]
[--sort-key FIELD]
[--sort-dir {asc,desc}]
[--no-nameconv]
| |
os security group rule show <rule>
[-f {shell,table}] [-c COLUMN]
[--variable VARIABLE]
[--prefix PREFIX]
[--request-format {json,xml}] [-D]
[-F FIELD]
|
no |
neutron security-group-rule-show <rule>
[-f {shell,table}] [-c COLUMN]
[--variable VARIABLE]
[--prefix PREFIX]
[--request-format {json,xml}] [-D]
[-F FIELD]
|
Service Provider
Note: Is this related to the Keystone service? Not sure. The Neutron help is very light.
OSC Command | Implemented | Neutron command | |
---|---|---|---|
|
no |
neutron service-provider-list
[-f {csv,table}] [-c COLUMN]
[--quote {all,minimal,none,nonnumeric}]
[--request-format {json,xml}] [-D]
[-F FIELD] [-P SIZE] [--sort-key FIELD]
[--sort-dir {asc,desc}]
|
Subnet
OSC Command | Implemented | Neutron command | |
---|---|---|---|
os subnet create <network> <cidr>
[-f {shell,table}] [-c COLUMN]
[--variable VARIABLE] [--prefix PREFIX]
[--request-format {json,xml}]
[--tenant-id TENANT_ID] [--name NAME]
[--ip-version {4,6}] [--gateway GATEWAY_IP]
[--no-gateway]
[--allocation-pool start=IP_ADDR,end=IP_ADDR]
[--host-route destination=CIDR,nexthop=IP_ADDR]
[--dns-nameserver DNS_NAMESERVER]
[--disable-dhcp]
|
no |
neutron subnet-create <network> <cidr>
[-f {shell,table}] [-c COLUMN]
[--variable VARIABLE] [--prefix PREFIX]
[--request-format {json,xml}]
[--tenant-id TENANT_ID] [--name NAME]
[--ip-version {4,6}] [--gateway GATEWAY_IP]
[--no-gateway]
[--allocation-pool start=IP_ADDR,end=IP_ADDR]
[--host-route destination=CIDR,nexthop=IP_ADDR]
[--dns-nameserver DNS_NAMESERVER]
[--disable-dhcp]
| |
os subnet delete <subnet>
[--request-format {json,xml}]
|
no |
neutron subnet-delete <subnet>
[--request-format {json,xml}]
| |
os subnet list
[-f {csv,table}] [-c COLUMN]
[--quote {all,minimal,none,nonnumeric}]
[--request-format {json,xml}] [-D] [-F FIELD]
[-P SIZE] [--sort-key FIELD]
[--sort-dir {asc,desc}]
|
no |
neutron subnet-list
[-f {csv,table}] [-c COLUMN]
[--quote {all,minimal,none,nonnumeric}]
[--request-format {json,xml}] [-D] [-F FIELD]
[-P SIZE] [--sort-key FIELD]
[--sort-dir {asc,desc}]
| |
os subnet show <subnet>
[-f {shell,table}] [-c COLUMN]
[--variable VARIABLE] [--prefix PREFIX]
[--request-format {json,xml}] [-D] [-F FIELD]
|
no |
neutron subnet-show <subnet>
[-f {shell,table}] [-c COLUMN]
[--variable VARIABLE] [--prefix PREFIX]
[--request-format {json,xml}] [-D] [-F FIELD]
| |
os subnet update <subnet>
[--request-format {json,xml}]
|
no |
neutron subnet-update <subnet>
[--request-format {json,xml}]
|
VPN
OSC Command | Implemented | Neutron command | |
---|---|---|---|
os vpn ikepolicy create <name>
[--tenant-id TENANT_ID]
[--description DESCRIPTION]
[--auth-algorithm {sha1}]
[--encryption-algorithm {3des,aes-128,aes-192,aes-256}]
[--phase1-negotiation-mode {main}]
[--ike-version {v1,v2}]
[--pfs {group2,group5,group14}]
[--lifetime units=UNITS,value=VALUE]
|
no |
neutron vpn-ikepolicy-create <name>
[--tenant-id TENANT_ID]
[--description DESCRIPTION]
[--auth-algorithm {sha1}]
[--encryption-algorithm {3des,aes-128,aes-192,aes-256}]
[--phase1-negotiation-mode {main}]
[--ike-version {v1,v2}]
[--pfs {group2,group5,group14}]
[--lifetime units=UNITS,value=VALUE]
| |
os vpn ikepolicy delete <policy>
|
no |
neutron vpn-ikepolicy-delete <policy>
| |
os vpn ikepolicy list
[-F FIELD] [-P SIZE] [--sort-key FIELD]
[--sort-dir {asc,desc}]
|
no |
neutron vpn-ikepolicy-list
[-F FIELD] [-P SIZE] [--sort-key FIELD]
[--sort-dir {asc,desc}]
| |
os vpn ikepolicy show <policy>
|
no |
neutron vpn-ikepolicy-show <policy>
| |
os vpn ikepolicy update <policy>
[--lifetime units=UNITS,value=VALUE]
|
no |
neutron vpn-ikepolicy-update <policy>
[--lifetime units=UNITS,value=VALUE]
| |
os vpn ipsecpolicy create <name>
[--tenant-id TENANT_ID]
[--description DESCRIPTION]
[--transform-protocol {esp,ah,ah-esp}]
[--auth-algorithm {sha1}]
[--encryption-algorithm {3des,aes-128,aes-192,aes-256}]
[--encapsulation-mode {tunnel,transport}]
[--pfs {group2,group5,group14}]
[--lifetime units=UNITS,value=VALUE]
|
no |
neutron vpn-ipsecpolicy-create <name>
[--tenant-id TENANT_ID]
[--description DESCRIPTION]
[--transform-protocol {esp,ah,ah-esp}]
[--auth-algorithm {sha1}]
[--encryption-algorithm {3des,aes-128,aes-192,aes-256}]
[--encapsulation-mode {tunnel,transport}]
[--pfs {group2,group5,group14}]
[--lifetime units=UNITS,value=VALUE]
| |
os vpn ipsecpolicy delete <policy>
|
no |
neutron vpn-ipsecpolicy-delete <policy>
| |
os vpn ipsecpolicy list
[-F FIELD] [-P SIZE] [--sort-key FIELD]
[--sort-dir {asc,desc}]
|
no |
neutron vpn-ipsecpolicy-list
[-F FIELD] [-P SIZE] [--sort-key FIELD]
[--sort-dir {asc,desc}]
| |
os vpn ipsecpolicy show <policy>
|
no |
neutron vpn-ipsecpolicy-show <policy>
| |
os vpn ipsecpolicy update <policy>
[--lifetime units=UNITS,value=VALUE]
|
no |
neutron vpn-ipsecpolicy-update <policy>
[--lifetime units=UNITS,value=VALUE]
| |
os vpn service create <router> <subnet>
[--tenant-id TENANT_ID] [--admin-state-down]
[--name NAME] [--description DESCRIPTION]
|
no |
neutron vpn-service-create <router> <subnet>
[--tenant-id TENANT_ID] [--admin-state-down]
[--name NAME] [--description DESCRIPTION]
| |
os vpn service delete <service>
|
no |
neutron vpn-service-delete <service>
[--request-format {json,xml}]
| |
os vpn service list
[-P SIZE] [--sort-key FIELD]
[--sort-dir {asc,desc}]
|
no |
neutron vpn-service-list
[-P SIZE] [--sort-key FIELD]
[--sort-dir {asc,desc}]
| |
os vpn service show <service>
|
no |
neutron vpn-service-show <service>
| |
os vpn service update <service>
|
no |
neutron vpn-service-update <service>
|
Object
API v1
Commands:
- upload [options] container file_or_directory [file_or_directory] [...]
- post [options] [container] [object]
container
OSC Command | Implemented | Swift command | |
---|---|---|---|
os container list
[--prefix <prefix>]
[--delimiter <delimiter>]
[--long]
[--all]
|
yes |
swift list
[--prefix|-p]
[-l|-lh]
[-t]
[--delimiter|-d]
[options]
[container]
| |
os container show
[<container-name>]
|
yes |
swift stat
[--lh]
[<container>]
[<object>]
|
object
OSC Command | Implemented | Swift command | |
---|---|---|---|
os object delete
<object>
|
no |
swift delete
[--leave-segments]
[options]
--all
swift delete container
[--leave-segments]
[options]
[object]
[object] ...
| |
os object list
[--prefix <prefix>]
[--delimiter <delimiter>]
[--long]
[--all]
<container-name>]
|
yes |
swift list
[--prefix|-p]
[-l|-lh]
[-t]
[--delimiter|-d]
[options]
[container]
| |
os object show
<container-name>
<object-name>
|
yes |
swift stat
[--lh]
[<container>]
[<object>]
| |
os object save
[<container>]
[<object>]
|
no |
swift download
--all
[--prefix|-p]
[options]
swift download
container
[--prefix|-p]
[--output|-o <filename>]
[options]
[object]
[object] ...
|
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
limits
See limits in the cross API section.
quota
See quota in the cross API section.
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>]
<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>
|
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."