longhorn v1.12.0-rc4 版本更新介绍
发布日期: 2026-05-28
版本号: v1.12.0-rc4
该版本主要针对V2数据引擎进行了重要功能更新和大量问题修复,同时优化了多项性能与稳定性。请特别注意:强烈不建议从任何RC/Preview/Sprint预发布版本进行升级或降级。新版本亮点包括:正式支持V2数据引擎(GA)、为其添加IPv6及双栈网络支持,并解耦了初始化器与目标放置。功能上新增了按需快照校验和计算,并为
longhornctl工具增加了调度容忍污点节点的能力。改进方面涉及网络重连机制、存储类配置优化、内存使用降低以及多项UI与运维可观测性增强。本次更新修复了大量缺陷,主要集中在V2数据引擎相关的卷卡住、重建失败、加密卷异常以及资源泄露等问题,同时也解决了多个兼容性、快照处理和备份恢复中的错误。此外,还更新了相关文档并进行了代码重构与测试改进。
更新内容 (中文)
请勿从任意 RC/Preview/Sprint 版本进行升级或降级,因为此操作不受支持。
此版本已解决的问题
亮点
- [FEATURE] 解耦 V2 数据引擎发起方和目标放置位置 7124 - @derekbit @shuo-wu @chriscchien
- [FEATURE] V2 数据引擎支持 IPv6 10928 - @COLDTURNIP @chriscchien
- [FEATURE] 支持 IPv4/IPv6 双栈,可指定 IPv6 优先或 IPv4 优先 11531 - @COLDTURNIP @c3y1huang @chriscchien
- [FEATURE] 支持 v2 数据引擎 (GA) 6229 - @derekbit
功能
- [FEATURE] 支持按需计算快照校验和 11442 - @yangchiu @davidcheng0922
- [FEATURE] 在
longhornctl中添加--tolerations标志,用于在有污点的节点上调度 DaemonSet pod 12993 - @chriscchien @bachmanity1
改进
- [IMPROVEMENT] 移除 v2 背景镜像监控 13181 - @COLDTURNIP @derekbit @chriscchien
- [IMPROVEMENT] 在 pre-stop 清理期间等待 spdk_tgt 进程终止 13179 - @derekbit @chriscchien
- [IMPROVEMENT] 当巨页设置更改且无实例运行时,重启 Instance Manager pod 13170 - @derekbit @chriscchien
- [IMPROVEMENT] 支持 V2 数据引擎 CPU 掩码设置的 CPU 列表格式,并自动转换为十六进制掩码 13166 - @derekbit @chriscchien
- [IMPROVEMENT] 更新 chart 中的 Longhorn
distro为longhorn13160 - @derekbit @chriscchien - [IMPROVEMENT] 存储值显示误导性信息 12633 - @elTwingo @davidcheng0922 @houhoucoop @roger-ryao
- [IMPROVEMENT] 实现网络重连以增强副本重建韧性 9626 - @yangchiu @mschneider82
- [IMPROVEMENT] 为 helm chart 添加新的 StorageClass 参数支持 9324 - @yangchiu @TheFutonEng
- [IMPROVEMENT] 使 Kubernetes Metrics Server (metrics.k8s.io) 集成可切换 13011 - @yangchiu @mantissahz @hookak
- [IMPROVEMENT] 通过优化集群范围 informer 缓存减少 longhorn-manager 内存使用 12771 - @hookak @roger-ryao
- [IMPROVEMENT] 拓扑感知 PV nodeAffinity 控制:allowedTopologies 键 + strictTopology 12684 - @hookak @roger-ryao
- [IMPROVEMENT] 使用 helm 值设置 storage class 注解 13137 - @yangchiu @Profiidev
- [IMPROVEMENT] 规模下 longhorn-manager pods 在 webhook TLS Secret 上存在竞争 13012 - @yangchiu @hookak
- [IMPROVEMENT] 提升 Longhorn 自动恢复的可观测性 13018 - @yangchiu @derekbit
- [IMPROVEMENT] 在卷扩展期间移除 Scheduled 条件检查 12606 - @yangchiu @davidcheng0922
- [IMPROVEMENT]
TooManySnapshots卷条件使用硬编码阈值,尽管快照最大数量可配置 12396 - @COLDTURNIP @yangchiu - [IMPROVEMENT] 将 v2 卷备份恢复从副本移至引擎 9277 - @davidcheng0922 @roger-ryao
- [IMPROVEMENT] 是否可以在没有 python 的情况下使用 longhorn 12679 - @roger-ryao
- [IMPROVEMENT] sparse-tools API 不得对现有 API 引入破坏性变更 12967 - @yangchiu @derekbit
- [UI][IMPROVEMENT]
TooManySnapshots卷条件使用硬编码阈值,尽管快照最大数量可配置 12922 - @chriscchien @houhoucoop - [IMPROVEMENT] 在卷列表的
自定义列选项中添加Backup Target12619 - @yangchiu @houhoucoop - [IMPROVEMENT] 允许通过 Helm 禁用创建默认 longhorn StorageClass 12906 - @hookak @roger-ryao
- [IMPROVEMENT][TEST] 为工具解析和字符串转换辅助函数添加单元测试 12898 - @archy-rock3t-cloud @chriscchien
- [IMPROVEMENT] 备份的指标 11387 - @yangchiu @mantissahz @Copilot
- [IMPROVEMENT] chart:允许在 ServiceMonitor 上指定 spec.sampleLimit 12671 - @grelland @yangchiu
- [IMPROVEMENT] 添加非加密和加密卷的指标 12462 - @derekbit @mantissahz @chriscchien @Copilot
- [IMPROVEMENT] 在 generate-longhorn-yaml 错误消息中澄清 helm 版本 12630 - @luojiyin1987 @chriscchien
- [IMPROVEMENT][UI] 将版本号链接到 git releases 11132 - @chriscchien @houhoucoop
- [IMPROVEMENT] 在 Share Manager CR 状态中记录当前 share manager 镜像 11203 - @derekbit @roger-ryao @Copilot
- [IMPROVEMENT] 快照树颜色说明 12247 - @houhoucoop
- [IMPROVEMENT] 拒绝将 strict-local 卷附加到错误节点 8546 - @yangchiu @derekbit @mantissahz @Copilot
- [IMPROVEMENT] 确保 V2 引擎的 ReplicaAdd 遵守 fast-replica-rebuild-enabled 设置 12540 - @davidcheng0922 @roger-ryao
- [IMPROVEMENT] 放宽可迁移块模式卷的
endpoint-network-for-rwx-volume验证 12644 - @c3y1huang @chriscchien - [IMPROVEMENT] 节点控制器删除背景镜像副本原因的详细日志 12584 - @COLDTURNIP @yangchiu
- [IMPROVEMENT] csi-resizer 的 RBAC 权限 12681 - @yangchiu @konstantin-kelemen
- [IMPROVEMENT] 添加消息提示用户清理背景镜像 CR 中不存在的磁盘 10617 - @chriscchien @Copilot
- [IMPROVEMENT] 将工作负载 pod 保持在原始区域和地域 12517 - @bachmanity1
- [IMPROVEMENT] 调度具有现有 PV 的 pod 时考虑节点存储容量 12398 - @bachmanity1
- [IMPROVEMENT] 当背景镜像大小不匹配时,卷可能进入故障状态且无明确原因 11673 - @COLDTURNIP @derekbit @roger-ryao @Copilot
Bug
- [BUG] 副本重建期间 instance-manager 中出现空指针解引用恐慌 13087 - @derekbit @shuo-wu @roger-ryao
- [BUG] 在 Longhorn 组件删除并重启后,v2 RWX 工作负载 IO 超时 13217 - @yangchiu @derekbit
- [BUG] v2 卷在实例管理器删除并重启后卡在
Degraded状态 13215 - @derekbit - [BUG] 测试加密卷升级:旧引擎 RWO 卷在扩展至 2 GiB 后显示 1008 MiB,而非预期的 2032 MiB 13194 - @derekbit @mantissahz @roger-ryao
- [BUG] v2 卷删除在删除前清除了
Spec.NodeID,当Status.InstanceManagerName为空时可能导致副本孤立 13198 - @derekbit @chriscchien - [BUG] 备份目标在重置为空后仍显示
Available13195 - @yangchiu @derekbit - [BUG] 当引擎前端恢复阻止 gRPC 启动时,v2 instance-manager pod 陷入创建/删除循环 13185 - @derekbit @chriscchien
- [BUG] 在 108.2.1+up1.10.2 中,global.cattle.systemDefaultRegistry 未作为镜像注册表前缀应用 13071 - @COLDTURNIP @yangchiu
- [BUG] longhorn-instance-manager 中潜在的资源泄漏 13143 - @derekbit @chriscchien
- [BUG] 加密卷提供的大小比声明的大小短 16MB 9205 - @mantissahz @roger-ryao
- [BUG] 对于没有 Longhorn 磁盘的计算节点,CSIStorageCapacity 报告为 0,破坏了 WaitForFirstConsumer 调度 12807 - @bachmanity1 @roger-ryao
- [BUG] 由于 AWS SDK Go v2 CRC32 校验和不兼容,Google Cloud Storage (GCS) 备份目标总是因 SignatureDoesNotMatch 失败 12676 - @mantissahz @chriscchien
- [BUG] Longhorn 在启用 FIPS 的系统上无法启用卷安全 12721 - @davidcheng0922 @chriscchien
- [BUG] 副本自动平衡导致无限副本调度循环 12926 - @yangchiu @shuo-wu
- [BUG] 副本重建进度可能超过 100% 12949 - @yangchiu @mschneider82 @davidcheng0922
- [BUG] v2 备份/恢复打开失败路径可能泄漏 NVMe 发起方和公开的 bdev 13114 - @derekbit @roger-ryao
- [BUG] longhorn-spdk-engine 中的连接泄漏 13101 - @derekbit @roger-ryao @Copilot
- [BUG] 支持包状态轮询和 webhook 就绪检查中的 HTTP 响应体泄漏 13115 - @derekbit @roger-ryao
- [BUG] 节点重启和实例管理器删除后,加密卷卡在附加/分离循环中 11510 - @yangchiu @mantissahz
- [BUG] 测试用例
test_cleanup_system_generated_snapshots在 v2 卷上失败 13123 - @yangchiu @davidcheng0922 - [BUG] 测试用例
test_drain_with_block_for_eviction_if_contains_last_replica_success在 v1 卷上失败 13103 - @derekbit @chriscchien - [BUG] 当快照 CR 删除无法处理时,卷可能卡住 12489 - @COLDTURNIP @yangchiu
- [BUG]
snapshot-max-count在 v2 卷上不起作用 12921 - @yangchiu @davidcheng0922 - [BUG][v1.12.0-rc1] 在 v2 数据引擎上重写副本节点期间进行重写和定期作业时,RWX 卷陷入分离/附加循环 13062 - @derekbit @chriscchien
- [BUG] 节点重启后,将 v2 卷附加到重启的节点时,卷卡在
Attaching状态 13084 - @yangchiu @derekbit - [BUG] [v1.12.0-rc1] longhornctl 在 sle-micro 6.1 上失败 13048 - @COLDTURNIP @roger-ryao
- [BUG] [longhorn-engine/dataserver] 健壮地处理 io.ReadFull 返回的 EOF 12964 - @yangchiu @apoorvajagtap
- [BUG] 指标 longhorn_rest_client_rate_limiter_latency_seconds_bucket 的 PrometheusTimeseriesCardinality 13085 - @derekbit @chriscchien
- [BUG] [v1.12.0-rc1] longhornctl 在 Ubuntu 26.04 上失败 13072 - @derekbit @roger-ryao
- [BUG] longhorn-spdk-engine
verify()竞争覆盖replicaMap,破坏并发副本重建 13074 - @derekbit @roger-ryao - [BUG] 重建清理期间 spdk_tgt 崩溃 13076 - @derekbit @roger-ryao
- [BUG] 在 v2 卷扩展期间停止 spdk_tgt 会导致卷卡在分离状态,并且不会在 Engine CR 中记录故障 12903 - @davidcheng0922 @chriscchien
- [BUG] 节点关闭后,RWX 工作负载在新节点上重建 share manager 后变为只读 12986 - @yangchiu @davidcheng0922
- [BUG]
test_support_bundle.py测试用例在具有IPv6 模式的加固集群上失败 13066 - @COLDTURNIP @yangchiu - [BUG] [v1.12.0-rc1]
test_delete_backup_during_restoring_volume在 v2 卷上失败,卷未故障且 Restore 条件为 True 13061 - @derekbit @chriscchien - [BUG] test_engine_upgrade.py 中的测试用例失败 13014 - @mantissahz @roger-ryao
- [BUG] 如果在增量恢复期间触发副本重建,v2 DR 卷可能陷入
Degraded状态 12515 - @davidcheng0922 @chriscchien - [BUG] 所有卷清理完毕后,节点上仍保留意外的副本,导致意外的调度存储 11177 - @yangchiu @c3y1huang
- [BUG] 从备份创建的 V2 卷在恢复期间一个副本崩溃后出现数据损坏 12830 - @chriscchien
- [BUG] [UI] v2 卷引擎实时切换时副本显示为灰色 13029 - @derekbit @chriscchien
- [Bug]
test_rebuild_with_restoration在 v2 卷上不稳定 11447 - @derekbit @chriscchien - [BUG] v2 卷的
lastBackup在创建备份后可能保持为空 12542 - @mantissahz @roger-ryao - [BUG] 在 v2 rwx 加密卷上
dd && sync命令挂起 12649 - @mantissahz @chriscchien - [BUG] VolumeSnapshot snapshot.storage.k8s.io/v1 报告过期错误 11429 - @COLDTURNIP @yangchiu
- [BUG] 测试用例
test_storage_capacity_aware_pod_scheduling失败 13001 - @yangchiu @bachmanity1 - [BUG] 在 v2 卷上,RWO 加密卷备份恢复期间崩溃单个实例管理器失败 12938 - @chriscchien
- [BUG] 加密 V2 卷无法挂载并保持在未知健壮性状态 12924 - @derekbit @chriscchien
- [BUG] 备份到 S3 在 95% 失败 12713 - @yangchiu @mantissahz
- [BUG] 由 NFS 延迟引起的备份检查构建导致节点耗尽 12896 - @COLDTURNIP @roger-ryao
- [BUG] 当磁盘路径为 /dev/disk/by-id 符号链接时,无法收集块磁盘 (AIO) 的健康数据 12910 - @yangchiu @hookak
- [BUG] 在备份后的预期自动清理期间,发出“快照变为不可用”警告事件 12850 - @yangchiu @EpochBoy
- [BUG] V1.11.0 实例管理器内存消耗非常高 12573 - @derekbit @roger-ryao
- [BUG] (chart) image.openshift.oauthProxy.registry 被静默忽略 - global.imageRegistry: “docker.io” 默认值始终优先 12685 - @drewmullen @roger-ryao
- [BUG] 注解未应用于 ingress 4014 - @DodoLeDev @roger-ryao
- [BUG] 回归测试用例
test_replica_scheduler_rebuild_restore_is_too_big创建了具有不正确数据引擎类型的卷 12776 - @derekbit @chriscchien - [BUG] 启用 HTTP 代理时,背景镜像数据源 pod 失败 12779 - @c3y1huang @chriscchien
- [BUG] 在 v2 回归期间,SLES 16.0 上的块磁盘变为不可调度 12404 - @davidcheng0922 @chriscchien
- [BUG] 如果在恢复期间附加的节点重启,v2 DR 卷可能故障并无法从备份恢复 12412 - @c3y1huang @chriscchien
- [BUG] 孤立控制器未清理多实例管理器节点上相应实例管理器上的实例 12786 - @COLDTURNIP @roger-ryao
- [BUG] V2 卷克隆状态随时间变化 12746 - @davidcheng0922 @roger-ryao
- [BUG]
spdk_tgt在 CI 测试运行期间在longhorn-spdk-helper中遇到断言失败 10599 - @derekbit @roger-ryao - [BUG] 启用设置 defaultSettings.nodeDiskHealthMonitoring 12729 - @Turgon37 @chriscchien
- [BUG] nsmounter get_pid 中的陈旧 name 变量 12703 - @ionfury @chriscchien
- [BUG] 升级到 1.11.0 后,新的持久卷具有 nodeAffinity 12656 - @hookak @chriscchien
- [BUG] 不正确的存储重复计算导致同一节点上存在多个副本时调度失败 12653 - @yangchiu @davidcheng0922
- [BUG] Longhorn 验证性 webhook 阻止 k3s 服务器节点加入 - flannel CNI 初始化失败 12578 - @yangchiu @mantissahz
- [BUG] [v2] 无法将分区用作块设备 12599 - @chriscchien @bachmanity1
- [BUG] 删除相应的 instance manager pod 后,v2 加密卷陷入附加-分离循环 12648 - @mantissahz
- [BUG] 卷扩展期间重启节点会导致 pod 卡在创建状态 5171 - @roger-ryao
- [BUG] Longhorn v1.10 卷 API 与 v1.8.1 清单不兼容 12613 - @mantissahz @roger-ryao
- [BUG] 升级到 v1.10.x 及后续版本后,Volume.Spec.CloneMode 为空 12614 - @mantissahz
- [BUG] 系统备份可能无法创建或删除 12472 - @yangchiu @mantissahz
- [BUG] 前一次副本重建完成后,意外再次触发副本重建 12510 - @chriscchien
- [BUG] csi-resizer:同步 PVC 时出错且卷调整大小失败 9125 -
性能
- [TASK] 评估 Longhorn 引擎和副本实例的 CPU 和内存消耗 12936 - @roger-ryao
韧性
- [DOC] 增强 Longhorn 文档中关于 Instance Manager 的部分 13197 - @Felipalds
- [IMPROVEMENT] 使 engine-image DaemonSet 的 liveness probe 参数可配置 12846 - @roger-ryao @aviralgarg05
稳定性
- [BUG] v1.10.2:dataLocality=best-effort 在本地存储不足时,每次定期作业触发会泄漏 N 个 Replica CR(#12488 后续) 13152 - @derekbit @roger-ryao
杂项
- [DOC] v1 和 v2 卷之间预期的不一致行为 7624 - @yangchiu @derekbit @sushant-suse
- [EPIC] 将“V2 数据引擎”内容集成到标准文档结构中 13054 - @mantissahz @chriscchien @sushant-suse
- [BUG] UI 未将 v2 备份状态从 Error 更新为 Completed 12842 - @derekbit @mantissahz @chriscchien
- [BUG] 由于 v2 卷快照未知字段
status.requestedTime,从 v1.11.1 升级到 v1.12.x-head 失败 13113 - @chriscchien - [TASK] 在升级响应者请求中添加发行版信息 12778 - @yangchiu @davidcheng0922
- [DOC] 为节点滚动替换期间的 Longhorn 节点逐出工作流创建知识库文章 12870 - @COLDTURNIP @yangchiu
- [DOC] 优雅移除节点的文档 12961 - @roger-ryao @sushant-suse
- [BUG] 当存在调度失败的副本时,v2 卷无法在现有副本上重建 12664 - @shuo-wu @chriscchien
- [WEBSITE][DOC] 将网站页脚更新为新的 LF Projects Series LLC 商标免责声明 12982 - @sushant-suse
- [DOC] Helm chart:v4 兼容性? 12894 - @COLDTURNIP
- [TASK] 确保所有剩余的 GitHub Actions 都固定到特定提交 SHA 12920 - @carterli0407-cell
- [DOC] nginx ingress 弃用通知中的链接失效 12904 - @Copilot
- [IMPROVEMENT] 添加验证以防止通过
kubectl修补节点时出现重复的磁盘路径12480 - @yangchiu @carterli0407-cell - [REFACTOR] 移除冗余的类型转换 12316 - @futhgar @roger-ryao
- [DOC] 添加关于空间不足问题的知识库 8785 - @mantissahz @roger-ryao @sushant-suse
- [BUG] 无效字符 ‘<’ 寻找值的开始 12569 - @COLDTURNIP @roger-ryao
- [DOC] 添加使用 CR 而非仅通过 UI 恢复备份的文档 12810 - @chriscchien @sushant-suse
- [DOC] 由于 ingress-nginx 将被弃用,更新文档 12758 - @yangchiu @sushant-suse
- [DOC] 改进
可配置 CPU 核心描述 12740 - @chriscchien @sushant-suse - [DOC] iSCSI 环回连接问题的知识库 12548 - @COLDTURNIP @roger-ryao
- [DOC] 修复文档和增强文件中的拼写错误 12628 - @luojiyin1987
- [TASK] 将 FOSSA action 工作流添加到 longhorn/
仓库 12506 - @derekbit - [DOC] 评估 Longhorn V2 卷的巨页使用情况 12504 - @derekbit
贡献者
- @COLDTURNIP
- @Copilot
- @DodoLeDev
- @Edo78
- @EpochBoy
- @Felipalds
- @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
--tolerationsflag tolonghornctlfor 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
distroin chart tolonghorn13160 - @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]
TooManySnapshotsvolume 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]
TooManySnapshotsvolume condition uses a hard-coded threshold despite configurable snapshot max count 12922 - @chriscchien @houhoucoop - [IMPROVEMENT] Add
Backup Targetto volume listcustom columnoptions 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-volumevalidation 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] nil pointer dereference panic in instance-manager during replica rebuild. 13087 - @derekbit @shuo-wu @roger-ryao
- [BUG] v2 RWX workload IO timed out after Longhorn components are deleted and restarted 13217 - @yangchiu @derekbit
- [BUG] v2 volume gets stuck in
Degradedstate after instance manager is deleted and restarted 13215 - @derekbit - [BUG] Test Encrypted Volume Upgrade: Old-engine RWO volume shows 1008 MiB after expansion to 2 GiB instead of expected 2032 MiB 13194 - @derekbit @mantissahz @roger-ryao
- [BUG] v2 volume deletion clears
Spec.NodeIDbefore delete, potentially orphaning replicas whenStatus.InstanceManagerNameis empty 13198 - @derekbit @chriscchien - [BUG] Backup target still shows
Availableafter being reset to empty 13195 - @yangchiu @derekbit - [BUG] v2 instance-manager pod stuck in create/delete loop when engine frontend recovery blocks gRPC startup 13185 - @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] Potential resource leak in longhorn-instance-manager 13143 - @derekbit @chriscchien
- [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_snapshotsfails on v2 volumes 13123 - @yangchiu @davidcheng0922 - [BUG] Test case
test_drain_with_block_for_eviction_if_contains_last_replica_successfailed 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-countdoesn’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] After a node is rebooted and attach a v2 volume to the rebooted node, the volume gets stuck in the
Attachingstate 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 overwritesreplicaMap, 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.pytest cases fail onhardened clusterwithIPv6 mode13066 - @COLDTURNIP @yangchiu - [BUG] [v1.12.0-rc1]
test_delete_backup_during_restoring_volumefails 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
Degradedstate 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_restorationis flaky on v2 volume 11447 - @derekbit @chriscchien - [BUG]
lastBackupof a v2 volume may remain empty after a backup is created 12542 - @mantissahz @roger-ryao - [BUG]
dd && synccommand 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_schedulingfails 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_bigcreates 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_tgtencountered an assertion failure inlonghorn-spdk-helperduring 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
- [DOC] Enhance Longhorn docs about Instance Manager 13197 - @Felipalds
- [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
Misc
- [DOC] Expected inconsistent behavior of between v1 and v2 volume 7624 - @yangchiu @derekbit @sushant-suse
- [EPIC] Integrate “V2 Data Engine” content into standard documentation structure 13054 - @mantissahz @chriscchien @sushant-suse
- [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.requestedTime13113 - @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
pathswhen patching node viakubectl12480 - @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 Coresdescription 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
- @Felipalds
- @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