From f14d2933d0bee9fbe4a12b6661d17a698e62af2d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lauri=20V=C3=B5sandi?= Date: Thu, 18 May 2023 22:46:54 +0300 Subject: [PATCH] Upgrade to Longhorn 1.4.2 --- longhorn-system/README.md | 15 ++-- longhorn-system/application.yml | 141 +++++++++++++++++--------------- longhorn-system/changes.diff | 32 ++++---- 3 files changed, 99 insertions(+), 89 deletions(-) diff --git a/longhorn-system/README.md b/longhorn-system/README.md index 113ccd9..89790fb 100644 --- a/longhorn-system/README.md +++ b/longhorn-system/README.md @@ -1,10 +1,13 @@ # Longhorn distributed block storage system -The manifest was fetched from -https://raw.githubusercontent.com/longhorn/longhorn/v1.4.0/deploy/longhorn.yaml -and then heavily modified as per `changes.diff` +Pull the manifest and apply changes -To deploy Longhorn use following: +``` +wget https://raw.githubusercontent.com/longhorn/longhorn/v1.4.2/deploy/longhorn.yaml -O application.yml +patch -p0 < changes.diff +``` + +To upgrade use following: ``` kubectl -n longhorn-system apply -f application.yml -f application-extras.yml @@ -14,7 +17,3 @@ After deploying specify `dedicated=storage:NoSchedule` for `Kubernetes Taint Toleration` under `Setting -> General` on [Longhorn Dashboard](https://longhorn.k-space.ee/). Proceed to tag suitable nodes with `storage` and disable Longhorn scheduling on others. - -# Known issues - -* Longhorn does not support [trim](https://github.com/longhorn/longhorn/issues/836) diff --git a/longhorn-system/application.yml b/longhorn-system/application.yml index 949c3ed..ff763d8 100644 --- a/longhorn-system/application.yml +++ b/longhorn-system/application.yml @@ -14,7 +14,7 @@ metadata: labels: app.kubernetes.io/name: longhorn app.kubernetes.io/instance: longhorn - app.kubernetes.io/version: v1.4.0 + app.kubernetes.io/version: v1.4.2 --- # Source: longhorn/templates/serviceaccount.yaml apiVersion: v1 @@ -25,7 +25,7 @@ metadata: labels: app.kubernetes.io/name: longhorn app.kubernetes.io/instance: longhorn - app.kubernetes.io/version: v1.4.0 + app.kubernetes.io/version: v1.4.2 --- # Source: longhorn/templates/default-setting.yaml apiVersion: v1 @@ -36,7 +36,7 @@ metadata: labels: app.kubernetes.io/name: longhorn app.kubernetes.io/instance: longhorn - app.kubernetes.io/version: v1.4.0 + app.kubernetes.io/version: v1.4.2 data: default-setting.yaml: |- --- @@ -49,7 +49,7 @@ metadata: labels: app.kubernetes.io/name: longhorn app.kubernetes.io/instance: longhorn - app.kubernetes.io/version: v1.4.0 + app.kubernetes.io/version: v1.4.2 data: storageclass.yaml: | kind: StorageClass @@ -79,7 +79,7 @@ metadata: labels: app.kubernetes.io/name: longhorn app.kubernetes.io/instance: longhorn - app.kubernetes.io/version: v1.4.0 + app.kubernetes.io/version: v1.4.2 longhorn-manager: "" name: backingimagedatasources.longhorn.io spec: @@ -250,7 +250,7 @@ metadata: labels: app.kubernetes.io/name: longhorn app.kubernetes.io/instance: longhorn - app.kubernetes.io/version: v1.4.0 + app.kubernetes.io/version: v1.4.2 longhorn-manager: "" name: backingimagemanagers.longhorn.io spec: @@ -435,7 +435,7 @@ metadata: labels: app.kubernetes.io/name: longhorn app.kubernetes.io/instance: longhorn - app.kubernetes.io/version: v1.4.0 + app.kubernetes.io/version: v1.4.2 longhorn-manager: "" name: backingimages.longhorn.io spec: @@ -610,7 +610,7 @@ metadata: labels: app.kubernetes.io/name: longhorn app.kubernetes.io/instance: longhorn - app.kubernetes.io/version: v1.4.0 + app.kubernetes.io/version: v1.4.2 longhorn-manager: "" name: backups.longhorn.io spec: @@ -803,7 +803,7 @@ metadata: labels: app.kubernetes.io/name: longhorn app.kubernetes.io/instance: longhorn - app.kubernetes.io/version: v1.4.0 + app.kubernetes.io/version: v1.4.2 longhorn-manager: "" name: backuptargets.longhorn.io spec: @@ -986,7 +986,7 @@ metadata: labels: app.kubernetes.io/name: longhorn app.kubernetes.io/instance: longhorn - app.kubernetes.io/version: v1.4.0 + app.kubernetes.io/version: v1.4.2 longhorn-manager: "" name: backupvolumes.longhorn.io spec: @@ -1150,7 +1150,7 @@ metadata: labels: app.kubernetes.io/name: longhorn app.kubernetes.io/instance: longhorn - app.kubernetes.io/version: v1.4.0 + app.kubernetes.io/version: v1.4.2 longhorn-manager: "" name: engineimages.longhorn.io spec: @@ -1342,7 +1342,7 @@ metadata: labels: app.kubernetes.io/name: longhorn app.kubernetes.io/instance: longhorn - app.kubernetes.io/version: v1.4.0 + app.kubernetes.io/version: v1.4.2 longhorn-manager: "" name: engines.longhorn.io spec: @@ -1691,7 +1691,7 @@ metadata: labels: app.kubernetes.io/name: longhorn app.kubernetes.io/instance: longhorn - app.kubernetes.io/version: v1.4.0 + app.kubernetes.io/version: v1.4.2 longhorn-manager: "" name: instancemanagers.longhorn.io spec: @@ -1776,7 +1776,7 @@ spec: description: InstanceManagerSpec defines the desired state of the Longhorn instancer manager properties: engineImage: - description: 'TODO: deprecate this field' + description: 'Deprecated: This field is useless.' type: string image: type: string @@ -1861,7 +1861,7 @@ metadata: labels: app.kubernetes.io/name: longhorn app.kubernetes.io/instance: longhorn - app.kubernetes.io/version: v1.4.0 + app.kubernetes.io/version: v1.4.2 longhorn-manager: "" name: nodes.longhorn.io spec: @@ -2100,7 +2100,7 @@ metadata: labels: app.kubernetes.io/name: longhorn app.kubernetes.io/instance: longhorn - app.kubernetes.io/version: v1.4.0 + app.kubernetes.io/version: v1.4.2 longhorn-manager: "" name: orphans.longhorn.io spec: @@ -2269,7 +2269,7 @@ spec: jsonPath: .spec.groups name: Groups type: string - - description: Should be one of "backup" or "snapshot" + - description: Should be one of "snapshot", "snapshot-force-create", "snapshot-cleanup", "snapshot-delete", "backup" or "backup-force-create" jsonPath: .spec.task name: Task type: string @@ -2331,10 +2331,14 @@ spec: description: The retain count of the snapshot/backup. type: integer task: - description: The recurring job type. Can be "snapshot" or "backup". + description: The recurring job task. Can be "snapshot", "snapshot-force-create", "snapshot-cleanup", "snapshot-delete", "backup" or "backup-force-create". enum: - snapshot + - snapshot-force-create + - snapshot-cleanup + - snapshot-delete - backup + - backup-force-create type: string type: object status: @@ -2366,7 +2370,7 @@ metadata: labels: app.kubernetes.io/name: longhorn app.kubernetes.io/instance: longhorn - app.kubernetes.io/version: v1.4.0 + app.kubernetes.io/version: v1.4.2 longhorn-manager: "" name: replicas.longhorn.io spec: @@ -2584,7 +2588,7 @@ metadata: labels: app.kubernetes.io/name: longhorn app.kubernetes.io/instance: longhorn - app.kubernetes.io/version: v1.4.0 + app.kubernetes.io/version: v1.4.2 longhorn-manager: "" name: settings.longhorn.io spec: @@ -2675,7 +2679,7 @@ metadata: labels: app.kubernetes.io/name: longhorn app.kubernetes.io/instance: longhorn - app.kubernetes.io/version: v1.4.0 + app.kubernetes.io/version: v1.4.2 longhorn-manager: "" name: sharemanagers.longhorn.io spec: @@ -2786,7 +2790,7 @@ metadata: labels: app.kubernetes.io/name: longhorn app.kubernetes.io/instance: longhorn - app.kubernetes.io/version: v1.4.0 + app.kubernetes.io/version: v1.4.2 longhorn-manager: "" name: snapshots.longhorn.io spec: @@ -2913,7 +2917,7 @@ metadata: labels: app.kubernetes.io/name: longhorn app.kubernetes.io/instance: longhorn - app.kubernetes.io/version: v1.4.0 + app.kubernetes.io/version: v1.4.2 longhorn-manager: "" name: supportbundles.longhorn.io spec: @@ -3039,7 +3043,7 @@ metadata: labels: app.kubernetes.io/name: longhorn app.kubernetes.io/instance: longhorn - app.kubernetes.io/version: v1.4.0 + app.kubernetes.io/version: v1.4.2 longhorn-manager: "" name: systembackups.longhorn.io spec: @@ -3162,7 +3166,7 @@ metadata: labels: app.kubernetes.io/name: longhorn app.kubernetes.io/instance: longhorn - app.kubernetes.io/version: v1.4.0 + app.kubernetes.io/version: v1.4.2 longhorn-manager: "" name: systemrestores.longhorn.io spec: @@ -3264,7 +3268,7 @@ metadata: labels: app.kubernetes.io/name: longhorn app.kubernetes.io/instance: longhorn - app.kubernetes.io/version: v1.4.0 + app.kubernetes.io/version: v1.4.2 longhorn-manager: "" name: volumes.longhorn.io spec: @@ -3438,7 +3442,7 @@ spec: recurringJobs: description: Deprecated. Replaced by a separate resource named "RecurringJob" items: - description: 'VolumeRecurringJobSpec is a deprecated struct. TODO: Should be removed when recurringJobs gets removed from the volume spec.' + description: 'Deprecated: This field is useless and has been replaced by the RecurringJob CRD' properties: concurrency: type: integer @@ -3459,7 +3463,11 @@ spec: task: enum: - snapshot + - snapshot-force-create + - snapshot-cleanup + - snapshot-delete - backup + - backup-force-create type: string type: object type: array @@ -3616,7 +3624,7 @@ metadata: labels: app.kubernetes.io/name: longhorn app.kubernetes.io/instance: longhorn - app.kubernetes.io/version: v1.4.0 + app.kubernetes.io/version: v1.4.2 rules: - apiGroups: - apiextensions.k8s.io @@ -3681,7 +3689,7 @@ metadata: labels: app.kubernetes.io/name: longhorn app.kubernetes.io/instance: longhorn - app.kubernetes.io/version: v1.4.0 + app.kubernetes.io/version: v1.4.2 roleRef: apiGroup: rbac.authorization.k8s.io kind: ClusterRole @@ -3699,7 +3707,7 @@ metadata: labels: app.kubernetes.io/name: longhorn app.kubernetes.io/instance: longhorn - app.kubernetes.io/version: v1.4.0 + app.kubernetes.io/version: v1.4.2 roleRef: apiGroup: rbac.authorization.k8s.io kind: ClusterRole @@ -3716,7 +3724,7 @@ metadata: labels: app.kubernetes.io/name: longhorn app.kubernetes.io/instance: longhorn - app.kubernetes.io/version: v1.4.0 + app.kubernetes.io/version: v1.4.2 app: longhorn-manager name: longhorn-backend namespace: longhorn-system @@ -3737,7 +3745,7 @@ metadata: labels: app.kubernetes.io/name: longhorn app.kubernetes.io/instance: longhorn - app.kubernetes.io/version: v1.4.0 + app.kubernetes.io/version: v1.4.2 app: longhorn-ui name: longhorn-frontend namespace: longhorn-system @@ -3758,7 +3766,7 @@ metadata: labels: app.kubernetes.io/name: longhorn app.kubernetes.io/instance: longhorn - app.kubernetes.io/version: v1.4.0 + app.kubernetes.io/version: v1.4.2 app: longhorn-conversion-webhook name: longhorn-conversion-webhook namespace: longhorn-system @@ -3779,7 +3787,7 @@ metadata: labels: app.kubernetes.io/name: longhorn app.kubernetes.io/instance: longhorn - app.kubernetes.io/version: v1.4.0 + app.kubernetes.io/version: v1.4.2 app: longhorn-admission-webhook name: longhorn-admission-webhook namespace: longhorn-system @@ -3800,7 +3808,7 @@ metadata: labels: app.kubernetes.io/name: longhorn app.kubernetes.io/instance: longhorn - app.kubernetes.io/version: v1.4.0 + app.kubernetes.io/version: v1.4.2 app: longhorn-recovery-backend name: longhorn-recovery-backend namespace: longhorn-system @@ -3821,7 +3829,7 @@ metadata: labels: app.kubernetes.io/name: longhorn app.kubernetes.io/instance: longhorn - app.kubernetes.io/version: v1.4.0 + app.kubernetes.io/version: v1.4.2 name: longhorn-engine-manager namespace: longhorn-system spec: @@ -3837,7 +3845,7 @@ metadata: labels: app.kubernetes.io/name: longhorn app.kubernetes.io/instance: longhorn - app.kubernetes.io/version: v1.4.0 + app.kubernetes.io/version: v1.4.2 name: longhorn-replica-manager namespace: longhorn-system spec: @@ -3853,7 +3861,7 @@ metadata: labels: app.kubernetes.io/name: longhorn app.kubernetes.io/instance: longhorn - app.kubernetes.io/version: v1.4.0 + app.kubernetes.io/version: v1.4.2 app: longhorn-manager name: longhorn-manager namespace: longhorn-system @@ -3866,7 +3874,7 @@ spec: labels: app.kubernetes.io/name: longhorn app.kubernetes.io/instance: longhorn - app.kubernetes.io/version: v1.4.0 + app.kubernetes.io/version: v1.4.2 app: longhorn-manager spec: tolerations: @@ -3876,11 +3884,11 @@ spec: effect: NoSchedule initContainers: - name: wait-longhorn-admission-webhook - image: longhornio/longhorn-manager:v1.4.0 + image: longhornio/longhorn-manager:v1.4.2 command: ['sh', '-c', 'while [ $(curl -m 1 -s -o /dev/null -w "%{http_code}" -k https://longhorn-admission-webhook:9443/v1/healthz) != "200" ]; do echo waiting; sleep 2; done'] containers: - name: longhorn-manager - image: longhornio/longhorn-manager:v1.4.0 + image: longhornio/longhorn-manager:v1.4.2 imagePullPolicy: IfNotPresent securityContext: privileged: true @@ -3889,17 +3897,17 @@ spec: - -d - daemon - --engine-image - - "longhornio/longhorn-engine:v1.4.0" + - "longhornio/longhorn-engine:v1.4.2" - --instance-manager-image - - "longhornio/longhorn-instance-manager:v1.4.0" + - "longhornio/longhorn-instance-manager:v1.4.2" - --share-manager-image - - "longhornio/longhorn-share-manager:v1.4.0" + - "longhornio/longhorn-share-manager:v1.4.2" - --backing-image-manager-image - - "longhornio/backing-image-manager:v1.4.0" + - "longhornio/backing-image-manager:v1.4.2" - --support-bundle-manager-image - - "longhornio/support-bundle-kit:v0.0.17" + - "longhornio/support-bundle-kit:v0.0.24" - --manager-image - - "longhornio/longhorn-manager:v1.4.0" + - "longhornio/longhorn-manager:v1.4.2" - --service-account - longhorn-service-account ports: @@ -3959,7 +3967,7 @@ metadata: labels: app.kubernetes.io/name: longhorn app.kubernetes.io/instance: longhorn - app.kubernetes.io/version: v1.4.0 + app.kubernetes.io/version: v1.4.2 spec: replicas: 1 selector: @@ -3970,7 +3978,7 @@ spec: labels: app.kubernetes.io/name: longhorn app.kubernetes.io/instance: longhorn - app.kubernetes.io/version: v1.4.0 + app.kubernetes.io/version: v1.4.2 app: longhorn-driver-deployer spec: tolerations: @@ -3979,18 +3987,18 @@ spec: value: storage initContainers: - name: wait-longhorn-manager - image: longhornio/longhorn-manager:v1.4.0 + image: longhornio/longhorn-manager:v1.4.2 command: ['sh', '-c', 'while [ $(curl -m 1 -s -o /dev/null -w "%{http_code}" http://longhorn-backend:9500/v1) != "200" ]; do echo waiting; sleep 2; done'] containers: - name: longhorn-driver-deployer - image: longhornio/longhorn-manager:v1.4.0 + image: longhornio/longhorn-manager:v1.4.2 imagePullPolicy: IfNotPresent command: - longhorn-manager - -d - deploy-driver - --manager-image - - "longhornio/longhorn-manager:v1.4.0" + - "longhornio/longhorn-manager:v1.4.2" - --manager-url - http://longhorn-backend:9500/v1 env: @@ -4029,7 +4037,7 @@ metadata: labels: app.kubernetes.io/name: longhorn app.kubernetes.io/instance: longhorn - app.kubernetes.io/version: v1.4.0 + app.kubernetes.io/version: v1.4.2 app: longhorn-recovery-backend name: longhorn-recovery-backend namespace: longhorn-system @@ -4043,7 +4051,7 @@ spec: labels: app.kubernetes.io/name: longhorn app.kubernetes.io/instance: longhorn - app.kubernetes.io/version: v1.4.0 + app.kubernetes.io/version: v1.4.2 app: longhorn-recovery-backend spec: tolerations: @@ -4065,7 +4073,7 @@ spec: topologyKey: kubernetes.io/hostname containers: - name: longhorn-recovery-backend - image: longhornio/longhorn-manager:v1.4.0 + image: longhornio/longhorn-manager:v1.4.2 imagePullPolicy: IfNotPresent securityContext: runAsUser: 2000 @@ -4100,7 +4108,7 @@ metadata: labels: app.kubernetes.io/name: longhorn app.kubernetes.io/instance: longhorn - app.kubernetes.io/version: v1.4.0 + app.kubernetes.io/version: v1.4.2 app: longhorn-ui name: longhorn-ui namespace: longhorn-system @@ -4114,7 +4122,7 @@ spec: labels: app.kubernetes.io/name: longhorn app.kubernetes.io/instance: longhorn - app.kubernetes.io/version: v1.4.0 + app.kubernetes.io/version: v1.4.2 app: longhorn-ui spec: tolerations: @@ -4136,7 +4144,7 @@ spec: topologyKey: kubernetes.io/hostname containers: - name: longhorn-ui - image: longhornio/longhorn-ui:v1.4.0 + image: longhornio/longhorn-ui:v1.4.2 imagePullPolicy: IfNotPresent volumeMounts: - name : nginx-cache @@ -4168,7 +4176,7 @@ metadata: labels: app.kubernetes.io/name: longhorn app.kubernetes.io/instance: longhorn - app.kubernetes.io/version: v1.4.0 + app.kubernetes.io/version: v1.4.2 app: longhorn-conversion-webhook name: longhorn-conversion-webhook namespace: longhorn-system @@ -4182,7 +4190,7 @@ spec: labels: app.kubernetes.io/name: longhorn app.kubernetes.io/instance: longhorn - app.kubernetes.io/version: v1.4.0 + app.kubernetes.io/version: v1.4.2 app: longhorn-conversion-webhook spec: tolerations: @@ -4204,7 +4212,7 @@ spec: topologyKey: kubernetes.io/hostname containers: - name: longhorn-conversion-webhook - image: longhornio/longhorn-manager:v1.4.0 + image: longhornio/longhorn-manager:v1.4.2 imagePullPolicy: IfNotPresent securityContext: runAsUser: 2000 @@ -4233,7 +4241,7 @@ metadata: labels: app.kubernetes.io/name: longhorn app.kubernetes.io/instance: longhorn - app.kubernetes.io/version: v1.4.0 + app.kubernetes.io/version: v1.4.2 app: longhorn-admission-webhook name: longhorn-admission-webhook namespace: longhorn-system @@ -4247,7 +4255,7 @@ spec: labels: app.kubernetes.io/name: longhorn app.kubernetes.io/instance: longhorn - app.kubernetes.io/version: v1.4.0 + app.kubernetes.io/version: v1.4.2 app: longhorn-admission-webhook spec: tolerations: @@ -4269,14 +4277,14 @@ spec: topologyKey: kubernetes.io/hostname initContainers: - name: wait-longhorn-conversion-webhook - image: longhornio/longhorn-manager:v1.4.0 + image: longhornio/longhorn-manager:v1.4.2 command: ['sh', '-c', 'while [ $(curl -m 1 -s -o /dev/null -w "%{http_code}" -k https://longhorn-conversion-webhook:9443/v1/healthz) != "200" ]; do echo waiting; sleep 2; done'] imagePullPolicy: IfNotPresent securityContext: runAsUser: 2000 containers: - name: longhorn-admission-webhook - image: longhornio/longhorn-manager:v1.4.0 + image: longhornio/longhorn-manager:v1.4.2 imagePullPolicy: IfNotPresent securityContext: runAsUser: 2000 @@ -4301,3 +4309,6 @@ spec: fieldRef: fieldPath: spec.nodeName serviceAccountName: longhorn-service-account +--- +# Source: longhorn/templates/validate-psp-install.yaml +# diff --git a/longhorn-system/changes.diff b/longhorn-system/changes.diff index 5951a36..cbcb796 100644 --- a/longhorn-system/changes.diff +++ b/longhorn-system/changes.diff @@ -1,5 +1,5 @@ ---- ref 2023-02-20 11:15:07.340650467 +0200 -+++ application.yml 2023-02-19 18:38:05.059234209 +0200 +--- application.yml2 2023-05-18 22:19:47.918873914 +0300 ++++ application.yml 2023-05-18 22:19:40.226773807 +0300 @@ -60,14 +60,14 @@ storageclass.kubernetes.io/is-default-class: "true" provisioner: driver.longhorn.io @@ -19,8 +19,8 @@ --- # Source: longhorn/templates/crds.yaml apiVersion: apiextensions.k8s.io/v1 -@@ -3869,6 +3869,11 @@ - app.kubernetes.io/version: v1.4.0 +@@ -3877,6 +3877,11 @@ + app.kubernetes.io/version: v1.4.2 app: longhorn-manager spec: + tolerations: @@ -30,9 +30,9 @@ + effect: NoSchedule initContainers: - name: wait-longhorn-admission-webhook - image: longhornio/longhorn-manager:v1.4.0 -@@ -3968,6 +3973,10 @@ - app.kubernetes.io/version: v1.4.0 + image: longhornio/longhorn-manager:v1.4.2 +@@ -3976,6 +3981,10 @@ + app.kubernetes.io/version: v1.4.2 app: longhorn-driver-deployer spec: + tolerations: @@ -41,9 +41,9 @@ + value: storage initContainers: - name: wait-longhorn-manager - image: longhornio/longhorn-manager:v1.4.0 -@@ -4037,6 +4046,11 @@ - app.kubernetes.io/version: v1.4.0 + image: longhornio/longhorn-manager:v1.4.2 +@@ -4045,6 +4054,11 @@ + app.kubernetes.io/version: v1.4.2 app: longhorn-recovery-backend spec: + tolerations: @@ -54,8 +54,8 @@ affinity: podAntiAffinity: preferredDuringSchedulingIgnoredDuringExecution: -@@ -4103,6 +4117,11 @@ - app.kubernetes.io/version: v1.4.0 +@@ -4111,6 +4125,11 @@ + app.kubernetes.io/version: v1.4.2 app: longhorn-ui spec: + tolerations: @@ -66,8 +66,8 @@ affinity: podAntiAffinity: preferredDuringSchedulingIgnoredDuringExecution: -@@ -4166,6 +4185,11 @@ - app.kubernetes.io/version: v1.4.0 +@@ -4174,6 +4193,11 @@ + app.kubernetes.io/version: v1.4.2 app: longhorn-conversion-webhook spec: + tolerations: @@ -78,8 +78,8 @@ affinity: podAntiAffinity: preferredDuringSchedulingIgnoredDuringExecution: -@@ -4226,6 +4250,11 @@ - app.kubernetes.io/version: v1.4.0 +@@ -4234,6 +4258,11 @@ + app.kubernetes.io/version: v1.4.2 app: longhorn-admission-webhook spec: + tolerations: