What I ended up doing is using OpenNebula. OpenNebula is a lot more basic,
much easier to set up (got it running in couple hours), has fewer
dependencies and so far works great ie. there is nothing to be installed
on VM hosts. All you need is a controller station with public key SSH
access to VM hosts. I can elaborate more if there is interest.
Flipside of trying out Openstack is that I learned a lot about libvirtd
:-).
Vladimir
http://wiki.openstack.org/NovaInstall/CentOSNotes
as well as how to create your own image
http://wiki.openstack.org/CreatingRHELImages
although these days you can just use a stock KVM image without needing to
bundle kernel and ramdisk images.
I did use Cactus.
Vladimir
Disclaimer: I work for cloud.com on cloudstack, and I co-maintain
openstack-swift in Fedora- so I have biases all over the place.
I think you'll find cloudstack more featureful (at least from a core
project perspective) and probably more easy for end-users once it's up
and running. However you'll also find that it's a bit less
devops-friendly for initial setup. If you look at the work-in-progress
puppet manifest you'll get an inkling of some of the problems that I
am talking about. [0] Some of those problems are being addressed and
they are getting better.
Openstack, while being a bit more devops friendly also has a more
robust ecosystem surrounding it, I saw a rudimentary, functioning nova
cookbook for chef, and understand there are puppet manifests as well.
As an example of the ecosystem-friendliness - looking at storage is a
great example - you'll notice some people talking about sheepdog
support in cloudstack, while at least volume support for sheepdog is
already present in openstack.
--David
[0] https://gitorious.org/cloudstack-puppet/cloudstack-puppet
I've not used CloudFoundry in anger yet, but I have been hacking on it
recently adding Python support [1]. Here are a few impressions.
It's non-rivial to setup and run. Shell scripts and some useful chef
manifests exist, but you really do want to understand how the Ruby
ecosystem works. If you're not familiar with bundler, rvm, gem, etc.
then my guess is you'll run into painful issues.
It doesn't really do anything clever with assets yet, I'd quite like
it to add something like varnish in the same way Heroku has done.
It doesn't yet have a generic approach to running commands, so for
instance running a django migration command or a rake task. If you
know how it's working you can get around this, but in my view it needs
a nice api for this.
The scale out stuff doesn't yet have a solution I'm aware of for the
database side of things, so you'd probably want to manually set up
things like replication. And if you're wanting to do things with
multi-master or master/slave setups you'll have to get into the code.
The lack of a good community discussion place is annoying. The IRC
room is dead (no vmware interaction I'm aware of) and the forum is
more of a support system for the hosted version. The documentation is
also not great. This is probably my biggest bugbear at the moment.
Having said all that I think it's kind of awesome. If you're happy to
read source code the application makes a lot of sense. Adding new
frameworks and services is easy enough too. And the client API is
good. But it's not all install and be happy yet unless your
requirements are very simple.
G
[1] https://github.com/cloudfoundry/vcap/pull/57
--
Gareth Rushgrove
Web Geek
Regarding CloudFoundry I wrote a Puppet module to install it ( http://www.kartar.net/2011/05/install-cloud-foundry-vcap-via-puppet/) but have not seen much action around the non-hosted version recently.
Regards
James
There is a recently released set of Puppet modules for Openstack:
https://github.com/puppetlabs/puppetlabs-openstack
This is something Rackspace, Canonical and us have been working on and
we'd love some feedback, patches welcome, etc.
Regards
James Turnbull
--
Author of:
* Pro Puppet (http://tinyurl.com/ppuppet)
* Pro Linux System Administration (http://tinyurl.com/linuxadmin)
* Pro Nagios 2.0 (http://tinyurl.com/pronagios)
* Hardening Linux (http://tinyurl.com/hardeninglinux)