Bug 771692

Summary: RFE: Matahari Shell for sysadmin and scripting usage
Product: [Retired] Matahari Reporter: Perry Myers <pmyers>
Component: matahariAssignee: Zane Bitter <zbitter>
Status: CLOSED WONTFIX QA Contact: Dave Johnson <dajohnso>
Severity: high Docs Contact:
Priority: unspecified    
Version: 0.7CC: astokes, matahari-maint, rbryant, whayutin, zbitter
Target Milestone: ---Keywords: FutureFeature
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: Enhancement
Doc Text:
Story Points: ---
Clone Of: 723078 Environment:
Last Closed: 2012-07-17 12:30:09 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Bug Depends On: 723077, 723078    
Bug Blocks:    

Description Perry Myers 2012-01-04 16:27:07 UTC
+++ This bug was initially created as a clone of Bug #723078 +++

+++ This bug was initially created as a clone of Bug #723077 +++

Description of problem:
To use matahari agents/apis you need to presently either:
* Write your own QMFv2 Console
* Use qmf-tool

It would be more user friendly if we developed a shell tool (mataharish or mhsh) that provides easily scriptable and interactive access to the mh APIs and agents available on the QMF bus.

This shell could be written utilizing the python QMFv2 console classes.  While we want the agents to be as low level as we can (C++ impementations on C libraries mostly), writing the shell in python would be quicker and easier to extend dynamically.

Comment 1 Perry Myers 2012-01-04 16:29:04 UTC
This bug is to track the completion of the Shell, which was started in the 0.6 release.

The list of specific things that need to be completed for the enhancement are on the wiki here:

https://github.com/matahari/matahari/wiki/Matahari-Shell

* Asynchronous property/statistic reads
* CLI option parsing
* Scripting
* Handle spaces in arguments surrounded by "", [] &c.
* Config file handling
* Logging
* Saved history
* Event notifications
* Special-case RPC plugins
* Paged output
* ? Help
* Named arguments to methods
* Autogenerate documentation