Skip to content

Commit

Permalink
refactor e2e testing (#2078)
Browse files Browse the repository at this point in the history
  • Loading branch information
zhangzujian committed Dec 29, 2022
1 parent 86fab66 commit 1407eba
Show file tree
Hide file tree
Showing 55 changed files with 5,176 additions and 5,761 deletions.
1,570 changes: 449 additions & 1,121 deletions .github/workflows/build-x86-image.yaml

Large diffs are not rendered by default.

591 changes: 554 additions & 37 deletions .github/workflows/scheduled-e2e.yaml

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@ dist/windows/kube-ovn-daemon.exe
test/e2e/ovnnb_db.*
test/e2e/ovnsb_db.*
kube-ovn.yaml
kube-ovn-crd.yaml
ovn.yaml
ovn-ic-0.yaml
ovn-ic-1.yaml
Expand All @@ -18,4 +19,3 @@ vpc-nat-gateway.tar
image-amd64.tar
image-arm64.tar
test/**/*.test
test/**/network.json
96 changes: 20 additions & 76 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -278,8 +278,8 @@ kind-untaint-control-plane:
done; \
done

.PHONY: kind-helm-install
kind-helm-install: kind-untaint-control-plane
.PHONY: kind-install-chart
kind-install-chart: kind-untaint-control-plane
kubectl label no -lbeta.kubernetes.io/os=linux kubernetes.io/os=linux --overwrite
kubectl label no -lnode-role.kubernetes.io/control-plane kube-ovn/role=master --overwrite
kubectl label no -lovn.kubernetes.io/ovs_dp_type!=userspace ovn.kubernetes.io/ovs_dp_type=kernel --overwrite
Expand All @@ -294,7 +294,7 @@ kind-helm-install: kind-untaint-control-plane
kind-install: kind-load-image
kubectl config use-context kind-kube-ovn
@$(MAKE) kind-untaint-control-plane
ENABLE_SSL=true dist/images/install.sh
bash dist/images/install.sh
kubectl describe no

.PHONY: kind-install-dev
Expand All @@ -318,7 +318,7 @@ kind-install-ovn-ic: kind-load-image kind-install
-e 's/10.96.0/10.98.0/g' \
-e 's/100.64.0/100.68.0/g' \
dist/images/install.sh | \
ENABLE_SSL=true bash
bash
kubectl describe no

docker run -d --name ovn-ic-db --network kind $(REGISTRY)/kube-ovn:$(RELEASE_TAG) bash start-ic-db.sh
Expand Down Expand Up @@ -350,7 +350,7 @@ kind-install-underlay-ipv4: kind-disable-hairpin kind-load-image kind-untaint-co
-e 's@^[[:space:]]*EXCLUDE_IPS=.*@EXCLUDE_IPS="$(KIND_IPV4_EXCLUDE_IPS)"@' \
-e 's@^VLAN_ID=.*@VLAN_ID="0"@' \
dist/images/install.sh | \
ENABLE_SSL=true ENABLE_VLAN=true VLAN_NIC=eth0 bash
ENABLE_VLAN=true VLAN_NIC=eth0 bash
kubectl describe no

.PHONY: kind-install-underlay-hairpin-ipv4
Expand All @@ -361,7 +361,7 @@ kind-install-underlay-hairpin-ipv4: kind-enable-hairpin kind-load-image kind-unt
-e 's@^[[:space:]]*EXCLUDE_IPS=.*@EXCLUDE_IPS="$(KIND_IPV4_EXCLUDE_IPS)"@' \
-e 's@^VLAN_ID=.*@VLAN_ID="0"@' \
dist/images/install.sh | \
ENABLE_SSL=true ENABLE_VLAN=true VLAN_NIC=eth0 bash
ENABLE_VLAN=true VLAN_NIC=eth0 bash
kubectl describe no

.PHONY: kind-install-ipv6
Expand All @@ -379,7 +379,7 @@ kind-install-underlay-ipv6: kind-disable-hairpin kind-load-image kind-untaint-co
-e 's@^[[:space:]]*EXCLUDE_IPS=.*@EXCLUDE_IPS="$(KIND_IPV6_EXCLUDE_IPS)"@' \
-e 's@^VLAN_ID=.*@VLAN_ID="0"@' \
dist/images/install.sh | \
ENABLE_SSL=true IPV6=true ENABLE_VLAN=true VLAN_NIC=eth0 bash
IPV6=true ENABLE_VLAN=true VLAN_NIC=eth0 bash

.PHONY: kind-install-underlay-hairpin-ipv6
kind-install-underlay-hairpin-ipv6: kind-enable-hairpin kind-load-image kind-untaint-control-plane
Expand All @@ -389,7 +389,7 @@ kind-install-underlay-hairpin-ipv6: kind-enable-hairpin kind-load-image kind-unt
-e 's@^[[:space:]]*EXCLUDE_IPS=.*@EXCLUDE_IPS="$(KIND_IPV6_EXCLUDE_IPS)"@' \
-e 's@^VLAN_ID=.*@VLAN_ID="0"@' \
dist/images/install.sh | \
ENABLE_SSL=true IPV6=true ENABLE_VLAN=true VLAN_NIC=eth0 bash
IPV6=true ENABLE_VLAN=true VLAN_NIC=eth0 bash

.PHONY: kind-install-dual
kind-install-dual: kind-install-overlay-dual
Expand All @@ -406,7 +406,7 @@ kind-install-underlay-dual: kind-disable-hairpin kind-load-image kind-untaint-co
-e 's@^[[:space:]]*EXCLUDE_IPS=.*@EXCLUDE_IPS="$(KIND_IPV4_EXCLUDE_IPS),$(KIND_IPV6_EXCLUDE_IPS)"@' \
-e 's@^VLAN_ID=.*@VLAN_ID="0"@' \
dist/images/install.sh | \
ENABLE_SSL=true DUAL_STACK=true ENABLE_VLAN=true VLAN_NIC=eth0 bash
DUAL_STACK=true ENABLE_VLAN=true VLAN_NIC=eth0 bash

.PHONY: kind-install-underlay-hairpin-dual
kind-install-underlay-hairpin-dual: kind-enable-hairpin kind-load-image kind-untaint-control-plane
Expand All @@ -416,7 +416,7 @@ kind-install-underlay-hairpin-dual: kind-enable-hairpin kind-load-image kind-unt
-e 's@^[[:space:]]*EXCLUDE_IPS=.*@EXCLUDE_IPS="$(KIND_IPV4_EXCLUDE_IPS),$(KIND_IPV6_EXCLUDE_IPS)"@' \
-e 's@^VLAN_ID=.*@VLAN_ID="0"@' \
dist/images/install.sh | \
ENABLE_SSL=true DUAL_STACK=true ENABLE_VLAN=true VLAN_NIC=eth0 bash
DUAL_STACK=true ENABLE_VLAN=true VLAN_NIC=eth0 bash

.PHONY: kind-install-underlay-logical-gateway-dual
kind-install-underlay-logical-gateway-dual: kind-disable-hairpin kind-load-image kind-untaint-control-plane
Expand All @@ -426,18 +426,21 @@ kind-install-underlay-logical-gateway-dual: kind-disable-hairpin kind-load-image
-e 's@^[[:space:]]*EXCLUDE_IPS=.*@EXCLUDE_IPS="$(KIND_IPV4_GATEWAY),$(KIND_IPV4_EXCLUDE_IPS),$(KIND_IPV6_GATEWAY),$(KIND_IPV6_EXCLUDE_IPS)"@' \
-e 's@^VLAN_ID=.*@VLAN_ID="0"@' \
dist/images/install.sh | \
ENABLE_SSL=true DUAL_STACK=true ENABLE_VLAN=true \
DUAL_STACK=true ENABLE_VLAN=true \
VLAN_NIC=eth0 LOGICAL_GATEWAY=true bash

.PHONY: kind-install-multus
kind-install-multus: kind-load-image kind-untaint-control-plane
kind-install-multus:
$(call docker_ensure_image_exists,$(MULTUS_IMAGE))
$(call kind_load_image,kube-ovn,$(MULTUS_IMAGE))
$(call kind_load_image,kube-ovn,$(VPC_NAT_GW_IMG))
kubectl apply -f "$(MULTUS_YAML)"
kubectl -n kube-system rollout status ds kube-multus-ds

.PHONY: kind-install-lb-svc
kind-install-lb-svc: kind-load-image kind-untaint-control-plane
$(call kind_load_image,kube-ovn,$(VPC_NAT_GW_IMG))
kubectl apply -f yamls/lb-svc-attachment.yaml
ENABLE_SSL=true ENABLE_LB_SVC=true CNI_CONFIG_PRIORITY=10 dist/images/install.sh
ENABLE_LB_SVC=true CNI_CONFIG_PRIORITY=10 dist/images/install.sh
kubectl describe no

.PHONY: kind-install-cilium
Expand All @@ -460,7 +463,7 @@ kind-install-cilium: kind-load-image kind-untaint-control-plane
--set cni.configMap=cni-configuration
kubectl -n kube-system rollout status ds cilium --timeout 300s
bash dist/images/cilium.sh
ENABLE_SSL=true ENABLE_LB=false ENABLE_NP=false WITHOUT_KUBE_PROXY=true CNI_CONFIG_PRIORITY=10 bash dist/images/install.sh
ENABLE_LB=false ENABLE_NP=false WITHOUT_KUBE_PROXY=true CNI_CONFIG_PRIORITY=10 bash dist/images/install.sh
kubectl describe no

.PHONY: kind-reload
Expand All @@ -474,12 +477,12 @@ kind-reload-ovs: kind-load-image
kubectl delete pod -n kube-system -l app=ovs

.PHONY: kind-clean
kind-clean: kind-disable-hairpin
$(call docker_rm_container,kube-ovn-e2e)
kind-clean:
kind delete cluster --name=kube-ovn

.PHONY: kind-clean-ovn-ic
kind-clean-ovn-ic: kind-clean
$(call docker_rm_container,ovn-ic-db)
kind delete cluster --name=kube-ovn1

.PHONY: uninstall
Expand Down Expand Up @@ -516,72 +519,13 @@ ipam-bench:
go test -timeout 30m -bench='^BenchmarkIPAM' -benchtime=10000x test/unittest/ipam_bench/ipam_test.go -args -logtostderr=false
go test -timeout 90m -bench='^BenchmarkParallelIPAM' -benchtime=10x test/unittest/ipam_bench/ipam_test.go -args -logtostderr=false

.PHONY: e2e
e2e:
$(call docker_create_vlan_network)
$(eval NODE_COUNT = $(shell kind get nodes --name kube-ovn | wc -l))
$(eval E2E_NETWORK_INFO = $(shell docker inspect -f '{{json (index .NetworkSettings.Networks "$(E2E_NETWORK)")}}' kube-ovn-control-plane))
$(call docker_rm_container,kube-ovn-e2e)
docker run -d --name kube-ovn-e2e --network kind --cap-add=NET_ADMIN $(REGISTRY)/kube-ovn:$(RELEASE_TAG) sleep infinity
@if [ '$(E2E_NETWORK_INFO)' = 'null' ]; then \
kind get nodes --name kube-ovn | while read node; do \
docker network connect $(E2E_NETWORK) $$node; \
done; \
fi
$(call docker_config_bridge,$(E2E_NETWORK),0,$(VLAN_ID))

@echo "{" > test/e2e/network.json
@i=0; kind get nodes --name kube-ovn | while read node; do \
i=$$((i+1)); \
printf '"%s": ' "$$node" >> test/e2e/network.json; \
docker inspect -f '{{json (index .NetworkSettings.Networks "$(E2E_NETWORK)")}}' "$$node" >> test/e2e/network.json; \
if [ $$i -ne $(NODE_COUNT) ]; then echo "," >> test/e2e/network.json; fi; \
done
@echo "}" >> test/e2e/network.json

$(call docker_ensure_image_exists,kubeovn/pause:3.2)
$(call kind_load_image,kube-ovn,kubeovn/pause:3.2)
ginkgo -mod=mod -progress --always-emit-ginkgo-writer --slow-spec-threshold=60s test/e2e

.PHONY: e2e-ipv6
e2e-ipv6:
@IPV6=true $(MAKE) e2e

.PHONY: e2e-vlan
e2e-vlan:
@VLAN_ID=100 $(MAKE) e2e

.PHONY: e2e-vlan-ipv6
e2e-vlan-ipv6:
@IPV6=true $(MAKE) e2e-vlan

.PHONY: e2e-underlay-single-nic
e2e-underlay-single-nic:
@docker inspect -f '{{json .NetworkSettings.Networks.kind}}' kube-ovn-control-plane > test/e2e-underlay-single-nic/node/network.json
ginkgo -mod=mod -progress --always-emit-ginkgo-writer --slow-spec-threshold=60s test/e2e-underlay-single-nic

.PHONY: e2e-ovn-ic
e2e-ovn-ic:
ginkgo -mod=mod -progress --always-emit-ginkgo-writer --slow-spec-threshold=60s test/e2e-ovn-ic

.PHONY: e2e-cilium
e2e-cilium:
docker run -d --name kube-ovn-e2e --network kind --cap-add=NET_ADMIN $(REGISTRY)/kube-ovn:$(RELEASE_TAG) sleep infinity
ginkgo -mod=mod -progress --always-emit-ginkgo-writer --slow-spec-threshold=60s test/e2e-cilium

.PHONY: e2e-multus
e2e-multus:
ginkgo -mod=mod -progress --always-emit-ginkgo-writer --slow-spec-threshold=60s test/e2e-multus

.PHONY: clean
clean:
$(RM) dist/images/kube-ovn dist/images/kube-ovn-cmd
$(RM) yamls/kind.yaml
$(RM) ovn.yaml kube-ovn.yaml kube-ovn-crd.yaml
$(RM) ovn-ic-0.yaml ovn-ic-1.yaml
$(RM) kube-ovn.tar vpc-nat-gateway.tar image-amd64.tar image-arm64.tar
$(RM) test/e2e/ovnnb_db.* test/e2e/ovnsb_db.*
$(RM) test/e2e/network.json test/e2e-underlay-single-nic/node/network.json

.PHONY: changelog
changelog:
Expand Down
35 changes: 30 additions & 5 deletions Makefile.e2e
Original file line number Diff line number Diff line change
Expand Up @@ -21,17 +21,27 @@ define ginkgo_option
--ginkgo.$(1)=$(shell echo '$(2)' | sed -E 's/^[[:space:]]+//' | sed -E 's/"[[:space:]]+"/" --ginkgo.$(1)="/g')
endef

.PHONY: e2e
e2e: kube-ovn-conformance-e2e

.PHONY: e2e-compile
e2e-compile:
go test ./test/e2e/k8s-network -c -o test/e2e/k8s-network/e2e.test
go test ./test/e2e/kube-ovn -c -o test/e2e/kube-ovn/e2e.test
go test ./test/e2e/ovn-ic -c -o test/e2e/ovn-ic/e2e.test
go test ./test/e2e/lb-svc -c -o test/e2e/lb-svc/e2e.test

.PHONY: k8s-conformance-e2e
k8s-conformance-e2e:
go test ./test/k8s-network -c -o test/k8s-network/e2e.test
./test/k8s-network/e2e.test --ginkgo.timeout=1h \
go test ./test/e2e/k8s-network -c -o test/e2e/k8s-network/e2e.test
./test/e2e/k8s-network/e2e.test --ginkgo.timeout=1h \
$(call ginkgo_option,focus,$(K8S_CONFORMANCE_E2E_FOCUS)) \
$(call ginkgo_option,skip,$(K8S_CONFORMANCE_E2E_SKIP))

.PHONY: k8s-netpol-e2e
k8s-netpol-e2e:
go test ./test/k8s-network -c -o test/k8s-network/e2e.test
./test/k8s-network/e2e.test --ginkgo.timeout=2h \
go test ./test/e2e/k8s-network -c -o test/e2e/k8s-network/e2e.test
./test/e2e/k8s-network/e2e.test --ginkgo.timeout=2h \
$(call ginkgo_option,focus,$(K8S_NETPOL_E2E_FOCUS)) \
$(call ginkgo_option,skip,$(K8S_NETPOL_E2E_SKIP))

Expand All @@ -40,11 +50,26 @@ cyclonus-netpol-e2e:
kubectl create ns netpol
kubectl create clusterrolebinding cyclonus --clusterrole=cluster-admin --serviceaccount=netpol:cyclonus
kubectl create sa cyclonus -n netpol
kubectl create -f test/cyclonus.yaml -n netpol
kubectl create -f test/e2e/cyclonus.yaml -n netpol
while ! kubectl wait pod --for=condition=Ready -l job-name=cyclonus -n netpol; do \
sleep 3; \
done
kubectl logs -f -l job-name=cyclonus -n netpol
kubectl -n netpol logs \
$$(kubectl -n netpol get pod -l job-name=cyclonus -o=jsonpath={.items[0].metadata.name}) | \
grep failed; test $$? -ne 0

.PHONY: kube-ovn-conformance-e2e
kube-ovn-conformance-e2e:
go test ./test/e2e/kube-ovn -c -o test/e2e/kube-ovn/e2e.test
./test/e2e/kube-ovn/e2e.test --ginkgo.focus=CNI:Kube-OVN

.PHONY: kube-ovn-ic-conformance-e2e
kube-ovn-ic-conformance-e2e:
go test ./test/e2e/ovn-ic -c -o test/e2e/ovn-ic/e2e.test
./test/e2e/ovn-ic/e2e.test --ginkgo.focus=CNI:Kube-OVN

.PHONY: kube-ovn-lb-svc-conformance-e2e
kube-ovn-lb-svc-conformance-e2e:
go test ./test/e2e/lb-svc -c -o test/e2e/lb-svc/e2e.test
./test/e2e/lb-svc/e2e.test --ginkgo.focus=CNI:Kube-OVN
13 changes: 8 additions & 5 deletions go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@ require (
github.com/containernetworking/cni v1.1.2
github.com/containernetworking/plugins v1.1.1
github.com/coreos/go-iptables v0.6.0
github.com/docker/docker v20.10.22+incompatible
github.com/emicklei/go-restful/v3 v3.10.1
github.com/evanphx/json-patch/v5 v5.6.0
github.com/greenpau/ovsdb v1.0.3
Expand All @@ -32,7 +33,7 @@ require (
github.com/spf13/pflag v1.0.5
github.com/stretchr/testify v1.8.1
github.com/vishvananda/netlink v1.2.1-beta.2
golang.org/x/exp v0.0.0-20221211140036-ad323defaf05
golang.org/x/exp v0.0.0-20221217163422-3c43f8badb15
golang.org/x/sys v0.3.0
golang.org/x/time v0.3.0
google.golang.org/grpc v1.51.0
Expand All @@ -44,10 +45,11 @@ require (
k8s.io/client-go v12.0.0+incompatible
k8s.io/klog/v2 v2.80.1
k8s.io/kubernetes v1.26.0
k8s.io/pod-security-admission v0.26.0
k8s.io/sample-controller v0.26.0
k8s.io/utils v0.0.0-20221128185143-99ec85e7a448
kubevirt.io/client-go v0.58.0
sigs.k8s.io/controller-runtime v0.0.0-20221211125314-222fb669e109
sigs.k8s.io/controller-runtime v0.14.0
)

require (
Expand Down Expand Up @@ -89,6 +91,7 @@ require (
github.com/davecgh/go-spew v1.1.1 // indirect
github.com/dgryski/go-farm v0.0.0-20200201041132-a6ae2369ad13 // indirect
github.com/docker/distribution v2.8.1+incompatible // indirect
github.com/docker/go-connections v0.4.0 // indirect
github.com/docker/go-units v0.5.0 // indirect
github.com/eapache/channels v1.1.0 // indirect
github.com/eapache/queue v1.1.0 // indirect
Expand Down Expand Up @@ -161,6 +164,7 @@ require (
github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 // indirect
github.com/mxk/go-flowrate v0.0.0-20140419014527-cca7078d478f // indirect
github.com/opencontainers/go-digest v1.0.0 // indirect
github.com/opencontainers/image-spec v1.0.2 // indirect
github.com/opencontainers/runc v1.1.4 // indirect
github.com/opencontainers/runtime-spec v1.0.3-0.20210326190908-1c3f411f0417 // indirect
github.com/opencontainers/selinux v1.10.0 // indirect
Expand Down Expand Up @@ -235,7 +239,7 @@ require (
k8s.io/cluster-bootstrap v0.26.0 // indirect
k8s.io/component-base v0.26.0 // indirect
k8s.io/component-helpers v0.26.0 // indirect
k8s.io/cri-api v0.20.6 // indirect
k8s.io/cri-api v0.26.0 // indirect
k8s.io/csi-translation-lib v0.26.0 // indirect
k8s.io/dynamic-resource-allocation v0.0.0 // indirect
k8s.io/kms v0.26.0 // indirect
Expand All @@ -246,9 +250,8 @@ require (
k8s.io/kubelet v0.26.0 // indirect
k8s.io/legacy-cloud-providers v0.0.0 // indirect
k8s.io/mount-utils v0.0.0 // indirect
k8s.io/pod-security-admission v0.0.0 // indirect
kubevirt.io/api v0.58.0 // indirect
kubevirt.io/containerized-data-importer-api v1.55.1 // indirect
kubevirt.io/containerized-data-importer-api v1.55.2 // indirect
kubevirt.io/controller-lifecycle-operator-sdk/api v0.2.4 // indirect
moul.io/http2curl v1.0.0 // indirect
sigs.k8s.io/apiserver-network-proxy/konnectivity-client v0.0.33 // indirect
Expand Down
16 changes: 9 additions & 7 deletions go.sum
Original file line number Diff line number Diff line change
Expand Up @@ -416,8 +416,9 @@ github.com/docker/distribution v2.7.1+incompatible/go.mod h1:J2gT2udsDAN96Uj4Kfc
github.com/docker/distribution v2.8.1+incompatible h1:Q50tZOPR6T/hjNsyc9g8/syEs6bk8XXApsHjKukMl68=
github.com/docker/distribution v2.8.1+incompatible/go.mod h1:J2gT2udsDAN96Uj4KfcMRqY0/ypR+oyYUYmja8H+y+w=
github.com/docker/docker v1.4.2-0.20190924003213-a8608b5b67c7/go.mod h1:eEKB0N0r5NX/I1kEveEz05bcu8tLC/8azJZsviup8Sk=
github.com/docker/docker v20.10.18+incompatible h1:SN84VYXTBNGn92T/QwIRPlum9zfemfitN7pbsp26WSc=
github.com/docker/docker v20.10.18+incompatible/go.mod h1:eEKB0N0r5NX/I1kEveEz05bcu8tLC/8azJZsviup8Sk=
github.com/docker/docker v20.10.22+incompatible h1:6jX4yB+NtcbldT90k7vBSaWJDB3i+zkVJT9BEK8kQkk=
github.com/docker/docker v20.10.22+incompatible/go.mod h1:eEKB0N0r5NX/I1kEveEz05bcu8tLC/8azJZsviup8Sk=
github.com/docker/docker-credential-helpers v0.6.3/go.mod h1:WRaJzqw3CTB9bk10avuGsjVBZsD05qeibJ1/TYlvc0Y=
github.com/docker/go-connections v0.4.0 h1:El9xVISelRB7BuFusrZozjnkIM5YnzCViNKohAFqRJQ=
github.com/docker/go-connections v0.4.0/go.mod h1:Gbd7IOopHjR8Iph03tsViu4nIes5XhDvyHbTtUxmeec=
Expand Down Expand Up @@ -1002,6 +1003,7 @@ github.com/modern-go/reflect2 v1.0.2/go.mod h1:yWuevngMOJpCy52FWWMvUC8ws7m/LJsjY
github.com/mohae/deepcopy v0.0.0-20170603005431-491d3605edfb h1:e+l77LJOEqXTIQihQJVkA6ZxPOUmfPM5e4H7rcpgtSk=
github.com/mohae/deepcopy v0.0.0-20170603005431-491d3605edfb/go.mod h1:TaXosZuwdSHYgviHp1DAtfrULt5eUgsSMsZf+YrPgl8=
github.com/monochromegane/go-gitignore v0.0.0-20200626010858-205db1a8cc00 h1:n6/2gBQ3RWajuToeY6ZtZTIKv2v7ThUy5KKusIT0yc0=
github.com/morikuni/aec v1.0.0 h1:nP9CBfwrvYnBRgY6qfDQkygYDmYwOilePFkwzv4dU8A=
github.com/morikuni/aec v1.0.0/go.mod h1:BbKIizmSmc5MMPqRYbxO4ZU0S0+P200+tUnFx7PXmsc=
github.com/mozillazg/go-cos v0.13.0/go.mod h1:Zp6DvvXn0RUOXGJ2chmWt2bLEqRAnJnS3DnAZsJsoaE=
github.com/mozillazg/go-httpheader v0.2.1/go.mod h1:jJ8xECTlalr6ValeXYdOF8fFUISeBAdw6E61aqQma60=
Expand Down Expand Up @@ -1483,8 +1485,8 @@ golang.org/x/exp v0.0.0-20191227195350-da58074b4299/go.mod h1:2RIsYlXP63K8oxa1u0
golang.org/x/exp v0.0.0-20200119233911-0405dc783f0a/go.mod h1:2RIsYlXP63K8oxa1u096TMicItID8zy7Y6sNkU49FU4=
golang.org/x/exp v0.0.0-20200207192155-f17229e696bd/go.mod h1:J/WKrq2StrnmMY6+EHIKF9dgMWnmCNThgcyBT1FY9mM=
golang.org/x/exp v0.0.0-20200224162631-6cc2880d07d6/go.mod h1:3jZMyOhIsHpP37uCMkUooju7aAi5cS1Q23tOzKc+0MU=
golang.org/x/exp v0.0.0-20221211140036-ad323defaf05 h1:T8EldfGCcveFMewH5xAYxxoX3PSQMrsechlUGVFlQBU=
golang.org/x/exp v0.0.0-20221211140036-ad323defaf05/go.mod h1:CxIveKay+FTh1D0yPZemJVgC/95VzuuOLq5Qi4xnoYc=
golang.org/x/exp v0.0.0-20221217163422-3c43f8badb15 h1:5oN1Pz/eDhCpbMbLstvIPa0b/BEQo6g6nwV3pLjfM6w=
golang.org/x/exp v0.0.0-20221217163422-3c43f8badb15/go.mod h1:CxIveKay+FTh1D0yPZemJVgC/95VzuuOLq5Qi4xnoYc=
golang.org/x/image v0.0.0-20190227222117-0694c2d4d067/go.mod h1:kZ7UVZpmo3dzQBMxlp+ypCbDeSB+sBbTgSJuh5dn5js=
golang.org/x/image v0.0.0-20190802002840-cff245a6509b/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0=
golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE=
Expand Down Expand Up @@ -2175,8 +2177,8 @@ k8s.io/utils v0.0.0-20221128185143-99ec85e7a448 h1:KTgPnR10d5zhztWptI952TNtt/4u5
k8s.io/utils v0.0.0-20221128185143-99ec85e7a448/go.mod h1:OLgZIPagt7ERELqWJFomSt595RzquPNLL48iOWgYOg0=
kubevirt.io/api v0.58.0 h1:qeNeRtD6AIJ5WVJuRXajmmXtnrO5dYchy+hpCm6QwhE=
kubevirt.io/api v0.58.0/go.mod h1:U0CQlZR0JoJCaC+Va0wz4dMOtYDdVywJ98OT1KmOkzI=
kubevirt.io/containerized-data-importer-api v1.55.1 h1:2WJdHrbN7pOTX1KkXKME94PG8i0Shd0DK0/3jP07d/E=
kubevirt.io/containerized-data-importer-api v1.55.1/go.mod h1:92HiQEyzPoeMiCbgfG5Qe10JQVbtWMZOXucy56dKdGg=
kubevirt.io/containerized-data-importer-api v1.55.2 h1:AzYnKIUFkKwO6c0uCQZYlAIxfzbiPkJXP29hFhauaQ8=
kubevirt.io/containerized-data-importer-api v1.55.2/go.mod h1:92HiQEyzPoeMiCbgfG5Qe10JQVbtWMZOXucy56dKdGg=
kubevirt.io/controller-lifecycle-operator-sdk/api v0.2.4 h1:fZYvD3/Vnitfkx6IJxjLAk8ugnZQ7CXVYcRfkSKmuZY=
kubevirt.io/controller-lifecycle-operator-sdk/api v0.2.4/go.mod h1:018lASpFYBsYN6XwmA2TIrPCx6e0gviTd/ZNtSitKgc=
moul.io/http2curl v1.0.0 h1:6XwpyZOYsgZJrU8exnG87ncVkU1FVCcTRpwzOkTDUi8=
Expand All @@ -2186,8 +2188,8 @@ rsc.io/quote/v3 v3.1.0/go.mod h1:yEA65RcK8LyAZtP9Kv3t0HmxON59tX3rD+tICJqUlj0=
rsc.io/sampler v1.3.0/go.mod h1:T1hPZKmBbMNahiBKFy5HrXp6adAjACjK9JXDnKaTXpA=
sigs.k8s.io/apiserver-network-proxy/konnectivity-client v0.0.33 h1:LYqFq+6Cj2D0gFfrJvL7iElD4ET6ir3VDdhDdTK7rgc=
sigs.k8s.io/apiserver-network-proxy/konnectivity-client v0.0.33/go.mod h1:soWkSNf2tZC7aMibXEqVhCd73GOY5fJikn8qbdzemB0=
sigs.k8s.io/controller-runtime v0.0.0-20221211125314-222fb669e109 h1:+tDs4g6sAbPSVahRtUyLLwV+dryt4EOefGR4R5xcELA=
sigs.k8s.io/controller-runtime v0.0.0-20221211125314-222fb669e109/go.mod h1:Sfz/i9onkzbOA3LgIzvVDfl4b3f3CS4ij6hEXQkMqx8=
sigs.k8s.io/controller-runtime v0.14.0 h1:ju2xsov5Ara6FoQuddg+az+rAxsUsTYn2IYyEKCTyDc=
sigs.k8s.io/controller-runtime v0.14.0/go.mod h1:GaRkrY8a7UZF0kqFFbUKG7n9ICiTY5T55P1RiE3UZlU=
sigs.k8s.io/controller-tools v0.2.4/go.mod h1:m/ztfQNocGYBgTTCmFdnK94uVvgxeZeE3LtJvd/jIzA=
sigs.k8s.io/json v0.0.0-20220713155537-f223a00ba0e2/go.mod h1:B8JuhiUyNFVKdsE8h686QcCxMaH6HrOAZj4vswFpcB0=
sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd h1:EDPBXCAspyGV4jQlpZSudPeMmr1bNJefnuqLsRAsHZo=
Expand Down
Loading

0 comments on commit 1407eba

Please sign in to comment.