A lazy reading on the web seems to suggest that the grass isn’t any more greener in the OpenStack camp when handling KVM host failures. See this earlier blog post for context.
A minimal CloudStack deployment has one zone, one pod and one cluster running with a single shared NFS primary storage. The shared storage hosts the virtual disks for all instances running on the same cluster.
Multiple instance of different types and workloads are hosted on the same cluster. Instances running disk bound workloads like database services compete with instances running CPU/Memory bound tasks like application services. This can lead to unpredictable IO performance as instances are competing for the same shared disk resources. As load increases on the storage server, disk performance on all instances start to degrade.