-
Story
-
Resolution: Done
-
Normal
-
None
-
None
Currently, when kubevirt calls the libvirt live migration API, a check is performed
to ensure the target is a shared fs (nfs/cephfs etc).
This was found to be a problem with Portworx, where the target is an extv4 shared fs that fails this validation.
To get around this today, Portworx subcomponent stork is injecting LD_PRELOAD into virt-launcher to intercept the libvirt statfs call and "lie" to it:
https://github.com/libopenstorage/stork/pull/1117
This is of course a bit cumbersome and may or may not cause issues in the future
We would like to attempt to solve this issue more seamlessly,
with the idea as follows:
- libvirt gains a new flag in https://libvirt.org/html/libvirt-libvirt-domain.html#virDomainMigrateFlags that tells it to ignore the shared fs check.
- Once that exists, KubeVirt can pass it unconditionally to the migrate call,
since in the k8s/kubevirt context, we already know that the fs is shared (an RWX FS PVC)