发布日期: 2026-05-22
版本号: v1.12.0-rc3

请勿从任何RC/预览/Sprint版本升级至本版本或从本版本升级至此类版本,因为该操作不受支持。此版本主要特性包括解耦V2数据引擎的Initiator和Target放置、支持V2数据引擎的IPv6及IPv4/IPv6双栈、以及正式支持V2数据引擎。同时新增了按需计算快照校验和、改进了longhornctl工具对污点节点的调度支持等功能。版本中包含了大量改进,涉及性能优化(如减少内存使用、改进网络重连以增强副本重建弹性)、可观测性提升、以及更灵活的存储类配置等。此外修复了众多错误,涵盖加密卷、副本调度循环、UI显示、备份恢复以及升级兼容性等多个方面。此更新由社区众多贡献者共同完成。

更新内容 (中文)

请勿从/向任何RC/预览/冲刺版本升级,因为此操作不受支持。

本次发布中已解决的问题

重点更新

  • [功能] 解耦V2数据引擎发起方与目标放置 7124 - @derekbit @shuo-wu @chriscchien
  • [功能] V2数据引擎支持IPv6 10928 - @COLDTURNIP @chriscchien
  • [功能] 支持IPv6族优先或IPv4族优先的IPv4/IPv6双栈 11531 - @COLDTURNIP @c3y1huang @chriscchien
  • [功能] 支持v2数据引擎(正式版) 6229 - @derekbit

新增功能

  • [功能] 支持按需计算快照校验和 11442 - @yangchiu @davidcheng0922
  • [功能] 为longhornctl添加--tolerations标志,用于在有污点的节点上调度DaemonSet Pod 12993 - @chriscchien @bachmanity1

改进优化

  • [改进] 移除v2后备镜像监控 13181 - @COLDTURNIP @derekbit @chriscchien
  • [改进] 在预停止清理期间等待spdk_tgt进程终止 13179 - @derekbit @chriscchien
  • [改进] 当大页设置更改且无实例运行时重启Instance Manager Pod 13170 - @derekbit @chriscchien
  • [改进] 支持V2数据引擎CPU掩码设置的CPU列表格式,自动转换为十六进制掩码 13166 - @derekbit @chriscchien
  • [改进] 更新chart中的Longhorn distrolonghorn 13160 - @derekbit @chriscchien
  • [改进] 误导性存储值 12633 - @elTwingo @davidcheng0922 @houhoucoop @roger-ryao
  • [改进] 实现网络重连以增强副本重建韧性 9626 - @yangchiu @mschneider82
  • [改进] 为helm chart添加对新StorageClass参数的支持 9324 - @yangchiu @TheFutonEng
  • [改进] 使Kubernetes Metrics Server (metrics.k8s.io)集成可切换 13011 - @yangchiu @mantissahz @hookak
  • [改进] 通过优化集群范围信息缓存减少longhorn-manager内存使用 12771 - @hookak @roger-ryao
  • [改进] 拓扑感知PV节点亲和性控制:allowedTopologies键 + strictTopology 12684 - @hookak @roger-ryao
  • [改进] 使用helm值设置存储类注解 13137 - @yangchiu @Profiidev
  • [改进] longhorn-manager Pod在规模化场景下争用webhook TLS Secret 13012 - @yangchiu @hookak
  • [改进] 提升Longhorn自动恢复可观测性 13018 - @yangchiu @derekbit
  • [改进] 卷扩展期间移除调度条件检查 12606 - @yangchiu @davidcheng0922
  • [改进] TooManySnapshots卷条件使用硬编码阈值,尽管快照最大数量可配置 12396 - @COLDTURNIP @yangchiu
  • [改进] 将v2卷备份恢复从副本移至引擎 9277 - @davidcheng0922 @roger-ryao
  • [改进] 是否有办法在没有python的情况下运行longhorn 12679 - @roger-ryao
  • [改进] sparse-tools API不得对现有API引入破坏性更改 12967 - @yangchiu @derekbit
  • [UI][改进] TooManySnapshots卷条件使用硬编码阈值,尽管快照最大数量可配置 12922 - @chriscchien @houhoucoop
  • [改进] 在卷列表自定义列选项中添加备份目标 12619 - @yangchiu @houhoucoop
  • [改进] 允许通过Helm禁用创建默认longhorn StorageClass 12906 - @hookak @roger-ryao
  • [改进][测试] 添加工具解析和字符串转换辅助函数的单元测试 12898 - @archy-rock3t-cloud @chriscchien
  • [改进] 备份指标 11387 - @yangchiu @mantissahz @Copilot
  • [改进] chart: 允许在ServiceMonitor上指定spec.sampleLimit 12671 - @grelland @yangchiu
  • [改进] 为未加密和加密卷添加指标 12462 - @derekbit @mantissahz @chriscchien @Copilot
  • [改进] 在generate-longhorn-yaml错误消息中澄清helm版本 12630 - @luojiyin1987 @chriscchien
  • [改进][UI] 将版本号链接到git releases 11132 - @chriscchien @houhoucoop
  • [改进] 在Share Manager CR状态中记录当前share manager镜像 11203 - @derekbit @roger-ryao @Copilot
  • [改进] 快照树颜色说明 12247 - @houhoucoop
  • [改进] 拒绝将strict-local卷附加到错误节点 8546 - @yangchiu @derekbit @mantissahz @Copilot
  • [改进] 确保V2引擎ReplicaAdd遵循fast-replica-rebuild-enabled设置 12540 - @davidcheng0922 @roger-ryao
  • [改进] 放宽对可迁移块模式卷的endpoint-network-for-rwx-volume验证 12644 - @c3y1huang @chriscchien
  • [改进] 节点控制器删除后备镜像副本原因的详细日志 12584 - @COLDTURNIP @yangchiu
  • [改进] csi-resizer的RBAC权限 12681 - @yangchiu @konstantin-kelemen
  • [改进] 添加消息提示用户清理Backing Image CR中不存在的磁盘 10617 - @chriscchien @Copilot
  • [改进] 保持工作负载Pod在原始可用区和地域 12517 - @bachmanity1
  • [改进] 调度带有现有PV的Pod时考虑节点存储容量 12398 - @bachmanity1
  • [改进] 当后备镜像大小不匹配时,卷可能因不明原因进入故障状态 11673 - @COLDTURNIP @derekbit @roger-ryao @Copilot

