ODS Grizzly: Unified CLI, take 2
Originally posted
· 2 min read
Time: | Tuesday 11:50 AM |
---|---|
Location: | Annie AB |
Etherpad: | [http://etherpad.openstack.org/grizzly-common-unified-cli](http://etherpad.openstack.org/grizzly-common-unified-cli) |
During the Folsom summit we defined some requirements for a unified command line client program for OpenStack. Since then we have begun development and made significant progress, but the project has stalled out a bit. During the Unified CLI, take 2 session we will discuss restarting the project and find additional contributors.
Original Project Goals
- use the OpenStack Python client API modules, extending them as required
- use consistent naming and structure for commands and arguments
- consistent output formats with the option of reliably machine parseable formats
- use a single-binary approach that also contains an embedded command-line that can execute multiple commands on a single authentication (see libvirt’s virsh for an example)
- independence from the OpenStack project names
Status
- cliff framework provides
- consistent output formats
- parseable output
- single binary with interactive mode
- single main command “openstack”
- style-guide in wiki specifies naming conventions
- existing sub-commands:
- roles
- add role
- create role
- delete role
- list role
- remove role
- show role
- servers
- list server
- show server
- endpoints
- create endpoint
- delete endpoint
- list endpoint
- show endpoint
- services
- create service
- delete service
- list service
- show service
- tenants
- create tenant
- delete tenant
- list tenant
- set tenant
- show tenant
- users
- create user
- delete user
- list user
- set user
- show user
- list user role
- roles
- quantum is using cliff, but not part of the unified CLI, yet
Proposed Grizzly Goals
- implement the commands associated with more services what priorities?
- semi-official public release? incubation?
- move commands for each service into the client library for the service
- convert to meta-package with dependencies to install all of the parts
- project client libraries do not depend on cliff or python-openstackclient
- python-openstackclient depends on all client libraries
- installing project client does not provide CLI, but provides plugins that are discovered when python-openstackclient is installed
- document inconsistencies in the project client libraries to be addressed during “H”
- another session on consistent APIs Wednesday at 4:30 Standardizing client & API capabilities