From 12755824c2defceeb6e5c3c5bd62a6bf32584975 Mon Sep 17 00:00:00 2001 From: Sam Lucidi Date: Wed, 12 May 2021 09:13:21 -0400 Subject: [PATCH] Release v0.3.5 Signed-off-by: Sam Lucidi --- Makefile | 2 +- README.md | 4 +- .../vm-import-operator/v0.3.5/namespace.yaml | 5 + .../vm-import-operator/v0.3.5/operator.yaml | 209 ++++++++++++++++++ ...-operator.0.3.5.clusterserviceversion.yaml | 199 +++++++++++++++++ .../v0.3.5/vmimportconfig_cr.yaml | 7 + version/description | 11 +- version/version.go | 2 +- 8 files changed, 430 insertions(+), 9 deletions(-) create mode 100644 manifests/vm-import-operator/v0.3.5/namespace.yaml create mode 100644 manifests/vm-import-operator/v0.3.5/operator.yaml create mode 100644 manifests/vm-import-operator/v0.3.5/vm-import-operator.0.3.5.clusterserviceversion.yaml create mode 100644 manifests/vm-import-operator/v0.3.5/vmimportconfig_cr.yaml diff --git a/Makefile b/Makefile index d10959dce..e6397b81d 100644 --- a/Makefile +++ b/Makefile @@ -1,7 +1,7 @@ all: fmt check # Always keep the last released version here -VERSION_REPLACES ?= v0.3.4 +VERSION_REPLACES ?= v0.3.5 VERSION ?= v0.0.1 export VERSION := $(VERSION) diff --git a/README.md b/README.md index 66fbee18c..d8d49c68b 100644 --- a/README.md +++ b/README.md @@ -17,8 +17,8 @@ TARGET_NAMESPACE=YOUR_DESIRED_NAMESPACE make gen-manifests Deploy vm-import-operator resources: ```bash -kubectl apply -f https://github.com/kubevirt/vm-import-operator/releases/download/v0.3.4/operator.yaml -kubectl apply -f https://github.com/kubevirt/vm-import-operator/releases/download/v0.3.4/vmimportconfig_cr.yaml +kubectl apply -f https://github.com/kubevirt/vm-import-operator/releases/download/v0.3.5/operator.yaml +kubectl apply -f https://github.com/kubevirt/vm-import-operator/releases/download/v0.3.5/vmimportconfig_cr.yaml ``` # Import virtual machine from oVirt diff --git a/manifests/vm-import-operator/v0.3.5/namespace.yaml b/manifests/vm-import-operator/v0.3.5/namespace.yaml new file mode 100644 index 000000000..fd9fad633 --- /dev/null +++ b/manifests/vm-import-operator/v0.3.5/namespace.yaml @@ -0,0 +1,5 @@ +--- +apiVersion: v1 +kind: Namespace +metadata: + name: kubevirt-hyperconverged diff --git a/manifests/vm-import-operator/v0.3.5/operator.yaml b/manifests/vm-import-operator/v0.3.5/operator.yaml new file mode 100644 index 000000000..c70300f8a --- /dev/null +++ b/manifests/vm-import-operator/v0.3.5/operator.yaml @@ -0,0 +1,209 @@ +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + labels: + operator.v2v.kubevirt.io: "" + name: vmimportconfigs.v2v.kubevirt.io +spec: + group: v2v.kubevirt.io + names: + categories: + - all + kind: VMImportConfig + listKind: VMImportConfigList + plural: vmimportconfigs + singular: vmimportconfig + scope: Cluster + versions: + - name: v1beta1 + served: true + storage: true + subresources: + status: {} + schema: + openAPIV3Schema: + description: VMImportConfig is the Schema for the vmimportconfigs API + properties: + apiVersion: + description: APIVersion defines the versioned schema of this representation + of an object + type: string + kind: + description: Kind is a string value representing the REST resource this + object represents + type: string + metadata: + type: object + spec: + description: VMImportConfigSpec defines the desired state of VMImportConfig + properties: + imagePullPolicy: + description: "Image pull policy. One of Always, Never, IfNotPresent. Defaults to Always if :latest tag is specified, or IfNotPresent otherwise. Cannot be updated. More info: https://kubernetes.io/docs/concepts/containers/images#updating-images" + enum: + - Always + - IfNotPresent + - Never + type: string + type: object + status: + description: VMImportConfigStatus defines the observed state of VMImportConfig + properties: + conditions: + description: A list of current conditions of the VMImportConfig resource + items: + properties: + lastHeartbeatTime: + description: Last time the state of the condition was checked + format: date-time + type: string + lastTransitionTime: + description: Last time the state of the condition changed + format: date-time + type: string + message: + description: Message related to the last condition change + type: string + reason: + description: Reason the last condition changed + type: string + status: + description: Current status of the condition, True, False, Unknown + type: string + type: + description: ConditionType is the state of the operator's reconciliation functionality. + type: string + type: object + type: array + observedVersion: + description: The observed version of the VMImportConfig resource + type: string + operatorVersion: + description: The version of the VMImportConfig resource as defined by + the operator + type: string + targetVersion: + description: The desired version of the VMImportConfig resource + type: string + phase: + description: Phase is the current phase of the VMImportConfig deployment + type: string + type: object + type: object +--- +apiVersion: v1 +kind: ServiceAccount +metadata: + name: vm-import-operator + namespace: kubevirt-hyperconverged + +--- +apiVersion: rbac.authorization.k8s.io/v1 +kind: ClusterRole +metadata: + creationTimestamp: null + name: vm-import-operator +rules: +- apiGroups: + - "" + resources: + - pods + - events + - configmaps + - secrets + - serviceaccounts + - services + verbs: + - '*' +- apiGroups: + - apps + resources: + - deployments + - deployments/finalizers + verbs: + - '*' +- apiGroups: + - v2v.kubevirt.io + resources: + - vmimportconfigs + - vmimportconfigs/finalizers + - vmimportconfigs/status + verbs: + - '*' +- apiGroups: + - apiextensions.k8s.io + resources: + - customresourcedefinitions + verbs: + - '*' +- apiGroups: + - rbac.authorization.k8s.io + resources: + - clusterrolebindings + - clusterroles + verbs: + - '*' +- apiGroups: + - monitoring.coreos.com + resources: + - servicemonitors + verbs: + - '*' +--- +kind: ClusterRoleBinding +apiVersion: rbac.authorization.k8s.io/v1 +metadata: + name: vm-import-operator +roleRef: + kind: ClusterRole + name: vm-import-operator + apiGroup: rbac.authorization.k8s.io +subjects: +- kind: ServiceAccount + name: vm-import-operator + namespace: kubevirt-hyperconverged + +--- +apiVersion: apps/v1 +kind: Deployment +metadata: + name: vm-import-operator + namespace: kubevirt-hyperconverged +spec: + replicas: 1 + selector: + matchLabels: + name: vm-import-operator + template: + metadata: + labels: + name: vm-import-operator + spec: + serviceAccountName: vm-import-operator + containers: + - name: vm-import-operator + # Replace this with the built image name + image: quay.io/kubevirt/vm-import-operator:v0.3.5 + command: + - vm-import-operator + imagePullPolicy: Always + env: + - name: WATCH_NAMESPACE + - name: POD_NAME + valueFrom: + fieldRef: + fieldPath: metadata.name + - name: OPERATOR_NAME + value: "vm-import-operator" + - name: DEPLOY_CLUSTER_RESOURCES + value: "true" + - name: OPERATOR_VERSION + value: v0.3.5 + - name: CONTROLLER_IMAGE + value: quay.io/kubevirt/vm-import-controller:v0.3.5 + - name: VIRTV2V_IMAGE + value: quay.io/kubevirt/vm-import-virtv2v:v0.3.5 + - name: PULL_POLICY + value: Always + - name: MONITORING_NAMESPACE + value: openshift-monitoring diff --git a/manifests/vm-import-operator/v0.3.5/vm-import-operator.0.3.5.clusterserviceversion.yaml b/manifests/vm-import-operator/v0.3.5/vm-import-operator.0.3.5.clusterserviceversion.yaml new file mode 100644 index 000000000..369b798ec --- /dev/null +++ b/manifests/vm-import-operator/v0.3.5/vm-import-operator.0.3.5.clusterserviceversion.yaml @@ -0,0 +1,199 @@ +--- +apiVersion: operators.coreos.com/v1alpha1 +kind: ClusterServiceVersion +metadata: + annotations: + alm-examples: |2- + + [ + { + "apiVersion":"v2v.kubevirt.io/v1beta1", + "kind":"VMImportConfig", + "metadata": { + "name":"vm-import-operator-config" + }, + "spec": { + "imagePullPolicy":"IfNotPresent" + } + } + ] + capabilities: Virtual Machine Import + categories: Import,Virtualization, RHV + name: vm-import-operator.0.3.5 + namespace: kubevirt-hyperconverged +spec: + apiservicedefinitions: {} + customresourcedefinitions: + owned: + - description: Represents a virtual machine import config + displayName: Virtual Machine import config + kind: VMImportConfig + name: vmimportconfigs.v2v.kubevirt.io + specDescriptors: + - description: The ImageRegistry to use for vm import. + displayName: ImageRegistry + path: imageRegistry + x-descriptors: + - urn:alm:descriptor:text + - description: The ImageTag to use for vm import. + displayName: ImageTag + path: imageTag + x-descriptors: + - urn:alm:descriptor:text + - description: The ImagePullPolicy to use for vm import. + displayName: ImagePullPolicy + path: imagePullPolicy + x-descriptors: + - urn:alm:descriptor:io.kubernetes:imagePullPolicy + statusDescriptors: + - description: The deployment phase. + displayName: Phase + path: phase + x-descriptors: + - urn:alm:descriptor:io.kubernetes.phase + - description: Explanation for the current status of the vm import deployment. + displayName: Conditions + path: conditions + x-descriptors: + - urn:alm:descriptor:io.kubernetes.conditions + - description: The observed version of the vm import deployment. + displayName: Observed vm import Version + path: observedVersion + x-descriptors: + - urn:alm:descriptor:text + - description: The targeted version of the vm import deployment. + displayName: Target vm import Version + path: targetVersion + x-descriptors: + - urn:alm:descriptor:text + - description: The version of the vm import Operator + displayName: Vm import Operator Version + path: operatorVersion + x-descriptors: + - urn:alm:descriptor:text + version: v1beta1 + description: VM import operator provides ability to import virtual machines from other infrastructure like oVirt/RHV + displayName: VM import operator + install: + spec: + clusterPermissions: + - rules: + - apiGroups: + - "" + resources: + - pods + - events + - configmaps + - secrets + - serviceaccounts + - services + - services/finalizers + verbs: + - '*' + - apiGroups: + - apps + resources: + - deployments + - deployments/finalizers + verbs: + - '*' + - apiGroups: + - v2v.kubevirt.io + resources: + - vmimportconfigs + - vmimportconfigs/finalizers + - vmimportconfigs/status + verbs: + - '*' + - apiGroups: + - apiextensions.k8s.io + resources: + - customresourcedefinitions + verbs: + - '*' + - apiGroups: + - rbac.authorization.k8s.io + resources: + - clusterrolebindings + - clusterroles + verbs: + - '*' + - apiGroups: + - monitoring.coreos.com + resources: + - servicemonitors + verbs: + - '*' + serviceAccountName: vm-import-operator + deployments: + - name: vm-import-operator + spec: + replicas: 1 + selector: + matchLabels: + name: vm-import-operator + operator.v2v.kubevirt.io: "" + strategy: {} + template: + metadata: + labels: + name: vm-import-operator + operator.v2v.kubevirt.io: "" + spec: + containers: + - env: + - name: DEPLOY_CLUSTER_RESOURCES + value: "true" + - name: OPERATOR_VERSION + value: v0.3.5 + - name: CONTROLLER_IMAGE + value: quay.io/kubevirt/vm-import-controller:v0.3.5 + - name: PULL_POLICY + value: Always + - name: WATCH_NAMESPACE + - name: POD_NAME + valueFrom: + fieldRef: + fieldPath: metadata.name + - name: MONITORING_NAMESPACE + value: openshift-monitoring + - name: VIRTV2V_IMAGE + value: quay.io/kubevirt/vm-import-virtv2v:v0.3.5 + image: quay.io/kubevirt/vm-import-operator:v0.3.5 + imagePullPolicy: Always + name: vm-import-operator + resources: {} + securityContext: + runAsNonRoot: true + serviceAccountName: vm-import-operator + strategy: deployment + installModes: + - supported: true + type: OwnNamespace + - supported: true + type: SingleNamespace + - supported: true + type: AllNamespaces + keywords: + - Import + - Virtualization + - oVirt + - RHV + labels: + operated-by: vm-import-operator + links: + - name: VM import operator + url: https://github.com/kubevirt/vm-import-operator/blob/master/README.md + - name: Source Code + url: https://github.com/kubevirt/vm-import-operator + maintainers: + - email: kubevirt-dev@googlegroups.com + name: KubeVirt project + maturity: alpha + provider: + name: KubeVirt project + replaces: 0.3.4 + selector: + matchLabels: + operated-by: vm-import-operator + version: 0.3.5 diff --git a/manifests/vm-import-operator/v0.3.5/vmimportconfig_cr.yaml b/manifests/vm-import-operator/v0.3.5/vmimportconfig_cr.yaml new file mode 100644 index 000000000..317f7fd65 --- /dev/null +++ b/manifests/vm-import-operator/v0.3.5/vmimportconfig_cr.yaml @@ -0,0 +1,7 @@ +--- +apiVersion: v2v.kubevirt.io/v1beta1 +kind: VMImportConfig +metadata: + name: vm-import-operator-config +spec: + imagePullPolicy: IfNotPresent diff --git a/version/description b/version/description index 40d9f0228..5a5d2ad1d 100644 --- a/version/description +++ b/version/description @@ -1,7 +1,8 @@ -v0.3.4 +v0.3.5 Bugs: -* Validate that vSphere networks are mapped -* Start VMs so WaitForFirstConsumer DVs can bind -* Requeue while waiting for disk copies and v2v -* Use IsDNS1123Label to validate VM names +* Defer storing the source VM power state until immediately before stopping +* Fix storage overhead roundup calculation +* Read controller configmap on each reconcile +* Add RHEL6.10 to the OS mapper +* Clean up warm migration snapshots diff --git a/version/version.go b/version/version.go index 0af7fac97..42f1af326 100644 --- a/version/version.go +++ b/version/version.go @@ -2,5 +2,5 @@ package version var ( // Version represents the version of the operator - Version = "v0.3.4" + Version = "v0.3.5" )