Model-driven CLI
Project Name:
- Proposed name for the project: ONAP Command Line Interface
- Proposed name for the repository:
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 scripting, VNF boot scripting with ONAP.
4. 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.
NOTE: Above defined features already available as ready-to-use from Open-O under the git repository client-cli and they will be migrated into ONAP and mostly work as-it-is.
And required CLI commands for ONAP could be created 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
- ONAP CLI uses REST API to communicate with ONAP, so it depends on the ONAP API documentation project
- Integration project (CI & docker) could depends on this project ONAP CLI for automation
High Level Architecture of OPEN CLI Framework
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:
- OPEN-O CLI https://wiki.open-o.org/display/CLIEN/Open-O+CLI
- OPEN-O GERRIT: https://gerrit.open-o.org/r/client-cli
Use the above information to create a key project facts section on your project page
Key Project Facts
Project Name:
- JIRA project name: Command Line Interface
- JIRA project prefix: CLI
Repo name: cli
Lifecycle State: incubation
Primary Contact: kanagaraj.manickam@huawei.com
Project Lead:kanagaraj.manickam@huawei.com
mailing list tag onap-cli
Committers:
*Link to TSC approval: Search for CLI in All Approved Projects
Link to approval of additional submitters:
6 Comments
Ranny Haiby
Why not simplify the CLI by using only the REST API of ONAP and building the CLI on top of it? It will eliminate the need to create command plugins for each new functionality in ONAP.
The REST API wrapper CLI was successfully implemented in other opne source projects such as OpenStack.
user-67d6f
The CLI framework is already provided to use REST API as shown in the diagram.
i have been working as committers/contributors in OpenStack and i observed that OpenStack writes so much of code to create the CLI commands which is overhead, redundant and I have created CLI framework in Open-O to create commands ust by writing YAML files without any source code. Pls find more details at https://wiki.open-o.org/display/CLIEN/Open-O+CLI and let me know if you have any queries
elhay efrat
This is what the diagram present . Right ? onap cli mechanism will call onap API calls
user-67d6f
Thanks for commenting on this and you are right, CLI framework already uses REST API to talk to the ONAP.
Nalini Varshney
Please let me know the list of proposed CLI. I want to become a part of ONAP community. and what is the communication channel and how can i start work on ONAP projects.
user-67d6f
Dear Nalini,
Thank you for showing interest.
Please write a mail to onap-discuss mailing list https://lists.onap.org/mailman/listinfo/onap-discuss and keep cli in the subject .
And here you will get more details Joining the ONAP Technical Community