v15.2.14 Octopus 发布

dgalloway

这是 Octopus 系列的第 14 个反向移植版本。我们建议所有用户更新到此版本。

重要变更

  • RGW:现在可以为 beast frontend 指定 ssl 选项和密码。默认的 ssl 选项设置是 "no_sslv2:no_sslv3:no_tlsv1:no_tlsv1_1"。如果您想恢复旧的行为,请在 rgw frontends 配置中添加 'ssl_options=' (空)。

  • CephFS:未启用 CephFS 的旧集群(早于 Jewel)在 ceph-mon 存储中保留了遗留数据结构。Pacific 监视器无法识别这些结构。在 Octopus v15.2.14 中,监视器已学会清除和修剪这些旧结构,为升级到 Pacific 或 Quincy 做准备。有关更多信息,请参阅 问题 51673

  • ceph-mgr-modules-core debian 包不再推荐 ceph-mgr-rook。因为后者依赖于 python3-numpy,如果 python3-numpy 的版本低于 1.19,则无法在不同的 Python 子解释器中多次导入。由于 apt-get 默认安装 Recommends 包,ceph-mgr-rook 总是作为间接依赖项与 ceph-mgr debian 包一起安装。如果您的工作流程依赖此行为,您可能需要单独安装 ceph-mgr-rook。

  • BlueStore 中的几处错误修复,包括修复 Avl/Hybrid 分配器中意外的 ENOSPC 错误。

  • 包括修复影响 EC 池低于 min_size 恢复的错误。

