Re: [DISCUSS] CloudMonkey 6.0.0-alpha (about six years after initial version in 2012)

2018-04-16 Thread Rohit Yadav
Thanks all for your appreciation! I would love to where and how the tool is 
being used.


I've tried to make the new port a drop-in replacement so no changes will be 
required for your existing (shell etc) scripts, however, some configs may be 
removed. Testing will be required and is requested in that area.


Update: I've the port functionally complete with only support for json output 
(other others can be worked on soon including text, table, csv and maybe xml).


It would be great if you can help test the port for me, the binaries for Linux, 
Mac and Windows are here:

https://lab.yadav.cloud/testing/cmk/


If/when you find a bug, please report on:

https://github.com/apache/cloudstack-cloudmonkey/issues


Known issues and limitations:

- No output support for xml, csv, table, or xml. No filtering on output as well.

- Parameter completion when done with a single tab, may not show up sometimes 
but if you enter the up arrow key it will show up (weird, not sure why this 
happens)

- API params are not cached, it may take time for options to populate

- No in-built api cache, run 'sync' against management server

- To keep the new port's settings/config separate. It will use directory at 
~/.cmk/

- Windows port fails with unicode printing whether in prompt or api response, 
auto-completion may not work as expected


- Rohit

<https://cloudstack.apache.org>




From: Wei ZHOU <ustcweiz...@gmail.com>
Sent: Tuesday, April 10, 2018 11:05:11 PM
To: dev@cloudstack.apache.org
Cc: us...@cloudstack.apache.org
Subject: Re: [DISCUSS] CloudMonkey 6.0.0-alpha (about six years after initial 
version in 2012)

Great job Rohit !!!

2018年4月10日星期二,Rohit Yadav <rohit.ya...@shapeblue.com> 写道:

> 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<http://www.shapeblue.com>
> 53 Chandos Place, Covent Garden, London  WC2N 4HSUK
> @shapeblue
>
>
>
>

rohit.ya...@shapeblue.com 
www.shapeblue.com
53 Chandos Place, Covent Garden, London  WC2N 4HSUK
@shapeblue
  
 



Re: [DISCUSS] CloudMonkey 6.0.0-alpha (about six years after initial version in 2012)

2018-04-10 Thread Wei ZHOU
Great job Rohit !!!

2018年4月10日星期二,Rohit Yadav  写道:

> 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
>
> 
>
>
>
> rohit.ya...@shapeblue.com
> www.shapeblue.com
> 53 Chandos Place, Covent Garden, London  WC2N 4HSUK
> @shapeblue
>
>
>
>


Re: [DISCUSS] CloudMonkey 6.0.0-alpha (about six years after initial version in 2012)

2018-04-10 Thread ilya musayev
This is great news and cloud monkey is used more than you think :)

I will share the news with my team.

On Tue, Apr 10, 2018 at 5:07 AM Will Stevens  wrote:

> +1. It has been a great tool for years.  Looking forward to the golang
> version.
>
> On Apr 10, 2018 7:59 AM, "Rohit Yadav"  wrote:
>
> 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
>
> 
>
>
>
> rohit.ya...@shapeblue.com
> www.shapeblue.com
> 53 Chandos Place, Covent Garden, London  WC2N 4HSUK
> @shapeblue
>


Re: [DISCUSS] CloudMonkey 6.0.0-alpha (about six years after initial version in 2012)

2018-04-10 Thread Will Stevens
+1. It has been a great tool for years.  Looking forward to the golang
version.

On Apr 10, 2018 7:59 AM, "Rohit Yadav"  wrote:

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





rohit.ya...@shapeblue.com
www.shapeblue.com
53 Chandos Place, Covent Garden, London  WC2N 4HSUK
@shapeblue


[DISCUSS] CloudMonkey 6.0.0-alpha (about six years after initial version in 2012)

2018-04-10 Thread Rohit Yadav
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





rohit.ya...@shapeblue.com 
www.shapeblue.com
53 Chandos Place, Covent Garden, London  WC2N 4HSUK
@shapeblue