Operators deploying openstack using openstack currently have to run two clouds: one undercloud using bare metal, and one overcloud that is fully virtualised and runs on the underlying cloud. This is a bit of a pain, as things like quantum really are common - and operator workloads that could be virtualised cannot be.
So - lets figure out whats needed to run a single cloud combining baremetal and virtual hypervisors. (Obvious issues are different default networks depending on hypervisor, and scheduling workloads onto virtual/real machines).