Skip to content

Commit

Permalink
Merge pull request kubevirt#6107 from qinqon/mv-launcher-net-to-pkg-net
Browse files Browse the repository at this point in the history
Move network code from ./pkg/virt-launcher under ./pkg/network
  • Loading branch information
kubevirt-bot authored Aug 3, 2021
2 parents 47bc67f + c84eaa0 commit 962aabb
Show file tree
Hide file tree
Showing 33 changed files with 55 additions and 80 deletions.
8 changes: 0 additions & 8 deletions pkg/network/BUILD.bazel
Original file line number Diff line number Diff line change
@@ -1,8 +0,0 @@
load("@io_bazel_rules_go//go:def.bzl", "go_library")

go_library(
name = "go_default_library",
srcs = ["reserved_macs.go"],
importpath = "kubevirt.io/kubevirt/pkg/network",
visibility = ["//visibility:public"],
)
Original file line number Diff line number Diff line change
Expand Up @@ -3,11 +3,10 @@ load("@io_bazel_rules_go//go:def.bzl", "go_library", "go_test")
go_library(
name = "go_default_library",
srcs = [
"dhcp.go",
"ethtool.go",
"server.go",
"socket_listener.go",
],
importpath = "kubevirt.io/kubevirt/pkg/virt-launcher/virtwrap/network/dhcp",
importpath = "kubevirt.io/kubevirt/pkg/network/dhcp/server",
visibility = ["//visibility:public"],
deps = [
"//staging/src/kubevirt.io/client-go/api/v1:go_default_library",
Expand All @@ -22,8 +21,8 @@ go_library(
go_test(
name = "go_default_test",
srcs = [
"dhcp_suite_test.go",
"dhcp_test.go",
"server_suite_test.go",
"server_test.go",
],
embed = [":go_default_library"],
deps = [
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@
*
*/

package dhcp
package server

import (
"bytes"
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package dhcp
package server

import (
"testing"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@
*
*/

package dhcp
package server

import (
"net"
Expand All @@ -30,7 +30,7 @@ import (
v1 "kubevirt.io/client-go/api/v1"
)

var _ = Describe("DHCP", func() {
var _ = Describe("DHCP Server", func() {

Context("check routes", func() {
It("verify should form correctly", func() {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@
* Copyright 2020 Red Hat, Inc.
*
*/
package dhcp
package server

import (
"context"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,9 +4,9 @@ go_library(
name = "go_default_library",
srcs = [
"conn.go",
"dhcpv6.go",
"serverv6.go",
],
importpath = "kubevirt.io/kubevirt/pkg/virt-launcher/virtwrap/network/dhcpv6",
importpath = "kubevirt.io/kubevirt/pkg/network/dhcp/serverv6",
visibility = ["//visibility:public"],
deps = [
"//staging/src/kubevirt.io/client-go/log:go_default_library",
Expand All @@ -20,8 +20,8 @@ go_library(
go_test(
name = "go_default_test",
srcs = [
"dhcpv6_suite_test.go",
"dhcpv6_test.go",
"serverv6_suite_test.go",
"serverv6_test.go",
],
embed = [":go_default_library"],
deps = [
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@
* Copyright 2020 Red Hat, Inc.
*
*/
package dhcpv6
package serverv6

import (
"fmt"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@
*
*/

package dhcpv6
package serverv6

import (
"fmt"
Expand Down
11 changes: 11 additions & 0 deletions pkg/network/dhcp/serverv6/serverv6_suite_test.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
package serverv6_test

import (
"testing"

"kubevirt.io/client-go/testutils"
)

func TestServerv6(t *testing.T) {
testutils.KubeVirtTestSuiteSetup(t)
}
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@
*
*/

package dhcpv6
package serverv6

import (
"net"
Expand Down
5 changes: 3 additions & 2 deletions pkg/network/driver/BUILD.bazel
Original file line number Diff line number Diff line change
Expand Up @@ -10,11 +10,12 @@ go_library(
visibility = ["//visibility:public"],
deps = [
"//pkg/network/cache:go_default_library",
"//pkg/network/dhcp/server:go_default_library",
"//pkg/network/dhcp/serverv6:go_default_library",
"//pkg/network/link:go_default_library",
"//pkg/util/sysctl:go_default_library",
"//pkg/virt-handler/selinux:go_default_library",
"//pkg/virt-launcher/virtwrap/converter:go_default_library",
"//pkg/virt-launcher/virtwrap/network/dhcp:go_default_library",
"//pkg/virt-launcher/virtwrap/network/dhcpv6:go_default_library",
"//staging/src/kubevirt.io/client-go/api/v1:go_default_library",
"//staging/src/kubevirt.io/client-go/log:go_default_library",
"//vendor/github.com/coreos/go-iptables/iptables:go_default_library",
Expand Down
11 changes: 6 additions & 5 deletions pkg/network/driver/common.go
Original file line number Diff line number Diff line change
Expand Up @@ -40,9 +40,10 @@ import (
v1 "kubevirt.io/client-go/api/v1"
"kubevirt.io/client-go/log"
"kubevirt.io/kubevirt/pkg/network/cache"
dhcpserver "kubevirt.io/kubevirt/pkg/network/dhcp/server"
dhcpserverv6 "kubevirt.io/kubevirt/pkg/network/dhcp/serverv6"
"kubevirt.io/kubevirt/pkg/network/link"
"kubevirt.io/kubevirt/pkg/virt-handler/selinux"
"kubevirt.io/kubevirt/pkg/virt-launcher/virtwrap/network/dhcp"
"kubevirt.io/kubevirt/pkg/virt-launcher/virtwrap/network/dhcpv6"
)

const (
Expand Down Expand Up @@ -431,7 +432,7 @@ func (h *NetworkUtilsHandler) BindTapDeviceToBridge(tapName string, bridgeName s
}

func (h *NetworkUtilsHandler) DisableTXOffloadChecksum(ifaceName string) error {
if err := dhcp.EthtoolTXOff(ifaceName); err != nil {
if err := link.EthtoolTXOff(ifaceName); err != nil {
log.Log.Reason(err).Errorf("Failed to set tx offload for interface %s off", ifaceName)
return err
}
Expand All @@ -440,8 +441,8 @@ func (h *NetworkUtilsHandler) DisableTXOffloadChecksum(ifaceName string) error {
}

// Allow mocking for tests
var DHCPServer = dhcp.SingleClientDHCPServer
var DHCPv6Server = dhcpv6.SingleClientDHCPv6Server
var DHCPServer = dhcpserver.SingleClientDHCPServer
var DHCPv6Server = dhcpserverv6.SingleClientDHCPv6Server

// filter out irrelevant routes
func FilterPodNetworkRoutes(routes []netlink.Route, nic *cache.DHCPConfig) (filteredRoutes []netlink.Route) {
Expand Down
1 change: 0 additions & 1 deletion pkg/network/infraconfigurators/BUILD.bazel
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,6 @@ go_library(
importpath = "kubevirt.io/kubevirt/pkg/network/infraconfigurators",
visibility = ["//visibility:public"],
deps = [
"//pkg/network:go_default_library",
"//pkg/network/cache:go_default_library",
"//pkg/network/driver:go_default_library",
"//pkg/network/istio:go_default_library",
Expand Down
4 changes: 2 additions & 2 deletions pkg/network/infraconfigurators/masquerade.go
Original file line number Diff line number Diff line change
Expand Up @@ -11,10 +11,10 @@ import (

v1 "kubevirt.io/client-go/api/v1"
"kubevirt.io/client-go/log"
"kubevirt.io/kubevirt/pkg/network"
"kubevirt.io/kubevirt/pkg/network/cache"
netdriver "kubevirt.io/kubevirt/pkg/network/driver"
"kubevirt.io/kubevirt/pkg/network/istio"
"kubevirt.io/kubevirt/pkg/network/link"
virtnetlink "kubevirt.io/kubevirt/pkg/network/link"
"kubevirt.io/kubevirt/pkg/util"
"kubevirt.io/kubevirt/pkg/virt-launcher/virtwrap/api"
Expand Down Expand Up @@ -144,7 +144,7 @@ func (b *MasqueradePodNetworkConfigurator) GenerateNonRecoverableDomainIfaceSpec
}

func (b *MasqueradePodNetworkConfigurator) createBridge() error {
mac, err := net.ParseMAC(network.StaticMasqueradeBridgeMAC)
mac, err := net.ParseMAC(link.StaticMasqueradeBridgeMAC)
if err != nil {
return err
}
Expand Down
2 changes: 2 additions & 0 deletions pkg/network/link/BUILD.bazel
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,9 @@ go_library(
name = "go_default_library",
srcs = [
"address.go",
"ethtool.go",
"names.go",
"reserved_macs.go",
],
importpath = "kubevirt.io/kubevirt/pkg/network/link",
visibility = ["//visibility:public"],
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package dhcp
package link

// Origin: https://github.com/weaveworks/weave/blob/master/net/ethtool.go

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@
*
*/

package network
package link

const StaticMasqueradeBridgeMAC = "02:00:00:00:00:00"

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ go_library(
"podinterface.go",
"podnic.go",
],
importpath = "kubevirt.io/kubevirt/pkg/virt-launcher/virtwrap/network",
importpath = "kubevirt.io/kubevirt/pkg/network/setup",
visibility = ["//visibility:public"],
deps = [
"//pkg/network/cache:go_default_library",
Expand Down Expand Up @@ -35,13 +35,13 @@ go_test(
embed = [":go_default_library"],
deps = [
"//pkg/ephemeral-disk-utils:go_default_library",
"//pkg/network:go_default_library",
"//pkg/network/cache:go_default_library",
"//pkg/network/dhcp:go_default_library",
"//pkg/network/driver:go_default_library",
"//pkg/network/errors:go_default_library",
"//pkg/network/infraconfigurators:go_default_library",
"//pkg/network/istio:go_default_library",
"//pkg/network/link:go_default_library",
"//pkg/virt-launcher/virtwrap/api:go_default_library",
"//staging/src/kubevirt.io/client-go/api/v1:go_default_library",
"//staging/src/kubevirt.io/client-go/testutils:go_default_library",
Expand Down
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
Original file line number Diff line number Diff line change
Expand Up @@ -36,11 +36,11 @@ import (

v1 "kubevirt.io/client-go/api/v1"
dutils "kubevirt.io/kubevirt/pkg/ephemeral-disk-utils"
"kubevirt.io/kubevirt/pkg/network"
"kubevirt.io/kubevirt/pkg/network/cache"
netdriver "kubevirt.io/kubevirt/pkg/network/driver"
"kubevirt.io/kubevirt/pkg/network/infraconfigurators"
"kubevirt.io/kubevirt/pkg/network/istio"
"kubevirt.io/kubevirt/pkg/network/link"
"kubevirt.io/kubevirt/pkg/virt-launcher/virtwrap/api"
)

Expand Down Expand Up @@ -123,7 +123,7 @@ var _ = Describe("Pod Network", func() {
},
}

masqueradeBridgeMAC, _ := net.ParseMAC(network.StaticMasqueradeBridgeMAC)
masqueradeBridgeMAC, _ := net.ParseMAC(link.StaticMasqueradeBridgeMAC)
masqueradeBridgeTest = &netlink.Bridge{
LinkAttrs: netlink.LinkAttrs{
Name: api.DefaultBridgeName,
Expand Down
File renamed without changes.
File renamed without changes.
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ go_library(
deps = [
"//pkg/controller:go_default_library",
"//pkg/hooks:go_default_library",
"//pkg/network:go_default_library",
"//pkg/network/link:go_default_library",
"//pkg/util/hardware:go_default_library",
"//pkg/util/migrations:go_default_library",
"//pkg/util/types:go_default_library",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ import (

v1 "kubevirt.io/client-go/api/v1"
"kubevirt.io/kubevirt/pkg/hooks"
"kubevirt.io/kubevirt/pkg/network"
"kubevirt.io/kubevirt/pkg/network/link"
hwutil "kubevirt.io/kubevirt/pkg/util/hardware"
webhookutils "kubevirt.io/kubevirt/pkg/util/webhooks"
"kubevirt.io/kubevirt/pkg/virt-api/webhooks"
Expand Down Expand Up @@ -260,7 +260,7 @@ func validateInterfaceNetworkBasics(field *k8sfield.Path, networkExists bool, id
causes = appendStatusCauseForSlirpNotEnabled(field, causes, idx)
} else if iface.Masquerade != nil && networkData.Pod == nil {
causes = appendStatusCauseForMasqueradeWithourPodNetwork(field, causes, idx)
} else if iface.Masquerade != nil && network.IsReserved(iface.MacAddress) {
} else if iface.Masquerade != nil && link.IsReserved(iface.MacAddress) {
causes = appendStatusCauseForInvalidMasqueradeMacAddress(field, causes, idx)
} else if iface.InterfaceBindingMethod.Bridge != nil && networkData.NetworkSource.Pod != nil && !config.IsBridgeInterfaceOnPodNetworkEnabled() {
causes = appendStatusCauseForBridgeNotEnabled(field, causes, idx)
Expand Down
2 changes: 1 addition & 1 deletion pkg/virt-handler/BUILD.bazel
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@ go_library(
"//pkg/host-disk:go_default_library",
"//pkg/network/cache:go_default_library",
"//pkg/network/errors:go_default_library",
"//pkg/network/setup:go_default_library",
"//pkg/util:go_default_library",
"//pkg/util/migrations:go_default_library",
"//pkg/util/types:go_default_library",
Expand All @@ -32,7 +33,6 @@ go_library(
"//pkg/virt-handler/node-labeller/api:go_default_library",
"//pkg/virt-handler/selinux:go_default_library",
"//pkg/virt-launcher/virtwrap/api:go_default_library",
"//pkg/virt-launcher/virtwrap/network:go_default_library",
"//pkg/watchdog:go_default_library",
"//staging/src/kubevirt.io/client-go/api/v1:go_default_library",
"//staging/src/kubevirt.io/client-go/kubecli:go_default_library",
Expand Down
4 changes: 2 additions & 2 deletions pkg/virt-handler/vm.go
Original file line number Diff line number Diff line change
Expand Up @@ -48,6 +48,7 @@ import (
"k8s.io/client-go/util/workqueue"

netcache "kubevirt.io/kubevirt/pkg/network/cache"
netsetup "kubevirt.io/kubevirt/pkg/network/setup"
"kubevirt.io/kubevirt/pkg/util"

"kubevirt.io/kubevirt/pkg/virt-handler/heartbeat"
Expand All @@ -73,7 +74,6 @@ import (
"kubevirt.io/kubevirt/pkg/virt-handler/isolation"
migrationproxy "kubevirt.io/kubevirt/pkg/virt-handler/migration-proxy"
"kubevirt.io/kubevirt/pkg/virt-launcher/virtwrap/api"
"kubevirt.io/kubevirt/pkg/virt-launcher/virtwrap/network"
"kubevirt.io/kubevirt/pkg/watchdog"
)

Expand Down Expand Up @@ -514,7 +514,7 @@ func (d *VirtualMachineController) setPodNetworkPhase1(vmi *v1.VirtualMachineIns
}

err = res.DoNetNS(func() error {
return network.NewVMNetworkConfigurator(vmi, d.networkCacheStoreFactory).SetupPodNetworkPhase1(pid)
return netsetup.NewVMNetworkConfigurator(vmi, d.networkCacheStoreFactory).SetupPodNetworkPhase1(pid)
})

if err != nil {
Expand Down
2 changes: 1 addition & 1 deletion pkg/virt-launcher/virtwrap/BUILD.bazel
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,7 @@ go_library(
"//pkg/host-disk:go_default_library",
"//pkg/ignition:go_default_library",
"//pkg/network/cache:go_default_library",
"//pkg/network/setup:go_default_library",
"//pkg/util:go_default_library",
"//pkg/util/net/ip:go_default_library",
"//pkg/virt-handler/cmd-client:go_default_library",
Expand All @@ -36,7 +37,6 @@ go_library(
"//pkg/virt-launcher/virtwrap/device/sriov:go_default_library",
"//pkg/virt-launcher/virtwrap/efi:go_default_library",
"//pkg/virt-launcher/virtwrap/errors:go_default_library",
"//pkg/virt-launcher/virtwrap/network:go_default_library",
"//pkg/virt-launcher/virtwrap/stats:go_default_library",
"//pkg/virt-launcher/virtwrap/util:go_default_library",
"//staging/src/kubevirt.io/client-go/api/v1:go_default_library",
Expand Down
4 changes: 2 additions & 2 deletions pkg/virt-launcher/virtwrap/manager.go
Original file line number Diff line number Diff line change
Expand Up @@ -61,14 +61,14 @@ import (
"kubevirt.io/kubevirt/pkg/hooks"
hostdisk "kubevirt.io/kubevirt/pkg/host-disk"
"kubevirt.io/kubevirt/pkg/ignition"
netsetup "kubevirt.io/kubevirt/pkg/network/setup"
kutil "kubevirt.io/kubevirt/pkg/util"
accesscredentials "kubevirt.io/kubevirt/pkg/virt-launcher/virtwrap/access-credentials"
agentpoller "kubevirt.io/kubevirt/pkg/virt-launcher/virtwrap/agent-poller"
"kubevirt.io/kubevirt/pkg/virt-launcher/virtwrap/api"
"kubevirt.io/kubevirt/pkg/virt-launcher/virtwrap/cli"
"kubevirt.io/kubevirt/pkg/virt-launcher/virtwrap/device/sriov"
domainerrors "kubevirt.io/kubevirt/pkg/virt-launcher/virtwrap/errors"
"kubevirt.io/kubevirt/pkg/virt-launcher/virtwrap/network"
"kubevirt.io/kubevirt/pkg/virt-launcher/virtwrap/stats"
"kubevirt.io/kubevirt/pkg/virt-launcher/virtwrap/util"
)
Expand Down Expand Up @@ -468,7 +468,7 @@ func (l *LibvirtDomainManager) preStartHook(vmi *v1.VirtualMachineInstance, doma
}
}

err = network.NewVMNetworkConfigurator(vmi, l.networkCacheStoreFactory).SetupPodNetworkPhase2(domain)
err = netsetup.NewVMNetworkConfigurator(vmi, l.networkCacheStoreFactory).SetupPodNetworkPhase2(domain)
if err != nil {
return domain, fmt.Errorf("preparing the pod network failed: %v", err)
}
Expand Down
Loading

0 comments on commit 962aabb

Please sign in to comment.