All,
Few months ago, I started porting the current code to be compatible with both Python2 and Python3 to make it run with both Python2 (for older systems such as CentOS6 etc) and Python3 (for newer platforms). The work was not a success, another problem was that cloudmonkey was not easy to install and required several dependencies that would certainly fail on older systems with Python 2.6.x. Considering all things, I started working on an experimental golang port [2] and happy to announce that the initial alpha version shows a lot of promise and is 5-20x faster than the python based cli [1]. The compiled binary runs on several targets, including windows [1]. I cannot commit to a timeline/release date yet but the aim of this thread is to discuss and propose the simplification of the CLI which may require removal of some features and some breaking changes may be introduced: - Make json the default output format - Remove coloured output - Remove unpopular, least user output formats? xml, default (line-separate key=value), table? - Remove `set` options: color, expires, (custom) prompt - Remove `paramcompletion` option, this will be true/enabled by default - Remove signature version and expires (I'm not sure why this is needed or used) - Remove history_file, cache_file, log_file options, use the default paths in folder at (user's home directory)/.cloudmonkey. - Remove shell based execution from interactive interpreter mode (using ! or shell keywords) - Remove support for CloudStack older than 4.5, i.e. it won't be tested against older cloudstacks. - Remove a default API cache with the client, for a fresh env without any ~/.cloudmonkey/cache; users can run `sync` command against a management server. - Interactive API parameter completion in CLI mode: the current API parameter completion requires the user to manually copy/paste the uuids, or autocomplete by typing parts of the uuids/option. - Improve how maps are passed. - Good to have: bash/zsh completion. Please share your thoughts, and objections (especially if you're using the proposed features to be removed in version 6.x). [1] https://twitter.com/rhtyd/status/983448788059770882 [2] https://github.com/rhtyd/cmk - Rohit <https://cloudstack.apache.org> rohit.ya...@shapeblue.comĀ www.shapeblue.com 53 Chandos Place, Covent Garden, London WC2N 4HSUK @shapeblue