v14.2.2 Nautilus 发布
这是 Ceph Nautilus 发布系列的第二个错误修复版本。我们建议所有 Nautilus 用户升级到此版本。要从较旧的 Ceph 版本升级,必须遵循 Nautilus 升级的一般准则 从 Mimic 或 Luminous 升级。
重要变更 ¶
与
no{up,down,in,out}相关的命令已进行修改。现在有两种设置no{up,down,in,out}标志的方法:旧的ceph osd [un]set <flag>命令,它设置集群范围的标志;以及新的ceph osd [un]set-group <flags> <who>命令,它以任何 crush 节点或设备类的粒度批量设置标志。radosgw-admin引入了两个子命令,允许管理在早期 RGW 版本中进行存储桶重新分片后可能留下的过期对象。一个子命令列出此类对象,另一个删除它们。有关详细信息,请阅读动态重新分片文档的故障排除部分。早期的 Nautilus 版本(14.2.1 和 14.2.0)存在一个问题,即在已升级的集群(即最初在 Nautilus 之前部署的集群)上部署单个新的(Nautilus)BlueStore OSD 会破坏
ceph df报告的池利用率统计信息。在所有 OSD 重新配置或更新(通过ceph-bluestore-tool repair)之前,池统计信息将显示低于真实值的值。此问题已在 14.2.2 中解决,因此只有在“所有”OSD 都是 14.2.2(或更高版本)、是 BlueStore 并且(如果它们是在 Nautilus 之前创建的)已通过repair功能更新后,集群才会切换到使用更准确的每池统计信息。mon_crush_min_required_version 的默认值已从 firefly 更改为 hammer,这意味着如果您的 CRUSH 调优设置早于 hammer,集群将发出健康警告。切换到 hammer 调优设置通常会导致少量(但非零)数据移动;有关更多信息,请参阅 调优设置。
如果可能,我们建议您将允许的最旧客户端设置为 hammer 或更高版本。您可以使用以下命令查看当前允许的最旧客户端:
ceph osd dump | grep min_compat_client
如果当前值早于 hammer,您可以通过使用以下命令验证当前没有早于 hammer 的客户端连接到集群来判断进行此更改是否安全:
ceph features
较新的 straw2 CRUSH 存储桶类型是在 hammer 中引入的,确保所有客户端都是 hammer 或更新版本允许使用仅支持 straw2 存储桶的新功能,包括 Balancer 的 crush-compat 模式。
变更日志 ¶
- bluestore: 回传更多 bluestore 警报 (pr#27645, Sage Weil, Igor Fedotov)
- bluestore: 在查找要重用的 blob 之前调用 fault_range (pr#27525, Igor Fedotov)
- bluestore: 正确测量延迟写入新 blob (issue#38816, pr#27819, Sage Weil)
- bluestore: 在“无跨越 blob id”中止之前转储 (pr#28028, Igor Fedotov)
- bluestore: 修复 FreeBSD iocb 结构 (issue#39612, pr#28007, Willem Jan Withagen)
- bluestore: 修复 BlueStore::_kv_sync_thread 中缺少 discard (issue#39672, pr#28258, Junhui Tang)
- bluestore: 修复 bmap 分配器中的越界访问 (pr#27740, Igor Fedotov)
- bluestore: 修复 bmap 分配器中的重复分配 (issue#40080, pr#28646, Igor Fedotov)
- build/ops: Ceph RPM build fails on openSUSE Tumbleweed with GCC 9 (issue#40067, issue#39974, pr#28299, Martin Liška)
- build/ops: cmake: Fix build against ncurses with separate libtinfo (pr#27532, Lars Wendler)
- build/ops: cmake: set empty-string RPATH for ceph-osd (issue#40301, issue#40295, pr#28516, Nathan Cutler)
- build/ops: do_cmake.sh: source not found (issue#39981, issue#40003, pr#28215, Nathan Cutler)
- build/ops: python3 pybind RPMs do not replace their python2 counterparts on upgrade even though they should (issue#40099, issue#40232, pr#28469, Nathan Cutler)
- build/ops: rpm: install grafana dashboards world readable (pr#28392, Jan Fajerski)
- build/ops: selinux: Update the policy for RHEL8 (pr#28511, Boris Ranto)
- ceph-volume: add utility functions (pr#27791, Mohamad Gebai)
- ceph-volume: broken assertion errors after pytest changes (pr#28925, Alfredo Deza)
- ceph-volume: look for rotational data in lsblk (pr#27723, Andrew Schoen)
- ceph-volume: tests add a sleep in tox for slow OSDs after booting (pr#28924, Alfredo Deza)
- ceph-volume: use the Device.rotational property instead of sys_api (pr#29028, Andrew Schoen)
- cephfs-shell: Revert “cephfs.pyx: add py3 compatibility (pr#28641, Varsha Rao)
- cephfs-shell: ls command produces error: no colorize attribute found error (issue#39376, issue#39378, issue#38740, issue#39379, issue#39197, issue#39377, pr#27677, Milind Changire, Varsha Rao)
- cephfs-shell: misc. cephfs-shell backports (issue#40314, issue#40471, issue#40418, issue#40469, issue#40313, issue#39937, issue#39678, issue#40244, issue#39404, issue#40243, issue#39165, issue#40470, issue#40455, issue#39936, issue#40217, pr#28681, Patrick Donnelly, Varsha Rao, Milind Changire)
- cephfs-shell: mkdir error for relative path (issue#39960, pr#28616, Varsha Rao)
- cephfs: FSAL_CEPH assertion failed in Client::_lookup_name: “parent->is_dir() (issue#40085, issue#40161, pr#28612, Jeff Layton)
- cephfs: ceph_volume_client: Too many arguments for “WriteOpCtx (issue#39050, issue#38946, pr#27893, Ramana Raja)
- cephfs: client: ceph.dir.rctime xattr value incorrectly prefixes 09 to the nanoseconds component (issue#40167, pr#28500, David Disseldorp)
- cephfs: client: fix “ceph.snap.btime” vxattr value (issue#40169, pr#28499, David Disseldorp)
- cephfs: client: fix fuse client hang because its bad session PipeConnection (issue#39686, issue#39305, pr#28375, Guan yunfei)
- cephfs: kclient: nofail option not supported (issue#39232, pr#27851, Kenneth Waegeman)
- cephfs: mds: Expose CephFS snapshot creation time to clients (issue#39471, pr#27901, David Disseldorp)
- cephfs: mds: MDSTableServer.cc: 83: FAILED assert(version == tid) (issue#39211, issue#38835, pr#27853, “Yan, Zheng”)
- cephfs: mds: avoid sending too many osd requests at once after mds restarts (issue#40028, issue#40040, pr#28582, simon gao)
- cephfs: mds: behind on trimming and “[dentry] was purgeable but no longer is! (issue#39222, issue#38679, pr#27879, “Yan, Zheng”)
- cephfs: mds: better output of ‘ceph health detail (issue#39266, pr#27846, Shen Hang’)
- cephfs: mds: check dir fragment to split dir if mkdir makes it oversized (issue#39690, pr#28394, Erqi Chen)
- cephfs: mds: check directory split after rename (issue#39199, issue#38994, pr#27736, Shen Hang)
- cephfs: mds: drop reconnect message from non-existent session (issue#39026, issue#39192, pr#27714, Shen Hang)
- cephfs: mds: fail to resolve snapshot name contains ‘_’ (issue#39473, pr#27849, “Yan, Zheng’)
- cephfs: mds: fix ‘is session in blacklist’ check in Server::apply_blacklist() (issue#40236, issue#40061, pr#28618, “Yan, Zheng’)
- cephfs: mds: fix corner case of replaying open sessions (pr#28580, “Yan, Zheng”)
- cephfs: mds: high debug logging with many subtrees is slow (issue#38876, pr#27892, Rishabh Dave)
- cephfs: mds: initialize cap_revoke_eviction_timeout with conf (issue#39209, issue#38844, pr#27842, simon gao)
- cephfs: mds: output lock state in format dump (issue#39645, issue#39670, pr#28233, Zhi Zhang)
- cephfs: mds: reset heartbeat during long-running loops in recovery (issue#40223, pr#28611, “Yan, Zheng”)
- cephfs: mds: there is an assertion when calling Beacon::shutdown() (issue#39214, issue#38822, pr#27852, huanwen ren)
- cephfs: mount: key parsing fail when doing a remount (issue#40164, pr#28610, Luis Henriques)
- cephfs: pybind: added lseek() (pr#28333, Xiaowei Chu)
- common/assert: include ceph_abort_msg(arg) arg in log output (pr#27824, Sage Weil)
- common/options: annotate some options; enable some runtime updates (pr#27818, Sage Weil)
- common/options: update mon_crush_min_required_version=hammer (pr#27625, Sage Weil)
- common/util: handle long lines in /proc/cpuinfo (issue#38296, issue#39476, pr#28141, Sage Weil)
- common: Clang requires a default constructor, but it can be empty (issue#39561, issue#39573, pr#28131, Willem Jan Withagen)
- common: fix parse_env nullptr deref (pr#28382, Patrick Donnelly)
- common: make cluster_network work (issue#39671, pr#28248, Jianpeng Ma)
- common: parse ISO 8601 datetime format (issue#40087, pr#28325, Sage Weil)
- core: Give recovery for inactive PGs a higher priority (issue#39504, issue#38195, pr#27854, David Zafman)
- core: mon,osd: add no{out,down,in,out} flags on CRUSH nodes (pr#27623, xie xingguo, Sage Weil)
- core: mon/Elector: format mon_release correctly (issue#39419, pr#27771, Sage Weil)
- core: mon/Monitor: allow probe if MMonProbe::mon_release == 0 (issue#38850, pr#28262, Sage Weil)
- core: mon: fix off-by-one rendering progress bar (pr#28398, Sage Weil)
- core: mon: use per-pool stats only when all OSDs are reporting (pr#29032, Sage Weil)
- core: monitoring: Provide a base set of Prometheus alert manager rules that notify the user about common Ceph error conditions (issue#39540, pr#27998, Jan Fajerski)
- core: monitoring: update Grafana dashboards (issue#39652, issue#40006, issue#39971, issue#39932, pr#28101, Kiefer Chang, Jan Fajerski)
- core: osd/OSD.cc: make osd bench description consistent with parameters (issue#39006, issue#39375, pr#28035, Neha Ojha)
- core: osd/OSDMap: Replace get_out_osds with get_out_existing_osds (issue#39421, issue#39154, pr#28072, Brad Hubbard)
- core: osd/PG: discover missing objects when an OSD peers and PG is degraded (pr#27744, Jonas Jelten)
- core: osd/PG: do not use approx_missing_objects pre-nautilus (issue#39512, pr#28160, Neha Ojha)
- core: osd/PG: fix last_complete re-calculation on splitting (issue#39539, issue#26958, pr#28219, xie xingguo)
- core: osd/PG: skip rollforward when !transaction_applied during append_log() (issue#36739, issue#38881, pr#27654, Neha Ojha)
- core: osd/PGLog: preserve original_crt to check rollbackability (issue#36739, issue#39043, pr#27632, Neha Ojha)
- core: osd: Don’t evict after a flush if intersecting scrub range (issue#38840, issue#39519, pr#28205, David Zafman’)
- core: osd: Don’t include user changeable flag in snaptrim related assert (issue#39699, issue#38124, pr#28203, David Zafman’)
- core: osd: FAILED ceph_assert(attrs || !pg_log.get_missing().is_missing(soid) || (it_objects != pg_log.get_log().objects.end() && it_objects->second->op == pg_log_entry_t::LOST_REVERT)) in PrimaryLogPG::get_object_context() (issue#38931, issue#39219, issue#38784, pr#27839, xie xingguo)
- core: osd: Include dups in copy_after() and copy_up_to() (issue#39304, pr#28088, David Zafman)
- core: osd: Increase log level of messages which unnecessarily fill up logs (pr#27687, David Zafman)
- core: osd: Output Base64 encoding of CRC header if binary data present (issue#39738, pr#28504, David Zafman)
- core: osd: Primary won’t automatically repair replica on pulling error (issue#39101, issue#39184, pr#27711, xie xingguo, David Zafman’)
- core: osd: revamp {noup,nodown,noin,noout} related commands (pr#28400, xie xingguo)
- core: osd: shutdown recovery_request_timer earlier (issue#39205, pr#27803, Zengran Zhang)
- core: osd: take heartbeat_lock when calling heartbeat() (issue#39514, issue#39439, pr#28164, Sage Weil)
- doc: add LAZYIO (issue#39051, issue#38729, pr#27899, “Yan, Zheng”)
- doc: add documentation for “fs set min_compat_client” (issue#39130, issue#39176, pr#27900, Patrick Donnelly)
- doc: cleanup HTTP Frontends documentation (issue#38874, pr#27922, Casey Bodley)
- doc: dashboard documentation changes (pr#27642, Tatjana Dehler, Lenz Grimmer)
- doc: orchestrator_cli: Rook orch supports mon update (issue#39169, issue#39137, pr#27488, Sebastian Wagner)
- doc: osd_internals/async_recovery: update cost calculation (pr#28046, Neha Ojha)
- doc: rados/operations/devices: document device prediction (pr#27752, Sage Weil)
- mgr/ActivePyModules: handle_command - fix broken lock (issue#39235, issue#39308, pr#27939, xie xingguo)
- mgr/BaseMgrModule: run MonCommandCompletion on the finisher (issue#39397, issue#39335, pr#27699, Sage Weil)
- mgr/ansible: Host ls implementation (issue#39559, pr#27919, Juan Miguel Olmo Martxc3xadnez)
- mgr/balancer: various compat weight-set fixes (pr#28279, xie xingguo)
- mgr/dashboard: Add custom dialogue for configuring PG scrub parameters (issue#40059, pr#28555, Tatjana Dehler)
- mgr/dashboard: Admin resource not honored (issue#39338, issue#39467, pr#27868, Wido den Hollander)
- mgr/dashboard: Angular is creating multiple instances of the same service (issue#39996, issue#40075, pr#28312, Tiago Melo)
- mgr/dashboard: Avoid merge conflicts in messages.xlf by auto-generating it at build time? (issue#39658, pr#28178, Sebastian Krah)
- mgr/dashboard: Display correct dialog title (pr#28189, Volker Theile)
- mgr/dashboard: Error creating NFS client without squash (issue#40074, pr#28311, Tiago Melo)
- mgr/dashboard: KV-table transforms dates through pipe (issue#39558, pr#28021, Stephan Mxc3xbcller)
- mgr/dashboard: Localization for date picker module (issue#39371, pr#27673, Stephan Mxc3xbcller)
- mgr/dashboard: Manager should complain about wrong dashboard certificate (issue#39346, pr#27742, Volker Theile)
- mgr/dashboard: NFS clients information is not displayed in the details view (issue#40057, pr#28318, Tiago Melo)
- mgr/dashboard: NFS export creation: Add more info to the validation message of the field Pseudo (issue#39975, issue#39327, pr#28320, Tiago Melo)
- mgr/dashboard: Only one root node is shown in the crush map viewer (issue#39647, issue#40077, pr#28316, Tiago Melo)
- mgr/dashboard: Push Grafana dashboards on startup (pr#28635, Zack Cerza)
- mgr/dashboard: Queue notifications as default (issue#39560, pr#28022, Stephan Mxc3xbcller)
- mgr/dashboard: RBD snapshot name suggestion with local time suffix (issue#39534, pr#27890, Stephan Mxc3xbcller)
- mgr/dashboard: Reduce the number of renders on the tables (issue#39944, issue#40076, pr#28315, Tiago Melo)
- mgr/dashboard: Some validations are not updated and prevent the submission of a form (issue#40030, pr#28319, Tiago Melo)
- mgr/dashboard: Unable to see tcmu-runner perf counters (issue#39988, pr#28191, Ricardo Marques)
- mgr/dashboard: Unify the look of dashboard charts (issue#39384, issue#39961, pr#28175, Tiago Melo)
- mgr/dashboard: Validate if any client belongs to more than one group (issue#39036, issue#39454, pr#27760, Tiago Melo)
- mgr/dashboard: code documentation (issue#39345, issue#36243, pr#27746, Ernesto Puerta)
- mgr/dashboard: iSCSI GET requests should not be logged (pr#28024, Ricardo Marques)
- mgr/dashboard: iSCSI form does not support IPv6 (pr#28026, Ricardo Marques)
- mgr/dashboard: iSCSI form is showing a warning (issue#39452, issue#39324, pr#27758, Tiago Melo)
- mgr/dashboard: iSCSI should allow exporting an RBD image with Journaling enabled (pr#28011, Ricardo Marques)
- mgr/dashboard: inconsistent result when editing a RBD image’s features (issue#39993, issue#39933, pr#28218, Kiefer Chang’)
- mgr/dashboard: incorrect help message for minimum blob size (issue#39624, issue#39664, pr#28062, Kiefer Chang)
- mgr/dashboard: local variable ‘cluster_id’ referenced before assignment error when trying to list NFS Ganesha daemons (issue#40031, pr#28261, Nur Faizin’)
- mgr/dashboard: make auth token work with UTC times only (issue#39524, issue#39300, pr#27942, Ricardo Dias)
- mgr/dashboard: openssl exception when verifying certificates of HTTPS requests (issue#39962, issue#39628, pr#28163, Ricardo Dias)
- mgr/dashboard: orchestrator mgr modules assert failure on iscsi service request (issue#40037, pr#28552, Sebastian Wagner)
- mgr/dashboard: show degraded/misplaced/unfound objects (pr#28584, Alfonso Martxc3xadnez)
- mgr/orchestrator: Remove “(add|test|remove)_stateful_service_rule (issue#38808, pr#27043, Sebastian Wagner)
- mgr/orchestrator: add progress events to all orchestrators (pr#28040, Sebastian Wagner)
- mgr/progress: behave if pgs disappear (due to a racing pg merge) (issue#38157, issue#39344, pr#27608, Sage Weil)
- mgr/prometheus: replace whitespaces in metrics’ names (pr#27886, Alfonso Martxc3xadnez’)
- mgr/rook: Added missing rgw daemons in service ls (issue#39171, issue#39312, pr#27864, Sebastian Wagner)
- mgr/rook: Fix RGW creation (issue#39158, issue#39313, pr#27863, Sebastian Wagner)
- mgr/rook: Remove support for Rook older than v0.9 (issue#39356, issue#39278, pr#27862, Sebastian Wagner)
- mgr/test_orchestrator: AttributeError: ‘TestWriteCompletion’ object has no attribute ‘id (issue#39536, pr#27920, Sebastian Wagner’)
- mgr/volumes: FS subvolumes enhancements (issue#40429, pr#28767, Ramana Raja)
- mgr/volumes: add CephFS subvolumes library (issue#39750, issue#40152, issue#39949, issue#40014, issue#39610, pr#28429, Sage Weil, Venky Shankar, Ramana Raja, Rishabh Dave)
- mgr/volumes: refactor volume module (issue#40378, issue#39969, pr#28595, Venky Shankar)
- mgr: Update the restful module in nautilus (pr#28291, Kefu Chai, Boris Ranto)
- mgr: deadlock (issue#39040, issue#39425, pr#28098, xie xingguo)
- mgr: fix pgp_num adjustments (issue#38626, pr#27876, Sage Weil, Marius Schiffer)
- mgr: log an error if we can’t find any modules to load (issue#40090, pr#28347, Tim Serong’)
- monitoring: pybind/mgr: fix format for rbd-mirror prometheus metrics (pr#28485, Mykola Golub)
- msg/async: connection race + winner fault can leave connection stuck at replacing foreve (issue#39241, issue#37499, issue#39448, issue#38493, pr#27915, Jason Dillaman, xie xingguo)
- msg/async/ProtocolV[12]: add ms_learn_addr_from_peer (pr#28589, Sage Weil)
- msg: output peer address when detecting bad CRCs (issue#39367, pr#27857, Greg Farnum)
- pybind: Add ‘RBD_FEATURE_MIGRATING’ to rbd.pyx (issue#39609, issue#39736, pr#28482, Ricardo Marques’)
- pybind: Rados.get_fsid() returning bytes in python3 (issue#40192, issue#38381, pr#28476, Jason Dillaman)
- rbd: krbd: fix rbd map hang due to udev return subsystem unordered (issue#39089, issue#39315, pr#28019, Zhi Zhang)
- rbd: librbd: async open/close should free ImageCtx before issuing callback (issue#39428, issue#39031, pr#28121, Jason Dillaman)
- rbd: librbd: avoid dereferencing an empty container during deep-copy (issue#40368, issue#40379, pr#28577, Jason Dillaman)
- rbd: librbd: do not allow to deep copy migrating image (issue#39224, pr#27882, Mykola Golub)
- rbd: librbd: fix issues with object-map/fast-diff feature interlock (issue#39946, issue#39521, pr#28127, Jason Dillaman)
- rbd: librbd: fixed several race conditions related to copyup (issue#39195, issue#39021, pr#28132, Jason Dillaman)
- rbd: librbd: make flush be queued by QOS throttler (issue#38869, pr#28120, Mykola Golub)
- rbd: librbd: re-add support for nautilus clients talking to jewel clusters (issue#39450, pr#27936, Jason Dillaman)
- rbd: librbd: support EC data pool images sparsify (issue#39226, pr#27903, Mykola Golub)
- rbd: rbd-mirror: clear out bufferlist prior to listing mirror images (issue#39462, issue#39407, pr#28122, Jason Dillaman)
- rbd: rbd-mirror: image replayer should periodically flush IO and commit positions (issue#39257, issue#39288, pr#27937, Jason Dillaman)
- rgw: Evaluating bucket policies also while reading permissions for anxe2x80xa6 (issue#38638, issue#39273, pr#27918, Pritha Srivastava)
- rgw: admin: handle delete_at attr in object stat output (pr#27827, Abhishek Lekshmanan)
- rgw: beast: multiple v4 and v6 endpoints with the same port will cause failure (issue#39746, issue#39038, pr#28541, Abhishek Lekshmanan)
- rgw: beast: set a default port for endpoints (issue#39048, issue#39000, pr#27660, Abhishek Lekshmanan)
- rgw: bucket stats report mtime in UTC (pr#27826, Alfonso Martxc3xadnez, Casey Bodley)
- rgw: clean up some logging (issue#39503, pr#27953, J. Eric Ivancich)
- rgw: cloud sync module fails to sync multipart objects (issue#39684, pr#28064, Abhishek Lekshmanan)
- rgw: cloud sync module logs attrs in the log (issue#39574, pr#27954, Nathan Cutler)
- rgw: crypto: throw DigestException from Digest and HMAC (issue#39676, issue#39456, pr#28309, Matt Benjamin)
- rgw: document CreateBucketConfiguration for s3 PUT Bucket request (issue#39597, issue#39601, pr#28512, Casey Bodley)
- rgw: fix Multisite sync corruption (pr#28383, Tianshan Qu, Casey Bodley, Xiaoxi CHEN)
- rgw: fix bucket may redundantly list keys after BI_PREFIX_CHAR (issue#39984, issue#40148, pr#28410, Casey Bodley, Tianshan Qu)
- rgw: fix default_placement containing “/” when storage_class is standard (issue#39745, issue#39380, pr#28538, mkogan1)
- rgw: inefficient unordered bucket listing (issue#39410, issue#39393, pr#27924, Casey Bodley)
- rgw: librgw: unexpected crash when creating bucket (issue#39575, pr#27955, Tao CHEN)
- rgw: limit entries in remove_olh_pending_entries() (issue#39178, issue#39118, pr#27664, Casey Bodley)
- rgw: list bucket with start marker and delimiter will miss next object with char ‘0’ (issue#40762, issue#39989, pr#29022, Tianshan Qu)
- rgw: multisite log trimming only checks peers that sync from us (issue#39283, pr#27814, Casey Bodley)
- rgw: multisite: add perf counters to data sync (issue#38549, issue#38918, pr#27921, Abhishek Lekshmanan, Casey Bodley)
- rgw: multisite: mismatch of bucket creation times from List Buckets (issue#39635, issue#39735, pr#28444, Casey Bodley)
- rgw: multisite: period pusher gets 403 Forbidden against other zonegroups (issue#39287, issue#39414, pr#27952, Casey Bodley)
- rgw: race condition between resharding and ops waiting on resharding (issue#39202, pr#27800, J. Eric Ivancich)
- rgw: radosgw-admin: add tenant argument to reshard cancel (issue#39018, pr#27630, Abhishek Lekshmanan)
- rgw: rgw_file: save etag and acl info in setattr (issue#39228, pr#27904, Tao Chen)
- rgw: swift object expiry fails when a bucket reshards (issue#39740, pr#28537, Abhishek Lekshmanan)
- rgw: unittest_rgw_dmclock_scheduler does not need Boost_LIBRARIES (issue#39577, pr#27944, Willem Jan Withagen)
- rgw: update resharding documentation (issue#39046, pr#27923, J. Eric Ivancich)
- tests: added bluestore_warn_on_legacy_statfs: false setting (issue#40467, pr#28723, Yuri Weinstein)
- tests: added ragweed coverage to stress-split\* upgrade suites (issue#40452, issue#40467, pr#28661, Yuri Weinstein)
- tests: added v14.2.1 (issue#40181, pr#28416, Yuri Weinstein)
- tests: cannot schedule kcephfs/multimds (issue#40116, pr#28369, Patrick Donnelly)
- tests: centos 7.6 etc (pr#27439, Sage Weil)
- tests: ceph-ansible: ceph-ansible requires ansible 2.8 (issue#40602, issue#40669, pr#28871, Brad Hubbard)
- tests: ceph-ansible: cephfs_pools variable pgs should be pg_num (issue#40670, issue#40605, pr#28872, Brad Hubbard)
- tests: cephfs-shell: teuthology tests (issue#39935, issue#39526, pr#28614, Milind Changire)
- tests: cephfs: TestMisc.test_evict_client fails (issue#40220, pr#28613, “Yan, Zheng”)
- tests: cleaned up supported distro for nautilus (pr#28065, Yuri Weinstein)
- tests: ignore legacy bluestore stats errors (issue#40374, pr#28563, Patrick Donnelly)
- tests: librbd: drop ‘ceph_test_librbd_api’ target (issue#39423, issue#39072, pr#28091, Jason Dillaman’)
- tests: mgr: tox failures when running make check (issue#39323, issue#39530, pr#27884, Nathan Cutler)
- tests: pass –ssh-config to pytest to resolve hosts when connecting (pr#28923, Alfredo Deza)
- tests: rbd: qemu-iotests tests fail under latest Ubuntu kernel (issue#39541, issue#24668, pr#27988, Jason Dillaman)
- tests: removed 1node and systemd tests as ceph-deploy is not axe2x80xa6 (pr#28458, Yuri Weinstein)
- tests: rgw: fix race in test_rgw_reshard_wait and test_rgw_reshard_wait uses same clock for timing (issue#39479, pr#27779, Casey Bodley)
- tests: rgw: fix swift warning message (issue#40304, pr#28698, Casey Bodley)
- tests: rgw: more fixes for swift task (issue#40304, pr#28922, Casey Bodley)
- tests: rgw: skip swift tests on rhel 7.6+ (issue#40402, issue#40304, pr#28604, Casey Bodley)
- tests: stop testing simple messenger in fs qa (issue#40373, pr#28562, Patrick Donnelly)
- tests: tasks/rbd_fio: fixed missing delimiter between ‘cd’ and ‘configure (issue#39590, pr#27989, Jason Dillaman’)
- tests: test_sessionmap assumes simple messenger (issue#39430, pr#27772, Patrick Donnelly)
- tests: use curl in wait_for_radosgw() in util/rgw.py (issue#40346, pr#28598, Ali Maredia)
- tests: workunits/rbd: use https protocol for devstack git operations (issue#39656, issue#39729, pr#28128, Jason Dillaman)
- tests: workunits/rbd: wait for rbd-nbd unmap to complete (issue#39675, issue#39598, pr#28273, Jason Dillaman)