cloudstack-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Rohit Yadav <>
Subject [DISCUSS] CloudMonkey 6.0.0-alpha (about six years after initial version in 2012)
Date Tue, 10 Apr 2018 11:59:01 GMT

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



- Rohit


53 Chandos Place, Covent Garden, London  WC2N 4HSUK

  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message