incubator-cloudstack-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Musayev, Ilya" <imusa...@webmd.net>
Subject RE: [DISCUSS] cloudmonkey releases along with CloudStack releases
Date Mon, 07 Jan 2013 23:55:51 GMT
+1
I am all for it :)

-----Original Message-----
From: Rohit Yadav [mailto:rohit.yadav@citrix.com] 
Sent: Monday, January 07, 2013 6:10 PM
To: cloudstack-dev@incubator.apache.org
Subject: [DISCUSS] cloudmonkey releases along with CloudStack releases

Hi everyone,

Right now cloudmonkey, a command line interface and interactive shell [0] for CloudStack (in
tools/cli) is being released independently on cheese shop [1]. This is a proposal of how we
can release it. Let me start by giving some background;

I started writing cloudmonkey because I wanted a cli and due to a jira issue [2]. It was written
in Python because instead of starting from complete scratch I based it top of marvin which
was written in Python and some text book functional programming tricks that generates closures
or handlers for the shell on the fly used for autocompletion for 300+ apis etc. It has a build
dependency on marvin (which depends on apidoc, which depends on cloudstack build targets =>
indirectly cloudmonkey depends on CloudStack codebase) therefore I did not develop this in
a separate repo but within the codebase.

Why we should not separate cloudmonkey: CloudStack itself is collection of a lot of plugins
(hypervisor, acl, network), tools/extras (apidoc, cli, devcloud, marvin etc.) and add ons
(though tightly coupled now, ex. ssvm, cpvm, router-vm etc.). If all these things are decided
by the community to be separated out of the codebase as separate git repos, then we should
separate out cloudmonkey as well.

Proposal to release cloudmonkey:

- Make cloudmonkey as the official CLI [2] as there is no other known and working CLI.

- The version on cloudmonkey release should reflect the version of CloudStack for which it
was released or found to work with. Proposed name-version syntax is:
   cloudmonkey-<CloudStack version>-<cloudmonkey counter, a build number starting
0>
   For example for 4.1.0 it would be, cloudmonkey-4.1.0-0.

- The counter starts at 0 which would be the release that started with a CloudStack release,
the increments of which would be hosted on pypi. Think this way, the official tar ball is
available from apache.org but users installs from community maintained distribution place
which is pypi for our case, just like we distribute  source tarballs from apache.org but we've
apt/yum repos as well which are community maintained (someone in the community maintains that).

- The release cycles for cloudmonkey may be frequent, in that case it does not make sense
to release it along with CloudStack only. So, the proposal is to release the 0 (gold) version
(cloudmonkey-4.1.0-0 for ex.) along with CloudStack and host src on both pypi and apache.org
and keep doing community releases on pypi i.e. voted and approved by community with a very
fast release cycle and small voting window (say only 24 hours)

- Who can release? Any committer, PMC member is welcome to join the pypi project as an admin/owner.
On apache.org it would be the PMC members at the time of CloudStack releases.

Suggestions, comments welcome.

Regards.

[0] https://cwiki.apache.org/confluence/display/CLOUDSTACK/CloudStack+cloudmonkey+CLI
[1] http://pypi.python.org/pypi/cloudmonkey
[2] https://issues.apache.org/jira/browse/CLOUDSTACK-132


Mime
View raw message