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 

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).



- Rohit


53 Chandos Place, Covent Garden, London  WC2N 4HSUK

Reply via email to