It looks like there is a fundamental issue with the way that oVirt/RHEV has implemented the openstack data source. When the config drive is not available, cloud-init checks to see if it still running on a system that it had previously configured. It does this by checking the system uuid against the available uuids in /var/lib/cloud/instances.
It appears that when oVirt generates an instance id for meta-data.json, it does not update the host DMI data to match that value. This means that cloud-init has no way to tell whether this was a previously configured system (in which case it should just use cached information) or a new system (in which case it should activate a default network configuration in order to search for new data sources).