From b6b0822fba8dd2e0beb396bcc8f19a49166d9904 Mon Sep 17 00:00:00 2001 From: Petr Horacek Date: Tue, 17 Mar 2020 20:20:15 +0100 Subject: [PATCH] Release 0.32.0 Signed-off-by: Petr Horacek --- Makefile | 2 +- README.md | 8 +- ...operator.0.32.0.clusterserviceversion.yaml | 209 ++++++++++++++++++ .../0.32.0/namespace.yaml | 7 + .../network-addons-config-example.cr.yaml | 13 ++ .../0.32.0/network-addons-config.crd.yaml | 33 +++ .../0.32.0/operator.yaml | 180 +++++++++++++++ .../cluster-network-addons.package.yaml | 2 +- test/releases/0.32.0.go | 72 ++++++ version/description | 13 +- version/version.go | 2 +- 11 files changed, 530 insertions(+), 11 deletions(-) create mode 100644 manifests/cluster-network-addons/0.32.0/cluster-network-addons-operator.0.32.0.clusterserviceversion.yaml create mode 100644 manifests/cluster-network-addons/0.32.0/namespace.yaml create mode 100644 manifests/cluster-network-addons/0.32.0/network-addons-config-example.cr.yaml create mode 100644 manifests/cluster-network-addons/0.32.0/network-addons-config.crd.yaml create mode 100644 manifests/cluster-network-addons/0.32.0/operator.yaml create mode 100644 test/releases/0.32.0.go diff --git a/Makefile b/Makefile index a1ce2d60c..917716b42 100644 --- a/Makefile +++ b/Makefile @@ -3,7 +3,7 @@ all: fmt check VERSION ?= 99.0.0 export VERSION := $(VERSION) # Always keep the last released version here -VERSION_REPLACES ?= 0.31.0 +VERSION_REPLACES ?= 0.32.0 DEPLOY_DIR ?= manifests diff --git a/README.md b/README.md index 32fe65e7e..9ce01991e 100644 --- a/README.md +++ b/README.md @@ -192,16 +192,16 @@ spec: First install the operator itself: ```shell -kubectl apply -f https://raw.githubusercontent.com/kubevirt/cluster-network-addons-operator/master/manifests/cluster-network-addons/0.31.0/namespace.yaml -kubectl apply -f https://raw.githubusercontent.com/kubevirt/cluster-network-addons-operator/master/manifests/cluster-network-addons/0.31.0/network-addons-config.crd.yaml -kubectl apply -f https://raw.githubusercontent.com/kubevirt/cluster-network-addons-operator/master/manifests/cluster-network-addons/0.31.0/operator.yaml +kubectl apply -f https://raw.githubusercontent.com/kubevirt/cluster-network-addons-operator/master/manifests/cluster-network-addons/0.32.0/namespace.yaml +kubectl apply -f https://raw.githubusercontent.com/kubevirt/cluster-network-addons-operator/master/manifests/cluster-network-addons/0.32.0/network-addons-config.crd.yaml +kubectl apply -f https://raw.githubusercontent.com/kubevirt/cluster-network-addons-operator/master/manifests/cluster-network-addons/0.32.0/operator.yaml ``` Then you need to create a configuration for the operator [example CR](manifests/cluster-network-addons/0.4.0/network-addons-config-example.cr.yaml): ```shell -kubectl apply -f https://raw.githubusercontent.com/kubevirt/cluster-network-addons-operator/master/manifests/cluster-network-addons/0.31.0/network-addons-config-example.cr.yaml +kubectl apply -f https://raw.githubusercontent.com/kubevirt/cluster-network-addons-operator/master/manifests/cluster-network-addons/0.32.0/network-addons-config-example.cr.yaml ``` Finally you can wait for the operator to finish deployment: diff --git a/manifests/cluster-network-addons/0.32.0/cluster-network-addons-operator.0.32.0.clusterserviceversion.yaml b/manifests/cluster-network-addons/0.32.0/cluster-network-addons-operator.0.32.0.clusterserviceversion.yaml new file mode 100644 index 000000000..34499858c --- /dev/null +++ b/manifests/cluster-network-addons/0.32.0/cluster-network-addons-operator.0.32.0.clusterserviceversion.yaml @@ -0,0 +1,209 @@ +apiVersion: operators.coreos.com/v1alpha1 +kind: ClusterServiceVersion +metadata: + name: cluster-network-addons-operator.0.32.0 + namespace: placeholder + annotations: + capabilities: "Full Lifecycle" + categories: "Networking" + alm-examples: | + [ + { + "apiVersion":"networkaddonsoperator.network.kubevirt.io/v1alpha1", + "kind":"NetworkAddonsConfig", + "metadata": { + "name":"cluster" + }, + "spec": { + "multus":{}, + "linuxBridge":{}, + "kubeMacPool": { + "rangeStart": "02:00:00:00:00:00", + "rangeEnd": "FD:FF:FF:FF:FF:FF" + }, + "nmstate":{}, + "ovs": {}, + "macvtap": {}, + "imagePullPolicy": "IfNotPresent" + } + } + ] + description: Additional networking components for Kubernetes +spec: + displayName: Cluster Network Addons + description: Deploy additional networking components for Kubernetes + keywords: + - Networking + - Multus + - CNI + - macpool + - SR-IOV + - Bridge + - nmstate + - KubeVirt + - Virtualization + version: 0.32.0 + minKubeVersion: 1.10.0 + maturity: alpha + + replaces: cluster-network-addons-operator.0.31.0 + + maintainers: + - name: KubeVirt project + email: kubevirt-dev@googlegroups.com + provider: + name: KubeVirt project + links: + - name: Cluster Network Addons Operator + url: https://github.com/kubevirt/cluster-network-addons-operator + icon: [] + labels: + alm-owner-kubevirt: cluster-network-addons + operated-by: cluster-network-addons + selector: + matchLabels: + alm-owner-kubevirt: cluster-network-addons + operated-by: cluster-network-addons + installModes: + - type: OwnNamespace + supported: true + - type: SingleNamespace + supported: true + - type: MultiNamespace + supported: true + - type: AllNamespaces + supported: true + install: + strategy: deployment + spec: + permissions: + - serviceAccountName: cluster-network-addons-operator + rules: + - apiGroups: + - "" + resources: + - pods + - configmaps + verbs: + - get + - list + - watch + - create + - patch + - update + - delete + - apiGroups: + - apps + resources: + - deployments + - replicasets + verbs: + - get + - list + - watch + - create + - patch + - update + - delete + + clusterPermissions: + - serviceAccountName: cluster-network-addons-operator + rules: + - apiGroups: + - security.openshift.io + resourceNames: + - privileged + resources: + - securitycontextconstraints + verbs: + - get + - list + - watch + - apiGroups: + - operator.openshift.io + resources: + - networks + verbs: + - get + - list + - watch + - apiGroups: + - networkaddonsoperator.network.kubevirt.io + resources: + - networkaddonsconfigs + verbs: + - get + - list + - watch + - apiGroups: + - '*' + resources: + - '*' + verbs: + - '*' + + deployments: + - name: cluster-network-addons-operator + spec: + replicas: 1 + selector: + matchLabels: + name: cluster-network-addons-operator + strategy: + type: Recreate + template: + metadata: + labels: + name: cluster-network-addons-operator + spec: + containers: + - env: + - name: MULTUS_IMAGE + value: nfvpe/multus:v3.4.1 + - name: LINUX_BRIDGE_IMAGE + value: quay.io/kubevirt/cni-default-plugins:v0.8.1 + - name: LINUX_BRIDGE_MARKER_IMAGE + value: quay.io/kubevirt/bridge-marker:0.2.0 + - name: NMSTATE_HANDLER_IMAGE + value: quay.io/nmstate/kubernetes-nmstate-handler:v0.17.0 + - name: OVS_CNI_IMAGE + value: quay.io/kubevirt/ovs-cni-plugin:v0.11.0 + - name: OVS_MARKER_IMAGE + value: quay.io/kubevirt/ovs-cni-marker:v0.11.0 + - name: KUBEMACPOOL_IMAGE + value: quay.io/kubevirt/kubemacpool:v0.8.3 + - name: MACVTAP_CNI_IMAGE + value: quay.io/kubevirt/macvtap-cni:v0.1.0 + - name: OPERATOR_IMAGE + value: quay.io/kubevirt/cluster-network-addons-operator:0.32.0 + - name: OPERATOR_NAME + value: cluster-network-addons-operator + - name: OPERATOR_VERSION + value: 0.32.0 + - name: OPERATOR_NAMESPACE + valueFrom: + fieldRef: + fieldPath: metadata.namespace + - name: OPERAND_NAMESPACE + valueFrom: + fieldRef: + fieldPath: metadata.namespace + - name: POD_NAME + valueFrom: + fieldRef: + fieldPath: metadata.name + - name: WATCH_NAMESPACE + image: quay.io/kubevirt/cluster-network-addons-operator:0.32.0 + imagePullPolicy: Always + name: cluster-network-addons-operator + resources: {} + serviceAccountName: cluster-network-addons-operator + + customresourcedefinitions: + owned: + - name: networkaddonsconfigs.networkaddonsoperator.network.kubevirt.io + version: v1alpha1 + group: networkaddonsoperator.network.kubevirt.io + kind: NetworkAddonsConfig + displayName: Cluster Network Addons + description: Cluster Network Addons diff --git a/manifests/cluster-network-addons/0.32.0/namespace.yaml b/manifests/cluster-network-addons/0.32.0/namespace.yaml new file mode 100644 index 000000000..53283d101 --- /dev/null +++ b/manifests/cluster-network-addons/0.32.0/namespace.yaml @@ -0,0 +1,7 @@ +--- +apiVersion: v1 +kind: Namespace +metadata: + name: cluster-network-addons + labels: + name: cluster-network-addons diff --git a/manifests/cluster-network-addons/0.32.0/network-addons-config-example.cr.yaml b/manifests/cluster-network-addons/0.32.0/network-addons-config-example.cr.yaml new file mode 100644 index 000000000..b966f7128 --- /dev/null +++ b/manifests/cluster-network-addons/0.32.0/network-addons-config-example.cr.yaml @@ -0,0 +1,13 @@ +--- +apiVersion: networkaddonsoperator.network.kubevirt.io/v1alpha1 +kind: NetworkAddonsConfig +metadata: + name: cluster +spec: + imagePullPolicy: IfNotPresent + kubeMacPool: {} + linuxBridge: {} + macvtap: {} + multus: {} + nmstate: {} + ovs: {} diff --git a/manifests/cluster-network-addons/0.32.0/network-addons-config.crd.yaml b/manifests/cluster-network-addons/0.32.0/network-addons-config.crd.yaml new file mode 100644 index 000000000..6c835ba52 --- /dev/null +++ b/manifests/cluster-network-addons/0.32.0/network-addons-config.crd.yaml @@ -0,0 +1,33 @@ +--- +apiVersion: apiextensions.k8s.io/v1beta1 +kind: CustomResourceDefinition +metadata: + name: networkaddonsconfigs.networkaddonsoperator.network.kubevirt.io +spec: + group: networkaddonsoperator.network.kubevirt.io + names: + kind: NetworkAddonsConfig + listKind: NetworkAddonsConfigList + plural: networkaddonsconfigs + singular: networkaddonsconfig + scope: Cluster + subresources: + status: {} + validation: + openAPIV3Schema: + properties: + apiVersion: + type: string + kind: + type: string + metadata: + type: object + spec: + type: object + status: + type: object + version: v1alpha1 + versions: + - name: v1alpha1 + served: true + storage: true diff --git a/manifests/cluster-network-addons/0.32.0/operator.yaml b/manifests/cluster-network-addons/0.32.0/operator.yaml new file mode 100644 index 000000000..3908b8239 --- /dev/null +++ b/manifests/cluster-network-addons/0.32.0/operator.yaml @@ -0,0 +1,180 @@ +--- +apiVersion: v1 +kind: ServiceAccount +metadata: + labels: + kubevirt.io: "" + name: cluster-network-addons-operator + namespace: cluster-network-addons + +--- +apiVersion: rbac.authorization.k8s.io/v1 +kind: ClusterRole +metadata: + labels: + name: cluster-network-addons-operator + name: cluster-network-addons-operator +rules: +- apiGroups: + - security.openshift.io + resourceNames: + - privileged + resources: + - securitycontextconstraints + verbs: + - get + - list + - watch +- apiGroups: + - operator.openshift.io + resources: + - networks + verbs: + - get + - list + - watch +- apiGroups: + - networkaddonsoperator.network.kubevirt.io + resources: + - networkaddonsconfigs + verbs: + - get + - list + - watch +- apiGroups: + - '*' + resources: + - '*' + verbs: + - '*' + +--- +apiVersion: rbac.authorization.k8s.io/v1 +kind: ClusterRoleBinding +metadata: + labels: + kubevirt.io: "" + name: cluster-network-addons-operator +roleRef: + apiGroup: rbac.authorization.k8s.io + kind: ClusterRole + name: cluster-network-addons-operator +subjects: + - kind: ServiceAccount + name: cluster-network-addons-operator + namespace: cluster-network-addons + +--- +apiVersion: rbac.authorization.k8s.io/v1 +kind: Role +metadata: + labels: + name: cluster-network-addons-operator + name: cluster-network-addons-operator + namespace: cluster-network-addons +rules: +- apiGroups: + - "" + resources: + - pods + - configmaps + verbs: + - get + - list + - watch + - create + - patch + - update + - delete +- apiGroups: + - apps + resources: + - deployments + - replicasets + verbs: + - get + - list + - watch + - create + - patch + - update + - delete + +--- +apiVersion: rbac.authorization.k8s.io/v1 +kind: RoleBinding +metadata: + labels: + kubevirt.io: "" + name: cluster-network-addons-operator + namespace: cluster-network-addons +roleRef: + apiGroup: rbac.authorization.k8s.io + kind: Role + name: cluster-network-addons-operator +subjects: + - kind: ServiceAccount + name: cluster-network-addons-operator + +--- +apiVersion: apps/v1 +kind: Deployment +metadata: + annotations: + networkaddonsoperator.network.kubevirt.io/version: 0.32.0 + name: cluster-network-addons-operator + namespace: cluster-network-addons +spec: + replicas: 1 + selector: + matchLabels: + name: cluster-network-addons-operator + strategy: + type: Recreate + template: + metadata: + labels: + name: cluster-network-addons-operator + spec: + containers: + - env: + - name: MULTUS_IMAGE + value: nfvpe/multus:v3.4.1 + - name: LINUX_BRIDGE_IMAGE + value: quay.io/kubevirt/cni-default-plugins:v0.8.1 + - name: LINUX_BRIDGE_MARKER_IMAGE + value: quay.io/kubevirt/bridge-marker:0.2.0 + - name: NMSTATE_HANDLER_IMAGE + value: quay.io/nmstate/kubernetes-nmstate-handler:v0.17.0 + - name: OVS_CNI_IMAGE + value: quay.io/kubevirt/ovs-cni-plugin:v0.11.0 + - name: OVS_MARKER_IMAGE + value: quay.io/kubevirt/ovs-cni-marker:v0.11.0 + - name: KUBEMACPOOL_IMAGE + value: quay.io/kubevirt/kubemacpool:v0.8.3 + - name: MACVTAP_CNI_IMAGE + value: quay.io/kubevirt/macvtap-cni:v0.1.0 + - name: OPERATOR_IMAGE + value: quay.io/kubevirt/cluster-network-addons-operator:0.32.0 + - name: OPERATOR_NAME + value: cluster-network-addons-operator + - name: OPERATOR_VERSION + value: 0.32.0 + - name: OPERATOR_NAMESPACE + valueFrom: + fieldRef: + fieldPath: metadata.namespace + - name: OPERAND_NAMESPACE + valueFrom: + fieldRef: + fieldPath: metadata.namespace + - name: POD_NAME + valueFrom: + fieldRef: + fieldPath: metadata.name + - name: WATCH_NAMESPACE + image: quay.io/kubevirt/cluster-network-addons-operator:0.32.0 + imagePullPolicy: Always + name: cluster-network-addons-operator + resources: {} + serviceAccountName: cluster-network-addons-operator diff --git a/manifests/cluster-network-addons/cluster-network-addons.package.yaml b/manifests/cluster-network-addons/cluster-network-addons.package.yaml index cd1b8902a..8dbff2396 100644 --- a/manifests/cluster-network-addons/cluster-network-addons.package.yaml +++ b/manifests/cluster-network-addons/cluster-network-addons.package.yaml @@ -1,4 +1,4 @@ packageName: cluster-network-addons channels: - name: alpha - currentCSV: cluster-network-addons-operator.0.31.0 + currentCSV: cluster-network-addons-operator.0.32.0 diff --git a/test/releases/0.32.0.go b/test/releases/0.32.0.go new file mode 100644 index 000000000..afade3b12 --- /dev/null +++ b/test/releases/0.32.0.go @@ -0,0 +1,72 @@ +package releases + +import ( + opv1alpha1 "github.com/kubevirt/cluster-network-addons-operator/pkg/apis/networkaddonsoperator/v1alpha1" +) + +func init() { + release := Release{ + Version: "0.32.0", + Containers: []opv1alpha1.Container{ + opv1alpha1.Container{ + ParentName: "multus", + ParentKind: "DaemonSet", + Name: "kube-multus", + Image: "nfvpe/multus:v3.4.1", + }, + opv1alpha1.Container{ + ParentName: "bridge-marker", + ParentKind: "DaemonSet", + Name: "bridge-marker", + Image: "quay.io/kubevirt/bridge-marker:0.2.0", + }, + opv1alpha1.Container{ + ParentName: "kube-cni-linux-bridge-plugin", + ParentKind: "DaemonSet", + Name: "cni-plugins", + Image: "quay.io/kubevirt/cni-default-plugins:v0.8.1", + }, + opv1alpha1.Container{ + ParentName: "kubemacpool-mac-controller-manager", + ParentKind: "Deployment", + Name: "manager", + Image: "quay.io/kubevirt/kubemacpool:v0.8.3", + }, + opv1alpha1.Container{ + ParentName: "nmstate-handler", + ParentKind: "DaemonSet", + Name: "nmstate-handler", + Image: "quay.io/nmstate/kubernetes-nmstate-handler:v0.17.0", + }, + opv1alpha1.Container{ + ParentName: "nmstate-handler-worker", + ParentKind: "DaemonSet", + Name: "nmstate-handler", + Image: "quay.io/nmstate/kubernetes-nmstate-handler:v0.17.0", + }, + opv1alpha1.Container{ + ParentName: "ovs-cni-amd64", + ParentKind: "DaemonSet", + Name: "ovs-cni-plugin", + Image: "quay.io/kubevirt/ovs-cni-plugin:v0.11.0", + }, + opv1alpha1.Container{ + ParentName: "ovs-cni-amd64", + ParentKind: "DaemonSet", + Name: "ovs-cni-marker", + Image: "quay.io/kubevirt/ovs-cni-marker:v0.11.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/version/description b/version/description index 4ab56b76f..e13041b2b 100644 --- a/version/description +++ b/version/description @@ -1,6 +1,11 @@ -0.31.0 +0.32.0 Features: -* bump knmstate to 0.17.0 (#339) -* bump ovs cni to 0.11.0 (#340) -* limit versions tested in lifecycle lane (#338) +* Bump multus to 3.4.1 (#352) +* Integrate macvtap cni (#346) +* bump kubemacpool to 0.8.3 (#345) +* drop limitations of resources (#342) + +Bugs: +* drop limitations of resources (#342) + diff --git a/version/version.go b/version/version.go index 22e6bc9b6..402abb971 100644 --- a/version/version.go +++ b/version/version.go @@ -1,7 +1,7 @@ package version var ( - Version = "0.31.0" + Version = "0.32.0" ) // * Force release after fixing automation scripts