I recently evaluated ovirt in a small business context, and one of the stumbling blocks was, "how do I specify which VMs should be automatically run at boot time, and how do I control the order in which they boot?" The current answer to that with ovirt is in effect: "Well, we expect you to have a highly-availble bunch of management nodes which will simply remember what the set of currently running VMs ought to be. If that doesn't float your boat, maybe you should use the API and roll your own control system."
From a small business context this basically amounts to: No.
Note that this is not a serious criticism of ovirt. A project has finite resource, there's only so many things they can focus on at one time, I fully expect that things will improve over time, and the stuff that is there installs and runs very smoothly.
I was following this project instead:
http://www.ovirt.org
It is a project that basically lets you manage a set of libvirt based host machines. Nothing cloud scale or anything like that just something for a small business.
Here is the architecture. It is too bad this doesn't get more press as it seems simpler and easier to understand.
http://www.ovirt.org/Architecture