发布 13.2.2 Mimic
TheAnalyst
这是 Mimic v13.2.x 长期稳定版系列的第二个 bugfix 版本。此版本包含对 Ceph 所有组件的许多修复。我们建议所有用户升级。
变更日志 ¶
- build/ops: 不再需要 Boost system 库来编译和链接示例 librados 程序 (issue#25073, issue#25054, pr#23201, Nathan Cutler)
- build/ops: debian/rules: 修复 ceph-mgr 留下的 .pyc 文件 (issue#27059, issue#26883, pr#23831, Dan Mick)
- build/ops: mimic 13.2.0 无法在 Fedora rawhide 中构建 (issue#24449, issue#24905, pr#23885, Kefu Chai)
- ceph-disk: python 3 的兼容性修复 (pr#24008, Tim Serong)
- ceph-disk: 返回列表而不是迭代器 (pr#23392, Alexander Graul)
- cephfs-journal-tool: 启用 purge_queue 日志的事件命令 (issue#24604, issue#26989, pr#23818, Xuehan Xu)
- ceph tell osd.x bench writes resulting JSON to stderr instead of stdout (issue#35942, issue#24022, pr#24041, Коренберг Маркr, John Spray, Kefu Chai)
- ceph-volume: 添加 __release__ 字符串,以帮助版本条件调用 (issue#25169, pr#23333, Alfredo Deza)
- ceph-volume: 添加 ceph-volume lvm list /dev/sda 的测试 (issue#24784, issue#24957, pr#23349, Andrew Schoen)
- ceph-volume: OSD ID 必须存在并被销毁才能重用 (pr#23101, Andrew Schoen, Ron Allred)
- ceph-volume: batch: 允许在 CLI 上设置 journal+block.db 的大小 (issue#36088, pr#24208, Alfredo Deza)
- ceph-volume batch: 允许 –osds-per-device,默认为 1 (issue#35913, pr#24079, Alfredo Deza)
- ceph-volume batch carve out lvs for bluestore (issue#34535, pr#24074, Alfredo Deza)
- ceph-volume batch 命令 (pr#23777, Alfredo Deza)
- ceph-volume: batch tests for mixed-type of devices (issue#35535, issue#27210, pr#23966, Alfredo Deza)
- ceph_volume_client: 允许原子更新 RADOS 对象 (issue#24173, issue#24863, pr#23878, Rishabh Dave)
- CephVolumeClient: 在将数据池添加到 MDSMap 后延迟是必需的 (issue#25206, pr#23725, Patrick Donnelly)
- ceph-volume: 在 luminous 中不使用 stdin (issue#25173, pr#23368, Alfredo Deza)
- ceph-volume: 早期检测 –journal 和 –filestore 标志要求 (issue#24794, pr#24205, Alfredo Deza)
- ceph-volume: 在 lvm 激活期间启用 ceph-osd (issue#24152, pr#23393, Dan van der Ster, Alfredo Deza)
- ceph-volume expand auto engine for multiple devices on filestore (pr#23807, Andrew Schoen, Alfredo Deza)
- ceph-volume: expand auto engine for single type devices on filestore (pr#23786, Alfredo Deza)
- ceph-volume fix zap not working with LVs (issue#35970, pr#24081, Alfredo Deza)
- ceph-volume lvm.activate conditional mon-config on prime-osd-dir (issue#25216, pr#23400, Alfredo Deza)
- ceph-volume: lvm batch 允许 bluestore 的额外标志(如 dmcrypt) (pr#23780, Alfredo Deza)
- ceph-volume: lvm batch 文档和 man page 更新 (pr#23756, Alfredo Deza)
- ceph-volume lvm.batch remove non-existent sys_api property (issue#34310, pr#23810, Alfredo Deza)
- ceph-volume lvm.listing only include devices if they exist (issue#24952, pr#23149, Alfredo Deza)
- ceph-volume: process.call with stdin in Python 3 fix (issue#24993, pr#23239, Alfredo Deza)
- ceph-volume: PVolumes.get() should return one PV when using name or uuid (issue#24784, pr#23327, Andrew Schoen)
- ceph-volume: 拒绝 zap mapper 设备 (issue#24504, pr#22965, Andrew Schoen)
- ceph-volume: 恢复 SELinux 上下文 (pr#23295, Boris Ranto)
- ceph-volume: 运行测试时不等待 ceph repos (pr#23806, Andrew Schoen)
- ceph-volume tests/functional add mgrs daemons to lvm tests (pr#23784, Alfredo Deza)
- ceph-volume: tests.functional inherit SSH_ARGS from ansible (pr#23812, Alfredo Deza)
- ceph-volume: 更新 batch 文档以解释 filestore 策略 (issue#34309, pr#23826, Alfredo Deza)
- ceph-volume: 更新 ansible 版本到 2.6.x 以进行简单测试 (pr#23269, Andrew Schoen)
- client: add inst to asok status output (issue#24724, issue#24931, pr#23109, Patrick Donnelly)
- client: 在打印调试输出之前检查未挂载条件 (issue#25213, issue#26914, pr#23603, Jeff Layton)
- client: 执行名称查找的请求可能会被发送到错误的 mds (issue#26984, issue#26860, pr#23700, “Yan, Zheng”)
- cls/rgw: 添加 rgw_usage_log_entry 类型到 ceph-dencoder (issue#35070, pr#23857, Vaibhav Bhembre)
- common: 在等待之前检查完成条件 (issue#25007, issue#25222, pr#23435, Patrick Donnelly)
- core: 如果对象被缓存,深度擦除无法找到位腐蚀 (issue#35068, pr#23873, Adam C. Emerson, Xiaoguang Wang)
- core: 修复 25085 和 24949 (pr#23272, David Zafman)
- core: force-create-pg broken (issue#34532, issue#26940, pr#23872, Sage Weil)
- core: 限制恢复/回填期间的 pg 日志长度,以免耗尽内存 (issue#21416, pr#23403, Neha Ojha)
- doc: bluestore 迁移中的 bash 示例损坏 (issue#35078, pr#23854, Alfredo Deza)
- doc: 修复损坏的 url (issue#25185, issue#26916, pr#23607, Jos Collin)
- doc: https://docs.ceph.net.cn/docs/mimic/rados/operations/pg-states/ (issue#25055, pr#23163, Jan Fajerski, Nathan Cutler)
- docs: radosgw: ldap-auth: 修复选项名称 ‘rgw_ldap_searchfilter’ (issue#32129, pr#23956, Konstantin Shalygin)
- filestore: 在 filestore pg dir split log message 中添加 pgid (issue#25225, pr#23453, Vikhyat Umrao)
- kv: MergeOperator name() returns string, and caller calls c_str() on the temporary (issue#26907, issue#26875, pr#23865, Sage Weil)
- libradosstriper 条件编译 (issue#27213, pr#23869, Kefu Chai, Jesse Williamson)
- librbd: deep-copy should not write to objects that cannot exist (issue#25000, issue#25083, pr#23358, Jason Dillaman)
- librbd: 验证数据池以支持自我管理快照 (issue#24945, pr#23560, Mykola Golub)
- link against libstdc++ statically (issue#26880, issue#25209, pr#23490, Kefu Chai)
- mds: 避免在热路径中使用 g_conf->get_val<…>(…) (issue#24820, pr#23407, “Yan, Zheng”)
- mds: 通过检查自身 CPU 使用率计算负载 (issue#26834, issue#26888, pr#23503, “Yan, Zheng”)
- mds: 倾倒 ops in flight 时崩溃 (issue#26894, issue#26982, pr#23672, “Yan, Zheng”)
- mds: 在 respawn 时倾倒最近事件 (issue#25040, pr#23275, Patrick Donnelly)
- mds: 解释由于子树迁移导致的延迟 client_request (issue#26988, issue#24840, pr#23792, Yan, Zheng, “Yan, Zheng”)
- mds: 处理不连续的 mdsmap (issue#24856, pr#23180, “Yan, Zheng”)
- mds: metadata IO 缓慢的健康警告 (issue#24879, issue#25045, pr#23343, “Yan, Zheng”)
- mds: 增加 dropped client cap msg 的调试级别 (issue#25042, pr#23309, Patrick Donnelly)
- mds: 引入 cephfs 自己的 feature bits (issue#14456, issue#24914, pr#23105, Yan, Zheng, “Yan, Zheng”, Patrick Donnelly)
- mds: 将 beacons 标记为高优先级 (issue#26905, issue#26899, pr#23565, Patrick Donnelly)
- mds: MDBalancer::try_rebalance() 可能会过早停止 (issue#32086, issue#26973, pr#23883, “Yan, Zheng”)
- MDSMonitor: 在更高的调试级别上注意被忽略的 beacons/map 更改 (issue#26898, issue#26929, pr#23704, Patrick Donnelly)
- mds,osd,mon,msg: 使用 intrusive_ptr 来持有 Connection::priv (issue#20924, pr#22339, “Yan, Zheng”, Kefu Chai)
- mds: 在低调试级别打印已处理的 mdsmap (issue#25035, pr#23196, Patrick Donnelly)
- mds: scrub 并不总是返回 JSON 结果 (issue#23958, issue#25037, pr#23225, Venky Shankar)
- mds: 使用 fast dispatch 来处理 MDSBeacon (issue#23519, issue#26923, pr#23703, “Yan, Zheng”)
- mgr balancer does not save optimized plan but latest (issue#32082, issue#27000, pr#23782, Stefan Priebe)
- mgr: “balancer execute” only requires read permissions (issue#26912, issue#25345, pr#23583, John Spray)
- mgrc: enable disabling stats via mgr_stats_threshold (issue#25197, issue#26837, pr#23463, John Spray)
- mgr/dashboard: 以人类可读的形式显示 RGW 用户/桶配额最大大小 (issue#35706, pr#24047, Volker Theile)
- mgr/dashboard: DeletionModalComponent 中的转义正则表达式模式 (issue#24902, issue#26920, pr#23669, Tiago Melo)
- mgr/dashboard: 阻止 RGW API 用户删除 (pr#22670, Volker Theile)
- mgr/dashboard: RestClient 无法处理 ProtocolError 异常 (pr#23875, Volker Theile)
- mgr/dashboard: 如果定义了 URL 前缀,RGW 不工作 (pr#23203, Volker Theile)
- mgr/dashboard: URL 前缀不工作 (issue#25120, pr#23874, Ricardo Marques)
- mgr: 如果没有返回元数据则忽略 daemon (pr#23356, Wido den Hollander)
- mgr/MgrClient: 保护 daemon_health_metrics (issue#23352, pr#23458, Kjetil Joergensen, Brad Hubbard)
- mgr: Sync the prometheus module (pr#23215, Boris Ranto)
- mon: add purge-new (pr#23259, Sage Weil)
- mon: Automatically set expected_num_objects for new pools with >=100 PGs per OSD (issue#24687, issue#25144, pr#23860, Douglas Fuller)
- multisite: test_bucket_sync_disable_enable 中的间歇性失败 (issue#26895, issue#26980, pr#23856, Casey Bodley)
- multisite: object metadata operations are skipped by sync (issue#24367, issue#24986, pr#23172, Casey Bodley)
- object errors found in be_select_auth_object() aren’t logged the same (issue#32108, issue#25108, pr#23870, David Zafman)
- os/bluestore: bluestore_buffer_hit_bytes perf counter doesn’t reset (pr#23772, Igor Fedotov)
- os/bluestore/BlueStore.cc: 1025: FAILED assert(buffer_bytes >= b->length) from ObjectStore/StoreTest.ColSplitTest2/2 (issue#24439, issue#26944, pr#23748, Sage Weil)
- os/bluestore: fix assertion in StupidAllocator::get_fragmentation (pr#23676, Igor Fedotov)
- osd: do_sparse_read(): Verify checksum earlier so we will try to repair (issue#24875, pr#23378, David Zafman)
- osd,mon: increase mon_max_pg_per_osd to 300 (issue#25176, pr#23861, Neha Ojha)
- osd/OSDMap: CRUSH_TUNABLES5 added in jewel, not kraken (issue#25057, issue#25101, pr#23226, Sage Weil)
- osd/PrimaryLogPG: avoid dereferencing invalid complete_to (pr#23951, xie xingguo)
- osd: segv in OSDMap::calc_pg_upmaps from balancer (issue#22056, issue#26933, pr#23888, Brad Hubbard)
- qa: cfuse_workunit_kernel_untar_build fails on Ubuntu 18.04 (issue#26956, issue#26967, issue#24679, pr#23769, Patrick Donnelly)
- qa: fix ceph-disk suite and add coverage for ceph-detect-init (pr#23337, Nathan Cutler)
- qa/rgw: patch keystone requirements.txt (issue#26946, issue#23659, pr#23771, Casey Bodley)
- qa/suites/rados: move valgrind test to singleton-flat (issue#24992, pr#23744, Sage Weil)
- qa/tasks: s3a fix mirror (pr#24038, Vasu Kulkarni)
- qa/tests: added OBJECT_MISPLACED to the whitelist (pr#23301, Yuri Weinstein)
- qa/tests: added v13.2.1 to the mix (pr#23218, Yuri Weinstein)
- qa/tests: update ansible version to 2.5 (pr#24091, Yuri Weinstein)
- rados: not all exceptions accept keyargs (issue#25178, issue#24033, pr#23335, Rishabh Dave)
- rados python bindings use prval from stack (issue#25204, issue#25175, pr#23863, Sage Weil)
- rbd: improved trash snapshot namespace handling (issue#25121, issue#23398, issue#25114, pr#23559, Mykola Golub, Jason Dillaman)
- rgw: add curl_low_speed_limit and curl_low_speed_time config to avoid (issue#25021, pr#23173, Mark Kogan, Zhang Shaowen)
- rgw: change default rgw_thread_pool_size to 512 (issue#25214, issue#25088, issue#25218, issue#24544, pr#23383, Douglas Fuller, Casey Bodley)
- rgw: civetweb fails on urls with control characters (issue#26849, issue#24158, pr#23855, Abhishek Lekshmanan)
- rgw: civetweb: use poll instead of select while waiting on sockets (issue#35954, pr#24058, Abhishek Lekshmanan)
- rgw: do not ignore EEXIST in RGWPutObj::execute (issue#25078, issue#22790, pr#23206, Matt Benjamin)
- rgw: fail to recover index from crash mimic backport (issue#24640, issue#24629, issue#24280, pr#23118, Tianshan Qu)
- rgw_file: deep stat handling (issue#26842, issue#24915, pr#23498, Matt Benjamin)
- rgw: Fix log level of gc_iterate_entries (issue#23801, issue#26921, pr#23686, iliul)
- rgw: Limit the number of lifecycle rules on one bucket (issue#26845, issue#24572, pr#23521, Zhang Shaowen)
- rgw: radosgw-admin: ‘sync error trim’ loops until complete (issue#24873, issue#24984, pr#23140, Casey Bodley)
- rgw: The delete markers generated by object expiration should have owner (issue#24568, issue#26847, pr#23541, Zhang Shaowen)
- rpm: should change ceph-mgr package depency from py-bcrypt to python2-bcrypt (issue#27212, pr#23868, Konstantin Sakhinov)
- rpm: silence osd block chown (issue#25152, pr#23324, Dan van der Ster)
- run-rbd-unit-tests.sh test fails to finish in jenkin’s make check run (issue#27060, issue#24910, pr#23858, Mykola Golub)
- scrub livelock (issue#26931, issue#26890, pr#23722, Sage Weil)
- spdk: compile with -march=core2 instead of -march=native (issue#25032, pr#23175, Nathan Cutler)
- tests: cluster [WRN] 25 slow requests in powercycle (issue#25119, pr#23886, Neha Ojha)
- test: Use pids instead of jobspecs which were wrong (issue#32079, issue#27056, pr#23893, David Zafman)
- tools/ceph-detect-init: support RHEL as a platform (issue#18163, pr#23303, Nathan Cutler)
- tools: ceph-detect-init: support SLED (issue#18163, pr#23111, Nathan Cutler)
- tools: cephfs-data-scan: print the max used ino (issue#26978, issue#26925, pr#23880, “Yan, Zheng”)