Unfortunately there is no formal documentation that explains the Whirr core
but let me try to give you a quick overview:

* the deployment of a cluster is a multi-phase process
* the architecture is described using a cluster specification stored as a
.properties file. This file has both role assignments and configuration
properties for each service as needed

* before 0.8.0 we only had 3 phases: bootstrap (install), configure, destroy
* in 0.8.0 we want to improve the cluster management capabilities by adding
start, stop, cleanup (uninstall)

* we are making extensive use of jclouds for machine provisioning and
script execution
* we are using the compute and the blobstore APIs

* in the bootstrap phase we make machine provisioning requests and we
execute the bootstrap / service install scripts
* the bootstrap phase is resilient to machine failure
* this is the phase you need to change to be able to make use of cluster
compute instances and placement groups
* see
https://github.com/apache/whirr/blob/trunk/core/src/main/java/org/apache/whirr/compute/BootstrapTemplate.java

* in the configure phase we usually generate configuration files based on
machine IPs and hostnames
* we ship those files and a set of scripts in parallel for execution on the
cluster machines

I am sure you will have more questions as you go through the code and we
are available to answer them either on the email list or on IRC at #whirr
(freenode).

To understand the structure of a service you can check the following
presentations:
https://cwiki.apache.org/confluence/display/WHIRR/Presentations

... and the implementation for a simple one (e.g. elasticsearch or
zookeeper).

-- Andrei Savu / andreisavu.ro

On Wed, Mar 21, 2012 at 9:56 PM, Sean Zhang <[email protected]> wrote:

> Is there some high level design document for the project? I would like to
> read something before start digging into the code. anything you can suggest?
>
> Thanks,
> Sean
>
>
> On Wed, Mar 21, 2012 at 3:53 PM, Andrei Savu <[email protected]>wrote:
>
>>
>> On Wed, Mar 21, 2012 at 8:49 PM, Sean Zhang <[email protected]> wrote:
>>
>>> could it be something related to:
>>> https://issues.apache.org/jira/browse/WHIRR-63
>>>
>>
>> I think you may be right but I'm not sure - I've never tried to start a
>> cluster compute instance before.
>>
>> You are more than welcome to lead the effort of making #63 a reality! :)
>>
>
>

Reply via email to