Longhorn: Upgrade from 1.6.4. to 1.7.3
Change-Id: I4e713a453a6b9e983685e2db550066fd2694609f
diff --git a/charts/longhorn/templates/clusterrole.yaml b/charts/longhorn/templates/clusterrole.yaml
index f6e069f..c065f17 100644
--- a/charts/longhorn/templates/clusterrole.yaml
+++ b/charts/longhorn/templates/clusterrole.yaml
@@ -35,7 +35,7 @@
resources: ["volumesnapshotclasses", "volumesnapshots", "volumesnapshotcontents", "volumesnapshotcontents/status"]
verbs: ["*"]
- apiGroups: ["longhorn.io"]
- resources: ["volumes", "volumes/status", "engines", "engines/status", "replicas", "replicas/status", "settings",
+ resources: ["volumes", "volumes/status", "engines", "engines/status", "replicas", "replicas/status", "settings", "settings/status",
"engineimages", "engineimages/status", "nodes", "nodes/status", "instancemanagers", "instancemanagers/status",
{{- if .Values.openshift.enabled }}
"engineimages/finalizers", "nodes/finalizers", "instancemanagers/finalizers",
diff --git a/charts/longhorn/templates/crds.yaml b/charts/longhorn/templates/crds.yaml
index 47d07b6..3b78dd7 100644
--- a/charts/longhorn/templates/crds.yaml
+++ b/charts/longhorn/templates/crds.yaml
@@ -3,7 +3,6 @@
metadata:
annotations:
controller-gen.kubebuilder.io/version: v0.15.0
- creationTimestamp: null
labels: {{- include "longhorn.labels" . | nindent 4 }}
longhorn-manager: ""
name: backingimagedatasources.longhorn.io
@@ -19,7 +18,8 @@
scope: Namespaced
versions:
- additionalPrinterColumns:
- - description: The current state of the pod used to provision the backing image file from source
+ - description: The current state of the pod used to provision the backing image
+ file from source
jsonPath: .status.currentState
name: State
type: string
@@ -41,7 +41,8 @@
name: v1beta1
schema:
openAPIV3Schema:
- description: BackingImageDataSource is where Longhorn stores backing image data source object.
+ description: BackingImageDataSource is where Longhorn stores backing image
+ data source object.
properties:
apiVersion:
description: |-
@@ -74,7 +75,8 @@
jsonPath: .spec.uuid
name: UUID
type: string
- - description: The current state of the pod used to provision the backing image file from source
+ - description: The current state of the pod used to provision the backing image
+ file from source
jsonPath: .status.currentState
name: State
type: string
@@ -100,7 +102,8 @@
name: v1beta2
schema:
openAPIV3Schema:
- description: BackingImageDataSource is where Longhorn stores backing image data source object.
+ description: BackingImageDataSource is where Longhorn stores backing image
+ data source object.
properties:
apiVersion:
description: |-
@@ -120,7 +123,8 @@
metadata:
type: object
spec:
- description: BackingImageDataSourceSpec defines the desired state of the Longhorn backing image data source
+ description: BackingImageDataSourceSpec defines the desired state of the
+ Longhorn backing image data source
properties:
checksum:
type: string
@@ -142,12 +146,14 @@
- upload
- export-from-volume
- restore
+ - clone
type: string
uuid:
type: string
type: object
status:
- description: BackingImageDataSourceStatus defines the observed state of the Longhorn backing image data source
+ description: BackingImageDataSourceStatus defines the observed state of
+ the Longhorn backing image data source
properties:
checksum:
type: string
@@ -183,7 +189,6 @@
metadata:
annotations:
controller-gen.kubebuilder.io/version: v0.15.0
- creationTimestamp: null
labels: {{- include "longhorn.labels" . | nindent 4 }}
longhorn-manager: ""
name: backingimagemanagers.longhorn.io
@@ -225,7 +230,8 @@
name: v1beta1
schema:
openAPIV3Schema:
- description: BackingImageManager is where Longhorn stores backing image manager object.
+ description: BackingImageManager is where Longhorn stores backing image manager
+ object.
properties:
apiVersion:
description: |-
@@ -280,7 +286,8 @@
name: v1beta2
schema:
openAPIV3Schema:
- description: BackingImageManager is where Longhorn stores backing image manager object.
+ description: BackingImageManager is where Longhorn stores backing image manager
+ object.
properties:
apiVersion:
description: |-
@@ -300,7 +307,8 @@
metadata:
type: object
spec:
- description: BackingImageManagerSpec defines the desired state of the Longhorn backing image manager
+ description: BackingImageManagerSpec defines the desired state of the
+ Longhorn backing image manager
properties:
backingImages:
additionalProperties:
@@ -316,7 +324,8 @@
type: string
type: object
status:
- description: BackingImageManagerStatus defines the observed state of the Longhorn backing image manager
+ description: BackingImageManagerStatus defines the observed state of the
+ Longhorn backing image manager
properties:
apiMinVersion:
type: integer
@@ -370,7 +379,6 @@
metadata:
annotations:
controller-gen.kubebuilder.io/version: v0.15.0
- creationTimestamp: null
labels: {{- include "longhorn.labels" . | nindent 4 }}
longhorn-manager: ""
name: backingimages.longhorn.io
@@ -479,14 +487,38 @@
metadata:
type: object
spec:
- description: BackingImageSpec defines the desired state of the Longhorn backing image
+ description: BackingImageSpec defines the desired state of the Longhorn
+ backing image
properties:
checksum:
type: string
+ diskFileSpecMap:
+ additionalProperties:
+ properties:
+ evictionRequested:
+ type: boolean
+ type: object
+ type: object
+ diskSelector:
+ items:
+ type: string
+ type: array
disks:
additionalProperties:
type: string
+ description: Deprecated. We are now using DiskFileSpecMap to assign
+ different spec to the file on different disks.
type: object
+ minNumberOfCopies:
+ type: integer
+ nodeSelector:
+ items:
+ type: string
+ type: array
+ secret:
+ type: string
+ secretNamespace:
+ type: string
sourceParameters:
additionalProperties:
type: string
@@ -497,10 +529,12 @@
- upload
- export-from-volume
- restore
+ - clone
type: string
type: object
status:
- description: BackingImageStatus defines the observed state of the Longhorn backing image status
+ description: BackingImageStatus defines the observed state of the Longhorn
+ backing image status
properties:
checksum:
type: string
@@ -531,7 +565,8 @@
uuid:
type: string
virtualSize:
- description: Virtual size of image, which may be larger than physical size. Will be zero until known (e.g. while a backing image is uploading)
+ description: Virtual size of image, which may be larger than physical
+ size. Will be zero until known (e.g. while a backing image is uploading)
format: int64
type: integer
type: object
@@ -546,8 +581,7 @@
metadata:
annotations:
controller-gen.kubebuilder.io/version: v0.15.0
- creationTimestamp: null
- labels:
+ labels: {{- include "longhorn.labels" . | nindent 4 }}
longhorn-manager: ""
name: backupbackingimages.longhorn.io
spec:
@@ -585,7 +619,8 @@
name: v1beta2
schema:
openAPIV3Schema:
- description: BackupBackingImage is where Longhorn stores backing image backup object.
+ description: BackupBackingImage is where Longhorn stores backing image backup
+ object.
properties:
apiVersion:
description: |-
@@ -605,7 +640,8 @@
metadata:
type: object
spec:
- description: BackupBackingImageSpec defines the desired state of the Longhorn backing image backup
+ description: BackupBackingImageSpec defines the desired state of the Longhorn
+ backing image backup
properties:
labels:
additionalProperties:
@@ -613,7 +649,8 @@
description: The labels of backing image backup.
type: object
syncRequestedAt:
- description: The time to request run sync the remote backing image backup.
+ description: The time to request run sync the remote backing image
+ backup.
format: date-time
nullable: true
type: string
@@ -626,7 +663,8 @@
- userCreated
type: object
status:
- description: BackupBackingImageStatus defines the observed state of the Longhorn backing image backup
+ description: BackupBackingImageStatus defines the observed state of the
+ Longhorn backing image backup
properties:
backingImage:
description: The backing image name.
@@ -650,21 +688,25 @@
nullable: true
type: object
lastSyncedAt:
- description: The last time that the backing image backup was synced with the remote backup target.
+ description: The last time that the backing image backup was synced
+ with the remote backup target.
format: date-time
nullable: true
type: string
managerAddress:
- description: The address of the backing image manager that runs backing image backup.
+ description: The address of the backing image manager that runs backing
+ image backup.
type: string
messages:
additionalProperties:
type: string
- description: The error messages when listing or inspecting backing image backup.
+ description: The error messages when listing or inspecting backing
+ image backup.
nullable: true
type: object
ownerID:
- description: The node ID on which the controller is responsible to reconcile this CR.
+ description: The node ID on which the controller is responsible to
+ reconcile this CR.
type: string
progress:
description: The backing image backup progress.
@@ -693,7 +735,6 @@
metadata:
annotations:
controller-gen.kubebuilder.io/version: v0.15.0
- creationTimestamp: null
labels: {{- include "longhorn.labels" . | nindent 4 }}
longhorn-manager: ""
name: backups.longhorn.io
@@ -806,6 +847,15 @@
spec:
description: BackupSpec defines the desired state of the Longhorn backup
properties:
+ backupMode:
+ description: |-
+ The backup mode of this backup.
+ Can be "full" or "incremental"
+ enum:
+ - full
+ - incremental
+ - ""
+ type: string
labels:
additionalProperties:
type: string
@@ -839,22 +889,31 @@
nullable: true
type: object
lastSyncedAt:
- description: The last time that the backup was synced with the remote backup target.
+ description: The last time that the backup was synced with the remote
+ backup target.
format: date-time
nullable: true
type: string
messages:
additionalProperties:
type: string
- description: The error messages when calling longhorn engine on listing or inspecting backups.
+ description: The error messages when calling longhorn engine on listing
+ or inspecting backups.
nullable: true
type: object
+ newlyUploadDataSize:
+ description: Size in bytes of newly uploaded data
+ type: string
ownerID:
- description: The node ID on which the controller is responsible to reconcile this backup CR.
+ description: The node ID on which the controller is responsible to
+ reconcile this backup CR.
type: string
progress:
description: The snapshot backup progress.
type: integer
+ reUploadedDataSize:
+ description: Size in bytes of reuploaded data
+ type: string
replicaAddress:
description: The address of the replica that runs snapshot backup.
type: string
@@ -899,7 +958,6 @@
metadata:
annotations:
controller-gen.kubebuilder.io/version: v0.15.0
- creationTimestamp: null
labels: {{- include "longhorn.labels" . | nindent 4 }}
longhorn-manager: ""
name: backuptargets.longhorn.io
@@ -1022,7 +1080,8 @@
metadata:
type: object
spec:
- description: BackupTargetSpec defines the desired state of the Longhorn backup target
+ description: BackupTargetSpec defines the desired state of the Longhorn
+ backup target
properties:
backupTargetURL:
description: The backup target URL.
@@ -1031,7 +1090,8 @@
description: The backup target credential secret.
type: string
pollInterval:
- description: The interval that the cluster needs to run sync with the backup target.
+ description: The interval that the cluster needs to run sync with
+ the backup target.
type: string
syncRequestedAt:
description: The time to request run sync the remote backup target.
@@ -1040,10 +1100,12 @@
type: string
type: object
status:
- description: BackupTargetStatus defines the observed state of the Longhorn backup target
+ description: BackupTargetStatus defines the observed state of the Longhorn
+ backup target
properties:
available:
- description: Available indicates if the remote backup target is available or not.
+ description: Available indicates if the remote backup target is available
+ or not.
type: boolean
conditions:
description: Records the reason on why the backup target is unavailable.
@@ -1053,13 +1115,16 @@
description: Last time we probed the condition.
type: string
lastTransitionTime:
- description: Last time the condition transitioned from one status to another.
+ description: Last time the condition transitioned from one status
+ to another.
type: string
message:
- description: Human-readable message indicating details about last transition.
+ description: Human-readable message indicating details about
+ last transition.
type: string
reason:
- description: Unique, one-word, CamelCase reason for the condition's last transition.
+ description: Unique, one-word, CamelCase reason for the condition's
+ last transition.
type: string
status:
description: |-
@@ -1073,12 +1138,14 @@
nullable: true
type: array
lastSyncedAt:
- description: The last time that the controller synced with the remote backup target.
+ description: The last time that the controller synced with the remote
+ backup target.
format: date-time
nullable: true
type: string
ownerID:
- description: The node ID on which the controller is responsible to reconcile this backup target CR.
+ description: The node ID on which the controller is responsible to
+ reconcile this backup target CR.
type: string
type: object
type: object
@@ -1092,7 +1159,6 @@
metadata:
annotations:
controller-gen.kubebuilder.io/version: v0.15.0
- creationTimestamp: null
labels: {{- include "longhorn.labels" . | nindent 4 }}
longhorn-manager: ""
name: backupvolumes.longhorn.io
@@ -1195,7 +1261,8 @@
metadata:
type: object
spec:
- description: BackupVolumeSpec defines the desired state of the Longhorn backup volume
+ description: BackupVolumeSpec defines the desired state of the Longhorn
+ backup volume
properties:
syncRequestedAt:
description: The time to request run sync the remote backup volume.
@@ -1204,7 +1271,8 @@
type: string
type: object
status:
- description: BackupVolumeStatus defines the observed state of the Longhorn backup volume
+ description: BackupVolumeStatus defines the observed state of the Longhorn
+ backup volume
properties:
backingImageChecksum:
description: the backing image checksum.
@@ -1236,18 +1304,21 @@
nullable: true
type: string
lastSyncedAt:
- description: The last time that the backup volume was synced into the cluster.
+ description: The last time that the backup volume was synced into
+ the cluster.
format: date-time
nullable: true
type: string
messages:
additionalProperties:
type: string
- description: The error messages when call longhorn engine on list or inspect backup volumes.
+ description: The error messages when call longhorn engine on list
+ or inspect backup volumes.
nullable: true
type: object
ownerID:
- description: The node ID on which the controller is responsible to reconcile this backup volume CR.
+ description: The node ID on which the controller is responsible to
+ reconcile this backup volume CR.
type: string
size:
description: The backup volume size.
@@ -1267,12 +1338,10 @@
metadata:
annotations:
controller-gen.kubebuilder.io/version: v0.15.0
- creationTimestamp: null
labels: {{- include "longhorn.labels" . | nindent 4 }}
longhorn-manager: ""
name: engineimages.longhorn.io
spec:
- preserveUnknownFields: false
conversion:
strategy: Webhook
webhook:
@@ -1293,6 +1362,7 @@
shortNames:
- lhei
singular: engineimage
+ preserveUnknownFields: false
scope: Namespaced
versions:
- additionalPrinterColumns:
@@ -1393,7 +1463,8 @@
metadata:
type: object
spec:
- description: EngineImageSpec defines the desired state of the Longhorn engine image
+ description: EngineImageSpec defines the desired state of the Longhorn
+ engine image
properties:
image:
minLength: 1
@@ -1402,7 +1473,8 @@
- image
type: object
status:
- description: EngineImageStatus defines the observed state of the Longhorn engine image
+ description: EngineImageStatus defines the observed state of the Longhorn
+ engine image
properties:
buildDate:
type: string
@@ -1417,13 +1489,16 @@
description: Last time we probed the condition.
type: string
lastTransitionTime:
- description: Last time the condition transitioned from one status to another.
+ description: Last time the condition transitioned from one status
+ to another.
type: string
message:
- description: Human-readable message indicating details about last transition.
+ description: Human-readable message indicating details about
+ last transition.
type: string
reason:
- description: Unique, one-word, CamelCase reason for the condition's last transition.
+ description: Unique, one-word, CamelCase reason for the condition's
+ last transition.
type: string
status:
description: |-
@@ -1697,13 +1772,16 @@
description: Last time we probed the condition.
type: string
lastTransitionTime:
- description: Last time the condition transitioned from one status to another.
+ description: Last time the condition transitioned from one status
+ to another.
type: string
message:
- description: Human-readable message indicating details about last transition.
+ description: Human-readable message indicating details about
+ last transition.
type: string
reason:
- description: Unique, one-word, CamelCase reason for the condition's last transition.
+ description: Unique, one-word, CamelCase reason for the condition's
+ last transition.
type: string
status:
description: |-
@@ -1973,7 +2051,8 @@
metadata:
type: object
spec:
- description: InstanceManagerSpec defines the desired state of the Longhorn instance manager
+ description: InstanceManagerSpec defines the desired state of the Longhorn
+ instance manager
properties:
dataEngine:
type: string
@@ -1989,7 +2068,8 @@
type: string
type: object
status:
- description: InstanceManagerStatus defines the observed state of the Longhorn instance manager
+ description: InstanceManagerStatus defines the observed state of the Longhorn
+ instance manager
properties:
apiMinVersion:
type: integer
@@ -2034,6 +2114,12 @@
type: integer
state:
type: string
+ targetPortEnd:
+ format: int32
+ type: integer
+ targetPortStart:
+ format: int32
+ type: integer
type:
type: string
type: object
@@ -2077,6 +2163,12 @@
type: integer
state:
type: string
+ targetPortEnd:
+ format: int32
+ type: integer
+ targetPortStart:
+ format: int32
+ type: integer
type:
type: string
type: object
@@ -2120,6 +2212,12 @@
type: integer
state:
type: string
+ targetPortEnd:
+ format: int32
+ type: integer
+ targetPortStart:
+ format: int32
+ type: integer
type:
type: string
type: object
@@ -2147,12 +2245,10 @@
metadata:
annotations:
controller-gen.kubebuilder.io/version: v0.15.0
- creationTimestamp: null
labels: {{- include "longhorn.labels" . | nindent 4 }}
longhorn-manager: ""
name: nodes.longhorn.io
spec:
- preserveUnknownFields: false
conversion:
strategy: Webhook
webhook:
@@ -2173,6 +2269,7 @@
shortNames:
- lhn
singular: node
+ preserveUnknownFields: false
scope: Namespaced
versions:
- additionalPrinterColumns:
@@ -2180,7 +2277,8 @@
jsonPath: .status.conditions['Ready']['status']
name: Ready
type: string
- - description: Indicate whether the user disabled/enabled replica scheduling for the node
+ - description: Indicate whether the user disabled/enabled replica scheduling for
+ the node
jsonPath: .spec.allowScheduling
name: AllowScheduling
type: boolean
@@ -2227,7 +2325,8 @@
jsonPath: .status.conditions[?(@.type=='Ready')].status
name: Ready
type: string
- - description: Indicate whether the user disabled/enabled replica scheduling for the node
+ - description: Indicate whether the user disabled/enabled replica scheduling for
+ the node
jsonPath: .spec.allowScheduling
name: AllowScheduling
type: boolean
@@ -2270,6 +2369,12 @@
properties:
allowScheduling:
type: boolean
+ diskDriver:
+ enum:
+ - ""
+ - auto
+ - aio
+ type: string
diskType:
enum:
- filesystem
@@ -2311,13 +2416,16 @@
description: Last time we probed the condition.
type: string
lastTransitionTime:
- description: Last time the condition transitioned from one status to another.
+ description: Last time the condition transitioned from one status
+ to another.
type: string
message:
- description: Human-readable message indicating details about last transition.
+ description: Human-readable message indicating details about
+ last transition.
type: string
reason:
- description: Unique, one-word, CamelCase reason for the condition's last transition.
+ description: Unique, one-word, CamelCase reason for the condition's
+ last transition.
type: string
status:
description: |-
@@ -2340,13 +2448,16 @@
description: Last time we probed the condition.
type: string
lastTransitionTime:
- description: Last time the condition transitioned from one status to another.
+ description: Last time the condition transitioned from
+ one status to another.
type: string
message:
- description: Human-readable message indicating details about last transition.
+ description: Human-readable message indicating details
+ about last transition.
type: string
reason:
- description: Unique, one-word, CamelCase reason for the condition's last transition.
+ description: Unique, one-word, CamelCase reason for the
+ condition's last transition.
type: string
status:
description: |-
@@ -2359,12 +2470,20 @@
type: object
nullable: true
type: array
+ diskDriver:
+ type: string
+ diskName:
+ type: string
+ diskPath:
+ type: string
diskType:
type: string
diskUUID:
type: string
filesystemType:
type: string
+ instanceManagerName:
+ type: string
scheduledReplica:
additionalProperties:
format: int64
@@ -2405,7 +2524,6 @@
metadata:
annotations:
controller-gen.kubebuilder.io/version: v0.15.0
- creationTimestamp: null
labels: {{- include "longhorn.labels" . | nindent 4 }}
longhorn-manager: ""
name: orphans.longhorn.io
@@ -2452,10 +2570,12 @@
metadata:
type: object
spec:
- description: OrphanSpec defines the desired state of the Longhorn orphaned data
+ description: OrphanSpec defines the desired state of the Longhorn orphaned
+ data
properties:
nodeID:
- description: The node ID on which the controller is responsible to reconcile this orphan CR.
+ description: The node ID on which the controller is responsible to
+ reconcile this orphan CR.
type: string
orphanType:
description: |-
@@ -2469,7 +2589,8 @@
type: object
type: object
status:
- description: OrphanStatus defines the observed state of the Longhorn orphaned data
+ description: OrphanStatus defines the observed state of the Longhorn orphaned
+ data
properties:
conditions:
items:
@@ -2478,13 +2599,16 @@
description: Last time we probed the condition.
type: string
lastTransitionTime:
- description: Last time the condition transitioned from one status to another.
+ description: Last time the condition transitioned from one status
+ to another.
type: string
message:
- description: Human-readable message indicating details about last transition.
+ description: Human-readable message indicating details about
+ last transition.
type: string
reason:
- description: Unique, one-word, CamelCase reason for the condition's last transition.
+ description: Unique, one-word, CamelCase reason for the condition's
+ last transition.
type: string
status:
description: |-
@@ -2511,8 +2635,7 @@
metadata:
annotations:
controller-gen.kubebuilder.io/version: v0.15.0
- creationTimestamp: null
- labels:
+ labels: {{- include "longhorn.labels" . | nindent 4 }}
longhorn-manager: ""
name: recurringjobs.longhorn.io
spec:
@@ -2527,7 +2650,8 @@
scope: Namespaced
versions:
- additionalPrinterColumns:
- - description: Sets groupings to the jobs. When set to "default" group will be added to the volume label when no other job label exist in volume
+ - description: Sets groupings to the jobs. When set to "default" group will be
+ added to the volume label when no other job label exist in volume
jsonPath: .spec.groups
name: Groups
type: string
@@ -2586,11 +2710,13 @@
subresources:
status: {}
- additionalPrinterColumns:
- - description: Sets groupings to the jobs. When set to "default" group will be added to the volume label when no other job label exist in volume
+ - description: Sets groupings to the jobs. When set to "default" group will be
+ added to the volume label when no other job label exist in volume
jsonPath: .spec.groups
name: Groups
type: string
- - description: Should be one of "snapshot", "snapshot-force-create", "snapshot-cleanup", "snapshot-delete", "backup", "backup-force-create" or "filesystem-trim"
+ - description: Should be one of "snapshot", "snapshot-force-create", "snapshot-cleanup",
+ "snapshot-delete", "backup", "backup-force-create" or "filesystem-trim"
jsonPath: .spec.task
name: Task
type: string
@@ -2636,7 +2762,8 @@
metadata:
type: object
spec:
- description: RecurringJobSpec defines the desired state of the Longhorn recurring job
+ description: RecurringJobSpec defines the desired state of the Longhorn
+ recurring job
properties:
concurrency:
description: The concurrency of taking the snapshot/backup.
@@ -2657,6 +2784,13 @@
name:
description: The recurring job name.
type: string
+ parameters:
+ additionalProperties:
+ type: string
+ description: |-
+ The parameters of the snapshot/backup.
+ Support parameters: "full-backup-interval".
+ type: object
retain:
description: The retain count of the snapshot/backup.
type: integer
@@ -2675,10 +2809,15 @@
type: string
type: object
status:
- description: RecurringJobStatus defines the observed state of the Longhorn recurring job
+ description: RecurringJobStatus defines the observed state of the Longhorn
+ recurring job
properties:
+ executionCount:
+ description: The number of jobs that have been triggered.
+ type: integer
ownerID:
- description: The owner ID which is responsible to reconcile this recurring job CR.
+ description: The owner ID which is responsible to reconcile this recurring
+ job CR.
type: string
type: object
type: object
@@ -2905,7 +3044,8 @@
type: string
type: object
status:
- description: ReplicaStatus defines the observed state of the Longhorn replica
+ description: ReplicaStatus defines the observed state of the Longhorn
+ replica
properties:
conditions:
items:
@@ -2914,13 +3054,16 @@
description: Last time we probed the condition.
type: string
lastTransitionTime:
- description: Last time the condition transitioned from one status to another.
+ description: Last time the condition transitioned from one status
+ to another.
type: string
message:
- description: Human-readable message indicating details about last transition.
+ description: Human-readable message indicating details about
+ last transition.
type: string
reason:
- description: Unique, one-word, CamelCase reason for the condition's last transition.
+ description: Unique, one-word, CamelCase reason for the condition's
+ last transition.
type: string
status:
description: |-
@@ -3027,6 +3170,10 @@
jsonPath: .value
name: Value
type: string
+ - description: The setting is applied
+ jsonPath: .status.applied
+ name: Applied
+ type: boolean
- jsonPath: .metadata.creationTimestamp
name: Age
type: date
@@ -3052,6 +3199,15 @@
type: string
metadata:
type: object
+ status:
+ description: The status of the setting.
+ properties:
+ applied:
+ description: The setting is applied.
+ type: boolean
+ required:
+ - applied
+ type: object
value:
description: The value of the setting.
type: string
@@ -3068,7 +3224,6 @@
metadata:
annotations:
controller-gen.kubebuilder.io/version: v0.15.0
- creationTimestamp: null
labels: {{- include "longhorn.labels" . | nindent 4 }}
longhorn-manager: ""
name: sharemanagers.longhorn.io
@@ -3161,20 +3316,25 @@
metadata:
type: object
spec:
- description: ShareManagerSpec defines the desired state of the Longhorn share manager
+ description: ShareManagerSpec defines the desired state of the Longhorn
+ share manager
properties:
image:
- description: Share manager image used for creating a share manager pod
+ description: Share manager image used for creating a share manager
+ pod
type: string
type: object
status:
- description: ShareManagerStatus defines the observed state of the Longhorn share manager
+ description: ShareManagerStatus defines the observed state of the Longhorn
+ share manager
properties:
endpoint:
- description: NFS endpoint that can access the mounted filesystem of the volume
+ description: NFS endpoint that can access the mounted filesystem of
+ the volume
type: string
ownerID:
- description: The node ID on which the controller is responsible to reconcile this share manager resource
+ description: The node ID on which the controller is responsible to
+ reconcile this share manager resource
type: string
state:
description: The state of the share manager resource
@@ -3191,7 +3351,6 @@
metadata:
annotations:
controller-gen.kubebuilder.io/version: v0.15.0
- creationTimestamp: null
labels: {{- include "longhorn.labels" . | nindent 4 }}
longhorn-manager: ""
name: snapshots.longhorn.io
@@ -3215,11 +3374,13 @@
jsonPath: .status.creationTime
name: CreationTime
type: string
- - description: Indicates if the snapshot is ready to be used to restore/backup a volume
+ - description: Indicates if the snapshot is ready to be used to restore/backup
+ a volume
jsonPath: .status.readyToUse
name: ReadyToUse
type: boolean
- - description: Represents the minimum size of volume required to rehydrate from this snapshot
+ - description: Represents the minimum size of volume required to rehydrate from
+ this snapshot
jsonPath: .status.restoreSize
name: RestoreSize
type: string
@@ -3320,7 +3481,6 @@
metadata:
annotations:
controller-gen.kubebuilder.io/version: v0.15.0
- creationTimestamp: null
labels: {{- include "longhorn.labels" . | nindent 4 }}
longhorn-manager: ""
name: supportbundles.longhorn.io
@@ -3374,7 +3534,8 @@
metadata:
type: object
spec:
- description: SupportBundleSpec defines the desired state of the Longhorn SupportBundle
+ description: SupportBundleSpec defines the desired state of the Longhorn
+ SupportBundle
properties:
description:
description: A brief description of the issue
@@ -3390,7 +3551,8 @@
- description
type: object
status:
- description: SupportBundleStatus defines the observed state of the Longhorn SupportBundle
+ description: SupportBundleStatus defines the observed state of the Longhorn
+ SupportBundle
properties:
conditions:
items:
@@ -3399,13 +3561,16 @@
description: Last time we probed the condition.
type: string
lastTransitionTime:
- description: Last time the condition transitioned from one status to another.
+ description: Last time the condition transitioned from one status
+ to another.
type: string
message:
- description: Human-readable message indicating details about last transition.
+ description: Human-readable message indicating details about
+ last transition.
type: string
reason:
- description: Unique, one-word, CamelCase reason for the condition's last transition.
+ description: Unique, one-word, CamelCase reason for the condition's
+ last transition.
type: string
status:
description: |-
@@ -3447,7 +3612,6 @@
metadata:
annotations:
controller-gen.kubebuilder.io/version: v0.15.0
- creationTimestamp: null
labels: {{- include "longhorn.labels" . | nindent 4 }}
longhorn-manager: ""
name: systembackups.longhorn.io
@@ -3502,7 +3666,8 @@
metadata:
type: object
spec:
- description: SystemBackupSpec defines the desired state of the Longhorn SystemBackup
+ description: SystemBackupSpec defines the desired state of the Longhorn
+ SystemBackup
properties:
volumeBackupPolicy:
description: |-
@@ -3512,7 +3677,8 @@
type: string
type: object
status:
- description: SystemBackupStatus defines the observed state of the Longhorn SystemBackup
+ description: SystemBackupStatus defines the observed state of the Longhorn
+ SystemBackup
properties:
conditions:
items:
@@ -3521,13 +3687,16 @@
description: Last time we probed the condition.
type: string
lastTransitionTime:
- description: Last time the condition transitioned from one status to another.
+ description: Last time the condition transitioned from one status
+ to another.
type: string
message:
- description: Human-readable message indicating details about last transition.
+ description: Human-readable message indicating details about
+ last transition.
type: string
reason:
- description: Unique, one-word, CamelCase reason for the condition's last transition.
+ description: Unique, one-word, CamelCase reason for the condition's
+ last transition.
type: string
status:
description: |-
@@ -3549,7 +3718,8 @@
nullable: true
type: string
lastSyncedAt:
- description: The last time that the system backup was synced into the cluster.
+ description: The last time that the system backup was synced into
+ the cluster.
format: date-time
nullable: true
type: string
@@ -3557,7 +3727,8 @@
description: The saved manager image.
type: string
ownerID:
- description: The node ID of the responsible controller to reconcile this SystemBackup.
+ description: The node ID of the responsible controller to reconcile
+ this SystemBackup.
type: string
state:
description: The system backup state.
@@ -3578,7 +3749,6 @@
metadata:
annotations:
controller-gen.kubebuilder.io/version: v0.15.0
- creationTimestamp: null
labels: {{- include "longhorn.labels" . | nindent 4 }}
longhorn-manager: ""
name: systemrestores.longhorn.io
@@ -3624,7 +3794,8 @@
metadata:
type: object
spec:
- description: SystemRestoreSpec defines the desired state of the Longhorn SystemRestore
+ description: SystemRestoreSpec defines the desired state of the Longhorn
+ SystemRestore
properties:
systemBackup:
description: The system backup name in the object store.
@@ -3633,7 +3804,8 @@
- systemBackup
type: object
status:
- description: SystemRestoreStatus defines the observed state of the Longhorn SystemRestore
+ description: SystemRestoreStatus defines the observed state of the Longhorn
+ SystemRestore
properties:
conditions:
items:
@@ -3642,13 +3814,16 @@
description: Last time we probed the condition.
type: string
lastTransitionTime:
- description: Last time the condition transitioned from one status to another.
+ description: Last time the condition transitioned from one status
+ to another.
type: string
message:
- description: Human-readable message indicating details about last transition.
+ description: Human-readable message indicating details about
+ last transition.
type: string
reason:
- description: Unique, one-word, CamelCase reason for the condition's last transition.
+ description: Unique, one-word, CamelCase reason for the condition's
+ last transition.
type: string
status:
description: |-
@@ -3662,7 +3837,8 @@
nullable: true
type: array
ownerID:
- description: The node ID of the responsible controller to reconcile this SystemRestore.
+ description: The node ID of the responsible controller to reconcile
+ this SystemRestore.
type: string
sourceURL:
description: The source system backup URL.
@@ -3682,7 +3858,6 @@
metadata:
annotations:
controller-gen.kubebuilder.io/version: v0.15.0
- creationTimestamp: null
labels: {{- include "longhorn.labels" . | nindent 4 }}
longhorn-manager: ""
name: volumeattachments.longhorn.io
@@ -3704,7 +3879,8 @@
name: v1beta2
schema:
openAPIV3Schema:
- description: VolumeAttachment stores attachment information of a Longhorn volume
+ description: VolumeAttachment stores attachment information of a Longhorn
+ volume
properties:
apiVersion:
description: |-
@@ -3724,7 +3900,8 @@
metadata:
type: object
spec:
- description: VolumeAttachmentSpec defines the desired state of Longhorn VolumeAttachment
+ description: VolumeAttachmentSpec defines the desired state of Longhorn
+ VolumeAttachment
properties:
attachmentTickets:
additionalProperties:
@@ -3736,7 +3913,8 @@
format: int64
type: integer
id:
- description: The unique ID of this attachment. Used to differentiate different attachments of the same volume.
+ description: The unique ID of this attachment. Used to differentiate
+ different attachments of the same volume.
type: string
nodeID:
description: The node that this attachment is requesting
@@ -3757,7 +3935,8 @@
- volume
type: object
status:
- description: VolumeAttachmentStatus defines the observed state of Longhorn VolumeAttachment
+ description: VolumeAttachmentStatus defines the observed state of Longhorn
+ VolumeAttachment
properties:
attachmentTicketStatuses:
additionalProperties:
@@ -3770,13 +3949,16 @@
description: Last time we probed the condition.
type: string
lastTransitionTime:
- description: Last time the condition transitioned from one status to another.
+ description: Last time the condition transitioned from
+ one status to another.
type: string
message:
- description: Human-readable message indicating details about last transition.
+ description: Human-readable message indicating details
+ about last transition.
type: string
reason:
- description: Unique, one-word, CamelCase reason for the condition's last transition.
+ description: Unique, one-word, CamelCase reason for the
+ condition's last transition.
type: string
status:
description: |-
@@ -3796,10 +3978,12 @@
format: int64
type: integer
id:
- description: The unique ID of this attachment. Used to differentiate different attachments of the same volume.
+ description: The unique ID of this attachment. Used to differentiate
+ different attachments of the same volume.
type: string
satisfied:
- description: Indicate whether this attachment ticket has been satisfied
+ description: Indicate whether this attachment ticket has been
+ satisfied
type: boolean
required:
- conditions
@@ -3822,7 +4006,6 @@
longhorn-manager: ""
name: volumes.longhorn.io
spec:
- preserveUnknownFields: false
conversion:
strategy: Webhook
webhook:
@@ -3843,6 +4026,7 @@
shortNames:
- lhv
singular: volume
+ preserveUnknownFields: false
scope: Namespaced
versions:
- additionalPrinterColumns:
@@ -3995,6 +4179,14 @@
engineImage:
description: 'Deprecated: Replaced by field `image`.'
type: string
+ freezeFilesystemForSnapshot:
+ description: Setting that freezes the filesystem on the root partition
+ before a snapshot is created.
+ enum:
+ - ignored
+ - enabled
+ - disabled
+ type: string
fromBackup:
type: string
frontend:
@@ -4020,13 +4212,6 @@
type: array
numberOfReplicas:
type: integer
- offlineReplicaRebuilding:
- description: OfflineReplicaRebuilding is used to determine if the offline replica rebuilding feature is enabled or not
- enum:
- - ignored
- - disabled
- - enabled
- type: string
replicaAutoBalance:
enum:
- ignored
@@ -4035,21 +4220,24 @@
- best-effort
type: string
replicaDiskSoftAntiAffinity:
- description: Replica disk soft anti affinity of the volume. Set enabled to allow replicas to be scheduled in the same disk.
+ description: Replica disk soft anti affinity of the volume. Set enabled
+ to allow replicas to be scheduled in the same disk.
enum:
- ignored
- enabled
- disabled
type: string
replicaSoftAntiAffinity:
- description: Replica soft anti affinity of the volume. Set enabled to allow replicas to be scheduled on the same node.
+ description: Replica soft anti affinity of the volume. Set enabled
+ to allow replicas to be scheduled on the same node.
enum:
- ignored
- enabled
- disabled
type: string
replicaZoneSoftAntiAffinity:
- description: Replica zone soft anti affinity of the volume. Set enabled to allow replicas to be scheduled in the same zone.
+ description: Replica zone soft anti affinity of the volume. Set enabled
+ to allow replicas to be scheduled in the same zone.
enum:
- ignored
- enabled
@@ -4095,6 +4283,10 @@
type: integer
cloneStatus:
properties:
+ attemptCount:
+ type: integer
+ nextAllowedAttemptAt:
+ type: string
snapshot:
type: string
sourceVolume:
@@ -4109,13 +4301,16 @@
description: Last time we probed the condition.
type: string
lastTransitionTime:
- description: Last time the condition transitioned from one status to another.
+ description: Last time the condition transitioned from one status
+ to another.
type: string
message:
- description: Human-readable message indicating details about last transition.
+ description: Human-readable message indicating details about
+ last transition.
type: string
reason:
- description: Unique, one-word, CamelCase reason for the condition's last transition.
+ description: Unique, one-word, CamelCase reason for the condition's
+ last transition.
type: string
status:
description: |-
@@ -4178,8 +4373,6 @@
type: string
lastDegradedAt:
type: string
- offlineReplicaRebuildingRequired:
- type: boolean
ownerID:
type: string
pendingNodeID:
@@ -4205,4 +4398,3 @@
storage: true
subresources:
status: {}
-
diff --git a/charts/longhorn/templates/daemonset-sa.yaml b/charts/longhorn/templates/daemonset-sa.yaml
index bbcd59f..0bba120 100644
--- a/charts/longhorn/templates/daemonset-sa.yaml
+++ b/charts/longhorn/templates/daemonset-sa.yaml
@@ -63,10 +63,17 @@
port: 9501
scheme: HTTPS
volumeMounts:
+ - name: boot
+ mountPath: /host/boot/
+ readOnly: true
- name: dev
mountPath: /host/dev/
- name: proc
mountPath: /host/proc/
+ readOnly: true
+ - name: etc
+ mountPath: /host/etc/
+ readOnly: true
- name: longhorn
mountPath: /var/lib/longhorn/
mountPropagation: Bidirectional
@@ -77,6 +84,10 @@
mountPath: /go-cover-dir/
{{- end }}
env:
+ - name: POD_NAME
+ valueFrom:
+ fieldRef:
+ fieldPath: metadata.name
- name: POD_NAMESPACE
valueFrom:
fieldRef:
@@ -93,13 +104,23 @@
- name: GOCOVERDIR
value: /go-cover-dir/
{{- end }}
+ - name: pre-pull-share-manager-image
+ imagePullPolicy: {{ .Values.image.pullPolicy }}
+ image: {{ template "registry_url" . }}{{ .Values.image.longhorn.shareManager.repository }}:{{ .Values.image.longhorn.shareManager.tag }}
+ command: ["sh", "-c", "echo share-manager image pulled && sleep infinity"]
volumes:
+ - name: boot
+ hostPath:
+ path: /boot/
- name: dev
hostPath:
path: /dev/
- name: proc
hostPath:
path: /proc/
+ - name: etc
+ hostPath:
+ path: /etc/
- name: longhorn
hostPath:
path: /var/lib/longhorn/
diff --git a/charts/longhorn/templates/default-setting.yaml b/charts/longhorn/templates/default-setting.yaml
index 5261f7f..72463f1 100644
--- a/charts/longhorn/templates/default-setting.yaml
+++ b/charts/longhorn/templates/default-setting.yaml
@@ -54,6 +54,9 @@
{{- if not (kindIs "invalid" .Values.defaultSettings.failedBackupTTL) }}
failed-backup-ttl: {{ .Values.defaultSettings.failedBackupTTL }}
{{- end }}
+ {{- if not (kindIs "invalid" .Values.defaultSettings.backupExecutionTimeout) }}
+ backup-execution-timeout: {{ .Values.defaultSettings.backupExecutionTimeout }}
+ {{- end }}
{{- if not (kindIs "invalid" .Values.defaultSettings.restoreVolumeRecurringJobs) }}
restore-volume-recurring-jobs: {{ .Values.defaultSettings.restoreVolumeRecurringJobs }}
{{- end }}
@@ -185,6 +188,9 @@
{{- if not (kindIs "invalid" .Values.defaultSettings.replicaFileSyncHttpClientTimeout) }}
replica-file-sync-http-client-timeout: {{ .Values.defaultSettings.replicaFileSyncHttpClientTimeout }}
{{- end }}
+ {{- if not (kindIs "invalid" .Values.defaultSettings.longGRPCTimeOut) }}
+ long-grpc-timeout: {{ .Values.defaultSettings.longGRPCTimeOut }}
+ {{- end }}
{{- if not (kindIs "invalid" .Values.defaultSettings.logLevel) }}
log-level: {{ .Values.defaultSettings.logLevel }}
{{- end }}
@@ -206,9 +212,6 @@
{{- if not (kindIs "invalid" .Values.defaultSettings.v2DataEngineHugepageLimit) }}
v2-data-engine-hugepage-limit: {{ .Values.defaultSettings.v2DataEngineHugepageLimit }}
{{- end }}
- {{- if not (kindIs "invalid" .Values.defaultSettings.offlineReplicaRebuilding) }}
- offline-replica-rebuilding: {{ .Values.defaultSettings.offlineReplicaRebuilding }}
- {{- end }}
{{- if not (kindIs "invalid" .Values.defaultSettings.allowEmptyNodeSelectorVolume) }}
allow-empty-node-selector-volume: {{ .Values.defaultSettings.allowEmptyNodeSelectorVolume }}
{{- end }}
@@ -226,4 +229,19 @@
{{- end }}
{{- if not (kindIs "invalid" .Values.defaultSettings.snapshotMaxCount) }}
snapshot-max-count: {{ .Values.defaultSettings.snapshotMaxCount }}
- {{- end }}
\ No newline at end of file
+ {{- end }}
+ {{- if not (kindIs "invalid" .Values.defaultSettings.v2DataEngineLogLevel) }}
+ v2-data-engine-log-level: {{ .Values.defaultSettings.v2DataEngineLogLevel }}
+ {{- end }}
+ {{- if not (kindIs "invalid" .Values.defaultSettings.v2DataEngineLogFlags) }}
+ v2-data-engine-log-flags: {{ .Values.defaultSettings.v2DataEngineLogFlags }}
+ {{- end }}
+ {{- if not (kindIs "invalid" .Values.defaultSettings.freezeFilesystemForSnapshot) }}
+ freeze-filesystem-for-snapshot: {{ .Values.defaultSettings.freezeFilesystemForSnapshot }}
+ {{- end }}
+ {{- if not (kindIs "invalid" .Values.defaultSettings.autoCleanupSnapshotWhenDeleteBackup) }}
+ auto-cleanup-when-delete-backup: {{ .Values.defaultSettings.autoCleanupSnapshotWhenDeleteBackup }}
+ {{- end }}
+ {{- if not (kindIs "invalid" .Values.defaultSettings.rwxVolumeFastFailover) }}
+ rwx-volume-fast-failover: {{ .Values.defaultSettings.rwxVolumeFastFailover}}
+ {{- end }}
diff --git a/charts/longhorn/templates/ingress.yaml b/charts/longhorn/templates/ingress.yaml
index 9038ff0..61175e8 100644
--- a/charts/longhorn/templates/ingress.yaml
+++ b/charts/longhorn/templates/ingress.yaml
@@ -22,7 +22,7 @@
http:
paths:
- path: {{ default "" .Values.ingress.path }}
- pathType: ImplementationSpecific
+ pathType: {{ default "ImplementationSpecific" .Values.ingress.pathType }}
backend:
service:
name: longhorn-frontend
diff --git a/charts/longhorn/templates/network-policies/recovery-backend-network-policy.yaml b/charts/longhorn/templates/network-policies/recovery-backend-network-policy.yaml
index 6e34dad..37bf5f9 100644
--- a/charts/longhorn/templates/network-policies/recovery-backend-network-policy.yaml
+++ b/charts/longhorn/templates/network-policies/recovery-backend-network-policy.yaml
@@ -7,7 +7,7 @@
spec:
podSelector:
matchLabels:
- app: longhorn-manager
+ longhorn.io/recovery-backend: longhorn-recovery-backend
policyTypes:
- Ingress
ingress:
diff --git a/charts/longhorn/templates/network-policies/webhook-network-policy.yaml b/charts/longhorn/templates/network-policies/webhook-network-policy.yaml
index 3575763..3812e0f 100644
--- a/charts/longhorn/templates/network-policies/webhook-network-policy.yaml
+++ b/charts/longhorn/templates/network-policies/webhook-network-policy.yaml
@@ -7,7 +7,7 @@
spec:
podSelector:
matchLabels:
- app: longhorn-manager
+ longhorn.io/conversion-webhook: longhorn-conversion-webhook
policyTypes:
- Ingress
ingress:
@@ -23,7 +23,7 @@
spec:
podSelector:
matchLabels:
- app: longhorn-manager
+ longhorn.io/admission-webhook: longhorn-admission-webhook
policyTypes:
- Ingress
ingress:
diff --git a/charts/longhorn/templates/preupgrade-job.yaml b/charts/longhorn/templates/preupgrade-job.yaml
index 2b8333d..9f7a8a6 100644
--- a/charts/longhorn/templates/preupgrade-job.yaml
+++ b/charts/longhorn/templates/preupgrade-job.yaml
@@ -20,14 +20,23 @@
- name: longhorn-pre-upgrade
image: {{ template "registry_url" . }}{{ .Values.image.longhorn.manager.repository }}:{{ .Values.image.longhorn.manager.tag }}
imagePullPolicy: {{ .Values.image.pullPolicy }}
+ securityContext:
+ privileged: true
command:
- longhorn-manager
- pre-upgrade
+ volumeMounts:
+ - name: proc
+ mountPath: /host/proc/
env:
- name: POD_NAMESPACE
valueFrom:
fieldRef:
fieldPath: metadata.namespace
+ volumes:
+ - name: proc
+ hostPath:
+ path: /proc/
restartPolicy: OnFailure
{{- if .Values.privateRegistry.registrySecret }}
imagePullSecrets:
diff --git a/charts/longhorn/templates/services.yaml b/charts/longhorn/templates/services.yaml
index 9523cab..4c8c6bc 100644
--- a/charts/longhorn/templates/services.yaml
+++ b/charts/longhorn/templates/services.yaml
@@ -8,7 +8,7 @@
spec:
type: ClusterIP
selector:
- app: longhorn-manager
+ longhorn.io/conversion-webhook: longhorn-conversion-webhook
ports:
- name: conversion-webhook
port: 9501
@@ -24,7 +24,7 @@
spec:
type: ClusterIP
selector:
- app: longhorn-manager
+ longhorn.io/admission-webhook: longhorn-admission-webhook
ports:
- name: admission-webhook
port: 9502
@@ -40,7 +40,7 @@
spec:
type: ClusterIP
selector:
- app: longhorn-manager
+ longhorn.io/recovery-backend: longhorn-recovery-backend
ports:
- name: recovery-backend
port: 9503
diff --git a/charts/longhorn/templates/storageclass.yaml b/charts/longhorn/templates/storageclass.yaml
index f79699f..884d38d 100644
--- a/charts/longhorn/templates/storageclass.yaml
+++ b/charts/longhorn/templates/storageclass.yaml
@@ -42,9 +42,16 @@
recurringJobSelector: '{{ .Values.persistence.recurringJobSelector.jobList }}'
{{- end }}
dataLocality: {{ .Values.persistence.defaultDataLocality | quote }}
+ {{- if .Values.persistence.defaultDiskSelector.enable }}
+ diskSelector: "{{ .Values.persistence.defaultDiskSelector.selector }}"
+ {{- end }}
{{- if .Values.persistence.defaultNodeSelector.enable }}
nodeSelector: "{{ .Values.persistence.defaultNodeSelector.selector }}"
{{- end }}
{{- if .Values.persistence.removeSnapshotsDuringFilesystemTrim }}
unmapMarkSnapChainRemoved: "{{ .Values.persistence.removeSnapshotsDuringFilesystemTrim }}"
{{- end }}
+ {{- if .Values.persistence.disableRevisionCounter }}
+ disableRevisionCounter: "{{ .Values.persistence.disableRevisionCounter }}"
+ dataEngine: "{{ .Values.persistence.dataEngine }}"
+ {{- end }}