v15.2.16 Octopus 发布

akraitma

这是 Octopus 系列的第 16 个补丁发布。我们建议所有用户更新到此版本。

重要变更

  • 修复了读取租约逻辑中的错误,以防止 OSD 重启后 PG 进入 WAIT 状态。

  • BlueStore 中有几个错误修复,包括一个对象列表错误修复,该错误可能导致 stat 不匹配 scrub 错误。

变更日志

  • 修复 bluefs truncate() 中的数据损坏 (pr#44860, Adam Kupczyk)

  • Octopus: mds: 在 osd 操作请求超时时仅重新启动 mds 守护进程 (pr#43785, Xiubo Li)

  • admin/doc-requirements.txt: 将 Sphinx 固定在 3.5.4 (pr#43758, Casey Bodley, Kefu Chai, Nizamudeen A, Varsha Rao)

  • backport diff-iterate include_parent 测试 (pr#44673, Ilya Dryomov)

  • ceph-volume: 重构 get_first_lv() (pr#43959, Guillaume Abrioux)

  • ceph-volume: 在 find_executable_on_host() 中不要使用 MultiLogger (pr#44766, Guillaume Abrioux)

  • ceph-volume: 修复导致 AttributeError 的拼写错误 (pr#43950, Taha Jahangir)

  • ceph-volume: 修复多个 PV 的 VG 的 db/wal 插槽大小计算错误 (pr#43947, Guillaume Abrioux, Cory Snyder)

  • ceph-volume: 修复通过 #43536 引入的回归 (pr#44757, Guillaume Abrioux)

  • ceph-volume: 尊重 osd_dmcrypt_key_size 选项 (pr#44974, Guillaume Abrioux)

  • ceph-volume: 重构 human_readable_size() (pr#44210, Guillaume Abrioux)

  • ceph-volume: 改进 mpath 设备支持 (pr#44791, Guillaume Abrioux)

  • ceph-volume: 使跳过 needs_root() 成为可能 (pr#44320, Guillaume Abrioux)

  • ceph-volume: 将 RBD 设备显示为不可用 (pr#44709, Michael Fritch)

  • ceph-volume: util/prepare 修复 osd_id_available() (pr#43952, Guillaume Abrioux)

  • cephadm/ceph-volume: 不要在使用容器中 lvm 二进制文件 (pr#43953, Guillaume Abrioux)

  • cephadm: 修复 iscsi 客户端 caps (允许 mgr调用) (pr#43822, Juan Miguel Olmo Martínez)

  • cephfs: 客户端: 修复 root 用户对可执行文件的访问检查 (pr#41295, Kotresh HR)

  • cls/journal: 在计算 min_commit_position 时跳过断开连接的客户端 (pr#44689, Mykola Golub)

  • common/PriorityCache: 降低子模块的 perf 计数器优先级 (pr#44176, Igor Fedotov)

  • doc: 使用旧的 mistune (pr#44227, David Galloway)

  • doc: cephFS 挂载的先决条件修复 (pr#44271, Nikhilkumar Shelke)

  • librbd/object_map: rbd 两个快照之间的差异列出整个镜像内容 (pr#43806, Sunny Kumar)

  • librbd: diff-iterate 在快速差异模式下报告不正确的偏移量 (pr#44548, Ilya Dryomov)

  • mds: 添加新的 MClientSession 标志 (pr#43252, Kotresh HR)

  • mds: PurgeQueue.cc 修复 32 位编译 (pr#44169, Duncan Bellamy)

  • mds: 在打开根目录时不要修剪流浪目录项 (pr#43816, Xiubo Li)

  • mds: 在重放状态下跳过被阻止的客户端的日志记录 (pr#43842, Venky Shankar)

  • mgr/dashboard/api: 在运行 pip 时设置 UTF-8 语言环境 (pr#43607, Kefu Chai)

  • mgr/dashboard: 所有 pyfakefs 必须固定在同一版本 (pr#44159, Rishabh Dave)

  • mgr/dashboard: 将 Cypress 升级到最新的稳定版本 (pr#44373, Alfonso Martínez)

  • mgr: 添加检查以防止 mgr 崩溃 (pr#43446, Aswin Toni)

  • mgr: 修复 MetadataUpdate::finish 的锁定 (pr#44720, Sage Weil)

  • mgr: 设置 debug_mgr=2/5 (以便 INFO 默认转到 mgr 日志) (pr#42677, Sage Weil)

  • mon/MgrStatMonitor: 不要向订阅者 (mgr) 发送 service_map 垃圾邮件 (pr#44722, Sage Weil)

  • mon/MgrStatMonitor: 忽略来自非活动 mgr 的 MMgrReport (pr#43861, Sage Weil)

  • mon/OSDMonitor: 如果统计信息不可用,则避免空引用取消引用 (pr#44700, Josh Durgin)

  • mon: 在关闭期间防止新会话 (pr#44544, Sage Weil)

  • msg/async: 允许调整连接回收利用; 修复 cephfs 测试 (pr#43310, Sage Weil, Gerald Yang)

  • msgr/async: 修复 unregister_conn() 中的不安全访问 (pr#43325, Sage Weil, Gerald Yang)

  • os/bluestore/AvlAllocator: 引入 bluestore_avl_alloc_ff_max_* 选项 (pr#43747, Kefu Chai, Mauricio Faria de Oliveira, Adam Kupczyk, Xue Yantao)

  • os/bluestore: _do_write_small 修复 head_pad (pr#43757, dheart)

  • os/bluestore: 避免过早释放 onode (pr#44724, Igor Fedotov)

  • os/bluestore: 限制 omap 命名方案升级事务 (pr#42958, Adam Kupczyk, Igor Fedotov)

  • os/bluestore: 修复共享 blob 修复期间的额外错误 (pr#43887, Igor Fedotov)

  • os/bluestore: 修复修复时写入无效偏移量 (pr#43885, Igor Fedotov)

  • os/bluestore: 列出等于 pend 的对象 (pr#44978, Mykola Golub, Kefu Chai)

  • os/bluestore: 使共享 blob fsck 消耗更少的 RAM (pr#44614, Igor Fedotov)

  • os/bluestore: 使用正确的 prefix 删除无法解码的共享 Blob (pr#43883, Igor Fedotov)

  • osd/OSDMap.cc: 清理不存在的 PG 的 pg_temp (pr#44097, Cory Snyder)

  • osd/PeeringState: 分离历史的 pruub 和 PG 的 (pr#44585, Sage Weil)

  • osd: 修复 'ceph osd stop <osd.nnn>' 无效的问题 (pr#43962, tan changzhi)

  • osd: 修复重启 osd 后部分恢复变为整个对象恢复 (pr#44165, Jianwei Zhang)

  • osd: 在每次激活 peering 状态时重新缓存 peer_bytes (pr#43438, Mykola Golub)

  • osd: 仅在 FillInVerifyExtent 成功时设置 r (pr#44174, yanqiang-ux)

  • osdc: 在 BufferHead 中添加 set_error,当 split set_error 到右边时 (pr#44726, jiawd)

  • pybind/mgr/balancer: 定义 Plan.{dump,show}() (pr#43965, Kefu Chai)

  • qa/ceph-ansible: 升级 centos 的 OS 版本 (pr#43658, Brad Hubbard)

  • qa/ceph-ansible: 固定到最后一个兼容的稳定版本 (pr#43557, Brad Hubbard)

  • qa/distros: 删除过时的 kubic 发行版 (pr#43788, Sebastian Wagner)

  • qa/mgr/dashboard/test_pool: 不要检查 HEALTH_OK (pr#43441, Ernesto Puerta)

  • qa/rgw: 修复 vault token 文件访问.case (issue#51539, pr#43963, Marcus Watts)

  • qa/rgw: 升级 tempest 版本以解决依赖问题 (pr#43967, Casey Bodley)

  • qa/rgw: octopus 分支针对 ceph-octopus 分支的 java_s3tests (pr#43810, Casey Bodley)

  • qa/run-tox-mgr-dashboard: 不要写入 /tmp/test_sanitize_password… (pr#44728, Kevin Zhao)

  • qa/run_xfstests_qemu.sh: 停止报告成功,而实际上没有运行任何测试 (pr#44595, Ilya Dryomov)

  • qa/suites/rados/cephadm: 使用 centos 8.stream (pr#44929, Adam King, Sage Weil)

  • qa: 考虑 kclient "metrics" debugfs 文件的拆分 (pr#44270, Jeff Layton, Xiubo Li)

  • qa: 各种 perf 套件修复 (pr#44254, Neha Ojha)

  • qa: 从受支持的发行版中删除 centos8 (pr#44864, Casey Bodley, Sage Weil)

  • rbd-mirror: 修复镜像删除 (pr#43663, Arthur Outhenin-Chalandre)

  • rbd-mirror: 修复基于快照的镜像删除传播中的竞争条件 (pr#44753, Ilya Dryomov)

  • rbd: 添加缺少的 switch 参数以供 get_command_spec() 识别 (pr#44741, Ilya Dryomov)

  • rgw/beast: 请求超时优化 (pr#43961, Mark Kogan, Casey Bodley)

  • rgw/rgw_rados: 使 RGW 请求 ID 变为非确定性 (pr#43696, Cory Snyder)

  • rgw: 在调用 list_buckets() 之前清除 buckets (pr#43381, Nikhil Kshirsagar)

  • rgw: 禁用 rgw_file 中的预取以修复 3 倍读取放大 (pr#44170, Kajetan Janiak)

  • rgw: 修复 bi put 未使用正确的 bucket index shard (pr#44167, J. Eric Ivancich)

  • rgw: 修复 bucket purge 未完成的 multipart 上传 (pr#43863, J. Eric Ivancich)

  • rgw: 用户统计信息显示 "size_utilized" 和 "size_kb_utilized" 字段的值为 0 (pr#44172, J. Eric Ivancich)

  • rgwlc: 在 bucket 删除时删除 lc 条目 (pr#44730, Matt Benjamin)

  • rpm, debian: 将 smartmontools 和 nvme-cli 移动到 ceph-base (pr#44177, Yaarit Hatuka)