Longhorn: Upgrade from 1.6.4. to 1.7.3
Change-Id: I4e713a453a6b9e983685e2db550066fd2694609f
diff --git a/charts/longhorn/Chart.yaml b/charts/longhorn/Chart.yaml
index 04e57cc..04c937b 100644
--- a/charts/longhorn/Chart.yaml
+++ b/charts/longhorn/Chart.yaml
@@ -1,5 +1,5 @@
apiVersion: v1
-appVersion: v1.6.4
+appVersion: v1.7.3
description: Longhorn is a distributed block storage system for Kubernetes.
home: https://github.com/longhorn/longhorn
icon: https://raw.githubusercontent.com/cncf/artwork/master/projects/longhorn/icon/color/longhorn-icon-color.png
@@ -25,4 +25,4 @@
- https://github.com/longhorn/longhorn-ui
- https://github.com/longhorn/longhorn-tests
- https://github.com/longhorn/backing-image-manager
-version: 1.6.4
+version: 1.7.3
diff --git a/charts/longhorn/README.md b/charts/longhorn/README.md
index 34db95f..4f1ffe2 100644
--- a/charts/longhorn/README.md
+++ b/charts/longhorn/README.md
@@ -94,31 +94,31 @@
| Key | Type | Default | Description |
|-----|------|---------|-------------|
| image.csi.attacher.repository | string | `"longhornio/csi-attacher"` | Repository for the CSI attacher image. When unspecified, Longhorn uses the default value. |
-| image.csi.attacher.tag | string | `"v4.7.0-20241219"` | Tag for the CSI attacher image. When unspecified, Longhorn uses the default value. |
+| image.csi.attacher.tag | string | `"v4.8.0"` | Tag for the CSI attacher image. When unspecified, Longhorn uses the default value. |
| image.csi.livenessProbe.repository | string | `"longhornio/livenessprobe"` | Repository for the CSI liveness probe image. When unspecified, Longhorn uses the default value. |
-| image.csi.livenessProbe.tag | string | `"v2.14.0-20241219"` | Tag for the CSI liveness probe image. When unspecified, Longhorn uses the default value. |
+| image.csi.livenessProbe.tag | string | `"v2.15.0"` | Tag for the CSI liveness probe image. When unspecified, Longhorn uses the default value. |
| image.csi.nodeDriverRegistrar.repository | string | `"longhornio/csi-node-driver-registrar"` | Repository for the CSI Node Driver Registrar image. When unspecified, Longhorn uses the default value. |
-| image.csi.nodeDriverRegistrar.tag | string | `"v2.12.0-20241219"` | Tag for the CSI Node Driver Registrar image. When unspecified, Longhorn uses the default value. |
+| image.csi.nodeDriverRegistrar.tag | string | `"v2.13.0"` | Tag for the CSI Node Driver Registrar image. When unspecified, Longhorn uses the default value. |
| image.csi.provisioner.repository | string | `"longhornio/csi-provisioner"` | Repository for the CSI Provisioner image. When unspecified, Longhorn uses the default value. |
-| image.csi.provisioner.tag | string | `"v3.6.4-20241219"` | Tag for the CSI Provisioner image. When unspecified, Longhorn uses the default value. |
+| image.csi.provisioner.tag | string | `"v4.0.1-20250204"` | Tag for the CSI Provisioner image. When unspecified, Longhorn uses the default value. |
| image.csi.resizer.repository | string | `"longhornio/csi-resizer"` | Repository for the CSI Resizer image. When unspecified, Longhorn uses the default value. |
-| image.csi.resizer.tag | string | `"v1.12.0-20241219"` | Tag for the CSI Resizer image. When unspecified, Longhorn uses the default value. |
+| image.csi.resizer.tag | string | `"v1.13.1"` | Tag for the CSI Resizer image. When unspecified, Longhorn uses the default value. |
| image.csi.snapshotter.repository | string | `"longhornio/csi-snapshotter"` | Repository for the CSI Snapshotter image. When unspecified, Longhorn uses the default value. |
-| image.csi.snapshotter.tag | string | `"v6.3.4-20241219"` | Tag for the CSI Snapshotter image. When unspecified, Longhorn uses the default value. |
+| image.csi.snapshotter.tag | string | `"v7.0.2-20250204"` | Tag for the CSI Snapshotter image. When unspecified, Longhorn uses the default value. |
| image.longhorn.backingImageManager.repository | string | `"longhornio/backing-image-manager"` | Repository for the Backing Image Manager image. When unspecified, Longhorn uses the default value. |
-| image.longhorn.backingImageManager.tag | string | `"v1.6.4"` | Specify Longhorn backing image manager image tag |
+| image.longhorn.backingImageManager.tag | string | `"v1.7.2-rc1"` | Tag for the Backing Image Manager image. When unspecified, Longhorn uses the default value. |
| image.longhorn.engine.repository | string | `"longhornio/longhorn-engine"` | Repository for the Longhorn Engine image. |
-| image.longhorn.engine.tag | string | `"v1.6.4"` | Specify Longhorn engine image tag |
+| image.longhorn.engine.tag | string | `"v1.7.2-rc1"` | Tag for the Longhorn Engine image. |
| image.longhorn.instanceManager.repository | string | `"longhornio/longhorn-instance-manager"` | Repository for the Longhorn Instance Manager image. |
-| image.longhorn.instanceManager.tag | string | `"v1.6.4"` | Specify Longhorn instance manager image tag |
+| image.longhorn.instanceManager.tag | string | `"v1.7.2-rc1"` | Tag for the Longhorn Instance Manager image. |
| image.longhorn.manager.repository | string | `"longhornio/longhorn-manager"` | Repository for the Longhorn Manager image. |
-| image.longhorn.manager.tag | string | `"v1.6.4"` | Specify Longhorn manager image tag |
+| image.longhorn.manager.tag | string | `"v1.7.2-rc1"` | Tag for the Longhorn Manager image. |
| image.longhorn.shareManager.repository | string | `"longhornio/longhorn-share-manager"` | Repository for the Longhorn Share Manager image. |
-| image.longhorn.shareManager.tag | string | `"v1.6.4"` | Specify Longhorn share manager image tag |
+| image.longhorn.shareManager.tag | string | `"v1.7.2-rc1"` | Tag for the Longhorn Share Manager image. |
| image.longhorn.supportBundleKit.repository | string | `"longhornio/support-bundle-kit"` | Repository for the Longhorn Support Bundle Manager image. |
-| image.longhorn.supportBundleKit.tag | string | `"v0.0.48"` | Tag for the Longhorn Support Bundle Manager image. |
+| image.longhorn.supportBundleKit.tag | string | `"v0.0.51"` | Tag for the Longhorn Support Bundle Manager image. |
| image.longhorn.ui.repository | string | `"longhornio/longhorn-ui"` | Repository for the Longhorn UI image. |
-| image.longhorn.ui.tag | string | `"v1.6.4"` | Specify Longhorn ui image tag |
+| image.longhorn.ui.tag | string | `"v1.7.2-rc1"` | Tag for the Longhorn UI image. |
| image.openshift.oauthProxy.repository | string | `""` | Repository for the OAuth Proxy image. Specify the upstream image (for example, "quay.io/openshift/origin-oauth-proxy"). This setting applies only to OpenShift users. |
| image.openshift.oauthProxy.tag | float | `""` | Tag for the OAuth Proxy image. Specify OCP/OKD version 4.1 or later (including version 4.15, which is available at quay.io/openshift/origin-oauth-proxy:4.15). This setting applies only to OpenShift users. |
| image.pullPolicy | string | `"IfNotPresent"` | Image pull policy that applies to all user-deployed Longhorn components, such as Longhorn Manager, Longhorn driver, and Longhorn UI. |
@@ -144,10 +144,13 @@
| persistence.defaultClass | bool | `true` | Setting that allows you to specify the default Longhorn StorageClass. |
| persistence.defaultClassReplicaCount | int | `3` | Replica count of the default Longhorn StorageClass. |
| persistence.defaultDataLocality | string | `"disabled"` | Data locality of the default Longhorn StorageClass. (Options: "disabled", "best-effort") |
+| persistence.defaultDiskSelector.enable | bool | `false` | Setting that allows you to enable the disk selector for the default Longhorn StorageClass. |
+| persistence.defaultDiskSelector.selector | string | `""` | Disk selector for the default Longhorn StorageClass. Longhorn uses only disks with the specified tags for storing volume data. (Examples: "nvme,sata") |
| persistence.defaultFsType | string | `"ext4"` | Filesystem type of the default Longhorn StorageClass. |
| persistence.defaultMkfsParams | string | `""` | mkfs parameters of the default Longhorn StorageClass. |
| persistence.defaultNodeSelector.enable | bool | `false` | Setting that allows you to enable the node selector for the default Longhorn StorageClass. |
| persistence.defaultNodeSelector.selector | string | `""` | Node selector for the default Longhorn StorageClass. Longhorn uses only nodes with the specified tags for storing volume data. (Examples: "storage,fast") |
+| persistence.disableRevisionCounter | string | `"true"` | Setting that disables the revision counter and thereby prevents Longhorn from tracking all write operations to a volume. When salvaging a volume, Longhorn uses properties of the volume-head-xxx.img file (the last file size and the last time the file was modified) to select the replica to be used for volume recovery. |
| persistence.migratable | bool | `false` | Setting that allows you to enable live migration of a Longhorn volume from one node to another. |
| persistence.nfsOptions | string | `""` | Set NFS mount options for Longhorn StorageClass for RWX volumes |
| persistence.reclaimPolicy | string | `"Delete"` | Reclaim policy that provides instructions for handling of a volume after its claim is released. (Options: "Retain", "Delete") |
@@ -208,6 +211,7 @@
| ingress.host | string | `"sslip.io"` | Hostname of the Layer 7 load balancer. |
| ingress.ingressClassName | string | `nil` | IngressClass resource that contains ingress configuration, including the name of the Ingress controller. ingressClassName can replace the kubernetes.io/ingress.class annotation used in earlier Kubernetes releases. |
| ingress.path | string | `"/"` | Default ingress path. You can access the Longhorn UI by following the full ingress path {{host}}+{{path}}. |
+| ingress.pathType | string | `"ImplementationSpecific"` | Ingress path type. To maintain backward compatibility, the default value is "ImplementationSpecific". |
| ingress.secrets | string | `nil` | Secret that contains a TLS private key and certificate. Use secrets if you want to use your own certificates to secure ingresses. |
| ingress.secureBackends | bool | `false` | Setting that allows you to enable secure connections to the Longhorn UI service via port 443. |
| ingress.tls | bool | `false` | Setting that allows you to enable TLS on ingress records. |
@@ -273,6 +277,7 @@
| defaultSettings.allowRecurringJobWhileVolumeDetached | Setting that allows Longhorn to automatically attach a volume and create snapshots or backups when recurring jobs are run. |
| defaultSettings.allowVolumeCreationWithDegradedAvailability | Setting that allows you to create and attach a volume without having all replicas scheduled at the time of creation. |
| defaultSettings.autoCleanupRecurringJobBackupSnapshot | Setting that allows Longhorn to automatically clean up the snapshot generated by a recurring backup job. |
+| defaultSettings.autoCleanupSnapshotWhenDeleteBackup | Setting that automatically cleans up the snapshot when the backup is deleted. |
| defaultSettings.autoCleanupSystemGeneratedSnapshot | Setting that allows Longhorn to automatically clean up the system-generated snapshot after replica rebuilding is completed. |
| defaultSettings.autoDeletePodWhenVolumeDetachedUnexpectedly | Setting that allows Longhorn to automatically delete a workload pod that is managed by a controller (for example, daemonset) whenever a Longhorn volume is detached unexpectedly (for example, during Kubernetes upgrades). After deletion, the controller restarts the pod and then Kubernetes handles volume reattachment and remounting. |
| defaultSettings.autoSalvage | Setting that allows Longhorn to automatically salvage volumes when all replicas become faulty (for example, when the network connection is interrupted). Longhorn determines which replicas are usable and then uses these replicas for the volume. This setting is enabled by default. |
@@ -280,6 +285,7 @@
| defaultSettings.backingImageRecoveryWaitInterval | Number of seconds that Longhorn waits before downloading a backing image file again when the status of all image disk files changes to "failed" or "unknown". |
| defaultSettings.backupCompressionMethod | Setting that allows you to specify a backup compression method. |
| defaultSettings.backupConcurrentLimit | Maximum number of worker threads that can concurrently run for each backup. |
+| defaultSettings.backupExecutionTimeout | Number of minutes that Longhorn allows for the backup execution. The default value is "1". |
| defaultSettings.backupTarget | Endpoint used to access the backupstore. (Options: "NFS", "CIFS", "AWS", "GCP", "AZURE") |
| defaultSettings.backupTargetCredentialSecret | Name of the Kubernetes secret associated with the backup target. |
| defaultSettings.backupstorePollInterval | Number of seconds that Longhorn waits before checking the backupstore for new backups. The default value is "300". When the value is "0", polling is disabled. |
@@ -296,15 +302,17 @@
| defaultSettings.disableRevisionCounter | Setting that disables the revision counter and thereby prevents Longhorn from tracking all write operations to a volume. When salvaging a volume, Longhorn uses properties of the "volume-head-xxx.img" file (the last file size and the last time the file was modified) to select the replica to be used for volume recovery. This setting applies only to volumes created using the Longhorn UI. |
| defaultSettings.disableSchedulingOnCordonedNode | Setting that prevents Longhorn Manager from scheduling replicas on a cordoned Kubernetes node. This setting is enabled by default. |
| defaultSettings.disableSnapshotPurge | Setting that temporarily prevents all attempts to purge volume snapshots. |
+| defaultSettings.rwxVolumeFastFailover | Turn on logic to detect and move RWX volumes quickly on node failure. |
| defaultSettings.engineReplicaTimeout | Timeout between the Longhorn Engine and replicas. Specify a value between "8" and "30" seconds. The default value is "8". |
| defaultSettings.failedBackupTTL | Number of minutes that Longhorn keeps a failed backup resource. When the value is "0", automatic deletion is disabled. |
| defaultSettings.fastReplicaRebuildEnabled | Setting that allows fast rebuilding of replicas using the checksum of snapshot disk files. Before enabling this setting, you must set the snapshot-data-integrity value to "enable" or "fast-check". |
+| defaultSettings.freezeFilesystemForSnapshot | Setting that freezes the filesystem on the root partition before a snapshot is created. |
| defaultSettings.guaranteedInstanceManagerCPU | Percentage of the total allocatable CPU resources on each node to be reserved for each instance manager pod when the V1 Data Engine is enabled. The default value is "12". |
| defaultSettings.kubernetesClusterAutoscalerEnabled | Setting that notifies Longhorn that the cluster is using the Kubernetes Cluster Autoscaler. |
| defaultSettings.logLevel | Log levels that indicate the type and severity of logs in Longhorn Manager. The default value is "Info". (Options: "Panic", "Fatal", "Error", "Warn", "Info", "Debug", "Trace") |
+| defaultSettings.longGRPCTimeOut | Number of seconds that Longhorn allows for the completion of replica rebuilding and snapshot cloning operations. |
| defaultSettings.nodeDownPodDeletionPolicy | Policy that defines the action Longhorn takes when a volume is stuck with a StatefulSet or Deployment pod on a node that failed. |
| defaultSettings.nodeDrainPolicy | Policy that defines the action Longhorn takes when a node with the last healthy replica of a volume is drained. |
-| defaultSettings.offlineReplicaRebuilding | Setting that allows rebuilding of offline replicas for volumes using the V2 Data Engine. |
| defaultSettings.orphanAutoDeletion | Setting that allows Longhorn to automatically delete an orphaned resource and the corresponding data (for example, stale replicas). Orphaned resources on failed or unknown nodes are not automatically cleaned up. |
| defaultSettings.priorityClass | PriorityClass for system-managed Longhorn components. This setting can help prevent Longhorn components from being evicted under Node Pressure. Notice that this will be applied to Longhorn user-deployed components by default if there are no priority class values set yet, such as `longhornManager.priorityClass`. |
| defaultSettings.recurringFailedJobsHistoryLimit | Maximum number of failed recurring backup and snapshot jobs to be retained. When the value is "0", a history of failed recurring jobs is not retained. |
@@ -336,6 +344,8 @@
| defaultSettings.v2DataEngine | Setting that allows you to enable the V2 Data Engine, which is based on the Storage Performance Development Kit (SPDK). The V2 Data Engine is a preview feature and should not be used in production environments. |
| defaultSettings.v2DataEngineGuaranteedInstanceManagerCPU | Number of millicpus on each node to be reserved for each Instance Manager pod when the V2 Data Engine is enabled. The default value is "1250". |
| defaultSettings.v2DataEngineHugepageLimit | Setting that allows you to configure maximum huge page size (in MiB) for the V2 Data Engine. |
+| defaultSettings.v2DataEngineLogFlags | Setting that allows you to configure the log flags of the SPDK target daemon (spdk_tgt) of the V2 Data Engine. |
+| defaultSettings.v2DataEngineLogLevel | Setting that allows you to configure the log level of the SPDK target daemon (spdk_tgt) of the V2 Data Engine. |
---
Please see [link](https://github.com/longhorn/longhorn) for more information.
diff --git a/charts/longhorn/questions.yaml b/charts/longhorn/questions.yaml
index 1834d4e..2ae660f 100644
--- a/charts/longhorn/questions.yaml
+++ b/charts/longhorn/questions.yaml
@@ -17,8 +17,8 @@
label: Longhorn Manager Image Repository
group: "Longhorn Images Settings"
- variable: image.longhorn.manager.tag
- default: v1.6.4
- description: "Specify Longhorn Manager Image Tag"
+ default: v1.7.3
+ description: "Tag for the Longhorn Manager image."
type: string
label: Longhorn Manager Image Tag
group: "Longhorn Images Settings"
@@ -29,20 +29,20 @@
label: Longhorn Engine Image Repository
group: "Longhorn Images Settings"
- variable: image.longhorn.engine.tag
- default: v1.6.4
- description: "Specify Longhorn Engine Image Tag"
+ default: v1.7.3
+ description: "Tag for the Longhorn Engine image."
type: string
label: Longhorn Engine Image Tag
group: "Longhorn Images Settings"
- variable: image.longhorn.ui.repository
- default: longhornio/longhorn-ui
+ default: longhornio/longhorn-ui
description: "Repository for the Longhorn UI image."
type: string
label: Longhorn UI Image Repository
group: "Longhorn Images Settings"
- variable: image.longhorn.ui.tag
- default: v1.6.4
- description: "Specify Longhorn UI Image Tag"
+ default: v1.7.3
+ description: "Tag for the Longhorn UI image."
type: string
label: Longhorn UI Image Tag
group: "Longhorn Images Settings"
@@ -53,8 +53,8 @@
label: Longhorn Instance Manager Image Repository
group: "Longhorn Images Settings"
- variable: image.longhorn.instanceManager.tag
- default: v1.6.4
- description: "Specify Longhorn Instance Manager Image Tag"
+ default: v1.7.3
+ description: "Tag for the Longhorn Instance Manager image."
type: string
label: Longhorn Instance Manager Image Tag
group: "Longhorn Images Settings"
@@ -65,8 +65,8 @@
label: Longhorn Share Manager Image Repository
group: "Longhorn Images Settings"
- variable: image.longhorn.shareManager.tag
- default: v1.6.4
- description: "Specify Longhorn Share Manager Image Tag"
+ default: v1.7.3
+ description: "Tag for the Longhorn Share Manager image."
type: string
label: Longhorn Share Manager Image Tag
group: "Longhorn Images Settings"
@@ -77,8 +77,8 @@
label: Longhorn Backing Image Manager Image Repository
group: "Longhorn Images Settings"
- variable: image.longhorn.backingImageManager.tag
- default: v1.6.4
- description: "Specify Longhorn Backing Image Manager Image Tag"
+ default: v1.7.3
+ description: "Tag for the Backing Image Manager image. When unspecified, Longhorn uses the default value."
type: string
label: Longhorn Backing Image Manager Image Tag
group: "Longhorn Images Settings"
@@ -89,7 +89,7 @@
label: Longhorn Support Bundle Kit Image Repository
group: "Longhorn Images Settings"
- variable: image.longhorn.supportBundleKit.tag
- default: v0.0.48
+ default: v0.0.51
description: "Tag for the Longhorn Support Bundle Manager image."
type: string
label: Longhorn Support Bundle Kit Image Tag
@@ -101,7 +101,7 @@
label: Longhorn CSI Attacher Image Repository
group: "Longhorn CSI Driver Images"
- variable: image.csi.attacher.tag
- default: v4.7.0-20241219
+ default: v4.8.0
description: "Tag for the CSI attacher image. When unspecified, Longhorn uses the default value."
type: string
label: Longhorn CSI Attacher Image Tag
@@ -113,7 +113,7 @@
label: Longhorn CSI Provisioner Image Repository
group: "Longhorn CSI Driver Images"
- variable: image.csi.provisioner.tag
- default: v3.6.4-20241219
+ default: v4.0.1-20250204
description: "Tag for the CSI Provisioner image. When unspecified, Longhorn uses the default value."
type: string
label: Longhorn CSI Provisioner Image Tag
@@ -125,7 +125,7 @@
label: Longhorn CSI Node Driver Registrar Image Repository
group: "Longhorn CSI Driver Images"
- variable: image.csi.nodeDriverRegistrar.tag
- default: v2.12.0-20241219
+ default: v2.13.0
description: "Tag for the CSI Node Driver Registrar image. When unspecified, Longhorn uses the default value."
type: string
label: Longhorn CSI Node Driver Registrar Image Tag
@@ -137,7 +137,7 @@
label: Longhorn CSI Driver Resizer Image Repository
group: "Longhorn CSI Driver Images"
- variable: image.csi.resizer.tag
- default: v1.12.0-20241219
+ default: v1.13.1
description: "Tag for the CSI Resizer image. When unspecified, Longhorn uses the default value."
type: string
label: Longhorn CSI Driver Resizer Image Tag
@@ -149,7 +149,7 @@
label: Longhorn CSI Driver Snapshotter Image Repository
group: "Longhorn CSI Driver Images"
- variable: image.csi.snapshotter.tag
- default: v6.3.4-20241219
+ default: v7.0.2-20250204
description: "Tag for the CSI Snapshotter image. When unspecified, Longhorn uses the default value."
type: string
label: Longhorn CSI Driver Snapshotter Image Tag
@@ -161,7 +161,7 @@
label: Longhorn CSI Liveness Probe Image Repository
group: "Longhorn CSI Driver Images"
- variable: image.csi.livenessProbe.tag
- default: v2.14.0-20241219
+ default: v2.15.0
description: "Tag for the CSI liveness probe image. When unspecified, Longhorn uses the default value."
type: string
label: Longhorn CSI Liveness Probe Image Tag
@@ -362,6 +362,13 @@
type: int
min: 0
default: 1440
+ - variable: defaultSettings.backupExecutionTimeout
+ label: Backup Execution Timeout
+ description: "Number of minutes that Longhorn allows for the backup execution. The default value is \"1\"."
+ group: "Longhorn Default Settings"
+ type: int
+ min: 1
+ default: 1
- variable: defaultSettings.restoreVolumeRecurringJobs
label: Restore Volume Recurring Jobs
description: "Restore recurring jobs from the backup volume on the backup target and create recurring jobs if not exist during a backup restoration."
@@ -502,7 +509,7 @@
description: "Setting that disables the revision counter and thereby prevents Longhorn from tracking all write operations to a volume. When salvaging a volume, Longhorn uses properties of the \"volume-head-xxx.img\" file (the last file size and the last time the file was modified) to select the replica to be used for volume recovery. This setting applies only to volumes created using the Longhorn UI."
group: "Longhorn Default Settings"
type: boolean
- default: "false"
+ default: "true"
- variable: defaultSettings.systemManagedPodsImagePullPolicy
label: System Managed Pod Image Pull Policy
description: "Image pull policy for system-managed pods, such as Instance Manager, engine images, and CSI Driver. Changes to the image pull policy are applied only after the system-managed pods restart."
@@ -578,6 +585,11 @@
group: "Longhorn Default Settings"
type: boolean
default: "false"
+ - variable: defaultSettings.freezeFilesystemForSnapshot
+ description: "Setting that freezes the filesystem on the root partition before a snapshot is created."
+ group: "Longhorn Default Settings"
+ type: boolean
+ default: "false"
- variable: defaultSettings.kubernetesClusterAutoscalerEnabled
label: Kubernetes Cluster Autoscaler Enabled (Experimental)
description: "Setting that notifies Longhorn that the cluster is using the Kubernetes Cluster Autoscaler.
@@ -648,6 +660,12 @@
group: "Longhorn Default Settings"
type: int
default: "30"
+- variable: defaultSettings.longGRPCTimeOut
+ label: Long gRPC Timeout
+ description: "Number of seconds that Longhorn allows for the completion of replica rebuilding and snapshot cloning operations."
+ group: "Longhorn Default Settings"
+ type: int
+ default: "86400"
- variable: defaultSettings.backupCompressionMethod
label: Backup Compression Method
description: "Setting that allows you to specify a backup compression method."
@@ -695,16 +713,37 @@
group: "Longhorn V2 Data Engine (Preview Feature) Settings"
type: int
default: "2048"
-- variable: defaultSettings.offlineReplicaRebuilding
- label: Offline Replica Rebuilding
- description: "Setting that allows rebuilding of offline replicas for volumes using the V2 Data Engine."
+- variable: defaultSettings.v2DataEngineLogLevel
+ label: V2 Data Engine
+ description: "Setting that allows you to configure the log level of the SPDK target daemon (spdk_tgt) of the V2 Data Engine."
group: "Longhorn V2 Data Engine (Preview Feature) Settings"
- required: true
type: enum
options:
- - "enabled"
- - "disabled"
- default: "enabled"
+ - "Disabled"
+ - "Error"
+ - "Warn"
+ - "Notice"
+ - "Info"
+ - "Debug"
+ default: "Notice"
+- variable: defaultSettings.v2DataEngineLogFlags
+ label: V2 Data Engine
+ description: "Setting that allows you to configure the log flags of the SPDK target daemon (spdk_tgt) of the V2 Data Engine."
+ group: "Longhorn V2 Data Engine (Preview Feature) Settings"
+ type: string
+ default:
+- variable: defaultSettings.autoCleanupSnapshotWhenDeleteBackup
+ label: Auto Cleanup Snapshot When Delete Backup
+ description: "Setting that automatically cleans up the snapshot when the backup is deleted."
+ group: "Longhorn Default Settings"
+ type: boolean
+ default: false
+- variable: defaultSettings.rwxVolumeFastFailover
+ label: RWX Volume Fast Failover (Experimental)
+ description: "Turn on logic to detect and move RWX volumes quickly on node failure."
+ group: "Longhorn Default Settings"
+ type: boolean
+ default: false
- variable: persistence.defaultClass
default: "true"
description: "Setting that allows you to specify the default Longhorn StorageClass."
@@ -722,6 +761,16 @@
- "Delete"
- "Retain"
default: "Delete"
+- variable: persistence.disableRevisionCounter
+ label: Default Storage Class Disable Revision Counter
+ description: "Setting that disables the revision counter and thereby prevents Longhorn from tracking all write operations to a volume. When salvaging a volume, Longhorn uses properties of the volume-head-xxx.img file (the last file size and the last time the file was modified) to select the replica to be used for volume recovery. (Options: \"true\", \"false\")"
+ group: "Longhorn Storage Class Settings"
+ required: true
+ type: enum
+ options:
+ - "true"
+ - "false"
+ default: "true"
- variable: persistence.defaultClassReplicaCount
description: "Replica count of the default Longhorn StorageClass."
label: Default Storage Class Replica Count
@@ -753,6 +802,20 @@
group: "Longhorn Storage Class Settings"
type: string
default:
+- variable: persistence.defaultDiskSelector.enable
+ description: "Setting that allows you to enable the disk selector for the default Longhorn StorageClass."
+ group: "Longhorn Storage Class Settings"
+ label: Enable Storage Class Disk Selector
+ type: boolean
+ default: false
+ show_subquestion_if: true
+ subquestions:
+ - variable: persistence.defaultDiskSelector.selector
+ label: Storage Class Disk Selector
+ description: 'Disk selector for the default Longhorn StorageClass. Longhorn uses only disks with the specified tags for storing volume data. (Examples: "nvme,sata")'
+ group: "Longhorn Storage Class Settings"
+ type: string
+ default:
- variable: persistence.defaultNodeSelector.enable
description: "Setting that allows you to enable the node selector for the default Longhorn StorageClass."
group: "Longhorn Storage Class Settings"
@@ -843,6 +906,16 @@
type: string
required: true
label: Ingress Path
+ - variable: ingress.pathType
+ default: "ImplementationSpecific"
+ description: "Path type for the ingress. (Options: \"ImplementationSpecific\", \"Exact\", \"Prefix\")"
+ type: enum
+ options:
+ - "ImplementationSpecific"
+ - "Exact"
+ - "Prefix"
+ required: true
+ label: Ingress Path Type
- variable: service.ui.type
default: "Rancher-Proxy"
description: "Service type for Longhorn UI. (Options: \"ClusterIP\", \"NodePort\", \"LoadBalancer\", \"Rancher-Proxy\")"
@@ -899,10 +972,10 @@
label: Guaranteed Instance Manager CPU for V2 Data Engine
description: 'Number of millicpus on each node to be reserved for each Instance Manager pod when the V2 Data Engine is enabled. The default value is "1250".
WARNING:
- - Specifying a value of 0 disables CPU requests for instance manager pods. You must specify an integer between 1000 and 8000.
+ - Specifying a value of 0 disables CPU requests for instance manager pods. You must specify an integer between 1000 and 8000.
- This is a global setting. Modifying the value triggers an automatic restart of the instance manager pods. Do not modify the value while volumes are still attached."
group: "Longhorn Default Settings'
type: int
min: 1000
max: 8000
- default: 1250
\ No newline at end of file
+ default: 1250
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 }}
diff --git a/charts/longhorn/values.yaml b/charts/longhorn/values.yaml
index 5c2a655..f6f795c 100644
--- a/charts/longhorn/values.yaml
+++ b/charts/longhorn/values.yaml
@@ -38,69 +38,69 @@
engine:
# -- Repository for the Longhorn Engine image.
repository: longhornio/longhorn-engine
- # -- Specify Longhorn engine image tag
- tag: v1.6.4
+ # -- Tag for the Longhorn Engine image.
+ tag: v1.7.3
manager:
# -- Repository for the Longhorn Manager image.
repository: longhornio/longhorn-manager
- # -- Specify Longhorn manager image tag
- tag: v1.6.4
+ # -- Tag for the Longhorn Manager image.
+ tag: v1.7.3
ui:
# -- Repository for the Longhorn UI image.
repository: longhornio/longhorn-ui
- # -- Specify Longhorn ui image tag
- tag: v1.6.4
+ # -- Tag for the Longhorn UI image.
+ tag: v1.7.3
instanceManager:
# -- Repository for the Longhorn Instance Manager image.
repository: longhornio/longhorn-instance-manager
- # -- Specify Longhorn instance manager image tag
- tag: v1.6.4
+ # -- Tag for the Longhorn Instance Manager image.
+ tag: v1.7.3
shareManager:
# -- Repository for the Longhorn Share Manager image.
repository: longhornio/longhorn-share-manager
- # -- Specify Longhorn share manager image tag
- tag: v1.6.4
+ # -- Tag for the Longhorn Share Manager image.
+ tag: v1.7.3
backingImageManager:
# -- Repository for the Backing Image Manager image. When unspecified, Longhorn uses the default value.
repository: longhornio/backing-image-manager
- # -- Specify Longhorn backing image manager image tag
- tag: v1.6.4
+ # -- Tag for the Backing Image Manager image. When unspecified, Longhorn uses the default value.
+ tag: v1.7.3
supportBundleKit:
# -- Repository for the Longhorn Support Bundle Manager image.
repository: longhornio/support-bundle-kit
# -- Tag for the Longhorn Support Bundle Manager image.
- tag: v0.0.48
+ tag: v0.0.51
csi:
attacher:
# -- Repository for the CSI attacher image. When unspecified, Longhorn uses the default value.
repository: longhornio/csi-attacher
# -- Tag for the CSI attacher image. When unspecified, Longhorn uses the default value.
- tag: v4.7.0-20241219
+ tag: v4.8.0
provisioner:
# -- Repository for the CSI Provisioner image. When unspecified, Longhorn uses the default value.
repository: longhornio/csi-provisioner
# -- Tag for the CSI Provisioner image. When unspecified, Longhorn uses the default value.
- tag: v3.6.4-20241219
+ tag: v4.0.1-20250204
nodeDriverRegistrar:
# -- Repository for the CSI Node Driver Registrar image. When unspecified, Longhorn uses the default value.
repository: longhornio/csi-node-driver-registrar
# -- Tag for the CSI Node Driver Registrar image. When unspecified, Longhorn uses the default value.
- tag: v2.12.0-20241219
+ tag: v2.13.0
resizer:
# -- Repository for the CSI Resizer image. When unspecified, Longhorn uses the default value.
repository: longhornio/csi-resizer
# -- Tag for the CSI Resizer image. When unspecified, Longhorn uses the default value.
- tag: v1.12.0-20241219
+ tag: v1.13.1
snapshotter:
# -- Repository for the CSI Snapshotter image. When unspecified, Longhorn uses the default value.
repository: longhornio/csi-snapshotter
# -- Tag for the CSI Snapshotter image. When unspecified, Longhorn uses the default value.
- tag: v6.3.4-20241219
+ tag: v7.0.2-20250204
livenessProbe:
# -- Repository for the CSI liveness probe image. When unspecified, Longhorn uses the default value.
repository: longhornio/livenessprobe
# -- Tag for the CSI liveness probe image. When unspecified, Longhorn uses the default value.
- tag: v2.14.0-20241219
+ tag: v2.15.0
openshift:
oauthProxy:
# -- Repository for the OAuth Proxy image. Specify the upstream image (for example, "quay.io/openshift/origin-oauth-proxy"). This setting applies only to OpenShift users.
@@ -137,6 +137,8 @@
reclaimPolicy: Delete
# -- Setting that allows you to enable live migration of a Longhorn volume from one node to another.
migratable: false
+ # -- Setting that disables the revision counter and thereby prevents Longhorn from tracking all write operations to a volume. When salvaging a volume, Longhorn uses properties of the volume-head-xxx.img file (the last file size and the last time the file was modified) to select the replica to be used for volume recovery.
+ disableRevisionCounter: "true"
# -- Set NFS mount options for Longhorn StorageClass for RWX volumes
nfsOptions: ""
recurringJobSelector:
@@ -158,6 +160,11 @@
dataSourceParameters: ~
# -- Expected SHA-512 checksum of a backing image used in a Longhorn StorageClass.
expectedChecksum: ~
+ defaultDiskSelector:
+ # -- Setting that allows you to enable the disk selector for the default Longhorn StorageClass.
+ enable: false
+ # -- Disk selector for the default Longhorn StorageClass. Longhorn uses only disks with the specified tags for storing volume data. (Examples: "nvme,sata")
+ selector: ""
defaultNodeSelector:
# -- Setting that allows you to enable the node selector for the default Longhorn StorageClass.
enable: false
@@ -165,6 +172,8 @@
selector: ""
# -- Setting that allows you to enable automatic snapshot removal during filesystem trim for a Longhorn StorageClass. (Options: "ignored", "enabled", "disabled")
removeSnapshotsDuringFilesystemTrim: ignored
+ # -- Setting that allows you to specify the data engine version for the default Longhorn StorageClass. (Options: "v1", "v2")
+ dataEngine: v1
preUpgradeChecker:
# -- Setting that allows Longhorn to perform pre-upgrade checks. Disable this setting when installing Longhorn using Argo CD or other GitOps solutions.
@@ -217,6 +226,8 @@
backupstorePollInterval: ~
# -- Number of minutes that Longhorn keeps a failed backup resource. When the value is "0", automatic deletion is disabled.
failedBackupTTL: ~
+ # -- Number of minutes that Longhorn allows for the backup execution. The default value is "1".
+ backupExecutionTimeout: ~
# -- Setting that restores recurring jobs from a backup volume on a backup target and creates recurring jobs if none exist during backup restoration.
restoreVolumeRecurringJobs: ~
# -- Maximum number of successful recurring backup and snapshot jobs to be retained. When the value is "0", a history of successful recurring jobs is not retained.
@@ -259,7 +270,7 @@
# -- Maximum number of volumes that can be concurrently restored on each node using a backup. When the value is "0", restoration of volumes using a backup is disabled.
concurrentVolumeBackupRestorePerNodeLimit: ~
# -- Setting that disables the revision counter and thereby prevents Longhorn from tracking all write operations to a volume. When salvaging a volume, Longhorn uses properties of the "volume-head-xxx.img" file (the last file size and the last time the file was modified) to select the replica to be used for volume recovery. This setting applies only to volumes created using the Longhorn UI.
- disableRevisionCounter: ~
+ disableRevisionCounter: "true"
# -- Image pull policy for system-managed pods, such as Instance Manager, engine images, and CSI Driver. Changes to the image pull policy are applied only after the system-managed pods restart.
systemManagedPodsImagePullPolicy: ~
# -- Setting that allows you to create and attach a volume without having all replicas scheduled at the time of creation.
@@ -298,6 +309,8 @@
fastReplicaRebuildEnabled: ~
# -- Number of seconds that an HTTP client waits for a response from a File Sync server before considering the connection to have failed.
replicaFileSyncHttpClientTimeout: ~
+ # -- Number of seconds that Longhorn allows for the completion of replica rebuilding and snapshot cloning operations.
+ longGRPCTimeOut: ~
# -- Log levels that indicate the type and severity of logs in Longhorn Manager. The default value is "Info". (Options: "Panic", "Fatal", "Error", "Warn", "Info", "Debug", "Trace")
logLevel: ~
# -- Setting that allows you to specify a backup compression method.
@@ -312,8 +325,6 @@
v2DataEngine: ~
# -- Setting that allows you to configure maximum huge page size (in MiB) for the V2 Data Engine.
v2DataEngineHugepageLimit: ~
- # -- Setting that allows rebuilding of offline replicas for volumes using the V2 Data Engine.
- offlineReplicaRebuilding: ~
# -- Number of millicpus on each node to be reserved for each Instance Manager pod when the V2 Data Engine is enabled. The default value is "1250".
v2DataEngineGuaranteedInstanceManagerCPU: ~
# -- Setting that allows scheduling of empty node selector volumes to any node.
@@ -326,6 +337,16 @@
disableSnapshotPurge: ~
# -- Maximum snapshot count for a volume. The value should be between 2 to 250
snapshotMaxCount: ~
+ # -- Setting that allows you to configure the log level of the SPDK target daemon (spdk_tgt) of the V2 Data Engine.
+ v2DataEngineLogLevel: ~
+ # -- Setting that allows you to configure the log flags of the SPDK target daemon (spdk_tgt) of the V2 Data Engine.
+ v2DataEngineLogFlags: ~
+ # -- Setting that freezes the filesystem on the root partition before a snapshot is created.
+ freezeFilesystemForSnapshot: ~
+ # -- Setting that automatically cleans up the snapshot when the backup is deleted.
+ autoCleanupSnapshotWhenDeleteBackup: ~
+ # -- Turn on logic to detect and move RWX volumes quickly on node failure.
+ rwxVolumeFastFailover: ~
privateRegistry:
# -- Setting that allows you to create a private registry secret.
@@ -430,6 +451,9 @@
# -- Default ingress path. You can access the Longhorn UI by following the full ingress path {{host}}+{{path}}.
path: /
+ # -- Ingress path type. To maintain backward compatibility, the default value is "ImplementationSpecific".
+ pathType: ImplementationSpecific
+
## If you're using kube-lego, you will want to add:
## kubernetes.io/tls-acme: true
##