缺陷修复

  • [缺陷] longhorn-instance-manager中潜在的资源泄漏 13143 - @derekbit @chriscchien
  • [缺陷] instance-manager在副本重建期间的空指针解引用恐慌 13087 - @derekbit @shuo-wu @roger-ryao
  • [缺陷] 加密卷提供的大小比声明的大小短16MB 9205 - @mantissahz @roger-ryao
  • [缺陷] CSIStorageCapacity为没有Longhorn磁盘的计算节点报告0,破坏了WaitForFirstConsumer调度 12807 - @bachmanity1 @roger-ryao
  • [缺陷] Google Cloud Storage (GCS)备份目标因AWS SDK Go v2 CRC32校验和不兼容始终失败,显示SignatureDoesNotMatch 12676 - @mantissahz @chriscchien
  • [缺陷] Longhorn在FIPS启用的系统上无法启用卷安全 12721 - @davidcheng0922 @chriscchien
  • [缺陷] 副本自动平衡导致无限副本调度循环 12926 - @yangchiu @shuo-wu
  • [缺陷] 副本重建进度可能超过100% 12949 - @yangchiu @mschneider82 @davidcheng0922
  • [缺陷] v2备份/恢复打开失败路径可能泄漏NVMe发起方和暴露的bdevs 13114 - @derekbit @roger-ryao
  • [缺陷] longhorn-spdk-engine中的连接泄漏 13101 - @derekbit @roger-ryao @Copilot
  • [缺陷] 支持包状态轮询和webhook就绪检查中的HTTP响应体泄漏 13115 - @derekbit @roger-ryao
  • [缺陷] 加密卷在节点重启和instance manager删除后陷入Attaching/Detaching循环 11510 - @yangchiu @mantissahz
  • [缺陷] 测试用例test_cleanup_system_generated_snapshots在v2卷上失败 13123 - @yangchiu @davidcheng0922
  • [缺陷] 测试用例test_drain_with_block_for_eviction_if_contains_last_replica_success在v1卷上失败 13103 - @derekbit @chriscchien
  • [缺陷] 当快照CR删除无法处理时,卷可能卡住 12489 - @COLDTURNIP @yangchiu
  • [缺陷] snapshot-max-count在v2卷上不起作用 12921 - @yangchiu @davidcheng0922
  • [缺陷][v1.12.0-rc1] RWX卷在v2数据引擎上重启副本节点(写入量大且有周期性作业)后陷入Detaching/Attaching循环 13062 - @derekbit @chriscchien
  • [缺陷] 在108.2.1+up1.10.2中,global.cattle.systemDefaultRegistry未作为镜像注册表前缀应用 13071 - @COLDTURNIP @yangchiu
  • [缺陷] 节点重启后将v2卷附加到重启节点,卷卡在Attaching状态 13084 - @yangchiu @derekbit
  • [缺陷] [v1.12.0-rc1] longhornctl在sle-micro 6.1上失败 13048 - @COLDTURNIP @roger-ryao
  • [缺陷] [longhorn-engine/dataserver] 健壮地处理io.ReadFull返回的EOF 12964 - @yangchiu @apoorvajagtap
  • [缺陷] PrometheusTimeseriesCardinality用于指标longhorn_rest_client_rate_limiter_latency_seconds_bucket 13085 - @derekbit @chriscchien
  • [缺陷] [v1.12.0-rc1] longhornctl在Ubuntu 26.04上失败 13072 - @derekbit @roger-ryao
  • [缺陷] longhorn-spdk-engine verify()竞争覆盖replicaMap,破坏并发副本重建 13074 - @derekbit @roger-ryao
  • [缺陷] 重建清理期间spdk_tgt崩溃 13076 - @derekbit @roger-ryao
  • [缺陷] v2卷扩展期间停止spdk_tgt使卷卡在分离状态,且未将失败记录在Engine CR中 12903 - @davidcheng0922 @chriscchien
  • [缺陷] 节点关闭并在新节点上重新创建share manager后,RWX工作负载变为只读 12986 - @yangchiu @davidcheng0922
  • [缺陷] test_support_bundle.py测试用例在具有IPv6模式加固集群上失败 13066 - @COLDTURNIP @yangchiu
  • [缺陷] [v1.12.0-rc1] test_delete_backup_during_restoring_volume在v2卷上失败,卷未故障且Restore条件为True 13061 - @derekbit @chriscchien
  • [缺陷] test_engine_upgrade.py中的测试用例失败 13014 - @mantissahz @roger-ryao
  • [缺陷] 如果在增量恢复期间触发副本重建,v2 DR卷可能卡在降级状态 12515 - @davidcheng0922 @chriscchien
  • [缺陷] 所有卷清理后,意外的副本仍留在节点上,并导致意外的调度存储 11177 - @yangchiu @c3y1huang
  • [缺陷] 从备份创建的v2卷在恢复期间一个副本崩溃后数据损坏 12830 - @chriscchien
  • [缺陷] [UI] v2卷引擎实时切换时,副本显示为灰色 13029 - @derekbit @chriscchien
  • [缺陷] test_rebuild_with_restoration在v2卷上不稳定 11447 - @derekbit @chriscchien
  • [缺陷] v2卷的lastBackup在创建备份后可能保持为空 12542 - @mantissahz @roger-ryao
  • [缺陷] dd && sync命令在v2 rwx加密卷上挂起 12649 - @mantissahz @chriscchien
  • [缺陷] VolumeSnapshot snapshot.storage.k8s.io/v1报告过时错误 11429 - @COLDTURNIP @yangchiu
  • [缺陷] 测试用例test_storage_capacity_aware_pod_scheduling失败 13001 - @yangchiu @bachmanity1
  • [缺陷] 在v2卷上,RWO加密卷备份恢复期间崩溃单个Instance Manager失败 12938 - @chriscchien
  • [缺陷] 加密的V2卷无法挂载并保持未知健壮性 12924 - @derekbit @chriscchien
  • [缺陷] 备份到S3在95%失败 12713 - @yangchiu @mantissahz
  • [缺陷] 由NFS延迟引起的备份检查构建导致节点耗尽 12896 - @COLDTURNIP @roger-ryao
  • [缺陷] 当磁盘路径是/dev/disk/by-id符号链接时,无法收集块磁盘(AIO)的健康数据 12910 - @yangchiu @hookak
  • [缺陷] 在备份后预期的自动清理期间,发出"快照变得不可用"警告事件 12850 - @yangchiu @EpochBoy
  • [缺陷] V1.11.0 instance manager内存消耗非常高 12573 - @derekbit @roger-ryao
  • [缺陷] (chart) image.openshift.oauthProxy.registry被静默忽略 - global.imageRegistry: “docker.io"默认值始终优先 12685 - @drewmullen @roger-ryao
  • [缺陷] 注解未应用于ingress 4014 - @DodoLeDev @roger-ryao
  • [缺陷] 回归测试用例test_replica_scheduler_rebuild_restore_is_too_big创建了数据引擎类型不正确的卷 12776 - @derekbit @chriscchien
  • [缺陷] 启用HTTP代理时后备镜像数据源Pod失败 12779 - @c3y1huang @chriscchien
  • [缺陷] v2回归期间SLES 16.0上的块磁盘变为不可调度 12404 - @davidcheng0922 @chriscchien
  • [缺陷] v2 DR卷可能在恢复期间节点重启时发生故障并无法从备份恢复 12412 - @c3y1huang @chriscchien
  • [缺陷] orphan控制器未清理多IM节点上相应instance manager上的实例 12786 - @COLDTURNIP @roger-ryao
  • [缺陷] V2卷克隆状态随时间变化 12746 - @davidcheng0922 @roger-ryao
  • [缺陷] CI测试运行期间spdk_tgtlonghorn-spdk-helper中遇到断言失败 10599 - @derekbit @roger-ryao
  • [缺陷] 能够设置defaultSettings.nodeDiskHealthMonitoring 12729 - @Turgon37 @chriscchien
  • [缺陷] nsmounter get_pid中的陈旧name变量 12703 - @ionfury @chriscchien
  • [缺陷] 升级到1.11.0后,新的持久卷具有nodeAffinity 12656 - @hookak @chriscchien
  • [缺陷] 不正确的存储重复计算导致同一节点上存在多个副本时调度失败 12653 - @yangchiu @davidcheng0922
  • [缺陷] Longhorn验证webhook阻止k3s服务器节点加入 - flannel CNI初始化失败 12578 - @yangchiu @mantissahz
  • [缺陷] [v2] 无法将分区用作块设备 12599 - @chriscchien @bachmanity1
  • [缺陷] 删除相应的instance manager pod后,v2加密卷陷入附加-分离循环 12648 - @mantissahz
  • [缺陷] 卷扩展期间重启节点会导致Pod卡在创建状态 5171 - @roger-ryao
  • [缺陷] Longhorn v1.10卷API与v1.8.1清单不兼容 12613 - @mantissahz @roger-ryao
  • [缺陷] 升级到v1.10.x及后续版本后,Volume.Spec.CloneMode为空 12614 - @mantissahz
  • [缺陷] 系统备份可能无法创建或删除 12472 - @yangchiu @mantissahz
  • [缺陷] 之前的副本重建完成后,再次触发意外的副本重建 12510 - @chriscchien
  • [缺陷] csi-resizer:同步PVC错误且无法调整卷大小 9125 -

