ace-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Marcel Offermans <>
Subject Re: Configuring cloud nodes from the UI
Date Wed, 30 May 2012 07:47:20 GMT
Hello Paul,

On May 28, 2012, at 13:00 , Paul Bakker wrote:

> I just sent a patch (ACE-277 ) with functionality to configure cloud nodes from the UI
before starting them. This was only possible from a configuration file before with the limitation
that you could only launch one type of node (the same hardware, image, bootscript etc.). 
> To support this some refactoring in the NodeLauncher and AmazonNodeLauncher were required
which I would like to discuss here.
> The NodeLauncher interface should be independent of the type of nodes being used (e.g.
cloud nodes, embedded devices etc.). The UI however should contain configuration options specific
for the type of nodes being launched. Configuring cloud nodes using jclouds for example should
support setting a hardware type, private key file, image id etc. Those properties are not
relevant for launching other types of nodes/devices. 
> A new interface NodeLauncherConfig is introduced. This interface is empty because as
described above it's impossible to come up with a list of configuration properties that all
our potential target types support. This way the NodeLauncher interface is still abstract,
while it supports the concept of configuration.
> A NodeLauncher implementation should provide an implementation of NodeLauncher with specific
properties for that kind of nodes it can launch. The AmazonNodeLauncher for example should
provide an implementation with properties reflecting the jclouds API. The NodeLauncher implementation
should cast the NodeLauncher interface to it's specific implementation to do anything useful
with it.
> The UI is also specifically built for a type of node. The current implementation is specifically
built for cloud nodes for example. A NodePanel should therefore also cast the NodeLauncherConfig
to the specific implementation. This doesn't brake abstractions, because the UI is designed
for specific implementation. A new type of node launcher should also provide a new UI. 
> Another thing to improve is changing the AmazonNodeLauncher to a more general JcloudsNodeLauncher
so that it can launch nodes on different clouds. I made some preparations for that in this
patch, and can finalize that work after this patch is applied.

Thanks for this contribution! It sounds very nice. I will look into it a bit more today.

Greetings, Marcel

View raw message