Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Implement kubevirt hypervisor and the domainmgr support
1) Add Kubevirt hypervisor type in hypervisor.go 2) Since both kvm and kubevirt use /dev/kvm, we will filter the enabled hypervisor by flag isHVTypeKube 3) kubevirt.go implements the hypervisor interface for kubevirt hypervisor 4) Support for VMs, containers as a VM and also launch containers as kubernetes pods if virtualization type NOHYPER is chosen. 5) hostdevices PCIe passthrough is supported for NVMe disks, USB and Network interfaces. 5) Add hvTypeKube to domainmgr context 6) Domainmgr waits until kubernetes is ready for kubevirt type, cleans up any stale VM instances during startup. 7) Metrics collection uses kubernetes metrics collection mechanism for both VMs and containers (pods), but uses the existing domainmetrics structures to be inconsistent with other flavors of eve 8) Added 3 more states in the types.go PENDING, SCHEDULING and FAILED. NOTE: This PR contains code written by Naiming Shen too. Especially pod specific and also the metrics collection part. 9) This commit is squash of all commits after addressing review comments Signed-off-by: Pramodh Pallapothu <pramodh@zededa.com>
- Loading branch information