Jump to: navigation, search

Solum/CLI

< Solum
Revision as of 21:45, 13 January 2014 by Adrian Otto (talk | contribs) (Proposed Plan)

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 the diagram showing how the CLI relates to the rest of the ecosystem

Mailing List Threads

Minimal CLI Options

Argparse

Pro

  • 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

Con

  • May be the largest porting effort to the eventual OpenStack client of any options
  • No authentication handling built in (will depend on python-keystoneclient library)

OSC

Pro

  • 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

Con

  • 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

Proposed Plan