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

Reply via email to