v15.2.14 Octopus 发布
这是 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)