Jump to: navigation, search

Difference between revisions of "Solum/CLI"

(Blueprints)
Line 1: Line 1:
 
Solum Command Line Interface
 
Solum Command Line Interface
 +
 +
== Overview ==
 +
As of 2014-01-13 Solum does not yet have a CLI. It is required for our initial release, and efforts to code one are underway. A number of options for developing the tool are under discussion. This wiki page identifies and detail the options under consideration, and describes our intended approach.
 +
 +
== Goals ==
 +
# Produce a prototype to satisfy the [https://blueprints.launchpad.net/solum/+spec/solum-minimal-cli solum-minimal-cli] blueprint
 +
# Produce a complete CLI for Solum that allows simple interaction with the Solum API service, satisfying the [https://blueprints.launchpad.net/solum/+spec/solum-cli solum-cli] blueprint
 +
# Adjust the CLI (if needed) to conform to the prevailing OpenStack CLI tools, and underlying resources, such as any prevailing SDK resources and client libraries.
  
 
== Blueprints ==
 
== Blueprints ==

Revision as of 20:39, 13 January 2014

Solum Command Line Interface

Overview

As of 2014-01-13 Solum does not yet have a CLI. It is required for our initial release, and efforts to code one are underway. A number of options for developing the tool are under discussion. This wiki page identifies and detail the options under consideration, and describes our intended approach.

Goals

  1. Produce a prototype to satisfy the solum-minimal-cli blueprint
  2. Produce a complete CLI for Solum that allows simple interaction with the Solum API service, satisfying the solum-cli blueprint
  3. Adjust the CLI (if needed) to conform to the prevailing OpenStack CLI tools, and underlying resources, such as any prevailing SDK resources and client libraries.

Blueprints


See also this diagram showing how the CLI relates to the rest of the ecosystem:

Mailing List Threads

Minimal CLI Options

Argparse (WIP pull request - https://review.openstack.org/66065)

Pros

  • Fast-track to completing an M1 CLI
  • Relatively simple Python standard argparse library-based code
  • No external (potentially changing) code dependencies
  • Modeled after Trove architecture recommendations

Cons

Cliff (no pull request)

https://cliff.readthedocs.org/en/latest/ Cliff Demo App: https://github.com/dreamhost/cliff/tree/master/demoapp

[Not very familiar with this library, can someone else provide benefits?]

OSC (WIP pull request/hack - https://review.openstack.org/#/c/64703/)

Note: dtroyer is PTL

Pros

  • Considered by many to be the best path for integration into the future OpenStack CLI architecture
  • Integrates authentication already
  • dtroyer agreed to implement two Solum plugin features to provide an example

Cons

  • Not complete - some APIs may change, especially around authentication
  • The plugin documentation is not complete - https://github.com/dtroyer/python-oscplugin
  • No other project has implemented the OSC plugin yet (core OpenStack projects add their features directly into the OSC without plugins)
  • There are discussions about potential OSC architectural changes within OpenStack; want to verify that we will not be chasing large code changes