longhorn v1.10.0-rc4 版本更新介绍
发布日期: 2025-09-23
版本号: v1.10.0-rc4
本次Longhorn发布说明主要包含以下内容:首先,郑重提醒用户不要从任何发布候选版或预览版进行升级或降级,此操作不被支持。该版本带来多项重要功能更新,核心亮点集中在V2数据引擎(基于SPDK)上,新增了对卷克隆、卷扩容、中断模式、无需大页内存的支持,并引入了可配置的备份块大小以及针对副本重建负载的QoS限制。同时,V1数据引擎也新增了IPv6支持,并改进了对CSI存储容量感知调度的支持。此外,版本还包含众多改进和大量问题修复,涵盖功能增强、UI优化、稳定性提升、性能优化及大量Bug的解决。改进措施涉及日志收集、资源感知重建、工具链增强等多个方面。修复的问题则广泛涉及V2卷的各种运行时状态异常、备份与恢复流程、集群管理以及UI功能缺陷。最后,列出了为本次发布做出贡献的众多开发者。
更新内容 (中文)
请勿从或升级到任何RC/预览/Sprint版本,因为此操作不支持。
本版本已解决问题
重要提示
- [功能] V2卷支持克隆 7794 - @yangchiu @PhanLe1010
- [功能] V2支持卷扩容 8022 - @davidcheng0922 @chriscchien
- [界面][功能] V2卷支持克隆 11736 - @yangchiu @houhoucoop
- [功能] V2卷支持中断模式 9834 - @yangchiu @c3y1huang
- [功能] 支持无大页的V2卷 7066 - @derekbit @chriscchien
- [功能] 可配置备份块大小 5215 - @COLDTURNIP @yangchiu
- [界面][功能] 可配置备份块大小 11586 -
- [功能] 添加QoS支持以限制副本重建负载 10770 - @hookak @roger-ryao
- [功能] V2卷的细粒度设置与V1数据引擎对齐 10926 - @derekbit @chriscchien
- [改进] 在Longhorn CSI驱动中支持CSIStorageCapacity以实现容量感知的Pod调度 10685 - @bachmanity1 @roger-ryao
- [功能] V1数据引擎支持IPv6 2259 - @yangchiu @c3y1huang
- [功能] 使用增量快照进行增量副本重建:控制平面和数据平面 10037 - @shuo-wu @roger-ryao
- [功能] 在Longhorn v1.10中移除v1beta1 API CRD 10249 - @derekbit @roger-ryao
功能
- [功能] 添加通过
longhornctl在大页更新后重启kubelet的选项 11241 - @chriscchien @bachmanity1 - [界面][功能] 可配置备份块大小 11351 - @yangchiu @houhoucoop
- [界面][功能] 在单个卷概览页面显示附加票据摘要 11401 - @yangchiu @houhoucoop
- [界面][功能] 添加QoS支持以限制副本重建负载 11306 - @davidcheng0922 @houhoucoop @roger-ryao
- [界面][功能] V2卷的细粒度设置与V1数据引擎对齐 11354 - @chriscchien @houhoucoop
- [功能] 在单个卷概览页面显示附加票据摘要 11400 - @yangchiu @davidcheng0922
- [功能] 允许Longhorn在启用“卷意外分离时自动删除工作负载Pod”功能时,使用自定义控制器重启Pod 8353 - @derekbit @roger-ryao
- [功能] 覆盖容器镜像仓库的标准方式 11064 - @marcosbc @yangchiu @roger-ryao
- [功能] 指定镜像拉取凭据的标准方式 11062 - @marcosbc @chriscchien
改进
- [改进] 为Longhorn安装变体添加使用指标 11792 - @derekbit
- [改进] 允许为V1和V2数据引擎应用不同的快照校验和相关设置 11537 - @chriscchien @nzhan126
- [改进] 使
longhornctl可在隔离环境中使用 11291 - @chriscchien @bachmanity1 - [改进] 静态应用安全测试发现longhorn-manager控制器/volume_controller.go中潜在空指针解引用 11780 - @c3y1huang
- [改进] 从设置
log-path定义的主机目录收集日志 11522 - @c3y1huang @roger-ryao - [改进] 增强离线重建,具备资源感知和重试退避功能 11270 - @mantissahz @chriscchien
- [改进] 在支持包中收集挂载表、进程状态和进程表 8397 - @mantissahz @chriscchien
- [改进] 卷附加应自动排除设置了
disable-v2-data-engine="true"的节点 11695 - @derekbit @chriscchien - [改进] 为设置引入
系统信息类别 11656 - @derekbit @roger-ryao - [改进] RBAC权限 11345 - @davidcheng0922 @chriscchien
- [改进] 提升Longhorn Pod日志精度至纳秒级 11596 - @derekbit @roger-ryao
- [改进] 更新V2数据引擎的验证逻辑 11600 - @derekbit @chriscchien
- [改进] 改进longhorn-engine、tgt和liblonghorn的日志消息以辅助故障排除 11545 - @yangchiu @derekbit
- [改进] 重命名backing-image-manager以减少CR名称冲突概率 11455 - @COLDTURNIP @chriscchien
- [改进] 移除longhorn/longhorn中过时的先决条件安装脚本 11430 - @yangchiu @roger-ryao @sushant-suse
- [界面][改进] 为强制分离操作添加UI警告,以防止Kubernetes和Longhorn VolumeAttachment不同步 9944 - @yangchiu @houhoucoop
- [改进] 为
longhornctl添加node-selector选项以选择运行DaemonSet的节点 11213 - @yangchiu @bachmanity1 - [改进] 改进卷
已调度条件消息 11460 - @yangchiu @derekbit @chriscchien - [改进] 启动收集实例管理器日志的新机制 5948 - @yangchiu @derekbit
- [改进] 调整backing image下载的硬编码超时限制 11309 - @COLDTURNIP @roger-ryao
- [改进] 使实例管理器Pod的存活探针参数可配置 10788 - @yangchiu @derekbit
- [改进] 增强Longhorn CLI菜单描述 8998 - @roger-ryao @sushant-suse
- [改进] 改进longhorn-engine控制器日志消息 11507 - @derekbit @chriscchien
- [改进] 在实例管理器控制器中添加注释解释
isSettingDataEngineSynced的作用 11321 - @mantissahz - [改进] 遏制误导性日志消息“在驱逐节点上删除孤立数据…” 11500 - @yangchiu @derekbit
- [改进] 拒绝为V1数据引擎更新
volume.spec.replicaRebuildingBandwidthLimit11497 - @derekbit @roger-ryao - [改进] 如果重建无法启动,则分离离线重建的卷 11274 - @mantissahz
- [改进] backing image处理节点磁盘删除事件 10983 - @COLDTURNIP @chriscchien
- [改进] 将
RebuildingMbytesPerSecond重命名为ReplicaRebuildBandwidthLimit11403 - @derekbit @roger-ryao - [改进] 使sync agent可进行性能分析 11386 - @COLDTURNIP @yangchiu
- [改进] 为Longhorn磁盘I/O添加性能指标 11223 - @hookak @DamiaSan
- [改进] 使CLI预检检查非阻塞,以便后续检查 9877 - @davidcheng0922 @DamiaSan
- [改进] 为CLI预检检查添加命名空间参数 9749 - @davidcheng0922 @DamiaSan
- [改进] “孤立数据”不应放置在设置下 10383 - @houhoucoop @DamiaSan @sushant-suse
- [改进] 在longhorn-ui中升级Node v20 11315 - @chriscchien @houhoucoop
- [改进] /v1/backuptargets 返回的有用错误消息未在UI中显示 10428 - @houhoucoop @DamiaSan
- [改进] 在创建备份、备份backing image和系统备份前检查备份目标是否可用 10085 - @yangchiu @nzhan126
- [改进] 资源约束场景下实例管理器Pod重新创建的退避重试间隔 10263 - @yangchiu @bachmanity1
- [改进] 记录webhook拒绝迁移附加票据时的详细信息 11150 - @COLDTURNIP @roger-ryao
- [改进] 处理包含混合无效条件的凭据secret 8537 - @yangchiu @nzhan126
- [改进] 允许为
guaranteed-instance-manager-cpu和node.spec.instanceManagerCPURequest设置浮点值 11179 - @yangchiu @gigabyte132 - [改进] 移除CRD的
preserveUnknownFields: false补丁 11263 - @derekbit @chriscchien - [改进] 当 locality 为
best-effort时,至少在本地调度一个副本 11007 - @chriscchien @bachmanity1 - [改进] 改进磁盘空间不可调度条件消息 10436 - @yangchiu @davidcheng0922
- [改进] 改进引擎镜像检查的条件消息 9845 - @derekbit @chriscchien
- [改进] 改进在检测同一备份目标上同一卷的多个备份卷时的日志记录 11152 - @PhanLe1010 @chriscchien
- [改进] 为
longhorn/cli实现文档验证 11229 - @derekbit - [改进] 将验证从每个资源删除移至验证webhook 5156 - @derekbit @roger-ryao
- [改进] 验证node.longhorn.io资源spec字段 11079 - @Felipalds @chriscchien
- [改进] 在Longhorn Helm Chart中为UI服务添加自定义注解支持 11031 - @josimar-silva @roger-ryao
- [改进] 为longhorn-csi-plugin尝试连接longhorn-manager Pod时添加重试逻辑 9482 - @PhanLe1010 @roger-ryao
缺陷
- [缺陷] 无法从configmap加载DataEngineSpecific布尔设置 11810 - @COLDTURNIP @roger-ryao
- [缺陷] V2停止工作 - connectNVMfBdev() -> “code”: -95,“message”: “Operation not supported” (1.10.0-rc2) 11761 - @yangchiu @c3y1huang
- [缺陷] [界面] 克隆卷中数据引擎的默认值不一致 11802 - @houhoucoop @roger-ryao
- [缺陷] 如果某些节点标记了
disable-v2-data-engine=true,系统备份可能卡在CreatingVolumeBackups状态 11774 - @mantissahz @roger-ryao - [缺陷] 从快照创建卷时,调整卷大小期间可能导致数据损坏 11484 - @yangchiu @PhanLe1010
- [缺陷] 块磁盘在重新添加后可能永远不会变为
可调度状态 11760 - @derekbit @chriscchien - [缺陷] 节点重启后,V2卷可能卡在
分离/故障状态 10112 - @yangchiu @shuo-wu - [缺陷] 如果backing image在创建PVC之前不存在,则无法动态配置带有backing image的V2卷 11762 - @COLDTURNIP @yangchiu
- [缺陷] 原始卷扩容并备份后,V2 DR卷故障 11767 - @davidcheng0922 @roger-ryao
- [缺陷] 安装过程中longhorn-manager崩溃 11743 - @derekbit @chriscchien
- [缺陷] 无法从远程备份存储同步现有备份 11758 - @yangchiu @mantissahz
- [缺陷] Longhorn PVC处于挂起状态 11654 - @yangchiu @derekbit
- [缺陷] 写入操作期间,卷副本节点磁盘空间耗尽会导致卷故障 10718 - @yangchiu @mantissahz
- [缺陷] [v1.10.0-rc1]
longhornctl trim volume命令挂起 11704 - @davidcheng0922 @chriscchien - [缺陷] longhornctl预检安装应加载并检查iscsi_tcp内核模块 11706 - @mantissahz @chriscchien
- [缺陷] 由于bdev_channel_destroy_resource()断言失败,副本重建后spdk_tgt崩溃 11109 - @hookak @chriscchien
- [缺陷] 创建V2卷时无法设置副本亲和性 (
test_soft_anti_affinity_scheduling_volume_enable) 11642 - @yangchiu @derekbit - [缺陷] BackupBackingImage可能从未就绪的BackingImageManager创建 11675 - @WebberHuang1118 @roger-ryao
- [缺陷] 创建一个带有200 Mi backing image的2 Gi卷被拒绝,提示“卷大小应大于backing image大小” 11362 - @COLDTURNIP @yangchiu
- [缺陷] V2卷上压力时副本自动平衡磁盘失败 10551 - @yangchiu @hookak
- [缺陷] 当ownerID分配给标记为node.longhorn.io/disable-v2-data-engine: “true"的节点时,备份卡住 11619 - @davidcheng0922 @roger-ryao
- [缺陷] 快速卷分离后引擎进程继续运行 11605 - @COLDTURNIP @yangchiu
- [缺陷] 节点CR中仍存在未知操作系统条件 11612 - @COLDTURNIP @roger-ryao
- [缺陷] Longhorn Manager持续向V2卷的实例管理器发送副本删除请求 11553 - @yangchiu @shuo-wu
- [缺陷] 即使没有V2卷、backing image或孤立数据,也无法禁用v2-data-engine 11330 - @shuo-wu @roger-ryao
- [缺陷] longhorn-manager重复发出
No instance manager for node xxx for update instance state of orphan instance orphan-xxx..11597 - @COLDTURNIP @chriscchien - [缺陷] 卷变为只读时无法重新挂载 8572 - @derekbit @chriscchien
- [缺陷] 实时迁移意外终止时的卷状态挂起 11479 - @PhanLe1010 @chriscchien
- [缺陷] S3备份目标随机恢复为先前值 9581 - @yangchiu @mantissahz
- [缺陷] Longhornctl / CLI - 未提供配置,请尝试设置KUBERNETES_MASTER环境变量 10094 - @davidcheng0922 @chriscchien
- [缺陷] longhorn-images.txt 指定的CSI组件仓库标签未找到 11575 - @yangchiu @derekbit
- [缺陷] DR卷的备份块大小应从最新备份设置 11580 - @COLDTURNIP @yangchiu
- [缺陷] longhornctl –enable-spdk 不支持arm64 11551 - @yangchiu @davidcheng0922
- [缺陷] 集群脑裂期间可能创建额外的无效BackupVolumeCR 11154 - @mantissahz @roger-ryao
- [缺陷] 系统备份错误 11232 - @c3y1huang @roger-ryao
- [缺陷] 无法使用UI中的“创建备份”图标创建备份 11451 - @yangchiu @mantissahz @houhoucoop
- [缺陷] 无法为V2卷上的旧快照创建备份:无法找到快照lvol范围 11461 - @c3y1huang @chriscchien
- [缺陷] 因发现残留的backuptargets而卸载失败 11486 - @COLDTURNIP @yangchiu
- [缺陷] 可以在未满足大页要求的情况下设置启用V2数据引擎,导致系统中挂起错误的V2实例管理器CR 11519 - @yangchiu @derekbit
- [缺陷] 无法在存储网络环境中设置备份目标:找不到节点的运行实例管理器 11478 - @yangchiu @derekbit
- [缺陷] V2卷上的卷迁移负面测试用例失败 10800 - @shuo-wu @chriscchien
- [缺陷] V2卷无法清理错误副本并重建新副本 - test_data_locality_basic 10335 - @shuo-wu @chriscchien
- [缺陷] 在talos集群上自动检测nvme驱动器的问题(vfio-pci驱动程序而非预期的vfio_pci) 11127 - @Hugome @roger-ryao
- [缺陷] 测试用例
test_running_volume_with_scheduling_failure因意外创建新副本而失败 11512 - @derekbit @chriscchien - [缺陷] 回归测试用例因无法清理虚拟备份而失败 11487 - @COLDTURNIP @yangchiu
- [缺陷] [v1.9.0-rc1] 删除V2实例管理器后意外产生孤立数据 10829 - @yangchiu @derekbit
- [缺陷] 重建后V2引擎在分离和附加状态间循环 10396 - @shuo-wu @roger-ryao
- [缺陷]
test_basic.py::test_backup_status_for_unavailable_replicas失败 11416 - @derekbit @roger-ryao - [缺陷] 因过时的SLES仓库导致构建失败 11481 - @PhanLe1010
- [缺陷] 如果备份已存在,则无法设置S3备份目标 11337 - @mantissahz @chriscchien
- [缺陷] [界面] “快照和备份”图表卡在加载状态,控制台显示错误消息 10529 - @yangchiu @davidcheng0922
- [缺陷] Longhorn文档中的Backup YAML示例无效 11216 - @roger-ryao @nzhan126
- [缺陷] 网络断开后,V2卷工作负载IO可能出现
Bad message错误 10113 - @yangchiu @shuo-wu - [缺陷] 测试用例
Test Replica Auto Balance Node Least Effort在V2卷上失败 10977 - @yangchiu @c3y1huang - [缺陷] IsJSONRPCRespErrorNoSuchDevice在ublk客户端包装的错误上失败 11361 - @yangchiu @davidcheng0922
- [缺陷] longhorn-manager因
SIGSEGV: segmentation violation崩溃 11420 - @derekbit @chriscchien - [缺陷] 测试用例
test_replica_auto_balance_node_least_effort有时失败 11388 - @derekbit @chriscchien - [缺陷] 对于spdk V2引擎,卷间歇性卡在分离/故障状态 10724 - @DamiaSan
- [缺陷] 配置参数拼写错误:“offlineRelicaRebuilding"应为"offlineReplicaRebuilding” 11380 - @yangchiu @in-jun
- [缺陷] [文档] OpenShift文档 11174 - @yangchiu @mlacko64
- [缺陷] 在单节点Harvester中,longhorn-manager日志中出现无休止的“无法调度副本” 3708 - @derekbit @chriscchien
- [缺陷] 因不允许删除运行的Longhorn节点而导致卸载失败 11131 - @COLDTURNIP @roger-ryao
- [缺陷] 实例管理器Pod删除后,引擎V2 I/O被阻塞超过1-2分钟 10167 - @c3y1huang @chriscchien
- [缺陷] 回归测试用例失败:期望卷已分离但它已附加 11273 - @yangchiu @mantissahz
- [缺陷] 卷扩容失败,提示“不支持的磁盘加密格式ext4” 11120 - @COLDTURNIP @mantissahz @roger-ryao
- [缺陷] longhorn-spdk-engine重建单元测试可能卡住2分钟 11099 - @shuo-wu @roger-ryao
- [缺陷] V2卷在“迁移节点宕机后迁移确认”时可能陷入
分离/已分离循环 10157 - @yangchiu @PhanLe1010 - [缺陷] 实例管理器Pod重启后触发竞争条件时,Longhorn不会重用失败的V2副本 11188 - @shuo-wu @roger-ryao
- [缺陷] 自动生成的CLI文档被make覆盖 11219 - @bachmanity1
- [缺陷] longhorn chart/values.yaml 中
remove-snapshots-during-filesystem-trim的值不正确 11264 - @derekbit @chriscchien - [缺陷] [v1.9.0-rc1] V2卷在节点宕机后未按预期重用失败副本 10828 - @yangchiu @shuo-wu
- [缺陷] CSI插件重启意外触发可迁移RWX卷工作负载重启 11158 - @c3y1huang @roger-ryao
- [缺陷] 在浏览器UI中:卷 -> 克隆卷导致浏览器页面损坏 11165 - @houhoucoop @roger-ryao
- [缺陷] StorageClass中的"mkfsParams"未传递给share-manager进行文件系统格式化 11107 - @Florianisme @roger-ryao
- [缺陷] 测试用例
test_engine_image_not_fully_deployed_perform_volume_operations失败:无法分离卷 10874 - @mantissahz @chriscchien - [缺陷] 创建支持包时发生恐慌空指针异常 11169 - @c3y1huang @roger-ryao
- [缺陷] 因CMAKE兼容性问题无法构建Longhorn-Share-Manager镜像 11159 - @derekbit @roger-ryao
- [缺陷] 因不允许删除默认引擎镜像而导致卸载失败 11130 - @COLDTURNIP @chriscchien
- [缺陷] V2卷卡在降级状态并在kubelet重启后持续重建/删除副本 10107 - @shuo-wu
- [缺陷] SPDK API bdev_lvol_detach_parent未按预期工作 11046 - @DamiaSan @roger-ryao
- [缺陷] 分配给默认组时周期性作业失败 11016 - @c3y1huang @chriscchien
- [缺陷] 副本重建后V2卷数据校验和不匹配 10118 - @yangchiu @shuo-wu
- [缺陷] 大多数回归测试用例因无法更新设置而失败 11042 - @yangchiu @mantissahz
- [缺陷] 节点驱逐后无法清理backing image卷副本 11053 - @COLDTURNIP @roger-ryao
- [缺陷] 节点驱逐期间backing image卷副本发生空指针异常崩溃 11034 - @COLDTURNIP @chriscchien
- [缺陷] 降级的DR卷在激活后仍保持待机并已附加状态 2107 - @roger-ryao
- [缺陷] 如果只有一个重建副本在运行,DR卷会卡住 2753 - @c3y1huang @roger-ryao
稳定性
- [文档] 记录由HDD I/O延迟引起的卷稳定性风险 11240 - @chriscchien @sushant-suse
其他
- [文档] 添加关于副本容错能力的信息 11526 - @roger-ryao @sushant-suse
- [任务] 备份存储锁冲突错误消息的知识库 11293 - @yangchiu @pratikjagrut
- [文档] 记录副本重建机制及其限制 11119 - @mantissahz @chriscchien
- [文档] V2引擎用法矛盾 11409 - @shuo-wu @roger-ryao
- [文档] Talos新卷策略 11015 - @yangchiu @DrummyFloyd
- [任务] [pytest] 如果启用RUN_V2_TEST,则自动添加-m v2_volume_test 11376 - @chriscchien
- 修订关于节点空间的文档 3021 - @derekbit @chriscchien
- [文档] XFS文件系统挂载失败的故障排除知识库 11214 - @derekbit @roger-ryao
- [文档] 解释Longhorn VolumeAttachment操作和行为 11142 - @derekbit @roger-ryao
- [文档] 更新网站上的失效链接 11288 - @yangchiu @sushant-suse
- [文档] 在chart README中澄清privateRegistry.createSecret和registrySecret的用法 11251 - @chriscchien
- [文档] 知识库:VM升级期间完成卷迁移失败 11149 - @COLDTURNIP @chriscchien
- [文档] 详细说明如何使用kubectl启用DR卷 10958 - @derekbit @chriscchien
- [文档] 从气隙安装指南中移除
defaultSettings.registrySecret参考 11237 - @chriscchien - [任务] 移除已弃用的replica.status.evictionRequested字段 7022 - @yangchiu @derekbit @roger-ryao
- [任务] 创建longhorn/spdk longhorn-v25.05分支 11048 - @derekbit @chriscchien
- [任务] 为libqcow创建专用仓库以改善可维护性和构建管理 10988 - @derekbit @chriscchien
- [文档] 在1.9.0上更新使用已弃用CRD版本v1beta1的示例至v1beta2 11019 - @falmar @roger-ryao
- [任务] UI扩展迁移的概念验证 10516 - @houhoucoop
- [任务] 确保支持包构建使用供应商依赖项 11106 - @yangchiu @c3y1huang
- [文档] 修复文档中的失效链接 11028 - @chriscchien @sushant-suse
- [文档] 更新网站首页以包含社区会议链接 10890 - @yangchiu @divya-mohan0209 @sushant-suse
- [重构] 使用Go包进行系统操作,而不是依赖通过shell命令的外部系统调用 5193 - @c3y1huang
贡献者
- @COLDTURNIP
- @DamiaSan
- @DrummyFloyd
- @Felipalds
- @Florianisme
- @Hugome
- @PhanLe1010
- @WebberHuang1118
- @bachmanity1
- @c3y1huang
- @chriscchien
- @davidcheng0922
- @derekbit
- @divya-mohan0209
- @falmar
- @gigabyte132
- @hookak
- @houhoucoop
- @in-jun
- @innobead
- @josimar-silva
- @mantissahz
- @marcosbc
- @mlacko64
- @nzhan126
- @pratikjagrut
- @roger-ryao
- @shuo-wu
- @sushant-suse
- @yangchiu
更新内容 (原始)
DON’T UPGRADE from/to any RC/Preview/Sprint releases because the operation is not supported.
Resolved Issues in this release
Highlight
- [FEATURE] V2 Volume Supports Cloning 7794 - @yangchiu @PhanLe1010
- [FEATURE] v2 supports volume expansion 8022 - @davidcheng0922 @chriscchien
- [UI][FEATURE] V2 Volume Supports Cloning 11736 - @yangchiu @houhoucoop
- [FEATURE] V2 volumes support interrupt mode 9834 - @yangchiu @c3y1huang
- [FEATURE] Support v2 volume without hugepage 7066 - @derekbit @chriscchien
- [FEATURE] Configurable Backup Block Size 5215 - @COLDTURNIP @yangchiu
- [UI][FEATURE] Configurable Backup Block Size 11586 -
- [FEATURE] Add QoS support to limit replica rebuilding load 10770 - @hookak @roger-ryao
- [FEATURE] Volume granular setting parity for V2 to match V1 data engine 10926 - @derekbit @chriscchien
- [IMPROVEMENT] Support CSIStorageCapacity in Longhorn CSI driver to enable capacity-aware pod scheduling 10685 - @bachmanity1 @roger-ryao
- [FEATURE] IPV6 for V1 Data Engine 2259 - @yangchiu @c3y1huang
- [FEATURE] Delta Replica Rebuilding using Delta Snapshot: Control and Data Planes 10037 - @shuo-wu @roger-ryao
- [FEATURE] Remove v1beta1 API CRD in Longhorn v1.10 10249 - @derekbit @roger-ryao
Feature
- [FEATURE] Add option to restart kubelet through
longhornctlafter huge page update 11241 - @chriscchien @bachmanity1 - [UI][FEATURE] Configurable Backup Block Size 11351 - @yangchiu @houhoucoop
- [UI][FEATURE] Display a summary of the attachment tickets in an individual volume’s overview page 11401 - @yangchiu @houhoucoop
- [UI][FEATURE] Add QoS support to limit replica rebuilding load 11306 - @davidcheng0922 @houhoucoop @roger-ryao
- [UI][FEATURE] Volume granular setting parity for V2 to match V1 data engine 11354 - @chriscchien @houhoucoop
- [FEATURE] Display a summary of the attachment tickets in an individual volume’s overview page 11400 - @yangchiu @davidcheng0922
- [FEATURE] Allow longhorn to restart pods with custom controllers, while the
Automatically Delete Workload Pod when The Volume Is Detached Unexpectedlyfeature is enabled 8353 - @derekbit @roger-ryao - [FEATURE] Standardized way to override container image registry 11064 - @marcosbc @yangchiu @roger-ryao
- [FEATURE] Standardized way to specify image pull secrets 11062 - @marcosbc @chriscchien
Improvement
- [IMPROVEMENT] Add usage metrics for Longhorn installation variant 11792 - @derekbit
- [IMPROVEMENT] Allow applying different values of snapshot checksum related settings for v1 and v2 data engine 11537 - @chriscchien @nzhan126
- [IMPROVEMENT] Make
longhornctlusable in air-gapped environments 11291 - @chriscchien @bachmanity1 - [IMPROVEMENT] SAST Potential dereference of the null pointer in controller/volume_controller.go in longhorn-manager 11780 - @c3y1huang
- [IMPROVEMENT] Collect Logs from the Host Directory Defined by the Setting
log-path11522 - @c3y1huang @roger-ryao - [IMPROVEMENT] Enhance Offline Rebuilding with Resource Awareness and Retry Backoff 11270 - @mantissahz @chriscchien
- [IMPROVEMENT] Collect mount table, process status and process table in support bundle 8397 - @mantissahz @chriscchien
- [IMPROVEMENT] Volume attachment should automatically exclude nodes with
disable-v2-data-engine="true"11695 - @derekbit @chriscchien - [IMPROVEMENT] Introduce
System InfoCategory for Settings 11656 - @derekbit @roger-ryao - [IMPROVEMENT] RBAC permissions 11345 - @davidcheng0922 @chriscchien
- [IMPROVEMENT] Improve Longhorn Pods Logging Precision to Nanoseconds 11596 - @derekbit @roger-ryao
- [IMPROVEMENT] Update validation logics for v2 data engine 11600 - @derekbit @chriscchien
- [IMPROVEMENT] Improve log messages of longhorn-engine, tgt and liblonghorn for troubleshooting 11545 - @yangchiu @derekbit
- [IMPROVEMENT] rename the backing image manager to reduce the probability of CR name collision 11455 - @COLDTURNIP @chriscchien
- [IMPROVEMENT] Remove outdated prerequisite installation scripts in longhorn/longhorn 11430 - @yangchiu @roger-ryao @sushant-suse
- [UI][IMPROVEMENT] Add UI Warning for Force-Detach Actions to Prevent Out-of-Sync Kubernetes and Longhorn VolumeAttachments 9944 - @yangchiu @houhoucoop
- [IMPROVEMENT] Add
node-selectoroption tolonghornctlto select nodes on which to run DaemonSet 11213 - @yangchiu @bachmanity1 - [IMPROVEMENT] Improve volume
Scheduledcondition message 11460 - @yangchiu @derekbit @chriscchien - [IMPROVEMENT] Launching a new mechanism to collect instance manager logs 5948 - @yangchiu @derekbit
- [IMPROVEMENT] adjust the hardcoded timeout limitation for backing image downloading 11309 - @COLDTURNIP @roger-ryao
- [IMPROVEMENT] Make liveness probe parameters of instance-manager pod configurable 10788 - @yangchiu @derekbit
- [IMPROVEMENT] Enhance menu descriptions for Longhorn CLI 8998 - @roger-ryao @sushant-suse
- [IMPROVEMENT] Improve longhorn-engine controller log messages 11507 - @derekbit @chriscchien
- [IMPROVEMENT] Add a comment to explain what
isSettingDataEngineSynceddoes in the instance manager controller. 11321 - @mantissahz - [IMPROVEMENT] Flooding and misleading log message
Deleting orphans on evicted node ...11500 - @yangchiu @derekbit - [IMPROVEMENT] Reject
volume.spec.replicaRebuildingBandwidthLimitupdate for V1 Data Engine 11497 - @derekbit @roger-ryao - [IMPROVEMENT] Detach an offline rebuilding volume if rebuilding can not start 11274 - @mantissahz
- [IMPROVEMENT] backing image handle node disk deleting events 10983 - @COLDTURNIP @chriscchien
- [IMPROVEMENT] Rename
RebuildingMbytesPerSecondtoReplicaRebuildBandwidthLimit11403 - @derekbit @roger-ryao - [IMPROVEMENT] Make the sync agent profilable 11386 - @COLDTURNIP @yangchiu
- [IMPROVEMENT] Add performance metrics for Longhorn disk I/O 11223 - @hookak @DamiaSan
- [IMPROVEMENT] Make CLI preflight check non-blocking for subsequent checkups 9877 - @davidcheng0922 @DamiaSan
- [IMPROVEMENT] Add namespace argument/parameter to cli pre-flight check 9749 - @davidcheng0922 @DamiaSan
- [IMPROVEMENT]
Orphaned Datashould not be placed under Settings 10383 - @houhoucoop @DamiaSan @sushant-suse - [IMPROVEMENT] Upgrade Node v20 in longhorn-ui 11315 - @chriscchien @houhoucoop
- [IMPROVEMENT] useful error message from /v1/backuptargets is not displayed in UI 10428 - @houhoucoop @DamiaSan
- [IMPROVEMENT] Check if the backup target is available before creating a backup, backup backing image, and system backup 10085 - @yangchiu @nzhan126
- [IMPROVEMENT] Backoff Retry Interval for Instance Manager Pod Re-creation in Resource Constraint Scenarios 10263 - @yangchiu @bachmanity1
- [IMPROVEMENT] record the detail while webhook rejecting migration attachment tickets 11150 - @COLDTURNIP @roger-ryao
- [IMPROVEMENT] Handle credential secret containing mixed invalid conditions 8537 - @yangchiu @nzhan126
- [IMPROVEMENT] Add the possiblity of setting floating point values for
guaranteed-instance-manager-cpuandnode.spec.instanceManagerCPURequest11179 - @yangchiu @gigabyte132 - [IMPROVEMENT] Remove the Patch
preserveUnknownFields: falsefor CRDs 11263 - @derekbit @chriscchien - [IMPROVEMENT] Schedule at least one replica locally when locality is
best-effort11007 - @chriscchien @bachmanity1 - [IMPROVEMENT] Improve the disk space un-schedulable condition message 10436 - @yangchiu @davidcheng0922
- [IMPROVEMENT] Improve the condition message of engine image check 9845 - @derekbit @chriscchien
- [IMPROVEMENT] Improve the logging when detecting multiple backup volumes of the same volume on the same backup target 11152 - @PhanLe1010 @chriscchien
- [IMPROVEMENT] Implement Documentation Validation for
longhorn/cli11229 - @derekbit - [IMPROVEMENT] Move validation from each resource deletion to validation webhook 5156 - @derekbit @roger-ryao
- [IMPROVEMENT] Validate node.longhorn.io resource spec fields 11079 - @Felipalds @chriscchien
- [IMPROVEMENT] add support for custom annotations in the UI service on Longhorn Helm Chart 11031 - @josimar-silva @roger-ryao
- [IMPROVEMENT] Adding retry logic for longhorn-csi-plugin when it trying to contact the longhorn-manager pods 9482 - @PhanLe1010 @roger-ryao
Bug
- [BUG] failed to load DataEngineSpecific boolean setting from configmap 11810 - @COLDTURNIP @roger-ryao
- [BUG] V2 stop working - connectNVMfBdev() -> “code”: -95,“message”: “Operation not supported” (1.10.0-rc2) 11761 - @yangchiu @c3y1huang
- [BUG] [UI] Inconsistent Default Value for Data Engine in Clone Volume 11802 - @houhoucoop @roger-ryao
- [BUG] System backup could get stuck in
CreatingVolumeBackupsif some nodes are labeled withdisable-v2-data-engine=true11774 - @mantissahz @roger-ryao - [BUG] Potential Data Corruption During Volume Resizing When Created from Snapshot 11484 - @yangchiu @PhanLe1010
- [BUG] Block disk may never become
Schedulableafter re-adding 11760 - @derekbit @chriscchien - [BUG] v2 volume could get stuck in
Detaching/Faultedstate after nodes reboot 10112 - @yangchiu @shuo-wu - [BUG] Fail to dynamically provision a v2 volume with a backing image if the backing image doesn’t exist before PVC creation 11762 - @COLDTURNIP @yangchiu
- [BUG] v2 DR volume faulted after origin volume expand and backuped 11767 - @davidcheng0922 @roger-ryao
- [BUG] longhorn manager crash in installation 11743 - @derekbit @chriscchien
- [BUG] Unable to sync existing backups from a remote backup store 11758 - @yangchiu @mantissahz
- [BUG] Longhorn pvcs are in pending state. 11654 - @yangchiu @derekbit
- [BUG] Volume becomes faulted when its replica node disks run out of space during a write operation 10718 - @yangchiu @mantissahz
- [BUG] [v1.10.0-rc1]
longhornctl trim volumecommand hangs 11704 - @davidcheng0922 @chriscchien - [BUG] longhornctl preflight install should load and chec iscsi_tcp kernel module. 11706 - @mantissahz @chriscchien
- [BUG] spdk_tgt crash after replica rebuilding due to bdev_channel_destroy_resource() assert failure 11109 - @hookak @chriscchien
- [BUG] Unable to set replica affinity when creating a v2 volume (
test_soft_anti_affinity_scheduling_volume_enable) 11642 - @yangchiu @derekbit - [BUG] BackupBackingImage may be created from an unready BackingImageManager 11675 - @WebberHuang1118 @roger-ryao
- [BUG] Creating a 2 Gi volume with a 200 Mi backing image is rejected with “volume size should be larger than the backing image size” 11362 - @COLDTURNIP @yangchiu
- [BUG] Replica auto balance disk in pressure fails on v2 volumes 10551 - @yangchiu @hookak
- [BUG] Backup stuck when ownerID is assigned to a node with node.longhorn.io/disable-v2-data-engine: “true” 11619 - @davidcheng0922 @roger-ryao
- [BUG] Engine process continues running after rapid volume detachment 11605 - @COLDTURNIP @yangchiu
- [BUG] remaining unknown OS condition in node CR 11612 - @COLDTURNIP @roger-ryao
- [BUG] Longhorn Manager continues to send replica deletion requests to the Instance Manager for the v2 volume indefinitely 11553 - @yangchiu @shuo-wu
- [BUG] Unable to disable v2-data-engine even though there is no v2 volumes, backing images or orphaned data 11330 - @shuo-wu @roger-ryao
- [BUG] longhorn-manager repeatedly emits
No instance manager for node xxx for update instance state of orphan instance orphan-xxx..11597 - @COLDTURNIP @chriscchien - [BUG] Volumes fails to remount when they go read-only 8572 - @derekbit @chriscchien
- [BUG] Dangling Volume State When Live Migration Terminates Unexpectedly 11479 - @PhanLe1010 @chriscchien
- [BUG] S3 Backup target reverts randomly to previous value 9581 - @yangchiu @mantissahz
- [BUG] Longhornctl / CLI - no configuration has been provided, try setting KUBERNETES_MASTER environment variable 10094 - @davidcheng0922 @chriscchien
- [BUG] longhorn-images.txt specifies CSI component repo tags not found 11575 - @yangchiu @derekbit
- [BUG] DR volume’s backup block size should be set from the latest backup 11580 - @COLDTURNIP @yangchiu
- [BUG] longhornctl –enable-spdk doesn’t support arm64 11551 - @yangchiu @davidcheng0922
- [BUG] extra invalid BackupVolumeCR may be created during cluster split-brain 11154 - @mantissahz @roger-ryao
- [BUG] system backup error 11232 - @c3y1huang @roger-ryao
- [BUG] Can not create backup using
Create Backupicon in UI 11451 - @yangchiu @mantissahz @houhoucoop - [BUG] Unable to create backup for old snapshots on v2 volumes: failed to find snapshot lvol range 11461 - @c3y1huang @chriscchien
- [BUG] Uninstall fail because find backuptargets remaining 11486 - @COLDTURNIP @yangchiu
- [BUG] Setting v2 data engine can be enabled without fulfilling the hugepage requirement, causing error v2 instance manager CR dangling in the system 11519 - @yangchiu @derekbit
- [BUG] Unable to setup backup target in storage network environment: cannot find a running instance manager for node 11478 - @yangchiu @derekbit
- [BUG] Volume migration negative test cases fail on v2 volumes 10800 - @shuo-wu @chriscchien
- [BUG] V2 volume fails to cleanup error replica and rebuild new one - test_data_locality_basic 10335 - @shuo-wu @chriscchien
- [BUG] Issue auto detecting nvme drive on talos cluster (vfio-pci driver instead of expected vfio_pci) 11127 - @Hugome @roger-ryao
- [BUG] Test case
test_running_volume_with_scheduling_failurefailed due to unexpected new replica created 11512 - @derekbit @chriscchien - [BUG] Regression test cases failed due to unable to clean up dummy backups 11487 - @COLDTURNIP @yangchiu
- [BUG][v1.9.0-rc1] Unexpected orphaned data are created after v2 instance managers deleted 10829 - @yangchiu @derekbit
- [BUG] v2 Engine loops in detaching and attaching state after rebuilding 10396 - @shuo-wu @roger-ryao
- [BUG]
test_basic.py::test_backup_status_for_unavailable_replicasis failed 11416 - @derekbit @roger-ryao - [BUG] Build fails due to outdated SLES repo 11481 - @PhanLe1010
- [BUG] Unable to set up S3 backup target if backups already exist 11337 - @mantissahz @chriscchien
- [BUG][UI]
Snapshots and Backupsgraph is stuck loading and console shows error messages 10529 - @yangchiu @davidcheng0922 - [BUG] The Backup YAML example in the Longhorn doc does not work 11216 - @roger-ryao @nzhan126
- [BUG] v2 volume workload IO could get
Bad messageerror after network disconnect 10113 - @yangchiu @shuo-wu - [BUG] Test case
Test Replica Auto Balance Node Least Effortfailed on v2 volume 10977 - @yangchiu @c3y1huang - [BUG] IsJSONRPCRespErrorNoSuchDevice fails on wrapped errors for ublk client 11361 - @yangchiu @davidcheng0922
- [BUG] longhorn-manager is crashed due to
SIGSEGV: segmentation violation11420 - @derekbit @chriscchien - [BUG] Test Case
test_replica_auto_balance_node_least_effortIs Sometimes Failed 11388 - @derekbit @chriscchien - [BUG] volume gets stuck at detaching/faulted state for spdk v2 engine intermittently 10724 - @DamiaSan
- [BUG] Typo in configuration parameter: “offlineRelicaRebuilding” should be “offlineReplicaRebuilding” 11380 - @yangchiu @in-jun
- [BUG][DOC] OpenShift documentation 11174 - @yangchiu @mlacko64
- [BUG] In single node Harvester, endless “unable to schedule replica” is logged in longhorn-manager 3708 - @derekbit @chriscchien
- [BUG] Uninstallation fail due to deleting the running Longhorn node is not allowed 11131 - @COLDTURNIP @roger-ryao
- [BUG] Engine v2 I/O Blocked Over 1-2 Minutes After Instance Manager Pod Deletion 10167 - @c3y1huang @chriscchien
- [BUG] Regression test cases failed: expecting volume to be detached but it’s attached 11273 - @yangchiu @mantissahz
- [BUG] Volume expansion fails with “unsupported disk encryption format ext4” 11120 - @COLDTURNIP @mantissahz @roger-ryao
- [BUG] longhorn-spdk-engine rebuilding unit tests may get stuck for 2 minutes 11099 - @shuo-wu @roger-ryao
- [BUG] v2 volume could get stuck in
detaching/detachedloop whenMigration Confirmation After Migration Node Down10157 - @yangchiu @PhanLe1010 - [BUG] Longhorn will not reuse the failed v2 replicas when a race condition is triggered after the instance manager pod restart 11188 - @shuo-wu @roger-ryao
- [BUG] Auto-generated CLI document overwrite by make 11219 - @bachmanity1
- [BUG] Incorrect value of
remove-snapshots-during-filesystem-trimin longhorn chart/values.yaml 11264 - @derekbit @chriscchien - [BUG][v1.9.0-rc1] v2 volumes don’t reuse failed replicas as expected after a node goes down 10828 - @yangchiu @shuo-wu
- [BUG] CSI Plugin restart triggers unintended restart of migratable RWX volume workloads 11158 - @c3y1huang @roger-ryao
- [BUG] in the browser UI: Volume -> Clone Volume results in the broken browser page 11165 - @houhoucoop @roger-ryao
- [BUG] “mkfsParams” in StorageClass are not passed to share-manager for filesystem formatting 11107 - @Florianisme @roger-ryao
- [BUG] Test case
test_engine_image_not_fully_deployed_perform_volume_operationsfailed: unable to detach a volume 10874 - @mantissahz @chriscchien - [BUG] Creating support-bundle panic NPE 11169 - @c3y1huang @roger-ryao
- [BUG] Unable to Build Longhorn-Share-Manager Image Due to CMAKE Compatibility 11159 - @derekbit @roger-ryao
- [BUG] Uninstallation fail due to deleting the default engine image is not allowed 11130 - @COLDTURNIP @chriscchien
- [BUG] v2 volume gets stuck in degraded state and continuously rebuilds/deletes replicas after a kubelet restart 10107 - @shuo-wu
- [BUG] SPDK API bdev_lvol_detach_parent does not work as expected 11046 - @DamiaSan @roger-ryao
- [BUG] Recurring jobs fail when assigned to default group 11016 - @c3y1huang @chriscchien
- [BUG] v2 volume data checksum mismatch after replica rebuilding 10118 - @yangchiu @shuo-wu
- [BUG] Most of regression test cases are failing due to unable to update settings 11042 - @yangchiu @mantissahz
- [BUG] unable to clean up the backing image volume replica after node eviction 11053 - @COLDTURNIP @roger-ryao
- [BUG] backing image volume replica NPE crash during evicting node 11034 - @COLDTURNIP @chriscchien
- [BUG] A degraded DR volume remains in standby and attached after activation. 2107 - @roger-ryao
- [BUG] DR volume gets stuck if there is only a rebuilding replica running 2753 - @c3y1huang @roger-ryao
Stability
- [DOC] Document Volume Stability Risks Caused by I/O Latency on HDDs 11240 - @chriscchien @sushant-suse
Misc
- [DOC] Add Information on Replica Failure Tolerance 11526 - @roger-ryao @sushant-suse
- [TASK] KB for backup store lock conflict error message 11293 - @yangchiu @pratikjagrut
- [DOC] Document Replica Rebuilding Mechanisms and Their Limitations 11119 - @mantissahz @chriscchien
- [DOC] V2 Engine usage contradiction 11409 - @shuo-wu @roger-ryao
- [DOC] Talos new volumes strategy 11015 - @yangchiu @DrummyFloyd
- [TASK] [pytest] automatically add -m v2_volume_test if RUN_V2_TEST enabled 11376 - @chriscchien
- Revise the document about node space 3021 - @derekbit @chriscchien
- [DOC] Troubleshooting KB for Mount Failure with XFS Filesystem 11214 - @derekbit @roger-ryao
- [DOC] Explain Longhorn VolumeAttachment operation and behavior 11142 - @derekbit @roger-ryao
- [DOC] Update Broken Links on Website 11288 - @yangchiu @sushant-suse
- [DOC] Clarify privateRegistry.createSecret and registrySecret usage in chart README 11251 - @chriscchien
- [DOC] KB: failed to complete volume migration during VM upgrade 11149 - @COLDTURNIP @chriscchien
- [DOC] Elaborate how to enable DR volume using kubectl 10958 - @derekbit @chriscchien
- [DOC] Remove
defaultSettings.registrySecretreference from air gap installation guide 11237 - @chriscchien - [TASK] Remove deprecated replica.status.evictionRequested field 7022 - @yangchiu @derekbit @roger-ryao
- [TASK] Create longhorn/spdk longhorn-v25.05 branch 11048 - @derekbit @chriscchien
- [TASK] Create a Dedicated Repository for libqcow to Improve Maintainability and Build Management 10988 - @derekbit @chriscchien
- [DOC] Update examples using deprecated crd version v1beta1 to v1beta2 on 1.9.0 11019 - @falmar @roger-ryao
- [TASK] POC for ui-extension migration 10516 - @houhoucoop
- [TASK] Ensure support-bundle-kit builds use vendored dependencies 11106 - @yangchiu @c3y1huang
- [DOC] Fix the broken links present in documentation 11028 - @chriscchien @sushant-suse
- [DOC] Update website front page to include community meeting links 10890 - @yangchiu @divya-mohan0209 @sushant-suse
- [REFACTOR] Use go pkg for system operation instead of relying on external system call via shell command 5193 - @c3y1huang
Contributors
- @COLDTURNIP
- @DamiaSan
- @DrummyFloyd
- @Felipalds
- @Florianisme
- @Hugome
- @PhanLe1010
- @WebberHuang1118
- @bachmanity1
- @c3y1huang
- @chriscchien
- @davidcheng0922
- @derekbit
- @divya-mohan0209
- @falmar
- @gigabyte132
- @hookak
- @houhoucoop
- @in-jun
- @innobead
- @josimar-silva
- @mantissahz
- @marcosbc
- @mlacko64
- @nzhan126
- @pratikjagrut
- @roger-ryao
- @shuo-wu
- @sushant-suse
- @yangchiu