Difference between revisions of "Solum/CLI"
< Solum
Adrian Otto (talk | contribs) |
Adrian Otto (talk | contribs) |
||
Line 29: | Line 29: | ||
==== Con ==== | ==== Con ==== | ||
* May be the largest porting effort to the eventual OpenStack client of any options | * May be the largest porting effort to the eventual OpenStack client of any options | ||
− | * No authentication handling built in ( | + | * No authentication handling built in (will depend on [https://github.com/openstack/python-keystoneclient python-keystoneclient] library) |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
=== OSC === | === OSC === | ||
* WIP pull request/hack - https://review.openstack.org/#/c/64703/ | * WIP pull request/hack - https://review.openstack.org/#/c/64703/ | ||
+ | * OSC now uses [https://cliff.readthedocs.org/en/latest/ Cliff]. Cliff [https://github.com/dreamhost/cliff/tree/master/demoapp demo app]. | ||
* Note: dtroyer is the technical lead for OSC | * Note: dtroyer is the technical lead for OSC | ||
Line 59: | Line 48: | ||
== Proposed Plan == | == Proposed Plan == | ||
− | * | + | * Develop a prototype based on [https://review.openstack.org/66065 simple argparse pull request] to satisfy the [https://blueprints.launchpad.net/solum/+spec/solum-minimal-cli solum-minimal-cli] blueprint as part of M1 (short term, considered disposable). |
− | * | + | * Develop a complete client based on [https://review.openstack.org/#/c/64703/ WIP OSC pull request] that can integrate with OSC to satisfy the [https://blueprints.launchpad.net/solum/+spec/solum-cli solum-cli] blueprint |
* The "prototype" client will be completed first, and will only implement the minimum needed to address [https://blueprints.launchpad.net/solum/+spec/solum-minimal-cli solum-minimal-cli]. | * The "prototype" client will be completed first, and will only implement the minimum needed to address [https://blueprints.launchpad.net/solum/+spec/solum-minimal-cli solum-minimal-cli]. | ||
* OSC client obviates the argparse client, implementing everything in [https://blueprints.launchpad.net/solum/+spec/solum-cli solum-cli] once it is done. | * OSC client obviates the argparse client, implementing everything in [https://blueprints.launchpad.net/solum/+spec/solum-cli solum-cli] once it is done. | ||
* When OSC is adapted to use Cliff, we will adapt our OSC plugin to conform. | * When OSC is adapted to use Cliff, we will adapt our OSC plugin to conform. |
Revision as of 21:43, 13 January 2014
Solum Command Line Interface
Contents
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 solum-minimal-cli blueprint
- Produce a complete CLI for Solum that allows simple interaction with the Solum API service, satisfying the 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
- https://blueprints.launchpad.net/solum/+spec/solum-cli
- https://blueprints.launchpad.net/solum/+spec/solum-minimal-cli
See the 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
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
- WIP pull request/hack - https://review.openstack.org/#/c/64703/
- OSC now uses Cliff. Cliff demo app.
- Note: dtroyer is the technical lead for 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
- Develop a prototype based on simple argparse pull request to satisfy the solum-minimal-cli blueprint as part of M1 (short term, considered disposable).
- Develop a complete client based on WIP OSC pull request that can integrate with OSC to satisfy the solum-cli blueprint
- The "prototype" client will be completed first, and will only implement the minimum needed to address solum-minimal-cli.
- OSC client obviates the argparse client, implementing everything in solum-cli once it is done.
- When OSC is adapted to use Cliff, we will adapt our OSC plugin to conform.