Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
One Command to command whole ONAP !
Model-driven CLI

Project Name:

  • Proposed name for the project: ONAP Command Line Interface Portal
  • Proposed name for the repository: onap-cli

Project description:

  • Both carrier and enterprise customers prefer commands over GUI on many situations such as automation, CI, etc. so this project is launched to provide required Command-Line Interface(CLI) as commands to operate ONAP functionalities from Unix or windows shell.
  • Different type of Users like end-user, admin, operator could operate ONAP functionalities.
  • CLI provides an alternate option to GUI,  for operating back ONAP functionalities.
  • Advantages of using CLI, which are not possible by use of GUI

1.       ONAP Continuous integration (CI), where we want to perform various ONAP operations, CLI will be very handy option. This is applicable to 3rd party CI as well.

2.       While GUI is the preferred interface for end-user, back-end operators and  admin always prefer CLI (it’s an industry trend !) as its simpler, faster.

3.       Installation        Installation scripting, VNF boot scripting with ONAP.

4.       Dev        Dev testing … integration testing.

5.       OSS/BSS products would want to perform any automation on top of ONAP, it could go either with CLI or SDK.

Scope:

  • Provide a Model driven framework to help ONAP community and ONAP end-user to develop the required commands 
    • By using YAML file and without writing any source code
    • By implementing plug-ins for specific commands
  • Mode
    • Provide direct command mode (useful in scripting based automation) like in CI, docker, etc
    • Provide interactive mode, where user login once and operate ONAP and exit
  • Provide consistent commands schematics across different ONAP functionalities. 
  • Provide an download option from the ONAP portal, nexus to download the CLI
  • Provide Docker container to luanch CLI out of the box. In addition provide daily build or release builds via Nexus 

NOTE: Above defined features already available as ready-to-use from Open-O under the git repository client-cli/framework and client-cli/main projects and they will be copied migrated into ONAP and will mostly work as-it-is.

And required CLI commands for ONAP will could be created on top of these two projects just by writing YAML files.

Architecture Alignment:

  • Dependencies
    • ONAP CLI uses REST API to communicate with ONAP, so it depends on the ONAP API documentation project
      • ONAP portal authendicationservice REST API
      Different ONAP projects like SDC, VID, Policy, etc should provide list of functioanlities expose thru CLI
  • Integration project (CI & docker) would could depends on this project ONAP CLI for automation

High Level Architecture of OPEN CLI Framework

Image Removed View filenameImage Added CLI architecture.pptxheight250


Open CLI framework is developed in Open-O to create the CLI commands using YAML and above diagram shows the high level architecture of it.

Please find More details about this framework from Open-O wiki

Resources:

  • Primary Contact Person: kanagaraj.manickam@huawei.com
  • committers:

Other Information:

Use the above information to create a key project facts section on your project page

Key Project Facts

Project Name:

  • JIRA project name: PORTALCommand Line Interface
  • JIRA project prefix: ONAP CLI

Repo name: onap-cli
Lifecycle State: git clone of Open-O client-cliincubation
Primary Contact: kanagaraj.manickam@huawei.com
Sub Project Lead:kanagaraj.manickam@huawei.com
mailing list tag onap-cli
Committers:

...

talasila@research.att.com


*Link to TSC approval: Search for CLI in All Approved Projects 
Link to approval of additional submitters: