From fea20b554d5578ab6c1b6c8c2c26083ce7fc41d0 Mon Sep 17 00:00:00 2001
From: Petr Horacek <phoracek@redhat.com>
Date: Tue, 3 Sep 2019 22:17:15 +0200
Subject: [PATCH] bump cnao to 0.15.0 (#274)

Contains KubeMacPool fixes and stability improvements.

Signed-off-by: Petr Horacek <phoracek@redhat.com>
---
 Gopkg.lock                                    |  6 +-
 Gopkg.toml                                    |  2 +-
 ...operator.v0.0.2.clusterserviceversion.yaml | 10 +--
 deploy/operator.yaml                          | 10 +--
 hack/config                                   |  2 +-
 hack/defaults                                 |  2 +-
 .../manifest-templator/manifest-templator.go  |  1 +
 ...> check-patch.lifecycle.k8s-1.13.3.mounts} |  0
 ...check-patch.lifecycle.k8s-1.13.3.packages} |  0
 ...sh => check-patch.lifecycle.k8s-1.13.3.sh} |  0
 ...=> check-patch.workflow.k8s-1.13.3.mounts} |  0
 ... check-patch.workflow.k8s-1.13.3.packages} |  0
 ....sh => check-patch.workflow.k8s-1.13.3.sh} |  0
 .../pkg/components/components.go              |  8 +-
 .../statusmanager/status_manager.go           |  3 +
 .../test/check/check.go                       |  4 +-
 .../test/releases/0.15.0.go                   | 73 +++++++++++++++++++
 .../test/releases/0.16.0.go                   | 73 +++++++++++++++++++
 .../manifest-templator/manifest-templator.go  |  4 +
 19 files changed, 176 insertions(+), 22 deletions(-)
 rename vendor/github.com/kubevirt/cluster-network-addons-operator/automation/{check-patch.lifecycle.k8s-1.11.0.mounts => check-patch.lifecycle.k8s-1.13.3.mounts} (100%)
 rename vendor/github.com/kubevirt/cluster-network-addons-operator/automation/{check-patch.lifecycle.k8s-1.11.0.packages => check-patch.lifecycle.k8s-1.13.3.packages} (100%)
 rename vendor/github.com/kubevirt/cluster-network-addons-operator/automation/{check-patch.lifecycle.k8s-1.11.0.sh => check-patch.lifecycle.k8s-1.13.3.sh} (100%)
 rename vendor/github.com/kubevirt/cluster-network-addons-operator/automation/{check-patch.workflow.k8s-1.11.0.mounts => check-patch.workflow.k8s-1.13.3.mounts} (100%)
 rename vendor/github.com/kubevirt/cluster-network-addons-operator/automation/{check-patch.workflow.k8s-1.11.0.packages => check-patch.workflow.k8s-1.13.3.packages} (100%)
 rename vendor/github.com/kubevirt/cluster-network-addons-operator/automation/{check-patch.workflow.k8s-1.11.0.sh => check-patch.workflow.k8s-1.13.3.sh} (100%)
 create mode 100644 vendor/github.com/kubevirt/cluster-network-addons-operator/test/releases/0.15.0.go
 create mode 100644 vendor/github.com/kubevirt/cluster-network-addons-operator/test/releases/0.16.0.go

diff --git a/Gopkg.lock b/Gopkg.lock
index 3061a2aa2..5e49c97fa 100644
--- a/Gopkg.lock
+++ b/Gopkg.lock
@@ -363,7 +363,7 @@
   revision = "b84e30acd515aadc4b783ad4ff83aff3299bdfe0"
 
 [[projects]]
-  digest = "1:3b1a9d372aec31a02acaf9efa70a2e39772d1fdac9a9f847c73d7516c90d420b"
+  digest = "1:df3d502c0310ddfaee3922dd7d95205b10622f1807e7c0b404fd5e48cedd98b6"
   name = "github.com/kubevirt/cluster-network-addons-operator"
   packages = [
     "pkg/apis",
@@ -372,8 +372,8 @@
     "pkg/names",
   ]
   pruneopts = "NT"
