From acb1d777b445229a0ef55b91a17ba9867318b266 Mon Sep 17 00:00:00 2001 From: Alex Kalenyuk Date: Mon, 22 Aug 2022 17:17:50 +0300 Subject: [PATCH 1/2] Enable VMExport feature gate by default Allows exporting VMs to the outside of the cluster. Signed-off-by: Alex Kalenyuk --- controllers/hyperconverged/hyperconverged_controller_test.go | 1 + controllers/operands/kubevirt.go | 5 +++++ 2 files changed, 6 insertions(+) diff --git a/controllers/hyperconverged/hyperconverged_controller_test.go b/controllers/hyperconverged/hyperconverged_controller_test.go index f6d6c5ebd7..9096c2fa3b 100644 --- a/controllers/hyperconverged/hyperconverged_controller_test.go +++ b/controllers/hyperconverged/hyperconverged_controller_test.go @@ -208,6 +208,7 @@ var _ = Describe("HyperconvergedController", func() { "ExpandDisks", "NUMA", "WithHostPassthroughCPU", + "VMExport", } // Get the KV kvList := &kubevirtcorev1.KubeVirtList{} diff --git a/controllers/operands/kubevirt.go b/controllers/operands/kubevirt.go index 1029212e05..ad387383ec 100644 --- a/controllers/operands/kubevirt.go +++ b/controllers/operands/kubevirt.go @@ -88,6 +88,9 @@ const ( // Allow automatic numa mapping on VMs with dedicated CPUs, if requested kvNUMA = "NUMA" + + // Export VMs to outside of the cluster + kvVMExportGate = "VMExport" ) var ( @@ -103,6 +106,8 @@ var ( kvHostDevicesGate, kvDownwardMetricsGate, kvNUMA, + kvLiveMigrationGate, + kvVMExportGate, } // holds a list of mandatory KubeVirt feature gates. Some of them are the hard coded feature gates and some of From 0400910e2c7fb4ba03cfa9d0bd619a29cb14b0a0 Mon Sep 17 00:00:00 2001 From: Oren Cohen Date: Wed, 24 Aug 2022 14:36:51 +0300 Subject: [PATCH 2/2] Adding missing virt-exportproxy and virt-exportserver images Signed-off-by: Oren Cohen --- controllers/operands/kubevirt.go | 1 - deploy/images.csv | 2 ++ deploy/images.env | 4 ++++ ...erconverged-operator.v1.8.0.clusterserviceversion.yaml | 6 ++++++ ...erconverged-operator.v1.8.0.clusterserviceversion.yaml | 8 +++++++- deploy/operator.yaml | 2 ++ hack/build-manifests.sh | 4 ++++ 7 files changed, 25 insertions(+), 2 deletions(-) diff --git a/controllers/operands/kubevirt.go b/controllers/operands/kubevirt.go index ad387383ec..251f668c72 100644 --- a/controllers/operands/kubevirt.go +++ b/controllers/operands/kubevirt.go @@ -106,7 +106,6 @@ var ( kvHostDevicesGate, kvDownwardMetricsGate, kvNUMA, - kvLiveMigrationGate, kvVMExportGate, } diff --git a/deploy/images.csv b/deploy/images.csv index b5e9ebaaf3..60ff857c3c 100644 --- a/deploy/images.csv +++ b/deploy/images.csv @@ -6,6 +6,8 @@ KUBEVIRT_LAUNCHER_IMAGE,quay.io/kubevirt/virt-launcher,KUBEVIRT_VERSION,2e67bbb2 KUBEVIRT_HANDLER_IMAGE,quay.io/kubevirt/virt-handler,KUBEVIRT_VERSION,7b98f226edda42e49a20c101f850fd2fc6fc08c6c34d36359b2f2af6df5ffde2 KUBEVIRT_VIRTIO_IMAGE,quay.io/kubevirt/virtio-container-disk,KUBEVIRT_VERSION,3e88b9bde8792ba21d6cdaad70c79d5e9b339ef676402e932c6fcc2bda100d04 KUBEVIRT_LIBGUESTFS_TOOLS_IMAGE,quay.io/kubevirt/libguestfs-tools,KUBEVIRT_VERSION,cb1e20bf1cb88bd69ac58176f8f0d59bf5a0e1091bda404bf9e152ca9132fe2c +KUBEVIRT_EXPORTPROXY_IMAGE,quay.io/kubevirt/virt-exportproxy,KUBEVIRT_VERSION,1884939a045b3988b710c385366ff6771850e67fcd07d55e95936f64d0ab7e5f +KUBEVIRT_EXPORSERVER_IMAGE,quay.io/kubevirt/virt-exportserver,KUBEVIRT_VERSION,c9755f2de25f0f74ca6f3a641383c2a884c64dc9fa25fec573ed0a7b4e2bed76 CNA_OPERATOR_IMAGE,quay.io/kubevirt/cluster-network-addons-operator,NETWORK_ADDONS_VERSION,d844dad0bb14ee0ec1254be7bee5f744c930de1783fc7ed1c23ecc1fb8b9f71e SSP_OPERATOR_IMAGE,quay.io/kubevirt/ssp-operator,SSP_VERSION,76a6dddcdd8ceee3baf8d7e294b5a066d671d6f14a07ca7de5b86d1a3164cbc0 CDI_OPERATOR_IMAGE,quay.io/kubevirt/cdi-operator,CDI_VERSION,226573d0a3b292b8ff64ab3333e25b6f8bcba8b197a32b8fc7ba6f4692d0d3a1 diff --git a/deploy/images.env b/deploy/images.env index 811f85a568..d668c9594e 100755 --- a/deploy/images.env +++ b/deploy/images.env @@ -5,6 +5,8 @@ KUBEVIRT_LAUNCHER_IMAGE=quay.io/kubevirt/virt-launcher@sha256:2e67bbb25b969de1aa KUBEVIRT_HANDLER_IMAGE=quay.io/kubevirt/virt-handler@sha256:7b98f226edda42e49a20c101f850fd2fc6fc08c6c34d36359b2f2af6df5ffde2 KUBEVIRT_VIRTIO_IMAGE=quay.io/kubevirt/virtio-container-disk@sha256:3e88b9bde8792ba21d6cdaad70c79d5e9b339ef676402e932c6fcc2bda100d04 KUBEVIRT_LIBGUESTFS_TOOLS_IMAGE=quay.io/kubevirt/libguestfs-tools@sha256:cb1e20bf1cb88bd69ac58176f8f0d59bf5a0e1091bda404bf9e152ca9132fe2c +KUBEVIRT_EXPORTPROXY_IMAGE=quay.io/kubevirt/virt-exportproxy@sha256:1884939a045b3988b710c385366ff6771850e67fcd07d55e95936f64d0ab7e5f +KUBEVIRT_EXPORSERVER_IMAGE=quay.io/kubevirt/virt-exportserver@sha256:c9755f2de25f0f74ca6f3a641383c2a884c64dc9fa25fec573ed0a7b4e2bed76 CNA_OPERATOR_IMAGE=quay.io/kubevirt/cluster-network-addons-operator@sha256:d844dad0bb14ee0ec1254be7bee5f744c930de1783fc7ed1c23ecc1fb8b9f71e SSP_OPERATOR_IMAGE=quay.io/kubevirt/ssp-operator@sha256:76a6dddcdd8ceee3baf8d7e294b5a066d671d6f14a07ca7de5b86d1a3164cbc0 CDI_OPERATOR_IMAGE=quay.io/kubevirt/cdi-operator@sha256:226573d0a3b292b8ff64ab3333e25b6f8bcba8b197a32b8fc7ba6f4692d0d3a1 @@ -31,6 +33,8 @@ DIGEST_LIST="${DIGEST_LIST},quay.io/kubevirt/virt-launcher@sha256:2e67bbb25b969d DIGEST_LIST="${DIGEST_LIST},quay.io/kubevirt/virt-handler@sha256:7b98f226edda42e49a20c101f850fd2fc6fc08c6c34d36359b2f2af6df5ffde2" DIGEST_LIST="${DIGEST_LIST},quay.io/kubevirt/virtio-container-disk@sha256:3e88b9bde8792ba21d6cdaad70c79d5e9b339ef676402e932c6fcc2bda100d04" DIGEST_LIST="${DIGEST_LIST},quay.io/kubevirt/libguestfs-tools@sha256:cb1e20bf1cb88bd69ac58176f8f0d59bf5a0e1091bda404bf9e152ca9132fe2c" +DIGEST_LIST="${DIGEST_LIST},quay.io/kubevirt/virt-exportproxy@sha256:1884939a045b3988b710c385366ff6771850e67fcd07d55e95936f64d0ab7e5f" +DIGEST_LIST="${DIGEST_LIST},quay.io/kubevirt/virt-exportserver@sha256:c9755f2de25f0f74ca6f3a641383c2a884c64dc9fa25fec573ed0a7b4e2bed76" DIGEST_LIST="${DIGEST_LIST},quay.io/kubevirt/cluster-network-addons-operator@sha256:d844dad0bb14ee0ec1254be7bee5f744c930de1783fc7ed1c23ecc1fb8b9f71e" DIGEST_LIST="${DIGEST_LIST},quay.io/kubevirt/ssp-operator@sha256:76a6dddcdd8ceee3baf8d7e294b5a066d671d6f14a07ca7de5b86d1a3164cbc0" DIGEST_LIST="${DIGEST_LIST},quay.io/kubevirt/cdi-operator@sha256:226573d0a3b292b8ff64ab3333e25b6f8bcba8b197a32b8fc7ba6f4692d0d3a1" diff --git a/deploy/index-image/community-kubevirt-hyperconverged/1.8.0/manifests/kubevirt-hyperconverged-operator.v1.8.0.clusterserviceversion.yaml b/deploy/index-image/community-kubevirt-hyperconverged/1.8.0/manifests/kubevirt-hyperconverged-operator.v1.8.0.clusterserviceversion.yaml index 9334075281..c71e57d1e6 100644 --- a/deploy/index-image/community-kubevirt-hyperconverged/1.8.0/manifests/kubevirt-hyperconverged-operator.v1.8.0.clusterserviceversion.yaml +++ b/deploy/index-image/community-kubevirt-hyperconverged/1.8.0/manifests/kubevirt-hyperconverged-operator.v1.8.0.clusterserviceversion.yaml @@ -2844,7 +2844,9 @@ spec: - name: VIRT_LAUNCHER_SHASUM value: sha256:2e67bbb25b969de1aa97435e1a8d09e9f88fc4cfc305da0794ddd804dfb24d00 - name: VIRT_EXPORTPROXY_SHASUM + value: sha256:1884939a045b3988b710c385366ff6771850e67fcd07d55e95936f64d0ab7e5f - name: VIRT_EXPORTSERVER_SHASUM + value: sha256:c9755f2de25f0f74ca6f3a641383c2a884c64dc9fa25fec573ed0a7b4e2bed76 - name: GS_SHASUM value: sha256:cb1e20bf1cb88bd69ac58176f8f0d59bf5a0e1091bda404bf9e152ca9132fe2c image: quay.io/kubevirt/virt-operator@sha256:0e5161a1876829bb473b54ebf680ad00b44929ba41841b75f5ba924c658f90bb @@ -3665,6 +3667,10 @@ spec: name: virt-api - image: quay.io/kubevirt/virt-controller@sha256:802d764e1e43bc2bf29a49dbfc773d2599365e127a3f6cbc4ca538776c9e8f2b name: virt-controller + - image: quay.io/kubevirt/virt-exportproxy@sha256:1884939a045b3988b710c385366ff6771850e67fcd07d55e95936f64d0ab7e5f + name: virt-exportproxy + - image: quay.io/kubevirt/virt-exportserver@sha256:c9755f2de25f0f74ca6f3a641383c2a884c64dc9fa25fec573ed0a7b4e2bed76 + name: virt-exportserver - image: quay.io/kubevirt/virt-handler@sha256:7b98f226edda42e49a20c101f850fd2fc6fc08c6c34d36359b2f2af6df5ffde2 name: virt-handler - image: quay.io/kubevirt/virt-launcher@sha256:2e67bbb25b969de1aa97435e1a8d09e9f88fc4cfc305da0794ddd804dfb24d00 diff --git a/deploy/olm-catalog/community-kubevirt-hyperconverged/1.8.0/manifests/kubevirt-hyperconverged-operator.v1.8.0.clusterserviceversion.yaml b/deploy/olm-catalog/community-kubevirt-hyperconverged/1.8.0/manifests/kubevirt-hyperconverged-operator.v1.8.0.clusterserviceversion.yaml index 656f3dccc2..1ce446d3c7 100644 --- a/deploy/olm-catalog/community-kubevirt-hyperconverged/1.8.0/manifests/kubevirt-hyperconverged-operator.v1.8.0.clusterserviceversion.yaml +++ b/deploy/olm-catalog/community-kubevirt-hyperconverged/1.8.0/manifests/kubevirt-hyperconverged-operator.v1.8.0.clusterserviceversion.yaml @@ -9,7 +9,7 @@ metadata: certified: "false" console.openshift.io/disable-operand-delete: "true" containerImage: quay.io/kubevirt/hyperconverged-cluster-operator:1.8.0-unstable - createdAt: "2022-08-24 05:43:27" + createdAt: "2022-08-24 14:36:19" description: A unified operator deploying and controlling KubeVirt and its supporting operators with opinionated defaults operatorframework.io/initialization-resource: '{"apiVersion":"hco.kubevirt.io/v1beta1","kind":"HyperConverged","metadata":{"annotations":{"deployOVS":"false"},"name":"kubevirt-hyperconverged","namespace":"kubevirt-hyperconverged"},"spec":{}}' @@ -2844,7 +2844,9 @@ spec: - name: VIRT_LAUNCHER_SHASUM value: sha256:2e67bbb25b969de1aa97435e1a8d09e9f88fc4cfc305da0794ddd804dfb24d00 - name: VIRT_EXPORTPROXY_SHASUM + value: sha256:1884939a045b3988b710c385366ff6771850e67fcd07d55e95936f64d0ab7e5f - name: VIRT_EXPORTSERVER_SHASUM + value: sha256:c9755f2de25f0f74ca6f3a641383c2a884c64dc9fa25fec573ed0a7b4e2bed76 - name: GS_SHASUM value: sha256:cb1e20bf1cb88bd69ac58176f8f0d59bf5a0e1091bda404bf9e152ca9132fe2c image: quay.io/kubevirt/virt-operator@sha256:0e5161a1876829bb473b54ebf680ad00b44929ba41841b75f5ba924c658f90bb @@ -3665,6 +3667,10 @@ spec: name: virt-api - image: quay.io/kubevirt/virt-controller@sha256:802d764e1e43bc2bf29a49dbfc773d2599365e127a3f6cbc4ca538776c9e8f2b name: virt-controller + - image: quay.io/kubevirt/virt-exportproxy@sha256:1884939a045b3988b710c385366ff6771850e67fcd07d55e95936f64d0ab7e5f + name: virt-exportproxy + - image: quay.io/kubevirt/virt-exportserver@sha256:c9755f2de25f0f74ca6f3a641383c2a884c64dc9fa25fec573ed0a7b4e2bed76 + name: virt-exportserver - image: quay.io/kubevirt/virt-handler@sha256:7b98f226edda42e49a20c101f850fd2fc6fc08c6c34d36359b2f2af6df5ffde2 name: virt-handler - image: quay.io/kubevirt/virt-launcher@sha256:2e67bbb25b969de1aa97435e1a8d09e9f88fc4cfc305da0794ddd804dfb24d00 diff --git a/deploy/operator.yaml b/deploy/operator.yaml index b122b55f2e..a75f2e30a8 100644 --- a/deploy/operator.yaml +++ b/deploy/operator.yaml @@ -400,7 +400,9 @@ spec: - name: VIRT_LAUNCHER_SHASUM value: sha256:2e67bbb25b969de1aa97435e1a8d09e9f88fc4cfc305da0794ddd804dfb24d00 - name: VIRT_EXPORTPROXY_SHASUM + value: sha256:1884939a045b3988b710c385366ff6771850e67fcd07d55e95936f64d0ab7e5f - name: VIRT_EXPORTSERVER_SHASUM + value: sha256:c9755f2de25f0f74ca6f3a641383c2a884c64dc9fa25fec573ed0a7b4e2bed76 - name: GS_SHASUM value: sha256:cb1e20bf1cb88bd69ac58176f8f0d59bf5a0e1091bda404bf9e152ca9132fe2c image: quay.io/kubevirt/virt-operator@sha256:0e5161a1876829bb473b54ebf680ad00b44929ba41841b75f5ba924c658f90bb diff --git a/hack/build-manifests.sh b/hack/build-manifests.sh index b803219d60..ebc4cdf8f9 100755 --- a/hack/build-manifests.sh +++ b/hack/build-manifests.sh @@ -105,6 +105,8 @@ function create_virt_csv() { controllerSha="${KUBEVIRT_CONTROLLER_IMAGE/*@/}" launcherSha="${KUBEVIRT_LAUNCHER_IMAGE/*@/}" handlerSha="${KUBEVIRT_HANDLER_IMAGE/*@/}" + exportProxySha="${KUBEVIRT_EXPORTPROXY_IMAGE/*@/}" + exportServerSha="${KUBEVIRT_EXPORSERVER_IMAGE/*@/}" local operatorName="kubevirt" local dumpCRDsArg="--dumpCRDs" @@ -119,6 +121,8 @@ function create_virt_csv() { --controllerSha=${controllerSha} \ --handlerSha=${handlerSha} \ --launcherSha=${launcherSha} \ + --exportProxySha=${exportProxySha} \ + --exportServerSha=${exportServerSha} \ --gsSha=${KUBEVIRT_LIBGUESTFS_TOOLS_IMAGE/*@/} \ "