Skip to content

Commit

Permalink
Implement kubevirt hypervisor and the domainmgr support
Browse files Browse the repository at this point in the history
    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
Pramodh Pallapothu authored and eriknordmark committed Apr 26, 2024
1 parent 574d447 commit 445c0ad
Show file tree
Hide file tree
Showing 90 changed files with 15,792 additions and 5,686 deletions.
2 changes: 1 addition & 1 deletion pkg/edgeview/go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ require (
github.com/coreos/go-semver v0.3.1
github.com/gorilla/websocket v1.4.2
github.com/grandcat/zeroconf v1.0.0
github.com/lf-edge/eve-api/go v0.0.0-20240322135714-a2b011fedf87
github.com/lf-edge/eve-api/go v0.0.0-20240424223403-4feef58259f3
github.com/lf-edge/eve/pkg/pillar v0.0.0-20231025120317-b25d016a16bb
github.com/satori/go.uuid v1.2.1-0.20180404165556-75cca531ea76
github.com/shirou/gopsutil v3.21.11+incompatible
Expand Down
4 changes: 2 additions & 2 deletions pkg/edgeview/go.sum
Original file line number Diff line number Diff line change
Expand Up @@ -524,8 +524,8 @@ github.com/kr/pty v1.1.5/go.mod h1:9r2w37qlBe7rQ6e1fg1S/9xpWHSnaqNdHD3WcMdbPDA=
github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI=
github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY=
github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE=
github.com/lf-edge/eve-api/go v0.0.0-20240322135714-a2b011fedf87 h1:NKYQCrAmkvmYTGgKSYyXdDdFaRvsX9rxLGJQbRKox3U=
github.com/lf-edge/eve-api/go v0.0.0-20240322135714-a2b011fedf87/go.mod h1:ot6MhAhBXapUDl/hXklaX4kY88T3uC4PTg0D2wD8DzA=
github.com/lf-edge/eve-api/go v0.0.0-20240424223403-4feef58259f3 h1:WNtQVWdeyW6E/watqP061MUQjjk3KJ2nytqMqAScztM=
github.com/lf-edge/eve-api/go v0.0.0-20240424223403-4feef58259f3/go.mod h1:ot6MhAhBXapUDl/hXklaX4kY88T3uC4PTg0D2wD8DzA=
github.com/lf-edge/eve/pkg/pillar v0.0.0-20231025120317-b25d016a16bb h1:pbvujlQLA66epNvCGgf4eRSdUTKvYPwU7fzOAltP/9o=
github.com/lf-edge/eve/pkg/pillar v0.0.0-20231025120317-b25d016a16bb/go.mod h1:YuUrK7yQdrSGH3D7auTDYNRgcBGBKGzbcVL5mY4IzrY=
github.com/lyft/protoc-gen-star v0.5.3/go.mod h1:V0xaHgaf5oCCqmcxYcWiDfTiKsZsRc87/1qhoTACD8w=
Expand Down

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Loading

0 comments on commit 445c0ad

Please sign in to comment.