This is primarily useful for the case where users wish to run the Factory within a virtual machine but are able to grant the Factory the ability to create additional VMs on an external infra like RHEV-M or vSphere.
Both Oz and Factory have hard-coded assumptions that virt image files are local and that the libvirt VMs are run under KVM.
Some adventurous users have demonstrated that we can partly work around this by accessing remote RHEV-M image storage via NFS shares. However, in the general case we may have to allow for the case where we build an image remotely then move the image content back to the Factory server for further modification.
This further modification, both by Oz and within the Factory, uses libguestfs. The libguestfs code gracefully deals with a lack of fast local virt (and it works). However it is of course slower than it would be in the presence of KVM. As far as we know, there is no "remote API" mechanism for libguestfs. We need to use it and it needs to run its "mini guest" locally.
An entirely different approach to this issue would be to actively investigate "nested" virtualization. "Nested KVM" (that is, kvm running efficiently within a kvm guest) is in active development. VMWare also claim some level of efficient support for nesting hypervisors.
This is primarily useful for the case where users wish to run the Factory within a virtual machine but are able to grant the Factory the ability to create additional VMs on an external infra like RHEV-M or vSphere.
Both Oz and Factory have hard-coded assumptions that virt image files are local and that the libvirt VMs are run under KVM.
Some adventurous users have demonstrated that we can partly work around this by accessing remote RHEV-M image storage via NFS shares. However, in the general case we may have to allow for the case where we build an image remotely then move the image content back to the Factory server for further modification.
This further modification, both by Oz and within the Factory, uses libguestfs. The libguestfs code gracefully deals with a lack of fast local virt (and it works). However it is of course slower than it would be in the presence of KVM. As far as we know, there is no "remote API" mechanism for libguestfs. We need to use it and it needs to run its "mini guest" locally.
An entirely different approach to this issue would be to actively investigate "nested" virtualization. "Nested KVM" (that is, kvm running efficiently within a kvm guest) is in active development. VMWare also claim some level of efficient support for nesting hypervisors.