-  revision = "201dbef83ba7c215fbebed96a75c870fddd928ab"
-  version = "0.13.0"
+  revision = "ba70fbedeb14f7d3a4f1a9be8ed62d0992721331"
+  version = "0.15.0"
 
 [[projects]]
   branch = "master"
diff --git a/Gopkg.toml b/Gopkg.toml
index 8c112479e..4007f1cbe 100644
--- a/Gopkg.toml
+++ b/Gopkg.toml
@@ -35,7 +35,7 @@ required = [
 
 [[override]]
   name = "github.com/kubevirt/cluster-network-addons-operator"
-  version = "=0.13.0"
+  version = "=0.15.0"
 
 [[override]]
   name = "github.com/MarSik/kubevirt-ssp-operator"
diff --git a/deploy/olm-catalog/kubevirt-hyperconverged/0.0.2/kubevirt-hyperconverged-operator.v0.0.2.clusterserviceversion.yaml b/deploy/olm-catalog/kubevirt-hyperconverged/0.0.2/kubevirt-hyperconverged-operator.v0.0.2.clusterserviceversion.yaml
index 96a691c5d..60d8384d1 100644
--- a/deploy/olm-catalog/kubevirt-hyperconverged/0.0.2/kubevirt-hyperconverged-operator.v0.0.2.clusterserviceversion.yaml
+++ b/deploy/olm-catalog/kubevirt-hyperconverged/0.0.2/kubevirt-hyperconverged-operator.v0.0.2.clusterserviceversion.yaml
@@ -95,7 +95,7 @@ metadata:
     categories: OpenShift Optional
     certified: 'false'
     containerImage: quay.io/kubevirt/hyperconverged-cluster-operator:latest
-    createdAt: 2019-09-03 15:43:27.61039013 +0300 IDT m=+0.025400476
+    createdAt: 2019-09-03 21:22:29.688186557 +0200 CEST m=+0.036522946
     description: Creates and maintains a HyperConverged KubeVirt Deployment
     repository: https://github.com/kubevirt/hyperconverged-cluster-operator
     support: 'false'
@@ -1454,13 +1454,13 @@ spec:
                   - name: OVS_MARKER_IMAGE
                     value: quay.io/kubevirt/ovs-cni-marker:v0.7.0
                   - name: KUBEMACPOOL_IMAGE
-                    value: quay.io/kubevirt/kubemacpool:v0.4.0
+                    value: quay.io/kubevirt/kubemacpool:v0.5.0
                   - name: OPERATOR_IMAGE
-                    value: quay.io/kubevirt/cluster-network-addons-operator:0.13.0
+                    value: quay.io/kubevirt/cluster-network-addons-operator:0.15.0
                   - name: OPERATOR_NAME
                     value: cluster-network-addons-operator
                   - name: OPERATOR_VERSION
-                    value: 0.13.0
+                    value: 0.15.0
                   - name: OPERATOR_NAMESPACE
                     valueFrom:
                       fieldRef:
@@ -1470,7 +1470,7 @@ spec:
                       fieldRef:
                         fieldPath: metadata.name
                   - name: WATCH_NAMESPACE
-                  image: quay.io/kubevirt/cluster-network-addons-operator:0.13.0
+                  image: quay.io/kubevirt/cluster-network-addons-operator:0.15.0
                   imagePullPolicy: IfNotPresent
                   name: cluster-network-addons-operator
                   resources: {}
diff --git a/deploy/operator.yaml b/deploy/operator.yaml
index 4e6f42c4d..c5a3c55f6 100644
--- a/deploy/operator.yaml
+++ b/deploy/operator.yaml
@@ -166,7 +166,7 @@ apiVersion: apps/v1
 kind: Deployment
 metadata:
   annotations:
-    networkaddonsoperator.network.kubevirt.io/version: 0.13.0
+    networkaddonsoperator.network.kubevirt.io/version: 0.15.0
   name: cluster-network-addons-operator
   namespace: kubevirt-hyperconverged
 spec:
@@ -196,13 +196,13 @@ spec:
         - name: OVS_MARKER_IMAGE
           value: quay.io/kubevirt/ovs-cni-marker:v0.7.0
         - name: KUBEMACPOOL_IMAGE
-          value: quay.io/kubevirt/kubemacpool:v0.4.0
+          value: quay.io/kubevirt/kubemacpool:v0.5.0
         - name: OPERATOR_IMAGE
-          value: quay.io/kubevirt/cluster-network-addons-operator:0.13.0
+          value: quay.io/kubevirt/cluster-network-addons-operator:0.15.0
         - name: OPERATOR_NAME
           value: cluster-network-addons-operator
         - name: OPERATOR_VERSION
-          value: 0.13.0
+          value: 0.15.0
         - name: OPERATOR_NAMESPACE
           valueFrom:
             fieldRef:
@@ -212,7 +212,7 @@ spec:
             fieldRef:
               fieldPath: metadata.name
         - name: WATCH_NAMESPACE
-        image: quay.io/kubevirt/cluster-network-addons-operator:0.13.0
+        image: quay.io/kubevirt/cluster-network-addons-operator:0.15.0
         imagePullPolicy: IfNotPresent
         name: cluster-network-addons-operator
         resources: {}
diff --git a/hack/config b/hack/config
index 3c8481564..de61644bc 100644
--- a/hack/config
+++ b/hack/config
@@ -2,7 +2,7 @@
 
 KUBEVIRT_VERSION="v0.17.0"
 CDI_VERSION="v1.6.0"
-NETWORK_ADDONS_VERSION="0.13.0"
+NETWORK_ADDONS_VERSION="0.15.0"
 SSP_VERSION="v0.1.0"
 
 CONTAINER_REGISTRY="docker.io/kubevirt"
diff --git a/hack/defaults b/hack/defaults
index 306c2f6a1..2c47be297 100644
--- a/hack/defaults
+++ b/hack/defaults
@@ -6,7 +6,7 @@ WAIT_TIMEOUT="${WAIT_TIMEOUT:-300s}"
 # Use upstream manifests with downstream containers
 KUBEVIRT_MANIFEST_VERSION="v0.17.0"
 CDI_MANIFEST_VERSION="v1.6.0"
-NETWORK_ADDONS_MANIFEST_VERSION="0.13.0"
+NETWORK_ADDONS_MANIFEST_VERSION="0.15.0"
 SSP_MANIFEST_VERSION="v1.0.8"
 
 CDI_CONTAINER_REGISTRY="${CDI_CONTAINER_REGISTRY:-docker.io/kubevirt}"
diff --git a/tools/manifest-templator/manifest-templator.go b/tools/manifest-templator/manifest-templator.go
index edd1945f6..4efc179c0 100644
--- a/tools/manifest-templator/manifest-templator.go
+++ b/tools/manifest-templator/manifest-templator.go
@@ -318,6 +318,7 @@ func getCNA(data *templateData) {
 
 	// Get CNA Deployment
 	cnadeployment := cnacomponents.GetDeployment(
+		data.CNA.OperatorTag,
 		data.CNA.OperatorTag,
 		data.Namespace,
 		data.CnaContainerPrefix,
diff --git a/vendor/github.com/kubevirt/cluster-network-addons-operator/automation/check-patch.lifecycle.k8s-1.11.0.mounts b/vendor/github.com/kubevirt/cluster-network-addons-operator/automation/check-patch.lifecycle.k8s-1.13.3.mounts
similarity index 100%
rename from vendor/github.com/kubevirt/cluster-network-addons-operator/automation/check-patch.lifecycle.k8s-1.11.0.mounts
rename to vendor/github.com/kubevirt/cluster-network-addons-operator/automation/check-patch.lifecycle.k8s-1.13.3.mounts
diff --git a/vendor/github.com/kubevirt/cluster-network-addons-operator/automation/check-patch.lifecycle.k8s-1.11.0.packages b/vendor/github.com/kubevirt/cluster-network-addons-operator/automation/check-patch.lifecycle.k8s-1.13.3.packages
similarity index 100%
rename from vendor/github.com/kubevirt/cluster-network-addons-operator/automation/check-patch.lifecycle.k8s-1.11.0.packages
rename to vendor/github.com/kubevirt/cluster-network-addons-operator/automation/check-patch.lifecycle.k8s-1.13.3.packages
diff --git a/vendor/github.com/kubevirt/cluster-network-addons-operator/automation/check-patch.lifecycle.k8s-1.11.0.sh b/vendor/github.com/kubevirt/cluster-network-addons-operator/automation/check-patch.lifecycle.k8s-1.13.3.sh
similarity index 100%
rename from vendor/github.com/kubevirt/cluster-network-addons-operator/automation/check-patch.lifecycle.k8s-1.11.0.sh
rename to vendor/github.com/kubevirt/cluster-network-addons-operator/automation/check-patch.lifecycle.k8s-1.13.3.sh
diff --git a/vendor/github.com/kubevirt/cluster-network-addons-operator/automation/check-patch.workflow.k8s-1.11.0.mounts b/vendor/github.com/kubevirt/cluster-network-addons-operator/automation/check-patch.workflow.k8s-1.13.3.mounts
similarity index 100%
rename from vendor/github.com/kubevirt/cluster-network-addons-operator/automation/check-patch.workflow.k8s-1.11.0.mounts
rename to vendor/github.com/kubevirt/cluster-network-addons-operator/automation/check-patch.workflow.k8s-1.13.3.mounts
diff --git a/vendor/github.com/kubevirt/cluster-network-addons-operator/automation/check-patch.workflow.k8s-1.11.0.packages b/vendor/github.com/kubevirt/cluster-network-addons-operator/automation/check-patch.workflow.k8s-1.13.3.packages
similarity index 100%
rename from vendor/github.com/kubevirt/cluster-network-addons-operator/automation/check-patch.workflow.k8s-1.11.0.packages
rename to vendor/github.com/kubevirt/cluster-network-addons-operator/automation/check-patch.workflow.k8s-1.13.3.packages
diff --git a/vendor/github.com/kubevirt/cluster-network-addons-operator/automation/check-patch.workflow.k8s-1.11.0.sh b/vendor/github.com/kubevirt/cluster-network-addons-operator/automation/check-patch.workflow.k8s-1.13.3.sh
similarity index 100%
rename from vendor/github.com/kubevirt/cluster-network-addons-operator/automation/check-patch.workflow.k8s-1.11.0.sh
rename to vendor/github.com/kubevirt/cluster-network-addons-operator/automation/check-patch.workflow.k8s-1.13.3.sh
diff --git a/vendor/github.com/kubevirt/cluster-network-addons-operator/pkg/components/components.go b/vendor/github.com/kubevirt/cluster-network-addons-operator/pkg/components/components.go
index 20d491498..d16122384 100644
--- a/vendor/github.com/kubevirt/cluster-network-addons-operator/pkg/components/components.go
+++ b/vendor/github.com/kubevirt/cluster-network-addons-operator/pkg/components/components.go
@@ -22,7 +22,7 @@ const (
 	MultusImageDefault            = "quay.io/kubevirt/cluster-network-addon-multus:v3.2.0-1.gitbf61002"
 	LinuxBridgeCniImageDefault    = "quay.io/kubevirt/cni-default-plugins:v0.8.1"
 	LinuxBridgeMarkerImageDefault = "quay.io/kubevirt/bridge-marker:0.2.0"
-	KubeMacPoolImageDefault       = "quay.io/kubevirt/kubemacpool:v0.4.0"
+	KubeMacPoolImageDefault       = "quay.io/kubevirt/kubemacpool:v0.5.0"
 	NMStateHandlerImageDefault    = "quay.io/nmstate/kubernetes-nmstate-handler:v0.6.0"
 	OvsCniImageDefault            = "quay.io/kubevirt/ovs-cni-plugin:v0.7.0"
 	OvsMarkerImageDefault         = "quay.io/kubevirt/ovs-cni-marker:v0.7.0"
@@ -63,7 +63,7 @@ func (ai *AddonsImages) FillDefaults() *AddonsImages {
 	return ai
 }
 
-func GetDeployment(version string, namespace string, repository string, tag string, imagePullPolicy string, addonsImages *AddonsImages) *appsv1.Deployment {
+func GetDeployment(version string, operatorVersion string, namespace string, repository string, tag string, imagePullPolicy string, addonsImages *AddonsImages) *appsv1.Deployment {
 	image := fmt.Sprintf("%s/%s:%s", repository, Name, tag)
 	deployment := &appsv1.Deployment{
 		TypeMeta: metav1.TypeMeta{
@@ -74,7 +74,7 @@ func GetDeployment(version string, namespace string, repository string, tag stri
 			Name:      Name,
 			Namespace: namespace,
 			Annotations: map[string]string{
-				opv1alpha1.SchemeGroupVersion.Group + "/version": version,
+				opv1alpha1.SchemeGroupVersion.Group + "/version": operatorVersion,
 			},
 		},
 		Spec: appsv1.DeploymentSpec{
@@ -136,7 +136,7 @@ func GetDeployment(version string, namespace string, repository string, tag stri
 								},
 								{
 									Name:  "OPERATOR_VERSION",
-									Value: version,
+									Value: operatorVersion,
 								},
 								{
 									Name: "OPERATOR_NAMESPACE",
diff --git a/vendor/github.com/kubevirt/cluster-network-addons-operator/pkg/controller/statusmanager/status_manager.go b/vendor/github.com/kubevirt/cluster-network-addons-operator/pkg/controller/statusmanager/status_manager.go
index 67617ece8..a45704942 100644
--- a/vendor/github.com/kubevirt/cluster-network-addons-operator/pkg/controller/statusmanager/status_manager.go
+++ b/vendor/github.com/kubevirt/cluster-network-addons-operator/pkg/controller/statusmanager/status_manager.go
@@ -157,6 +157,9 @@ func (status *StatusManager) set(reachedAvailableLevel bool, conditions ...condi
 	config.Status.OperatorVersion = operatorVersion
 	config.Status.TargetVersion = operatorVersion
 
+	// Failing condition had been replaced by Degraded in 0.12.0, drop it from CR if needed
+	conditionsv1.RemoveStatusCondition(&config.Status.Conditions, conditionsv1.ConditionType("Failing"))
+
 	if reflect.DeepEqual(oldStatus, config.Status) {
 		return nil
 	}
diff --git a/vendor/github.com/kubevirt/cluster-network-addons-operator/test/check/check.go b/vendor/github.com/kubevirt/cluster-network-addons-operator/test/check/check.go
index 980829b40..114b065d8 100644
--- a/vendor/github.com/kubevirt/cluster-network-addons-operator/test/check/check.go
+++ b/vendor/github.com/kubevirt/cluster-network-addons-operator/test/check/check.go
@@ -66,13 +66,13 @@ func CheckConfigCondition(conditionType ConditionType, conditionStatus Condition
 	}
 
 	if timeout != CheckImmediately {
-		Eventually(getAndCheckCondition, timeout, time.Second).ShouldNot(HaveOccurred(), fmt.Sprintf("Timed out waiting for the condition, current config:\n%v", configToYaml(config)))
+		Eventually(getAndCheckCondition, timeout, 10*time.Millisecond).ShouldNot(HaveOccurred(), fmt.Sprintf("Timed out waiting for the condition, current config:\n%v", configToYaml(config)))
 	} else {
 		Expect(getAndCheckCondition()).NotTo(HaveOccurred(), fmt.Sprintf("Condition is not in the expected state, current config:\n%v", configToYaml(config)))
 	}
 
 	if duration != CheckDoNotRepeat {
-		Consistently(getAndCheckCondition, duration, time.Second).ShouldNot(HaveOccurred(), fmt.Sprintf("Condition prematurely changed its value, current config:\n%v", configToYaml(config)))
+		Consistently(getAndCheckCondition, duration, 10*time.Millisecond).ShouldNot(HaveOccurred(), fmt.Sprintf("Condition prematurely changed its value, current config:\n%v", configToYaml(config)))
 	}
 }
 
diff --git a/vendor/github.com/kubevirt/cluster-network-addons-operator/test/releases/0.15.0.go b/vendor/github.com/kubevirt/cluster-network-addons-operator/test/releases/0.15.0.go
new file mode 100644
index 000000000..b7bd3e3a6
--- /dev/null
+++ b/vendor/github.com/kubevirt/cluster-network-addons-operator/test/releases/0.15.0.go
@@ -0,0 +1,73 @@
+package releases
+
+import (
+	opv1alpha1 "github.com/kubevirt/cluster-network-addons-operator/pkg/apis/networkaddonsoperator/v1alpha1"
+)
+
+func init() {
+	release := Release{
+		Version: "0.15.0",
+		Containers: []opv1alpha1.Container{
+			opv1alpha1.Container{
+				Namespace:  "multus",
+				ParentName: "kube-multus-ds-amd64",
+				ParentKind: "DaemonSet",
+				Name:       "kube-multus",
+				Image:      "quay.io/kubevirt/cluster-network-addon-multus:v3.2.0-1.gitbf61002",
+			},
+			opv1alpha1.Container{
+				Namespace:  "linux-bridge",
+				ParentName: "bridge-marker",
+				ParentKind: "DaemonSet",
+				Name:       "bridge-marker",
+				Image:      "quay.io/kubevirt/bridge-marker:0.2.0",
+			},
+			opv1alpha1.Container{
+				Namespace:  "linux-bridge",
+				ParentName: "kube-cni-linux-bridge-plugin",
+				ParentKind: "DaemonSet",
+				Name:       "cni-plugins",
+				Image:      "quay.io/kubevirt/cni-default-plugins:v0.8.1",
+			},
+			opv1alpha1.Container{
+				Namespace:  "kubemacpool-system",
+				ParentName: "kubemacpool-mac-controller-manager",
+				ParentKind: "Deployment",
+				Name:       "manager",
+				Image:      "quay.io/kubevirt/kubemacpool:v0.5.0",
+			},
+			opv1alpha1.Container{
+				Namespace:  "nmstate",
+				ParentName: "nmstate-handler",
+				ParentKind: "DaemonSet",
+				Name:       "nmstate-handler",
+				Image:      "quay.io/nmstate/kubernetes-nmstate-handler:v0.6.0",
+			},
+			opv1alpha1.Container{
+				Namespace:  "ovs",
+				ParentName: "ovs-cni-amd64",
+				ParentKind: "DaemonSet",
+				Name:       "ovs-cni-plugin",
+				Image:      "quay.io/kubevirt/ovs-cni-plugin:v0.7.0",
+			},
+			opv1alpha1.Container{
+				Namespace:  "ovs",
+				ParentName: "ovs-cni-amd64",
+				ParentKind: "DaemonSet",
+				Name:       "ovs-cni-marker",
+				Image:      "quay.io/kubevirt/ovs-cni-marker:v0.7.0",
+			},
+		},
+		SupportedSpec: opv1alpha1.NetworkAddonsConfigSpec{
+			KubeMacPool: &opv1alpha1.KubeMacPool{},
+			LinuxBridge: &opv1alpha1.LinuxBridge{},
+			Multus:      &opv1alpha1.Multus{},
+			NMState:     &opv1alpha1.NMState{},
+			Ovs:         &opv1alpha1.Ovs{},
+		},
+		Manifests: []string{
+			"operator.yaml",
+		},
+	}
+	releases = append(releases, release)
+}
diff --git a/vendor/github.com/kubevirt/cluster-network-addons-operator/test/releases/0.16.0.go b/vendor/github.com/kubevirt/cluster-network-addons-operator/test/releases/0.16.0.go
new file mode 100644
index 000000000..67cffa12a
--- /dev/null
+++ b/vendor/github.com/kubevirt/cluster-network-addons-operator/test/releases/0.16.0.go
@@ -0,0 +1,73 @@
+package releases
+
+import (
+	opv1alpha1 "github.com/kubevirt/cluster-network-addons-operator/pkg/apis/networkaddonsoperator/v1alpha1"
+)
+
+func init() {
+	release := Release{
+		Version: "0.16.0",
+		Containers: []opv1alpha1.Container{
+			opv1alpha1.Container{
+				Namespace:  "multus",
+				ParentName: "kube-multus-ds-amd64",
+				ParentKind: "DaemonSet",
+				Name:       "kube-multus",
+				Image:      "quay.io/kubevirt/cluster-network-addon-multus:v3.2.0-1.gitbf61002",
+			},
+			opv1alpha1.Container{
+				Namespace:  "linux-bridge",
+				ParentName: "bridge-marker",
+				ParentKind: "DaemonSet",
+				Name:       "bridge-marker",
+				Image:      "quay.io/kubevirt/bridge-marker:0.2.0",
+			},
+			opv1alpha1.Container{
+				Namespace:  "linux-bridge",
+				ParentName: "kube-cni-linux-bridge-plugin",
+				ParentKind: "DaemonSet",
+				Name:       "cni-plugins",
+				Image:      "quay.io/kubevirt/cni-default-plugins:v0.8.1",
+			},
+			opv1alpha1.Container{
+				Namespace:  "kubemacpool-system",
+				ParentName: "kubemacpool-mac-controller-manager",
+				ParentKind: "Deployment",
+				Name:       "manager",
+				Image:      "quay.io/kubevirt/kubemacpool:v0.5.0",
+			},
+			opv1alpha1.Container{
+				Namespace:  "nmstate",
+				ParentName: "nmstate-handler",
+				ParentKind: "DaemonSet",
+				Name:       "nmstate-handler",
+				Image:      "quay.io/nmstate/kubernetes-nmstate-handler:v0.6.0",
+			},
+			opv1alpha1.Container{
+				Namespace:  "ovs",
+				ParentName: "ovs-cni-amd64",
+				ParentKind: "DaemonSet",
+				Name:       "ovs-cni-plugin",
+				Image:      "quay.io/kubevirt/ovs-cni-plugin:v0.7.0",
+			},
+			opv1alpha1.Container{
+				Namespace:  "ovs",
+				ParentName: "ovs-cni-amd64",
+				ParentKind: "DaemonSet",
+				Name:       "ovs-cni-marker",
+				Image:      "quay.io/kubevirt/ovs-cni-marker:v0.7.0",
+			},
+		},
+		SupportedSpec: opv1alpha1.NetworkAddonsConfigSpec{
+			KubeMacPool: &opv1alpha1.KubeMacPool{},
+			LinuxBridge: &opv1alpha1.LinuxBridge{},
+			Multus:      &opv1alpha1.Multus{},
+			NMState:     &opv1alpha1.NMState{},
+			Ovs:         &opv1alpha1.Ovs{},
+		},
+		Manifests: []string{
+			"operator.yaml",
+		},
+	}
+	releases = append(releases, release)
+}
diff --git a/vendor/github.com/kubevirt/cluster-network-addons-operator/tools/manifest-templator/manifest-templator.go b/vendor/github.com/kubevirt/cluster-network-addons-operator/tools/manifest-templator/manifest-templator.go
index bea0374d1..395259603 100644
--- a/vendor/github.com/kubevirt/cluster-network-addons-operator/tools/manifest-templator/manifest-templator.go
+++ b/vendor/github.com/kubevirt/cluster-network-addons-operator/tools/manifest-templator/manifest-templator.go
@@ -52,6 +52,7 @@ type operatorData struct {
 type templateData struct {
 	Version         string
 	VersionReplaces string
+	OperatorVersion string
 	Namespace       string
 	ContainerPrefix string
 	ContainerTag    string
@@ -138,6 +139,7 @@ func getCNA(data *templateData) {
 	// Get CNA Deployment
 	cnadeployment := components.GetDeployment(
 		data.Version,
+		data.OperatorVersion,
 		data.Namespace,
 		data.ContainerPrefix,
 		data.ContainerTag,
@@ -213,6 +215,7 @@ func getCNA(data *templateData) {
 func main() {
 	version := flag.String("version", "", "The csv version")
 	versionReplaces := flag.String("version-replaces", "", "The csv version this replaces")
+	operatorVersion := flag.String("operator-version", "", "The operator version")
 	namespace := flag.String("namespace", components.Namespace, "Namespace used by csv")
 	containerPrefix := flag.String("container-prefix", "quay.io/kubevirt", "The container repository used for the operator image")
 	containerTag := flag.String("container-tag", "latest", "The operator image's container tag")
@@ -233,6 +236,7 @@ func main() {
 	data := templateData{
 		Version:         *version,
 		VersionReplaces: *versionReplaces,
+		OperatorVersion: *operatorVersion,
 		Namespace:       *namespace,
 		ContainerPrefix: *containerPrefix,
 		ContainerTag:    *containerTag,