性能优化

  • [任务] 评估Longhorn引擎和副本实例的CPU和内存消耗 12936 - @roger-ryao

韧性提升

  • [改进] 使engine-image DaemonSet的liveness探针参数可配置 12846 - @roger-ryao @aviralgarg05

稳定性

  • [缺陷] v1.10.2: dataLocality=best-effort且本地存储不足时,每次周期性作业触发泄漏N个副本CR (#12488后续) 13152 - @derekbit @roger-ryao

可扩展性

  • [文档] 在最佳实践部分添加卷大小调整指南 12203 - @mantissahz @sushant-suse

杂项

  • [史诗] 将"V2数据引擎"内容集成到标准文档结构 13054 - @mantissahz @sushant-suse
  • [文档] v1和v2卷之间预期的不一致行为 7624 - @yangchiu @derekbit
  • [缺陷] UI未将v2备份状态从Error更新为Completed 12842 - @derekbit @mantissahz @chriscchien
  • [缺陷] 由于v2卷快照未知字段status.requestedTime,v1.11.1升级到v1.12.x-head失败 13113 - @chriscchien
  • [任务] 在升级响应者请求中添加发行版信息 12778 - @yangchiu @davidcheng0922
  • [文档] 为Longhorn节点滚动替换期间的节点驱逐工作流创建KB文章 12870 - @COLDTURNIP @yangchiu
  • [文档] 节点优雅移除文档 12961 - @roger-ryao @sushant-suse
  • [缺陷] 当存在调度失败的副本时,v2卷无法在现有副本上重建 12664 - @shuo-wu @chriscchien
  • [网站][文档] 更新网站页脚为新的LF Projects Series LLC商标免责声明 12982 - @sushant-suse
  • [文档] Helm chart: v4兼容性? 12894 - @COLDTURNIP
  • [任务] 确保所有剩余的GitHub Actions都固定到特定的提交SHA 12920 - @carterli0407-cell
  • [文档] nginx ingress弃用通知中的损坏链接 12904 - @Copilot
  • [改进] 添加验证以防止通过kubectl修补节点时出现重复的磁盘paths 12480 - @yangchiu @carterli0407-cell
  • [重构] 移除冗余的类型转换 12316 - @futhgar @roger-ryao
  • [文档] 添加空间不足问题的KB 8785 - @mantissahz @roger-ryao @sushant-suse
  • [缺陷] 无效字符’<‘寻找值的开头 12569 - @COLDTURNIP @roger-ryao
  • [文档] 添加文档说明如何使用CR恢复备份,而不仅仅是记录UI 12810 - @chriscchien @sushant-suse
  • [文档] 更新文档因为ingress-nginx将被弃用 12758 - @yangchiu @sushant-suse
  • [文档] 改进可配置CPU核心描述 12740 - @chriscchien @sushant-suse
  • [文档] iSCSI环回连接问题KB 12548 - @COLDTURNIP @roger-ryao
  • [文档] 修复文档和增强文件中的拼写错误 12628 - @luojiyin1987
  • [任务] 为longhorn/仓库添加FOSSA操作工作流 12506 - @derekbit
  • [文档] 评估Longhorn V2卷的大页使用情况 12504 - @derekbit

贡献者

  • @COLDTURNIP
  • @Copilot
  • @DodoLeDev
  • @Edo78
  • @EpochBoy
  • @Flou21
  • @Nemric
  • @PhanLe1010
  • @Profiidev
  • @SquaredPotato
  • @TheFutonEng
  • @Turgon37
  • @WebberHuang1118
  • @abacef
  • @adarmi
  • @apoorvajagtap
  • @archy-rock3t-cloud
  • @aviralgarg05
  • @bachmanity1
  • @boomam
  • @brandboat
  • @c3y1huang
  • @carterli0407-cell
  • @chamarakera
  • @chriscchien
  • @davepgreene
  • @davidcheng0922
  • @derekbit
  • @drewmullen
  • @ejweber
  • @elTwingo
  • @farukheaver
  • @flori4n
  • @futhgar
  • @github-actions[bot]
  • @grelland
  • @hoo29
  • @hookak
  • @houhoucoop
  • @innobead
  • @ionfury
  • @jeven2016
  • @jimmy-wei
  • @johnwc
  • @konstantin-kelemen
  • @kudodenko
  • @lelgenio
  • @luojiyin1987
  • @mantissahz
  • @mschneider82
  • @mzac
  • @peyremorgan
  • @roger-ryao
  • @rrishabh6172
  • @shuo-wu
  • @sushant-suse
  • @thisisobate
  • @tomklapka
  • @wstutt
  • @yangchiu

更新内容 (原始)

DON’T UPGRADE from/to any RC/Preview/Sprint releases because the operation is not supported.

Resolved Issues in this release

Highlight

  • [FEATURE] Decouple V2 Data Engine Initiator and Target Placement 7124 - @derekbit @shuo-wu @chriscchien
  • [FEATURE] IPv6 for V2 Data Engine 10928 - @COLDTURNIP @chriscchien
  • [FEATURE] Support IPv4/IPv6 Dual-Stack with IPv6 Family First or IPv4 Family First 11531 - @COLDTURNIP @c3y1huang @chriscchien
  • [FEATURE] Support v2 Data Engine (GA) 6229 - @derekbit

Feature

  • [FEATURE] Support on-demand snapshot checksum calculation 11442 - @yangchiu @davidcheng0922
  • [FEATURE] Add --tolerations flag to longhornctl for scheduling DaemonSet pods on tainted nodes 12993 - @chriscchien @bachmanity1

Improvement

  • [IMPROVEMENT] Remove v2 backing image monitoring 13181 - @COLDTURNIP @derekbit @chriscchien
  • [IMPROVEMENT] Wait for spdk_tgt process to terminate during pre-stop cleanup 13179 - @derekbit @chriscchien
  • [IMPROVEMENT] Restart Instance Manager pod when hugepage settings change and no instances are running 13170 - @derekbit @chriscchien
  • [IMPROVEMENT] Support CPU list format for V2 Data Engine CPU Mask setting with automatic conversion to hex mask 13166 - @derekbit @chriscchien
  • [IMPROVEMENT] Update Longhorn distro in chart to longhorn 13160 - @derekbit @chriscchien
  • [IMPROVEMENT] Misleading storage values 12633 - @elTwingo @davidcheng0922 @houhoucoop @roger-ryao
  • [IMPROVEMENT] Implement Network Reconnection for Enhancing Replica Rebuilding Resilience 9626 - @yangchiu @mschneider82
  • [IMPROVEMENT] Add support of new StorageClass parameters to helm chart 9324 - @yangchiu @TheFutonEng
  • [IMPROVEMENT] Make Kubernetes Metrics Server (metrics.k8s.io) integration toggleable 13011 - @yangchiu @mantissahz @hookak
  • [IMPROVEMENT] Reduce longhorn-manager memory usage by optimizing cluster-wide informer caching 12771 - @hookak @roger-ryao
  • [IMPROVEMENT] Topology-aware PV nodeAffinity control: allowedTopologies keys + strictTopology 12684 - @hookak @roger-ryao
  • [IMPROVEMENT] Set storage class annotations using helm values 13137 - @yangchiu @Profiidev
  • [IMPROVEMENT] longhorn-manager pods race on webhook TLS Secret at scale 13012 - @yangchiu @hookak
  • [IMPROVEMENT] Improve Longhorn auto-salvage observability 13018 - @yangchiu @derekbit
  • [IMPROVEMENT] Removing Scheduled condition check during volume expansion 12606 - @yangchiu @davidcheng0922
  • [IMPROVEMENT] TooManySnapshots volume condition uses a hard-coded threshold despite configurable snapshot max count 12396 - @COLDTURNIP @yangchiu
  • [IMPROVEMENT] Move v2 volume backup restore from replica to engine 9277 - @davidcheng0922 @roger-ryao
  • [IMPROVEMENT] Is there any way to have longhorn without python 12679 - @roger-ryao
  • [IMPROVEMENT] sparse-tools APIs must not introduce breaking changes to existing APIs. 12967 - @yangchiu @derekbit
  • [UI][IMPROVEMENT] TooManySnapshots volume condition uses a hard-coded threshold despite configurable snapshot max count 12922 - @chriscchien @houhoucoop
  • [IMPROVEMENT] Add Backup Target to volume list custom column options 12619 - @yangchiu @houhoucoop
  • [IMPROVEMENT] Allow disabling creation of the default longhorn StorageClass via Helm 12906 - @hookak @roger-ryao
  • [IMPROVEMENT][TEST] Add unit tests for util parsing and string conversion helpers 12898 - @archy-rock3t-cloud @chriscchien
  • [IMPROVEMENT] Metrics for backups 11387 - @yangchiu @mantissahz @Copilot
  • [IMPROVEMENT] chart: allow specifying spec.sampleLimit on ServiceMonitor 12671 - @grelland @yangchiu
  • [IMPROVEMENT] Add metrics for non-Encrypted and encrypted volumes 12462 - @derekbit @mantissahz @chriscchien @Copilot
  • [IMPROVEMENT] Clarify helm version in generate-longhorn-yaml error message 12630 - @luojiyin1987 @chriscchien
  • [IMPROVEMENT][UI] Link version number to git releases 11132 - @chriscchien @houhoucoop
  • [IMPROVEMENT] Record the current share manager image in the Share Manager CR status 11203 - @derekbit @roger-ryao @Copilot
  • [IMPROVEMENT] Snapshot tree color explanation 12247 - @houhoucoop
  • [IMPROVEMENT] Refuse to attach strict-local volume to the wrong node 8546 - @yangchiu @derekbit @mantissahz @Copilot
  • [IMPROVEMENT] Ensure V2 Engine ReplicaAdd respects the fast-replica-rebuild-enabled setting 12540 - @davidcheng0922 @roger-ryao
  • [IMPROVEMENT] Relax endpoint-network-for-rwx-volume validation for migratable block-mode volumes 12644 - @c3y1huang @chriscchien
  • [IMPROVEMENT] detailed log for the reason of node controller deleting backing image copies 12584 - @COLDTURNIP @yangchiu
  • [IMPROVEMENT] RBAC permissions for csi-resizer 12681 - @yangchiu @konstantin-kelemen
  • [IMPROVEMENT] Adding a message to hint users to clean up non-existing disks in Backing Image CR 10617 - @chriscchien @Copilot
  • [IMPROVEMENT] Keep workload pod in the original zone and region 12517 - @bachmanity1
  • [IMPROVEMENT] Consider node storage capacity when scheduling pods with existing PVs 12398 - @bachmanity1
  • [IMPROVEMENT] Volume may enter faulty state without clear reason when backing image size mismatches 11673 - @COLDTURNIP @derekbit @roger-ryao @Copilot

Bug

  • [BUG] Potential resource leak in longhorn-instance-manager 13143 - @derekbit @chriscchien
  • [BUG] nil pointer dereference panic in instance-manager during replica rebuild. 13087 - @derekbit @shuo-wu @roger-ryao
  • [BUG] Encrypt volume provided size is 16MB shorter than the claimed size 9205 - @mantissahz @roger-ryao
  • [BUG] CSIStorageCapacity reports 0 for compute nodes without Longhorn disks, breaking WaitForFirstConsumer scheduling 12807 - @bachmanity1 @roger-ryao
  • [BUG] Google Cloud Storage (GCS) backup target always fails with SignatureDoesNotMatch due to AWS SDK Go v2 CRC32 checksum incompatibility 12676 - @mantissahz @chriscchien
  • [BUG] Longhorn Fails to enable volume security on FIPS enabled systems 12721 - @davidcheng0922 @chriscchien
  • [BUG] Replica Auto-Balance Causes Infinite Replica Scheduling Loop 12926 - @yangchiu @shuo-wu
  • [BUG] Replica rebuild progress can go over 100% 12949 - @yangchiu @mschneider82 @davidcheng0922
  • [BUG] v2 backup/restore open failure paths can leak NVMe initiators and exposed bdevs 13114 - @derekbit @roger-ryao
  • [BUG] Connection leak in longhorn-spdk-engine 13101 - @derekbit @roger-ryao @Copilot
  • [BUG] HTTP response body leaks in support bundle status polling and webhook readiness checks 13115 - @derekbit @roger-ryao
  • [BUG] Encrypted volume stuck in Attaching/Detaching loop after node reboot and instance manager deletion 11510 - @yangchiu @mantissahz
  • [BUG] Test case test_cleanup_system_generated_snapshots fails on v2 volumes 13123 - @yangchiu @davidcheng0922
  • [BUG] Test case test_drain_with_block_for_eviction_if_contains_last_replica_success failed on v1 volumes 13103 - @derekbit @chriscchien
  • [BUG] Volume may get stuck when the snapshot CR deletion cannot be handled 12489 - @COLDTURNIP @yangchiu
  • [BUG] snapshot-max-count doesn’t work on v2 volumes 12921 - @yangchiu @davidcheng0922
  • [BUG][v1.12.0-rc1] RWX Volume Gets Stuck in Detaching/Attaching Loop After Reboot Replica Node While Heavy Writing And Recurring Jobs on v2 Data Engine 13062 - @derekbit @chriscchien
  • [BUG] global.cattle.systemDefaultRegistry is not applied as the image registry prefix in 108.2.1+up1.10.2 13071 - @COLDTURNIP @yangchiu
  • [BUG] After a node is rebooted and attach a v2 volume to the rebooted node, the volume gets stuck in the Attaching state 13084 - @yangchiu @derekbit
  • [BUG] [v1.12.0-rc1] longhornctl fails on sle-micro 6.1 13048 - @COLDTURNIP @roger-ryao
  • [BUG] [longhorn-engine/dataserver] Handling EOF returned by io.ReadFull robustly 12964 - @yangchiu @apoorvajagtap
  • [BUG] PrometheusTimeseriesCardinality for metric longhorn_rest_client_rate_limiter_latency_seconds_bucket 13085 - @derekbit @chriscchien
  • [BUG] [v1.12.0-rc1] longhornctl fails on Ubuntu 26.04 13072 - @derekbit @roger-ryao
  • [BUG] longhorn-spdk-engine verify() race overwrites replicaMap, breaking concurrent replica rebuild 13074 - @derekbit @roger-ryao
  • [BUG] spdk_tgt crash during rebuild cleanup 13076 - @derekbit @roger-ryao
  • [BUG] Stopping spdk_tgt during v2 volume expansion leaves the volume stuck in detaching and does not record the failure in the Engine CR 12903 - @davidcheng0922 @chriscchien
  • [BUG] RWX Workload becomes Read-only after nodes shutdown and share manager is recreated on a new node 12986 - @yangchiu @davidcheng0922
  • [BUG] test_support_bundle.py test cases fail on hardened cluster with IPv6 mode 13066 - @COLDTURNIP @yangchiu
  • [BUG] [v1.12.0-rc1] test_delete_backup_during_restoring_volume fails on v2 volume, volume not faulted and condition Restore is True 13061 - @derekbit @chriscchien
  • [BUG] Test cases in test_engine_upgrade.py failed 13014 - @mantissahz @roger-ryao
  • [BUG] v2 DR volume may get stuck in Degraded state if replica rebuilding is triggered during incremental restoration 12515 - @davidcheng0922 @chriscchien
  • [BUG] Unexpected replica remains on node after all volumes have been cleaned up and causing unexpected scheduled storage 11177 - @yangchiu @c3y1huang
  • [BUG] V2 volume created from backup become data corrupted after crashing one replica during restore 12830 - @chriscchien
  • [BUG] [UI] replica shown as gray when v2 volume engine live switchover 13029 - @derekbit @chriscchien
  • [Bug] test_rebuild_with_restoration is flaky on v2 volume 11447 - @derekbit @chriscchien
  • [BUG] lastBackup of a v2 volume may remain empty after a backup is created 12542 - @mantissahz @roger-ryao
  • [BUG] dd && sync command hangs on v2 rwx encrypted volume 12649 - @mantissahz @chriscchien
  • [BUG] VolumeSnapshot snapshot.storage.k8s.io/v1 report stale error 11429 - @COLDTURNIP @yangchiu
  • [BUG] Test case test_storage_capacity_aware_pod_scheduling fails 13001 - @yangchiu @bachmanity1
  • [BUG] Crash Single Instance Manager While RWO Encrypted Volume Backup Is Restoring fails on v2 volume 12938 - @chriscchien
  • [BUG] Encrypted V2 volume cannot be mounted and stays in unknown robustness 12924 - @derekbit @chriscchien
  • [BUG] Backup to S3 fails at 95% 12713 - @yangchiu @mantissahz
  • [BUG] Node exhaustion caused by backup inspect buildup induced due to NFS latency 12896 - @COLDTURNIP @roger-ryao
  • [BUG] Failed to collect health data for block disk (AIO) when disk path is a /dev/disk/by-id symlink 12910 - @yangchiu @hookak
  • [BUG] “snapshot becomes not ready to use” Warning events emitted during expected auto-cleanup after backup 12850 - @yangchiu @EpochBoy
  • [BUG] V1.11.0 very high memory consumption for instance manager 12573 - @derekbit @roger-ryao
  • [BUG] (chart) image.openshift.oauthProxy.registry is silently ignored - global.imageRegistry: “docker.io” default always wins 12685 - @drewmullen @roger-ryao
  • [BUG] Annotations not being applied to ingress 4014 - @DodoLeDev @roger-ryao
  • [BUG] Regression test case test_replica_scheduler_rebuild_restore_is_too_big creates a volume with an incorrect data engine type. 12776 - @derekbit @chriscchien
  • [BUG] Backing image data source pod fails when HTTP proxy is enabled 12779 - @c3y1huang @chriscchien
  • [BUG] Block disks become Unschedulable on SLES 16.0 during v2 regression 12404 - @davidcheng0922 @chriscchien
  • [BUG] v2 DR volume could become faulted and fail to restore from backups if volume attached node is rebooted during restoration 12412 - @c3y1huang @chriscchien
  • [BUG] orphan controller does not cleanup the instance on the corresponding instance manager on a multiple IM node 12786 - @COLDTURNIP @roger-ryao
  • [BUG] V2 Volume Clone Status is Changed Over Time 12746 - @davidcheng0922 @roger-ryao
  • [BUG] spdk_tgt encountered an assertion failure in longhorn-spdk-helper during a CI test run 10599 - @derekbit @roger-ryao
  • [BUG] Enable to set defaultSettings.nodeDiskHealthMonitoring 12729 - @Turgon37 @chriscchien
  • [BUG] stale name variable in nsmounter get_pid 12703 - @ionfury @chriscchien
  • [BUG] After upgrading to 1.11.0, new persistent volumes have nodeAffinity 12656 - @hookak @chriscchien
  • [BUG] Incorrect storage double-counting causes scheduling failure when multiple replicas exist on the same node 12653 - @yangchiu @davidcheng0922
  • [BUG] Longhorn validating webhook blocks k3s server node joins - flannel CNI fails to initialize 12578 - @yangchiu @mantissahz
  • [BUG] [v2] Can’t use partition as block device 12599 - @chriscchien @bachmanity1
  • [BUG] v2 encrypted volume stuck at attach-detach loop after delete correspond instance manager pod 12648 - @mantissahz
  • [BUG] Reboot node while volume expansion, will cause pod stuck at creating state 5171 - @roger-ryao
  • [BUG] Longhorn v1.10 Volume API is not compatible with the v1.8.1 manifest 12613 - @mantissahz @roger-ryao
  • [BUG] Volume.Spec.CloneMode is empty after upgrading to v1.10.x and following version 12614 - @mantissahz
  • [BUG] System backup may fail to be created or deleted 12472 - @yangchiu @mantissahz
  • [BUG] Unexpected replica rebuilding is triggered again after a previous replica rebuilding has completed 12510 - @chriscchien
  • [BUG]csi-resizer: Error syncing PVC and failed to resize volume 9125 -

Performance

  • [TASK] Evaluate the CPU and memory consumption of the Longhorn engine and replica instances 12936 - @roger-ryao

Resilience

  • [IMPROVEMENT] Make liveness probe parameters of engine-image DaemonSet configurable 12846 - @roger-ryao @aviralgarg05

Stability

  • [BUG] v1.10.2: dataLocality=best-effort with insufficient local storage leaks N Replica CRs per recurring-job firing (#12488 follow-up) 13152 - @derekbit @roger-ryao

Scalability

  • [DOC] Add volume sizing guidance in best practice section 12203 - @mantissahz @sushant-suse

Misc

  • [EPIC] Integrate “V2 Data Engine” content into standard documentation structure 13054 - @mantissahz @sushant-suse
  • [DOC] Expected inconsistent behavior of between v1 and v2 volume 7624 - @yangchiu @derekbit
  • [BUG] UI does not update v2 backup state from Error to Completed 12842 - @derekbit @mantissahz @chriscchien
  • [BUG] v1.11.1 upgrade to v1.12.x-head fail due to v2 volume snapshot unknown field status.requestedTime 13113 - @chriscchien
  • [TASK] Add distro information to upgrade responder requests 12778 - @yangchiu @davidcheng0922
  • [DOC] Create a KB post for Longhorn node eviction workflows during node rolling replacement 12870 - @COLDTURNIP @yangchiu
  • [DOC] Document for gracefully node removing 12961 - @roger-ryao @sushant-suse
  • [BUG] v2 Volume fails to rebuild on existing replica when a scheduling-failed replica exists 12664 - @shuo-wu @chriscchien
  • [WEBSITE][DOC] Update website footer to new LF Projects Series LLC trademark disclaimer 12982 - @sushant-suse
  • [DOC] Helm chart: v4 compatibility? 12894 - @COLDTURNIP
  • [TASK] Ensure all remaining GitHub Actions are pinned to specific commit SHAs 12920 - @carterli0407-cell
  • [DOC] Broken links in the nginx ingress deprecation notice 12904 - @Copilot
  • [IMPROVEMENT] Add validation to prevent duplicate disk paths when patching node via kubectl 12480 - @yangchiu @carterli0407-cell
  • [REFACTOR] Remove redundant type casts 12316 - @futhgar @roger-ryao
  • [DOC] Add a KB for the insufficient space issue 8785 - @mantissahz @roger-ryao @sushant-suse
  • [BUG] invalid character ‘<’ looking for beginning of value 12569 - @COLDTURNIP @roger-ryao
  • [DOC] Add documentation to restore a backup using CRs instead of only documenting the UI 12810 - @chriscchien @sushant-suse
  • [DOC] Update doc as ingress-nginx will be deprecated 12758 - @yangchiu @sushant-suse
  • [DOC] Improve Configurable CPU Cores description 12740 - @chriscchien @sushant-suse
  • [DOC] KB for iSCSI loop back connection issues 12548 - @COLDTURNIP @roger-ryao
  • [DOC] Fix typos in documentation and enhancement files 12628 - @luojiyin1987
  • [TASK] Add FOSSA action workflow to longhorn/ repos 12506 - @derekbit
  • [DOC] Evaluate HugePage Usage of Longhorn V2 Volumes 12504 - @derekbit

Contributors

  • @COLDTURNIP
  • @Copilot
  • @DodoLeDev
  • @Edo78
  • @EpochBoy
  • @Flou21
  • @Nemric
  • @PhanLe1010
  • @Profiidev
  • @SquaredPotato
  • @TheFutonEng
  • @Turgon37
  • @WebberHuang1118
  • @abacef
  • @adarmi
  • @apoorvajagtap
  • @archy-rock3t-cloud
  • @aviralgarg05
  • @bachmanity1
  • @boomam
  • @brandboat
  • @c3y1huang
  • @carterli0407-cell
  • @chamarakera
  • @chriscchien
  • @davepgreene
  • @davidcheng0922
  • @derekbit
  • @drewmullen
  • @ejweber
  • @elTwingo
  • @farukheaver
  • @flori4n
  • @futhgar
  • @github-actions[bot]
  • @grelland
  • @hoo29
  • @hookak
  • @houhoucoop
  • @innobead
  • @ionfury
  • @jeven2016
  • @jimmy-wei
  • @johnwc
  • @konstantin-kelemen
  • @kudodenko
  • @lelgenio
  • @luojiyin1987
  • @mantissahz
  • @mschneider82
  • @mzac
  • @peyremorgan
  • @roger-ryao
  • @rrishabh6172
  • @shuo-wu
  • @sushant-suse
  • @thisisobate
  • @tomklapka
  • @wstutt
  • @yangchiu

下载链接