变更日志

  • 如果没有其他可用地址,则绑定到环回地址 (pr#42478, Kefu Chai, Matthew Oliver)

  • bluestore: 使用 string_view 并去除目录列表中的尾部斜杠 (pr#41757, Jonas Jelten, Kefu Chai)

  • ceph-volume/tests: 更新 tox 中的 ansible 环境变量 (pr#42491, Dimitri Savineau)

  • ceph-volume: 考虑 /dev/root 为已挂载 (pr#41584, David Caro)

  • ceph-volume: 实现 bluefs 卷迁移 (pr#42377, Igor Fedotov, Kefu Chai)

  • ceph: 打印帮助时忽略 BrokenPipeError (pr#41586, Ernesto Puerta)

  • cephadm: 修复 ceph daemons 的 stderr-prefix 参数转义/引用 (pr#40948, Michael Fritch, Sage Weil)

  • cephadm: 修复禁用 IPv6 时 port_in_use 的问题 (pr#41602, Patrick Seidensal)

  • cephfs: client: 添加按 inode 号查找快照 inode 的功能 (pr#40768, Jeff Layton, Xiubo Li)

  • cls/rgw: 也在非 ascii plain 命名空间中查找 plain 条目 (pr#41775, Mykola Golub)

  • cmake: 如果是内部库则构建静态库 (pr#39904, Kefu Chai)

  • crush/crush: 确保 alignof(crush_work_bucket) 为 1 (pr#41622, Kefu Chai)

  • debian/control: ceph-mgr-modules-core 不再推荐 ceph-mgr-rook (pr#41878, Kefu Chai)

  • doc/rados/operations: s/max_misplaced/target_max_misplaced_ratio/ (pr#41624, Kefu Chai)

  • librbd: 清除时不要在第一个不可移除的镜像处停止 (pr#41663, Ilya Dryomov)

  • librbd: 全局配置覆盖不适用于正在使用的镜像 (pr#41763, Jason Dillaman)

  • make-dist: 如果脚本路径包含冒号则拒绝运行 (pr#41087, Nathan Cutler)

  • mds: 避免对 no-op 情况下的 setxattr("ceph.dir.subvolume") 产生日志开销 (pr#41996, Patrick Donnelly)

  • mds: completed_requests -> num_completed_requests 并转储 num_completed_flushes (pr#41625, Dan van der Ster)

  • mds: 修复 cpu_profiler asok 崩溃 (pr#41767, liu shi)

  • mds: 将 journaler 指针置于 mds_lock 下 (pr#41626, Xiubo Li)

  • mds: 拒绝 mds dirs 的 lookup ino 请求 (pr#40782, Xiubo Li, Patrick Donnelly)

  • MDSMonitor: 从 ceph 15.2.13 升级到 16.2.4 后监视器崩溃 (pr#42537, Patrick Donnelly)

  • mgr/cephadm: 修复 prometheus 警报 (pr#41660, Paul Cuzner, Sage Weil, Patrick Seidensal)

  • mgr/DaemonServer.cc: 防止由于 pg_num/pgp_num 大幅增加触发的整数下溢导致 mgr 崩溃 (pr#41764, Cory Snyder)

  • mgr/DaemonServer: 跳过 pgp_num_actual 的冗余更新 (pr#42420, Dan van der Ster)

  • mgr/dashboard: 添加可配置的 MOTD 或墙通知 (pr#42412, Volker Theile)

  • mgr/dashboard: cephadm-e2e 作业脚本:改进 (pr#42586, Alfonso Martínez)

  • mgr/dashboard: 在 dashboard 中禁用 NFSv3 支持 (pr#41199, Volker Theile)

  • mgr/dashboard: 修复 API 文档链接 (pr#41508, Avan Thakkar)

  • mgr/dashboard: 修复 bucket 名称输入允许值中包含空格 (pr#42241, Nizamudeen A)

  • mgr/dashboard: 修复 bucket 对象和大小计算 (pr#41647, Avan Thakkar)

  • mgr/dashboard: 修复右侧边栏导航图标不可点击的问题 (pr#42015, Aaryan Porwal)

  • mgr/dashboard: 修复 OSD out 计数 (pr#42154, 胡玮文)

  • mgr/dashboard: 修复 OSDs 主机详细信息/概述 grafana 图表 (issue#49769, pr#41530, Alfonso Martínez, Michael Wodniok)

  • mgr/Dashboard: 移除 hosts-overview Grafana dashboard 中多余的元素 (pr#41649, Malcolm Holmes)

  • mgr/dashboard: RGW buckets 异步验证器性能增强和名称约束 (pr#42123, Nizamudeen A)

  • mgr/dashboard: 使用 KCLI 运行 cephadm-backend e2e 测试 (pr#42243, Alfonso Martínez)

  • mgr/dashboard: 显示部分删除的 RBD (pr#41887, Tatjana Dehler)

  • mgr/dashboard: 用户数据库迁移已被删除 (pr#42142, Volker Theile)

  • mgr/telemetry: 即使没有 ident 也传递 leaderboard 标志 (pr#41870, Sage Weil)

  • mgr: 不加载禁用的模块 (pr#41617, Kefu Chai)

  • mon/MonClient: 容忍稍微过期的轮换密钥 (pr#41449, Ilya Dryomov)

  • mon/OSDMonitor: 即使可以 can_mark_down() 也丢弃过时的 failure_info (pr#41618, Kefu Chai)

  • mon: 在 mkfs monmap 之前加载 stashed map (pr#41621, Dan van der Ster)

  • os/bluestore: 在批量 omap 命名升级后压缩 db (pr#42375, Igor Fedotov)

  • os/bluestore: 修复修复期间错误的 SharedBlob 记录移除 (pr#42373, Igor Fedotov)

  • os/bluestore: 修复 Avl/Hybrid 分配器中意外的 ENOSPC 错误 (pr#41658, Igor Fedotov)

  • os/bluestore: 引入 bluestore repairer 的多线程同步 (pr#41613, Igor Fedotov)

  • os/bluestore: 移除重放日志和文件不一致的可能性 (pr#42374, Adam Kupczyk)

  • os/bluestore: 容忍 allocators' init\_[add/rm]_free() 的零长度 (pr#41612, Igor Fedotov)

  • osd/osd_type: 适当使用 f->dump_unsigned() (pr#42257, Kefu Chai)

  • osd/PeeringState: 修复 acting_set_writeable min_size 检查 (pr#41609, Samuel Just)

  • osd/PG.cc: 处理 pgmeta 对象的移除 (pr#41623, Neha Ojha)

  • osd: write_trunc 时清除数据摘要 (pr#41620, Zengran Zhang)

  • osd: 修复 scrub 重新调度错误 (pr#41972, wencong wan)

  • osd: 将 snaptrim 消息记录到 dout (pr#42484, Arthur Outhenin-Chalandre)

  • osd: 将 down peers 从 peer_purged 中移出 (pr#42239, Mykola Golub)

  • pacific: pybind/ceph_volume_client: 对空字符串进行 stat (pr#42161, Patrick Donnelly)

  • qa/*/test_envlibrados_for_rocksdb.sh: 修复 libarchive 依赖关系 (pr#42618, Neha Ojha)

  • qa/*/test_envlibrados_for_rocksdb.sh: 安装 libarchive-3.3.3 (pr#42421, Neha Ojha)

  • qa/cephadm/upgrade: cephadm 测试使用 v15.2.9 (pr#41568, Deepika Upadhyay)

  • qa/config/rados: 添加调度延迟测试参数 (pr#42180, Deepika Upadhyay)

  • qa/distros: 转移到受支持发行版上的最新版本 (pr#41478, Josh Durgin, Yuri Weinstein, Deepika Upadhyay, Sage Weil, Kefu Chai, Patrick Donnelly, rakeshgm)

  • qa/suites/rados/perf: 锁定到 18.04 (pr#41922, Neha Ojha)

  • qa/suites/rados: 为 thrasher 添加同时进行的 scrubs (pr#42422, Ronen Friedman)

  • qa/tasks/qemu: precise repos 已归档 (pr#41642, Ilya Dryomov)

  • qa/upgrade: 禁用 update_features test_notify 与旧客户端作为锁所有者 (pr#41511, Deepika Upadhyay)

  • qa/upgrade: 删除在 octopus only qa 中引入的损坏的符号链接 (pr#42599, Deepika Upadhyay)

  • qa/workunits/rbd: focal 使用 bionic 版本的 qemu-iotests (pr#42025, Ilya Dryomov)

  • rbd-mirror: 修复 snapshot replayer 关闭时的段错误 (pr#41502, Arthur Outhenin-Chalandre)

  • rbd: 从 MONs 检索全局配置覆盖 (pr#41836, Ilya Dryomov, Jason Dillaman)

  • rgw : 为 sync url 添加空检查 (pr#41766, caolei)

  • rgw/amqp/kafka: 防止并发关闭发生 (pr#40381, Yuval Lifshitz)

  • rgw/amqp/test: 修复 librabbitmq-0.11.0 的模拟原型 (pr#41418, Yuval Lifshitz)

  • rgw/notifications: 为空时删除 bucket notification 对象 (pr#41412, Yuval Lifshitz)

  • rgw/rgw_file: 修复 read() 和 readlink() 的返回值 (pr#41416, Dai zhiwei, luo rixin)

  • rgw/sts: read_obj_policy() 在 ENOENT 时查询 iam_user_policies (pr#41415, Casey Bodley)

  • rgw: 允许 rgw-orphan-list 处理多个数据池 (pr#41417, J. Eric Ivancich)

  • rgw: 允许为 beast frontend 设置 ssl 选项和密码 (pr#42368, Mykola Golub)

  • rgw: 反向移植 51674 到 Octopus (pr#42347, Adam C. Emerson)

  • rgw: 在多对象删除中检查对象锁 (issue#47586, pr#41031, Mark Houghton)

  • rgw: 修复当 marker 匹配 prefix 时 bucket 对象列表的问题 (pr#41413, J. Eric Ivancich)

  • rgw: 修复与显式对象清单处理相关的段错误 (pr#41420, Mark Kogan)

  • rgw: 改进电子邮件 ID 重用时的错误消息 (pr#41784, Ponnuvel Palaniyappan)

  • rgw: 限制 rgw_gc_max_objs 为 RGW_SHARDS_PRIME_1 (pr#40383, Rafał Wądołowski)

  • rgw: qa/tasks/barbican.py: 修复 year2021 问题 (pr#40385, Marcus Watts)

  • rgw: radoslist 不完整的多分段部分标记 (pr#40820, J. Eric Ivancich)

  • rgw: 在 bucket chown 中需要 bucket 名称 (pr#41765, Zulai Wang)

  • rgw: 发送配额设置的头部 (pr#41419, Or Friedmann)

  • rpm: 在 ceph-immutable-object-cache 中删除对 $FIRST_ARG 的使用 (pr#42509, Nathan Cutler)

  • rpm: 三个 spec 文件清理 (pr#42440, Nathan Cutler, Franck Bui)

  • test: 增加 DecayCounter.steady 可接受误差 (pr#41619, Patrick Donnelly)