Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion cmd/fake-cmd-server/BUILD.bazel
Original file line number Diff line number Diff line change
Expand Up @@ -7,8 +7,8 @@ go_library(
visibility = ["//visibility:private"],
deps = [
"//pkg/virt-handler/cmd-client:go_default_library",
"//pkg/virt-launcher-libvirt-qemu/virtwrap/agent:go_default_library",
"//pkg/virt-launcher/virtwrap:go_default_library",
"//pkg/virt-launcher/virtwrap/agent:go_default_library",
"//pkg/virt-launcher/virtwrap/cmd-server:go_default_library",
"//staging/src/kubevirt.io/client-go/log:go_default_library",
"//vendor/github.com/spf13/pflag:go_default_library",
Expand Down
2 changes: 1 addition & 1 deletion cmd/fake-cmd-server/fake-cmd-server.go
Original file line number Diff line number Diff line change
Expand Up @@ -10,8 +10,8 @@ import (
"kubevirt.io/client-go/log"

cmdclient "kubevirt.io/kubevirt/pkg/virt-handler/cmd-client"
"kubevirt.io/kubevirt/pkg/virt-launcher-libvirt-qemu/virtwrap/agent"
"kubevirt.io/kubevirt/pkg/virt-launcher/virtwrap"
"kubevirt.io/kubevirt/pkg/virt-launcher/virtwrap/agent"
cmdserver "kubevirt.io/kubevirt/pkg/virt-launcher/virtwrap/cmd-server"
)

Expand Down
2 changes: 1 addition & 1 deletion cmd/sidecars/network-passt-binding/domain/BUILD.bazel
Original file line number Diff line number Diff line change
Expand Up @@ -10,8 +10,8 @@ go_library(
"//pkg/network/istio:go_default_library",
"//pkg/network/namescheme:go_default_library",
"//pkg/network/vmispec:go_default_library",
"//pkg/virt-launcher-libvirt-qemu/virtwrap/device:go_default_library",
"//pkg/virt-launcher/virtwrap/api:go_default_library",
"//pkg/virt-launcher/virtwrap/device:go_default_library",
"//staging/src/kubevirt.io/api/core/v1:go_default_library",
"//staging/src/kubevirt.io/client-go/log:go_default_library",
"//vendor/github.com/vishvananda/netlink:go_default_library",
Expand Down
2 changes: 1 addition & 1 deletion cmd/sidecars/network-passt-binding/domain/configurator.go
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ import (
"kubevirt.io/client-go/log"

"kubevirt.io/kubevirt/pkg/network/istio"
"kubevirt.io/kubevirt/pkg/virt-launcher/virtwrap/device"
"kubevirt.io/kubevirt/pkg/virt-launcher-libvirt-qemu/virtwrap/device"

"kubevirt.io/kubevirt/pkg/network/driver/netlink"
"kubevirt.io/kubevirt/pkg/network/namescheme"
Expand Down
10 changes: 6 additions & 4 deletions cmd/virt-launcher/BUILD.bazel
Original file line number Diff line number Diff line change
Expand Up @@ -27,15 +27,17 @@ go_library(
"//pkg/util:go_default_library",
"//pkg/virt-config:go_default_library",
"//pkg/virt-handler/cmd-client:go_default_library",
"//pkg/virt-launcher:go_default_library",
"//pkg/virt-launcher-libvirt-qemu:go_default_library",
"//pkg/virt-launcher-libvirt-qemu/notify-client:go_default_library",
"//pkg/virt-launcher-libvirt-qemu/virtwrap:go_default_library",
"//pkg/virt-launcher-libvirt-qemu/virtwrap/agent-poller:go_default_library",
"//pkg/virt-launcher-libvirt-qemu/virtwrap/cli:go_default_library",
"//pkg/virt-launcher-libvirt-qemu/virtwrap/util:go_default_library",
"//pkg/virt-launcher/metadata:go_default_library",
"//pkg/virt-launcher/notify-client:go_default_library",
"//pkg/virt-launcher/virtwrap:go_default_library",
"//pkg/virt-launcher/virtwrap/agent-poller:go_default_library",
"//pkg/virt-launcher/virtwrap/api:go_default_library",
"//pkg/virt-launcher/virtwrap/cli:go_default_library",
"//pkg/virt-launcher/virtwrap/cmd-server:go_default_library",
"//pkg/virt-launcher/virtwrap/util:go_default_library",
"//staging/src/kubevirt.io/api/core/v1:go_default_library",
"//staging/src/kubevirt.io/client-go/log:go_default_library",
"//vendor/github.com/spf13/pflag:go_default_library",
Expand Down
40 changes: 21 additions & 19 deletions cmd/virt-launcher/virt-launcher.go
Original file line number Diff line number Diff line change
Expand Up @@ -51,15 +51,17 @@ import (
putil "kubevirt.io/kubevirt/pkg/util"
virtconfig "kubevirt.io/kubevirt/pkg/virt-config"
cmdclient "kubevirt.io/kubevirt/pkg/virt-handler/cmd-client"
virtlauncher "kubevirt.io/kubevirt/pkg/virt-launcher"
virtlauncherlibvirtqemu "kubevirt.io/kubevirt/pkg/virt-launcher-libvirt-qemu"
notifyclient "kubevirt.io/kubevirt/pkg/virt-launcher-libvirt-qemu/notify-client"
virtwraplibvirtqemu "kubevirt.io/kubevirt/pkg/virt-launcher-libvirt-qemu/virtwrap"
agentpoller "kubevirt.io/kubevirt/pkg/virt-launcher-libvirt-qemu/virtwrap/agent-poller"
virtcli "kubevirt.io/kubevirt/pkg/virt-launcher-libvirt-qemu/virtwrap/cli"
"kubevirt.io/kubevirt/pkg/virt-launcher-libvirt-qemu/virtwrap/util"
"kubevirt.io/kubevirt/pkg/virt-launcher/metadata"
notifyclient "kubevirt.io/kubevirt/pkg/virt-launcher/notify-client"
notifyclientcommon "kubevirt.io/kubevirt/pkg/virt-launcher/notify-client"
"kubevirt.io/kubevirt/pkg/virt-launcher/virtwrap"
agentpoller "kubevirt.io/kubevirt/pkg/virt-launcher/virtwrap/agent-poller"
"kubevirt.io/kubevirt/pkg/virt-launcher/virtwrap/api"
virtcli "kubevirt.io/kubevirt/pkg/virt-launcher/virtwrap/cli"
cmdserver "kubevirt.io/kubevirt/pkg/virt-launcher/virtwrap/cmd-server"
"kubevirt.io/kubevirt/pkg/virt-launcher/virtwrap/util"
)

const defaultStartTimeout = 3 * time.Minute
Expand Down Expand Up @@ -129,7 +131,7 @@ func createLibvirtConnection(runWithNonRoot bool) virtcli.Connection {
}

func startDomainEventMonitoring(
notifier *notifyclient.Notifier,
notifier *notifyclientcommon.NotifyClient,
domainConn virtcli.Connection,
deleteNotificationSent chan watch.Event,
vmi *v1.VirtualMachineInstance,
Expand All @@ -151,7 +153,7 @@ func startDomainEventMonitoring(
}
}()

err := notifier.StartDomainNotifier(domainConn, deleteNotificationSent, vmi, domainName, agentStore, qemuAgentSysInterval, qemuAgentFileInterval, qemuAgentUserInterval, qemuAgentVersionInterval, qemuAgentFSFreezeStatusInterval, metadataCache)
err := notifyclient.StartLibvirtNotifier(notifier, domainConn, deleteNotificationSent, vmi, domainName, agentStore, qemuAgentSysInterval, qemuAgentFileInterval, qemuAgentUserInterval, qemuAgentVersionInterval, qemuAgentFSFreezeStatusInterval, metadataCache)
if err != nil {
panic(err)
}
Expand All @@ -166,7 +168,7 @@ func initializeDirs(ephemeralDiskDir string,
mask := syscall.Umask(0)
defer syscall.Umask(mask)

err := virtlauncher.InitializePrivateDirectories(filepath.Join("/var/run/kubevirt-private", uid))
err := virtlauncherlibvirtqemu.InitializePrivateDirectories(filepath.Join("/var/run/kubevirt-private", uid))
if err != nil {
panic(err)
}
Expand All @@ -191,37 +193,37 @@ func initializeDirs(ephemeralDiskDir string,
panic(err)
}

err = virtlauncher.InitializeDisksDirectories(filepath.Join("/var/run/kubevirt-private", "vm-disks"))
err = virtlauncherlibvirtqemu.InitializeDisksDirectories(filepath.Join("/var/run/kubevirt-private", "vm-disks"))
if err != nil {
panic(err)
}

err = virtlauncher.InitializeDisksDirectories(config.ConfigMapDisksDir)
err = virtlauncherlibvirtqemu.InitializeDisksDirectories(config.ConfigMapDisksDir)
if err != nil {
panic(err)
}

err = virtlauncher.InitializeDisksDirectories(config.SysprepDisksDir)
err = virtlauncherlibvirtqemu.InitializeDisksDirectories(config.SysprepDisksDir)
if err != nil {
panic(err)
}

err = virtlauncher.InitializeDisksDirectories(config.SecretDisksDir)
err = virtlauncherlibvirtqemu.InitializeDisksDirectories(config.SecretDisksDir)
if err != nil {
panic(err)
}

err = virtlauncher.InitializeDisksDirectories(config.DownwardAPIDisksDir)
err = virtlauncherlibvirtqemu.InitializeDisksDirectories(config.DownwardAPIDisksDir)
if err != nil {
panic(err)
}

err = virtlauncher.InitializeDisksDirectories(config.ServiceAccountDiskDir)
err = virtlauncherlibvirtqemu.InitializeDisksDirectories(config.ServiceAccountDiskDir)
if err != nil {
panic(err)
}

err = virtlauncher.InitializeDisksDirectories(downwardmetrics.DownwardMetricsChannelDir)
err = virtlauncherlibvirtqemu.InitializeDisksDirectories(downwardmetrics.DownwardMetricsChannelDir)
if err != nil {
panic(err)
}
Expand Down Expand Up @@ -378,7 +380,7 @@ func main() {
initializeDirs(*ephemeralDiskDir, *containerDiskDir, *hotplugDiskDir, *uid)

if !*runWithNonRoot {
err := virtlauncher.InitializeConsoleLogFile(filepath.Join("/var/run/kubevirt-private", *uid))
err := virtlauncherlibvirtqemu.InitializeConsoleLogFile(filepath.Join("/var/run/kubevirt-private", *uid))
if err != nil {
panic(err)
}
Expand Down Expand Up @@ -422,13 +424,13 @@ func main() {

var agentStore = agentpoller.NewAsyncAgentStore()

notifier := notifyclient.NewNotifier(*virtShareDir)
notifier := notifyclientcommon.NewNotifyClient(*virtShareDir)
defer notifier.Close()

metadataCache := metadata.NewCache()

signalStopChan := make(chan struct{})
domainManager, err := virtwrap.NewLibvirtDomainManager(domainConn, *virtShareDir, *ephemeralDiskDir, &agentStore, *ovmfPath, ephemeralDiskCreator, metadataCache, signalStopChan, *diskMemoryLimitBytes, util.GetPodCPUSet, *imageVolumeEnabled)
domainManager, err := virtwraplibvirtqemu.NewLibvirtDomainManager(domainConn, *virtShareDir, *ephemeralDiskDir, &agentStore, *ovmfPath, ephemeralDiskCreator, metadataCache, signalStopChan, *diskMemoryLimitBytes, util.GetPodCPUSet, *imageVolumeEnabled)
if err != nil {
panic(err)
}
Expand Down Expand Up @@ -488,7 +490,7 @@ func main() {
} else {
pidDir = "/run/libvirt/qemu"
}
mon := virtlauncher.NewProcessMonitor(domainName,
mon := virtlauncherlibvirtqemu.NewProcessMonitor(domainName,
pidDir,
*gracePeriodSeconds,
finalShutdownCallback,
Expand Down
2 changes: 2 additions & 0 deletions nogo_config.json
Original file line number Diff line number Diff line change
Expand Up @@ -133,6 +133,7 @@
"exclude_files": {
"pkg/.*_test\\.go": "unit tests are allowed to use banned imports",
"vendor/": "vendor doesn't pass bannedAPI",
"pkg/virt-launcher-libvirt-qemu/": "KubeVirt virt-launcher-libvirt-qemu pkg does not pass bannedAPI yet",
"external/": "external doesn't pass bannedAPI"
}
},
Expand Down Expand Up @@ -165,6 +166,7 @@
"pkg/virt-api/": "KubeVirt virt-api pkg does not pass errcheck yet",
"pkg/virt-handler/": "KubeVirt virt-handler pkg does not pass errcheck yet",
"pkg/virt-launcher/": "KubeVirt virt-launcher pkg does not pass errcheck yet",
"pkg/virt-launcher-libvirt-qemu/": "KubeVirt virt-launcher-libvirt-qemu pkg does not pass errcheck yet",
"pkg/virt-operator/": "KubeVirt virt-operator pkg does not pass errcheck yet",
"pkg/virtctl/": "KubeVirt virtctl pkg does not pass errcheck yet",
"cmd/": "KubeVirt binaries do not pass errcheck yet",
Expand Down
4 changes: 2 additions & 2 deletions pkg/liveupdate/memory/BUILD.bazel
Original file line number Diff line number Diff line change
Expand Up @@ -6,8 +6,8 @@ go_library(
importpath = "kubevirt.io/kubevirt/pkg/liveupdate/memory",
visibility = ["//visibility:public"],
deps = [
"//pkg/virt-launcher:go_default_library",
"//pkg/virt-launcher/virtwrap/api:go_default_library",
"//pkg/virt-launcher/virtwrap/converter/vcpu:go_default_library",
"//staging/src/kubevirt.io/api/core/v1:go_default_library",
"//vendor/k8s.io/apimachinery/pkg/api/resource:go_default_library",
],
Expand All @@ -22,8 +22,8 @@ go_test(
embed = [":go_default_library"],
deps = [
"//pkg/libvmi:go_default_library",
"//pkg/virt-launcher:go_default_library",
"//pkg/virt-launcher/virtwrap/api:go_default_library",
"//pkg/virt-launcher/virtwrap/converter/vcpu:go_default_library",
"//staging/src/kubevirt.io/api/core/v1:go_default_library",
"//staging/src/kubevirt.io/client-go/testutils:go_default_library",
"//vendor/github.com/onsi/ginkgo/v2:go_default_library",
Expand Down
7 changes: 4 additions & 3 deletions pkg/liveupdate/memory/memory.go
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,8 @@ import (
v1 "kubevirt.io/api/core/v1"

"kubevirt.io/kubevirt/pkg/virt-launcher/virtwrap/api"
"kubevirt.io/kubevirt/pkg/virt-launcher/virtwrap/converter/vcpu"

virtlauncher "kubevirt.io/kubevirt/pkg/virt-launcher"

"k8s.io/apimachinery/pkg/api/resource"
)
Expand Down Expand Up @@ -112,14 +113,14 @@ func BuildMemoryDevice(vmi *v1.VirtualMachineInstance) (*api.MemoryDevice, error

pluggableMemory := domain.Memory.MaxGuest.DeepCopy()
pluggableMemory.Sub(*vmi.Status.Memory.GuestAtBoot)
pluggableMemorySize, err := vcpu.QuantityToByte(pluggableMemory)
pluggableMemorySize, err := virtlauncher.QuantityToByte(pluggableMemory)
if err != nil {
return nil, err
}

requestedHotPlugMemory := domain.Memory.Guest.DeepCopy()
requestedHotPlugMemory.Sub(*vmi.Status.Memory.GuestAtBoot)
pluggableMemoryRequested, err := vcpu.QuantityToByte(requestedHotPlugMemory)
pluggableMemoryRequested, err := virtlauncher.QuantityToByte(requestedHotPlugMemory)
if err != nil {
return nil, err
}
Expand Down
8 changes: 4 additions & 4 deletions pkg/liveupdate/memory/memory_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -28,8 +28,8 @@ import (

"kubevirt.io/kubevirt/pkg/libvmi"
"kubevirt.io/kubevirt/pkg/liveupdate/memory"
virtlauncher "kubevirt.io/kubevirt/pkg/virt-launcher"
"kubevirt.io/kubevirt/pkg/virt-launcher/virtwrap/api"
"kubevirt.io/kubevirt/pkg/virt-launcher/virtwrap/converter/vcpu"
)

var _ = Describe("LiveUpdate Memory", func() {
Expand Down Expand Up @@ -109,18 +109,18 @@ var _ = Describe("LiveUpdate Memory", func() {
memoryDevice, err := memory.BuildMemoryDevice(vmi)
Expect(err).ToNot(HaveOccurred())

size, err := vcpu.QuantityToByte(resource.MustParse("192Mi"))
size, err := virtlauncher.QuantityToByte(resource.MustParse("192Mi"))
Expect(err).ToNot(HaveOccurred())

requested, err := vcpu.QuantityToByte(resource.MustParse("64Mi"))
requested, err := virtlauncher.QuantityToByte(resource.MustParse("64Mi"))
Expect(err).ToNot(HaveOccurred())

block := api.Memory{Unit: "b", Value: uint64(memory.HotplugBlockAlignmentBytes)}

hugepages := vmi.Spec.Domain.Memory.Hugepages
if hugepages != nil {
var err error
block, err = vcpu.QuantityToByte(resource.MustParse(hugepages.PageSize))
block, err = virtlauncher.QuantityToByte(resource.MustParse(hugepages.PageSize))
Expect(err).ToNot(HaveOccurred())
}
Expect(err).ToNot(HaveOccurred())
Expand Down
2 changes: 1 addition & 1 deletion pkg/network/setup/BUILD.bazel
Original file line number Diff line number Diff line change
Expand Up @@ -26,8 +26,8 @@ go_library(
"//pkg/network/setup/netpod/masquerade:go_default_library",
"//pkg/network/vmispec:go_default_library",
"//pkg/util:go_default_library",
"//pkg/virt-launcher:go_default_library",
"//pkg/virt-launcher/virtwrap/api:go_default_library",
"//pkg/virt-launcher/virtwrap/converter:go_default_library",
"//staging/src/kubevirt.io/api/core/v1:go_default_library",
"//staging/src/kubevirt.io/client-go/log:go_default_library",
"//staging/src/kubevirt.io/client-go/precond:go_default_library",
Expand Down
4 changes: 2 additions & 2 deletions pkg/network/setup/netconf.go
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ import (
v1 "kubevirt.io/api/core/v1"

"kubevirt.io/kubevirt/pkg/util"
"kubevirt.io/kubevirt/pkg/virt-launcher/virtwrap/converter"
virtlauncher "kubevirt.io/kubevirt/pkg/virt-launcher"

"kubevirt.io/kubevirt/pkg/network/cache"
netdriver "kubevirt.io/kubevirt/pkg/network/driver"
Expand Down Expand Up @@ -104,7 +104,7 @@ func (c *NetConf) Setup(vmi *v1.VirtualMachineInstance, networks []v1.Network, l
if util.IsNonRootVMI(vmi) {
ownerID = util.NonRootUID
}
queuesCapacity := int(converter.NetworkQueuesCapacity(vmi))
queuesCapacity := int(virtlauncher.NetworkQueuesCapacity(vmi))
netpod := netpod.NewNetPod(
networks,
vmispec.FilterInterfacesByNetworks(vmi.Spec.Domain.Devices.Interfaces, networks),
Expand Down
2 changes: 1 addition & 1 deletion pkg/virt-handler/cache/cache_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -414,7 +414,7 @@ var _ = Describe("Domain informer", func() {
runInformer(wg, stopChan, informer)
cache.WaitForCacheSync(stopChan, informer.HasSynced)

client := notifyclient.NewNotifier(shareDir)
client := notifyclient.NewNotifyClient(shareDir)

// verify add
err := client.SendDomainEvent(watch.Event{Type: watch.Added, Object: domain})
Expand Down
8 changes: 4 additions & 4 deletions pkg/virt-handler/vm_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -3703,7 +3703,7 @@ var _ = Describe("DomainNotifyServerRestarts", func() {
var domainPipeStopChan chan struct{}
var stoppedPipe bool
var eventChan chan watch.Event
var client *notifyclient.Notifier
var client *notifyclient.NotifyClient
var recorder *record.FakeRecorder
var vmiStore cache.Store

Expand Down Expand Up @@ -3762,7 +3762,7 @@ var _ = Describe("DomainNotifyServerRestarts", func() {
handleDomainNotifyPipe(domainPipeStopChan, listener, shareDir, vmi)
time.Sleep(1)

client = notifyclient.NewNotifier(pipeDir)
client = notifyclient.NewNotifyClient(pipeDir)

err = client.SendK8sEvent(vmi, eventType, eventReason, eventMessage)
Expect(err).ToNot(HaveOccurred())
Expand Down Expand Up @@ -3794,7 +3794,7 @@ var _ = Describe("DomainNotifyServerRestarts", func() {
Expect(err).ToNot(HaveOccurred())

// Client should fail when pipe is offline
client = notifyclient.NewNotifier(pipeDir)
client = notifyclient.NewNotifyClient(pipeDir)

client.SetCustomTimeouts(1*time.Second, 1*time.Second, 3*time.Second)

Expand Down Expand Up @@ -3834,7 +3834,7 @@ var _ = Describe("DomainNotifyServerRestarts", func() {
handleDomainNotifyPipe(domainPipeStopChan, listener, shareDir, vmi)
time.Sleep(1)

client = notifyclient.NewNotifier(pipeDir)
client = notifyclient.NewNotifyClient(pipeDir)

for i := 1; i < 5; i++ {
// close and wait for server to stop
Expand Down
34 changes: 34 additions & 0 deletions pkg/virt-launcher-libvirt-qemu/BUILD.bazel
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
load("@io_bazel_rules_go//go:def.bzl", "go_library", "go_test")

go_library(
name = "go_default_library",
srcs = ["monitor.go"],
importpath = "kubevirt.io/kubevirt/pkg/virt-launcher-libvirt-qemu",
visibility = ["//visibility:public"],
deps = [
"//pkg/ephemeral-disk-utils:go_default_library",
"//pkg/util:go_default_library",
"//pkg/virt-launcher/virtwrap/cmd-server:go_default_library",
"//staging/src/kubevirt.io/client-go/log:go_default_library",
],
)

go_test(
name = "go_default_test",
srcs = [
"monitor_test.go",
"virt_launcher_suite_test.go",
],
args = [
"--fake-qemu-binary-path",
"$(location //cmd/fake-qemu-process)",
],
data = ["//cmd/fake-qemu-process"],
embed = [":go_default_library"],
deps = [
"//staging/src/kubevirt.io/client-go/testutils:go_default_library",
"//vendor/github.com/google/uuid:go_default_library",
"//vendor/github.com/onsi/ginkgo/v2:go_default_library",
"//vendor/github.com/onsi/gomega:go_default_library",
],
)
File renamed without changes.
File renamed without changes.
Loading