Hi everyone!
A couple of months ago I finished my master thesis. During that thesis I used Puppet to manage clouds as single resources. For instance
torque {'mycloud':
head => ["155.210.XXX.AAA", "/var/tmp/dceresuela/lucid-tor1.img"],
compute => ["/etc/puppet/modules/torque/files/compute-ips.txt",
"/etc/puppet/modules/torque/files/compute-imgs.txt"],
vm_domain => "/etc/puppet/modules/torque/files/mycloud-template.xml",
pool => ["155.210.XXX.BBB"],
ensure => running,
}
would create a TORQUE cloud to execute batch jobs. The idea is to manage clouds as single resources and not as a composition of machine instances and make Puppet manage that cloud. If, for instance, one machine should fail Puppet would create another instance to replace it. I also verified this approach with an AppScale cloud and a web cloud: load balancer, web servers and database server. I used KVM to support the virtual machines.
As I have finished the thesis and I don't know if I am going to work more on this in the near future I just wanted to let you know what I have done in case anyone is interested and wants to work with it (and believe me when I say there is a lot of work to be done). The code is hosted on github:
so feel free to fork it and ask anything.
Thank you!