注意

本文档适用于 Ceph 开发版本。

Nautilus

Nautilus 是 Ceph 的第 14 个稳定版本。它以鹦鹉螺命名,鹦鹉螺是一种具有螺旋壳的章鱼科动物家族。

v14.2.22 Nautilus

这是 Nautilus 系列的第 22 个也是可能最后一个向后移植版本。最终,我们建议所有用户升级到更新的 Ceph 版本。

值得注意的变化

  • 此版本默认将bluefs_buffered_io设置为 true 以提高元数据密集型工作负载的性能。启用此选项据报道在某些工作负载下偶尔会导致过度内核交换。目前,最一致的性能组合是启用

  • The default value of bluestore_cache_trim_max_skip_pinned的默认值已增加到 1000 以控制由于 onodes 引起的内存增长。

  • BlueStore 中进行了其他几个错误修复,包括修复 Avl/Hybrid 分配器中意外 ENOSPC 错误的修复。

  • 监控器中的修剪逻辑已变为动态的,随着paxos_service_trim_max_multiplier的引入,该因素将paxos_service_trim_max乘以使修剪更快,当需要时。将其设置为 0 会禁用修剪的上限检查,并使监控器以最大速率修剪。

  • A --max <n>命令可用于osd ok-to-stop提供 N 个 OSD,以便可以一起停止而不会使 PG 不可用。

  • OSD:引入了osd_fast_shutdown_notify_mon选项,允许 OSD 在osd_fast_shutdown启用的情况下通知监控器它正在关闭。这有助于监控器在较大集群上的日志记录,这些日志记录可能收到许多“osd.X 立即由 osd.Y 报告失败”的消息,并使工具混淆。

  • 已修复一个长期存在的错误,该错误阻止了在 msgr v2 下 32 位和 64 位客户端/服务器互操作。现在,在集群中混合 armv7l(armhf)和 x86_64 或 aarch64 服务器现在可以正常工作。

更改日志

  • 待发布说明:关于 14.2.18 mgr 修复的说明 (pr#40121, Josh Durgin)

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

  • 使用 distutils 构建 Python 扩展 (pr#41167, Kefu Chai)

  • ceph-monstore-tool: 使用足够大的 paxos/{first,last}_committed (issue#38219, pr#41874, Kefu Chai)

  • ceph-volume: 禁用 blkid 调用的缓存 (pr#41114, Rafał Wądołowski)

  • ceph-volume: 修复批量报告并尊重 ceph.conf 配置值 (pr#41716, Andrew Schoen)

  • ceph-volume: 修复批量报告并尊重 ceph.conf 配置值 (pr#41713, Andrew Schoen)

  • ceph-volume: 实现蓝 Store 卷迁移 (pr#41676, Kefu Chai, Igor Fedotov)

  • ceph.spec.in: 在 IBM Power 和 Z 上启用 tcmalloc (pr#40283, Nathan Cutler, Yaakov Selkowitz)

  • cephfs: 客户端:添加通过 inode 号查找快照 inode 的功能 (pr#40769, Jeff Layton, Xiubo Li)

  • cephfs: 客户端:仅对常规文件检查池权限 (pr#40730, Xiubo Li)

  • cephfs: 客户端:唤醒前端 pos 等待者 (pr#40865, Xiubo Li)

  • 客户端:修复 root 用户可执行访问检查 (pr#41297, Kotresh HR)

  • 客户端:在缓冲区刷新后触发 finish_cap_snap() (pr#40722, Xiubo Li)

  • cls/rgw: 在非 ASCII 平面命名空间中查找普通条目 (pr#41776, Mykola Golub)

  • cmake,zstd,debian: 允许在系统中使用 libzstd (pr#40516, Kefu Chai, Bryan Stillwell, Dan van der Ster)

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

  • cmake: 检测 gettid() 的存在 (pr#40333, Igor Fedotov)

  • cmake: 为某些测试可执行文件设置空的 RPATH (pr#40619, Nathan Cutler, Kefu Chai)

  • common/buffer: 在调用 posix_memalign() 之前调整 align (pr#41246, Ilya Dryomov)

  • common/ipaddr: 跳过名为“lo”的回环接口并测试它 (pr#40423, Dan van der Ster)

  • common/mempool: 仅在分片非常糟糕的情况下才测试失败 (pr#40567, singuliere)

  • common/options/global.yaml.in: 增加默认的 bluestore_cache_trim_max_skip_pinned 值 (pr#40920, Neha Ojha)

  • common/options: 默认情况下 bluefs_buffered_io=true (pr#40393, Dan van der Ster)

  • common: 修复禁用和重新启用 clog_to_monitors 时出现的断言 (pr#39912, Gerald Yang)

  • common: 删除 log_early 配置选项 (pr#40549, Changcheng Liu)

  • crush/CrushLocation: 构造函数中不要打印日志消息 (pr#40750, Alex Wu)

  • crush/CrushWrapper: 在 update_item() 上更新阴影树 (pr#39920, Sage Weil)

  • debian/ceph-common.postinst: 不要更改 cephadm 日志目录的所有权 (pr#40698, Sage Weil)

  • debian/control: 添加缺失的逗号,在 focal 上使用 python3 包用于“make check” (pr#40485, Kefu Chai, Alfredo Deza)

  • install-deps.sh: 删除不同版本的现有 ceph-libboost (pr#40287, Kefu Chai)

  • libcephfs: 忽略恢复打开文件限制 (pr#41593, Xiubo Li)

  • librbd: 允许中断的垃圾移动请求被重新启动 (pr#40675, Jason Dillaman)

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

  • librbd: 修复 TestMigration.StressLive 中出现的零星失败 (pr#41788, Jason Dillaman)

  • librbd: 禁用对象映射时出现重叠的飞行写入时的竞争 (pr#41787, Jason Dillaman)

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

  • , Duncan Bellamy)pr#41144, Xiubo Li)

  • mds: fix race of fetching large dirfrag (pr#40720, Erqi Chen)

  • mds: send scrub status to ceph-mgr only when scrub is running (issue#45349, pr#36183, Kefu Chai, Venky Shankar)

  • mds: trim cache regularly for standby-replay (pr#40744, Patrick Donnelly)

  • mgr/ActivePyModules.cc: always release GIL before attempting to acquire a lock (pr#40047, Kefu Chai)

  • mgr/Dashboard: Remove erroneous elements in hosts-overview Grafana dashboard (pr#41650, Malcolm Holmes)

  • mgr/PyModule: put mgr_module_path before Py_GetPath() (pr#40753, Kefu Chai)

  • mgr/dashboard: Fix for alert notification message being undefined (pr#40590, Nizamudeen A)

  • mgr/dashboard: Fix missing root path of each session for CephFS (pr#39869, Yongseok Oh)

  • mgr/dashboard: Monitoring alert badge includes suppressed alerts (pr#39511, Aashish Sharma)

  • mgr/dashboard: Remove username, password fields from Manager Modules/dashboard,influx (pr#40490, Aashish Sharma)

  • mgr/dashboard: Revoke read-only user’s access to Manager modules (pr#40650, Nizamudeen A)

  • mgr/dashboard: debug nodeenv hangs (pr#40818, Ernesto Puerta)

  • mgr/dashboard: decouple unit tests from build artifacts (pr#40547, Alfonso Martínez)

  • mgr/dashboard: encode non-ascii string before passing it to exec_cmd() (pr#40522, Kefu Chai)

  • mgr/dashboard: filesystem pool size should use stored stat (pr#41021, Avan Thakkar)

  • mgr/dashboard: fix API docs link (pr#41521, Avan Thakkar)

  • mgr/dashboard: fix OSDs Host details/overview grafana graphs (issue#49769, pr#41531, Alfonso Martínez, Michael Wodniok)

  • mgr/dashboard: 修复 base-href:恢复到之前的方法 (pr#41253, Avan Thakkar)

  • mgr/dashboard: fix bucket objects and size calculations (pr#41648, Avan Thakkar)

  • mgr/dashboard: fix dashboard instance ssl certificate functionality (pr#40003, Avan Thakkar)

  • mgr/dashboard: grafana panels for rgw multisite sync performance (pr#41386, Alfonso Martínez)

  • mgr/dashboard: python 2: fix error when non-ASCII password (pr#40610, Alfonso Martínez)

  • mgr/dashboard: report mgr fsid (pr#39853, Ernesto Puerta)

  • mgr/dashboard: show partially deleted RBDs (pr#41738, Tatjana Dehler)

  • mgr/dashboard: test prometheus rules through promtool (pr#39984, Aashish Sharma, Kefu Chai)

  • mgr/progress: ensure progress stays between [0,1] (pr#41310, Dan van der Ster)

  • mgr/telemetry: check if ‘ident’ channel is active (pr#39923, Yaarit Hatuka)

  • mgr/telemetry: pass leaderboard flag even w/o ident (pr#41839, Sage Weil)

  • mgr/volumes: Retain suid guid bits in clone (pr#40270, Kotresh HR)

  • mgr: add --max <n> to ‘osd ok-to-stop’ command (pr#40676, Sage Weil, Xuehan Xu)

  • mgr: add mon metada using type of “mon” (pr#40359, Kefu Chai)

  • mon/ConfigMap: fix stray option leak (pr#40299, Sage Weil)

  • mon/MonClient: reset authenticate_err in _reopen_session() (pr#41016, Ilya Dryomov)

  • mon/MonClient: tolerate a rotating key that is slightly out of date (pr#41448, Ilya Dryomov)

  • mon/OSDMonitor: drop stale failure_info after a grace period (pr#41213, Kefu Chai)

  • mon/OSDMonitor: drop stale failure_info even if can_mark_down() (pr#41519, Kefu Chai)

  • mon: Modifying trim logic to change paxos_service_trim_max dynamically (pr#41099, Aishwarya Mathuria)

  • mon: ensure progress is [0,1] before printing (pr#41098, Dan van der Ster)

  • mon: load stashed map before mkfs monmap (pr#41762, Dan van der Ster)

  • monmaptool: Don’t call set_port on an invalid address (pr#40700, Brad Hubbard, Kefu Chai)

  • os/FileStore: don’t propagate split/merge error to “create”/”remove” (pr#40987, Mykola Golub)

  • os/FileStore: fix to handle readdir error correctly (pr#41238, Misono Tomohiro)

  • os/bluestore/BlueFS: do not _flush_range deleted files (pr#40752, weixinwei)

  • os/bluestore/BlueFS: use iterator_impl::copy instead of bufferlist::c_str() to avoid bufferlist rebuild (pr#39883, weixinwei)

  • os/bluestore: be more verbose in _open_super_meta by default (pr#41060, Igor Fedotov)

  • os/bluestore: do not count pinned entries as trimmed ones (pr#41173, Igor Fedotov)

  • os/bluestore: fix unexpected ENOSPC in Avl/Hybrid allocators (pr#41673, Igor Fedotov)

  • os/bluestore: introduce multithireading sync for bluestore’s repairer (pr#41749, Igor Fedotov)

  • os/bluestore: tolerate zero length for allocators’ init_[add/rm]_free() (pr#41750, Igor Fedotov)

  • osd/PG.cc: handle removal of pgmeta object (pr#41682, Neha Ojha)

  • osd/PeeringState: fix acting_set_writeable min_size check (pr#41611, Dan van der Ster)

  • osd: add osd_fast_shutdown_notify_mon option (default false) (issue#46978, pr#40014, Mauricio Faria de Oliveira)

  • osd: compute OSD’s space usage ratio via raw space utilization (pr#41111, Igor Fedotov)

  • osd: do not dump an osd multiple times (pr#40747, Xue Yantao)

  • pybind/ceph_daemon: do not fail if prettytable is not available (pr#40335, Kefu Chai)

  • pybind/cephfs: DT_REG and DT_LNK values are wrong (pr#40704, Varsha Rao)

  • pybind/mgr/balancer/module.py: assign weight-sets to all buckets before balancing (pr#40128, Neha Ojha)

  • pybind/mgr/volumes: deadlock on async job hangs finisher thread (pr#41394, Patrick Donnelly)

  • pybind/rados: should pass “name” to cstr() (pr#41318, Kefu Chai)

  • pybind: volume_client handle purge of directory names encoded in utf-8 (pr#36679, Jose Castro Leon)

  • qa/tasks/mgr/test_progress: fix wait_until_equal (pr#39397, Kamoltat, Ricardo Dias)

  • qa/tasks/qemu: precise repos have been archived (pr#41641, Ilya Dryomov)

  • qa/tasks/vstart_runner.py: start max required mgrs (pr#40751, Alfonso Martínez)

  • qa/tests: added client-upgrade-nautilus-pacific tests (pr#39818, Yuri Weinstein)

  • qa/tests: advanced nautilus initial version to 14.2.20 (pr#41227, Yuri Weinstein)

  • qa/upgrade: disable update_features test_notify with older client as lockowner (pr#41513, Deepika Upadhyay)

  • qa: add sleep for blocklisting to take effect (pr#40714, Patrick Donnelly)

  • qa: bump osd heartbeat grace for ffsb workload (pr#40713, Nathan Cutler)

  • qa: delete all fs during tearDown (pr#40709, Patrick Donnelly)

  • qa: krbd_blkroset.t: update for separate hw and user read-only flags (pr#40212, Ilya Dryomov)

  • qa: vstart_runner: TypeError: lstat: path should be string, bytes or os.PathLike, not NoneType (pr#41485, Patrick Donnelly)

  • rbd-mirror: image replayer stop might race with instance replayer shut down (pr#41792, Mykola Golub, Jason Dillaman)

  • rgw : catch non int exception (pr#40356, caolei)

  • rgw/http: add timeout to http client (pr#40667, Yuval Lifshitz)

  • rgw: Added caching for S3 credentials retrieved from keystone (pr#41158, James Weaver)

  • rgw: Use correct bucket info when put or get large object with swift (pr#40106, zhiming zhang, yupeng chen)

  • rgw: allow rgw-orphan-list to handle intermediate files w/ binary data (pr#39767, J. Eric Ivancich)

  • rgw: beast frontend uses 512k mprotected coroutine stacks (pr#39947, Yaakov Selkowitz, Mauricio Faria de Oliveira, Daniel Gryniewicz, Casey Bodley)

  • rgw: check object locks in multi-object delete (issue#47586, pr#41164, Mark Houghton, Matt Benjamin)

  • rgw: during reshard lock contention, adjust logging (pr#41156, J. Eric Ivancich)

  • rgw: limit rgw_gc_max_objs to RGW_SHARDS_PRIME_1 (pr#40670, Rafał Wądołowski)

  • rgw: radoslist incomplete multipart parts marker (pr#40827, J. Eric Ivancich)

  • rgw: return ERR_NO_SUCH_BUCKET early while evaluating bucket policy (issue#38420, pr#40668, Abhishek Lekshmanan)

  • rgw: return error when trying to copy encrypted object without key (pr#40671, Ilsoo Byun)

  • rgw: tooling to locate rgw objects with missing rados components (pr#39771, Michael Kidd, J. Eric Ivancich)

  • run-make-check.sh: let ctest generate XML output (pr#40407, Kefu Chai)

  • src/global/signal_handler.h: fix preprocessor logic for alpine (pr#39942, Duncan Bellamy)

  • test/TestOSDScrub: 修复 mktime() 错误 (pr#40621, luo rixin)

  • test/pybind: s/nosetests/python3/ (pr#40536, Kefu Chai)

  • test/rgw: test_datalog_autotrim 过滤掉新条目 (pr#40674, Casey Bodley)

  • test: 使用 std::atomic<bool> 而不是 volatile 来表示 cb_done 变量 (pr#40701, Jeff Layton)

  • 测试:允许 ceph_test_rados_api_watch_notify 重新连接 (pr#40697, Brad Hubbard)

  • vstart.sh: 禁用“auth_allow_insecure_global_id_reclaim” (pr#40959, Kefu Chai)

v14.2.21 Nautilus

这是一个修复了若干安全问题和回归问题的热修复版本。我们建议所有用户更新到此版本。

更改日志

v14.2.20 Nautilus

这是 Nautilus 稳定系列的第 20 个错误修复版本。它解决 Ceph 身份验证框架中的安全漏洞。

我们建议所有 Nautilus 用户升级。

Security fixes

  • 此版本包含一个安全修复,确保全局_id 值(一个应该对集群中每个经过身份验证的客户端或守护程序都是唯一的数值)在网络断开连接或票证更新时以安全的方式被回收。在升级期间可能会出现两个新的健康警报,指示有客户端或守护程序尚未应用适当的修复。

    可以禁用围绕不安全客户端的健康警报:

    ceph config set mon mon_warn_on_insecure_global_id_reclaim false
    ceph config set mon mon_warn_on_insecure_global_id_reclaim_allowed false
    

    但是,如果您禁用这些警报,我们强烈建议您在客户端已升级或升级到 Octopus 后删除这些设置。(从 Octopus 开始,这些健康警报可以在一段时间内被静音。)

    更多信息,请参阅CVE-2021-20288: cephx 中未经授权的全局_id 重用.

v14.2.19 Nautilus

这是 Ceph Nautilus 发布系列的第 19 次更新。这是一个热修复版本,以防止守护程序绑定到回环网络接口。所有 Nautilus 用户都建议升级到此版本。

值得注意的变化

  • 此版本修复了 v14.2.17 中引入的回归,在某些环境中,OSD 会绑定到 127.0.0.1。请参阅issue#49938.

更改日志

  • common/ipaddr: 还要跳过刚刚lo (pr#40423, Dan van der Ster)

v14.2.18 Nautilus

这是 Nautilus 系列的第 18 个向后移植版本。它修复了 14.2.17 中引入的回归,其中管理模块试图使用某些环境中不存在的一些 Python 模块。我们建议用户更新到此版本。

值得注意的变化

  • 此版本修复了在某些环境中加载仪表板和卷管理器模块时出现的问题。

更改日志

  • nautilus: .github: 添加添加标签和里程碑的 workflow (pr#39926, Kefu Chai, Ernesto Puerta)

  • nautilus: mgr/dashboard: Python2 Cookie 模块在 Python3 上导入失败 (pr#40116, Volker Theile)

  • nautilus: mgr/volumes: 不要要求输入类型 (pr#40095, Josh Durgin)

  • nautilus: qa/suites/krbd: 解决由更新内核引起的新问题 (pr#40064, Ilya Dryomov)

v14.2.17 Nautilus

这是 Nautilus 系列的第 17 个向后移植版本。我们建议用户更新到此版本。

值得注意的变化

  • $pid 扩展名在像admin_socket这样的配置路径中现在将正确扩展ceph-mdsceph-osd这样的命令。以前,只有ceph-fuse/rbd-nbd扩展$pid使用实际的守护程序 pid。

  • RADOS:此版本中优化了 PG 移除。

  • RADOS:BlueStore 中对内存分配的跟踪更加详细,并显示为 cephfs 客户端的一部分dump_mempools command.

  • cephfs: 客户端中获取功能过快的会因防止不稳定而被限制。有关此行为的新配置选项mds_session_cap_acquisition_throttle已添加以控制此行为。

更改日志

  • nautilus mgr/dashboard: 修复 ‘ceph dashboard iscsi-gateway-add’ (pr#39175, Alfonso Martínez)

  • nautilus: 不要在 Ceph 日志文件中添加敏感信息 (pr#38614, Neha Ojha)

  • nautilus: bluestore: 添加针对蓝 Store 日志文件增长的防护 (pr#37948, Adam Kupczyk)

  • nautilus: bluestore: 为后备分配器提供不同的名称 (pr#37793, Igor Fedotov)

  • nautilus: build-integration-branch: 按时间顺序获取 PRs (pr#37693, Nathan Cutler)

  • nautilus: build/ops: install-deps.sh,deb,rpm: 将 python-saml 依赖项移动到 debian/control 和 ceph.spec.in (pr#39184, Kefu Chai)

  • nautilus: ceph-volume batch: 拒绝 argparser 中的分区 (pr#38279, Jan Fajerski)

  • nautilus: ceph-volume: 修复 is_lv 的使用 (pr#39221, Michał Nasiadka)

  • nautilus: ceph-volume: 更新 batch.py (pr#39470, shenjiatong)

  • nautilus: ceph-volume: 向 zap 添加 no-systemd 参数 (pr#37723, wanghongxu)

  • nautilus: ceph-volume: 为 bytes_to_extents 添加一些灵活性 (pr#39270, Jan Fajerski)

  • nautilus: ceph-volume: 在简单激活中消耗挂载选项 (pr#38015, Dimitri Savineau)

  • nautilus: ceph-volume: 实现了 --log-level 标志 (pr#38372, Andrew Schoen)

  • nautilus: ceph-volume: 从文档和帮助文本中删除 dmcache 提及 (pr#38048, Dimitri Savineau, Andrew Schoen)

  • nautilus: cephfs: 客户端:在截断时检查 rdonly 文件句柄 (pr#39129, Patrick Donnelly)

  • nautilus: cephfs: 客户端:导出客户端用于多文件系统的 fs (pr#38552, Zhi Zhang)

  • nautilus: cephfs: 客户端:确保在从缓存 inode 获取目录链接计数时获取 Fs caps (pr#38950, Jeff Layton)

  • nautilus: cephfs: 客户端:修复 inode ll_ref 引用计数泄漏 (pr#37838, sepia-liu)

  • nautilus: cephfs: 客户端:在 _read_sync 接近文件尾时增加文件位置 (pr#37991, Patrick Donnelly)

  • nautilus: cephfs: 客户端:为目录设置 CEPH_STAT_RSTAT 掩码在 readdir_r_cb 中 (pr#38948, chencan)

  • nautilus: cephfs: mds: 通过 readdir 限制获取功能 (pr#38101, Kotresh HR)

  • nautilus: cephfs: mount.ceph: 为非传统 ms_mode 选项收集 v2 地址 (pr#39133, Jeff Layton)

  • nautilus: cephfs: osdc: 在截断/丢弃时重新启动读取 (pr#37988, Patrick Donnelly)

  • nautilus: cephfs: 释放客户端 dentry_lease,然后发送 caps 释放到 mds (pr#39127, Wei Qiaomiao)

  • nautilus: 客户端:添加 ceph.{cluster_fsid/client_id} vxattrs 支持 (pr#39001, Xiubo Li)

  • nautilus: 客户端:不要在 libcephfs 中使用 g_conf().get_val<>() (pr#38467, Xiubo Li)

  • nautilus: cmake: 为 Boost.Asio 用户定义 BOOST_ASIO_USE_TS_EXECUTOR_AS_DEFAULT (pr#38760, Kefu Chai)

  • nautilus: cmake: 如果可用,检测并使用 sigdescr_np() (pr#38952, David Disseldorp)

  • nautilus: common/mempool: 通过默认值提高 mempool 分片选择 (pr#39651, Nathan Cutler, Adam Kupczyk)

  • nautilus: common: 修复日志文件创建权限 (issue#7849, pr#38558, Kefu Chai, Roman Penyaev)

  • nautilus: common: 在 find_ipv{4,6}_in_subnet() 中跳过以“lo”开头的接口 (pr#39342, Thomas Goirand, Jiawei Li)

  • nautilus: 核心:osd: 空桶或 OSD 不是错误 (pr#39126, Brad Hubbard)

  • nautilus: crush/CrushWrapper: 重建 crush 映射后重新构建反向映射 (pr#39197, Jason Dillaman)

  • nautilus: krbd: 添加对 msgr2(内核 5.11)的支持 (pr#39202, Ilya Dryomov)

  • nautilus: librados, 测试:允许列出名称中包含 NUL 字符的对象 (pr#39324, Radoslaw Zarzynski)

  • nautilus: librbd: 在创建镜像时清除隐式启用的功能位 (pr#39121, Jason Dillaman)

  • nautilus: 日志:修复日志时间戳精度无法设置为毫秒 (pr#37659, Guan yunfei)

  • nautilus: lvm/create.py: 修复帮助消息中的打字错误 (pr#38371, ZhenLiu94)

  • nautilus: mds : 将 start_files_to_recover() 移动到 recovery_done (pr#37986, Simon Gao)

  • nautilus: mds: 在 hit_session 中考虑关闭会话 (pr#37820, Dan van der Ster)

  • nautilus: mds: 避免虚假的睡眠 (pr#39130, Patrick Donnelly)

  • nautilus: mds: dir->mark_new() 应与 dir->mark_dirty() 一起进行 (pr#39128, “Yan, Zheng”)

  • nautilus: mds: 更新 recall 配置的默认值 (pr#39134, Patrick Donnelly)

  • nautilus: mgr/PyModule: 正确删除配置选项 (pr#38803, Tim Serong)

  • nautilus: mgr/crash: 序列化命令处理 (pr#39338, Boris Ranto)

  • nautilus: mgr/dashboard: 从文件中读取密码 (pr#38832, Ernesto Puerta, Alfonso Martínez, Juan Miguel Olmo Martínez)

  • nautilus: mgr/dashboard: Datatable 捕获来自其他 datatables 的选择事件 (pr#37756, Volker Theile, Tiago Melo)

  • nautilus: mgr/dashboard: 禁用 TLS 1.0 和 1.1 (pr#38332, Volker Theile)

  • nautilus: mgr/dashboard: 禁用没有 python3-saml 的 sso (pr#38404, Kevin Meijer)

  • nautilus: mgr/dashboard: 当启用调试模式时,在 Dashboard 中显示警告消息 (pr#38799, Volker Theile)

  • nautilus: mgr/dashboard: 显示用户当前的桶配额使用情况 (pr#38024, Avan Thakkar)

  • nautilus: mgr/dashboard: 删除无效的 RGW 客户端实例,改进日志记录 (pr#38584, Volker Theile)

  • nautilus: mgr/dashboard: 修复获取选中项详情时表格项未显示 (pr#38813, Nizamudeen A)

  • nautilus: mgr/dashboard: 修复 rgw 用户表单中不正确的验证 (pr#39117, Nizamudeen A)

  • nautilus: mgr/dashboard: RGW 用户表单验证禁用字段 (pr#39543, Aashish Sharma)

  • nautilus: mgr/dashboard: /rgw/status 端点不会检查运行的服务 (pr#38771, Volker Theile)

  • nautilus: mgr/dashboard: 更新内置 ssl 提供者的错误 (pr#38509, Nizamudeen A)

  • nautilus: mgr/dashboard: 使用安全 cookie 存储 JWT Token (pr#38839, Avan Thakkar, Aashish Sharma)

  • nautilus: mgr/dashboard: 添加--ssltong serve (pr#38972, Tatjana Dehler)

  • nautilus: mgr/dashboard: 避免使用 document.write() (pr#39526, Avan Thakkar)

  • nautilus: mgr/dashboard: 自定义 CherryPy 服务器标题 (pr#39419, anurag)

  • nautilus: mgr/dashboard: 删除读取密码时的 EOF (pr#39438, Alfonso Martínez)

  • nautilus: mgr/dashboard: 在 NFS 导出编辑表单中禁用集群选择 (pr#37995, Kiefer Chang)

  • nautilus: mgr/dashboard: 为使用浏览器的用户启用不同的 URL 以访问 Grafana (pr#39136, Patrick Seidensal)

  • nautilus: mgr/dashboard: 修复 MTU 不匹配警报 (pr#39518, Aashish Sharma)

  • nautilus: mgr/dashboard: 修复与 PyJWT 版本大于等于 2.0.0 相关的问题 (pr#39837, Alfonso Martínez)

  • nautilus: mgr/dashboard: 修复某些 NFS-Ganesha 端点的安全范围 (pr#37961, Kiefer Chang)

  • nautilus: mgr/dashboard: 修复已分配/总已分配字段的工具提示 (pr#39646, Avan Thakkar)

  • nautilus: mgr/dashboard: 最小化 Ceph 后端 API 测试的控制台日志跟踪 (pr#39544, Aashish Sharma)

  • nautilus: mgr/dashboard: prometheus 警报:为软件包降级和错误提供一些余量 (pr#39509, Patrick Seidensal)

  • nautilus: mgr/dashboard: python 2: 设置非 ASCII 密码时出现错误 (pr#39441, Alfonso Martínez)

  • nautilus: mgr/dashboard: 移除 pyOpenSSL 版本固定 (pr#38504, Kiefer Chang)

  • nautilus: mgr/dashboard: 设置安全标头 (pr#39626, Avan Thakkar)

  • nautilus: mgr/dashboard: test_standby* (tasks.mgr.test_dashboard.TestDashboard) 在本地失败 (pr#38527, Volker Theile)

  • nautilus: mgr/dashboard: 如果某些节点具有与中值不同的 MTU,则触发警报 (pr#39104, Aashish Sharma)

  • nautilus: mgr/insights: 测试环境需要 ‘six’ (pr#38382, Brad Hubbard)

  • nautilus: mgr/progress: 删除线路上所有事件 (pr#38416, Sage Weil)

  • nautilus: mgr/progress: 使进度条不会永远卡住 (issue#40618, pr#37589, Kamoltat (Junior) Sirivadhna, Kamoltat)

  • nautilus: mgr/prometheus: 将 SLOW_OPS 健康检查作为指标添加到 (pr#39747, Paul Cuzner)

  • nautilus: mgr/prometheus: 修复“池已满”与 >50% 使用率 (pr#39076, Daniël Vos)

  • nautilus: mgr/prometheus: 使模块更稳定 (pr#38334, Boris Ranto, Ken Dreyer)

  • nautilus: mgr/restful: 修复 _gather_osds() 中发生的 TypeError (issue#48488, pr#39339, Jerry Pu)

  • nautilus: mgr/telemetry: 修复代理使用 (pr#38816, Nathan Cutler)

  • nautilus: mgr/volume: 子卷 auth_id 管理和几个错误修复 (pr#39292, Rishabh Dave, Patrick Donnelly, Kotresh HR, Ramana Raja)

  • nautilus: mgr/volumes: 使克隆线程的数量可配置 (pr#37936, Kotresh HR)

  • nautilus: mgr: 固定 importlib_metadata 版本 2.1.0 (pr#38296, Brad Hubbard)

  • nautilus: mgr: 不要更新已经过时的 osd stat (pr#38354, Zhi Zhang)

  • nautilus: mgr: 修复 ActivePyModules::get_osdmap() 中的死锁 (pr#39340, peng jiaqi)

  • nautilus: mgr: 当 monmap 更新时更新 mon 元数据 (pr#39075, Kefu Chai)

  • nautilus: mon 刷洗测试 (pr#38362, Brad Hubbard)

  • nautilus: mon/MDSMonitor 不忽略 mds 的 down:dne 请求 (pr#37822, chencan)

  • nautilus: mon/MDSMonitor: 将 mds 标识符和 mds 真实名称用点分隔 (pr#37821, Zhi Zhang)

  • nautilus: mon: 在集群日志中定期记录“ceph health detail” (pr#38118, Prashant Dhange)

  • nautilus: mon: ‘mon stat’ 输出 json 格式 (pr#37706, Joao Eduardo Luis, Sage Weil)

  • nautilus: mon: paxos: 在析构函数中删除记录器 (pr#39160, Brad Hubbard)

  • nautilus: mon: 验证 crush-failure-domain (pr#39124, Prashant Dhange)

  • nautilus: 监控:使用空 yaxes 最小值 OSD 读取延迟 (pr#37959, Seena Fallah)

  • nautilus: msg/async/ProtocolV2: 在测试中允许 rxbuf/txbuf 变得更大 (pr#38268, Ilya Dryomov)

  • nautilus: ocf: 添加在 RBD 命名空间内映射图像的支持 (pr#39047, Jason Dillaman)

  • nautilus: os/bluestore: 添加检查 BlueFS 读取的选项 (pr#39756, Adam Kupczyk)

  • nautilus: os/bluestore: 使用 fsck 检测和修复使用“zombie”扩展的 blob (pr#39255, Igor Fedotov)

  • nautilus: os/bluestore: 修复 BlueFS 中的巨大读取/写入 (pr#39698, Jianpeng Ma, Kefu Chai, Igor Fedotov)

  • nautilus: os/bluestore: 修复来自 avl/hybrid 分配器的意外 ENOSPC (pr#38475, Igor Fedotov)

  • nautilus: os/bluestore: 修复向 claim_… 提供超出范围的偏移量时出现的段错误 (pr#38637, Igor Fedotov)

  • nautilus: os/bluestore: 在修剪缓存时越过固定 onodes (pr#39720, Igor Fedotov)

  • nautilus: os/bluestore: mempool 的更细粒度 + 添加遗漏的结构 (pr#38310, Deepika Upadhyay, Igor Fedotov, Adam Kupczyk)

  • nautilus: osd: 在块之间检查 nosrub/nodeep-scrub 以避免竞争 (pr#38411, David Zafman)

  • nautilus: osd: 修复 bluestore 位图分配器计算错误 last_pos (pr#39708, Xue Yantao)

  • nautilus: osd: 优化 PG 移除(第一部分) (pr#38478, Neha Ojha, Igor Fedotov)

  • nautilus: pybind/ceph_volume_client: 在 auth-metadata 文件中将“volumes”键更新为“subvolumes” (pr#39658, Kotresh HR, Michael Fritch)

  • nautilus: pybind/cephfs: 添加用于不读取 conffile 的特殊值 (pr#37725, Kefu Chai)

  • nautilus: pybind/cephfs: 修复 readlink() 的 C 字符串中缺少终止 NULL 字符 (pr#38894, Tuan Hoang)

  • nautilus: pybind/mgr/rbd_support: 延迟创建进度模块事件 (pr#38833, Jason Dillaman)

  • nautilus: qa/cephfs: 添加会话超时选项支持 (pr#37840, Xiubo Li)

  • nautilus: qa/distros: 添加 rhel 7.9 (pr#38188, rakeshgm)

  • nautilus: qa/tasks/ceph_manager.py: 在 raw_cluster_cmd 中不要使用 log-early (pr#39960, Neha Ojha)

  • nautilus: qa/tasks/{ceph,ceph_manager}: 删除 py2 支持 (pr#37906, Rishabh Dave, Deepika Upadhyay, Kefu Chai)

  • nautilus: qa: 修复 tox 失败 (pr#38627, Patrick Donnelly)

  • nautilus: qa: krbd_stable_pages_required.sh: 移动到 stable_writes 属性 (pr#38834, Ilya Dryomov)

  • nautilus: qa: 恢复文件名 (pr#38772, Patrick Donnelly)

  • nautilus: qa: 删除卷之前卸载卷 (pr#36690, Patrick Donnelly)

  • nautilus: qa: 使用正常构建进行 valgrind (pr#39584, Sage Weil)

  • nautilus: rados/升级/nautilus-x-singleton 由于集群 [WRN] 驱逐无响应的客户端而失败 (pr#39706, Patrick Donnelly)

  • nautilus: rbd-nbd: 在子进程中重新扩展配置元数据 (pr#38830, Xiubo Li)

  • nautilus: rbd/bench: 包括使用的标题 (pr#39123, Kefu Chai)

  • nautilus: rbd: librbd: 确保在处理限制 IO 时线程池锁被持有 (pr#37895, Jason Dillaman)

  • nautilus: rbd: librbd: 删除池配置覆盖时更新隐藏的全局配置 (pr#38831, Jason Dillaman)

  • nautilus: rgw: 禁用整个头部对象的预取,当 GET 请求具有范围头时 (pr#38556, Or Friedmann)

  • nautilus: rgw: S3 Put Bucket Policy 应在成功时返回 204 (pr#38623, Matthew Oliver)

  • nautilus: rgw: 避免由于溢出而导致的早期过期触发 (pr#38823, jiahuizeng)

  • nautilus: rgw/cls/rgw.cc: 修复最新版本问题 (pr#38085, Yang Honggang, Ruan Zitao)

  • nautilus: rgw: cls/user: 为重置统计调用设置 from_index (pr#38822, Mykola Golub, Abhishek Lekshmanan)

  • nautilus: rgw: 为独占 put 分配缓存 (pr#38827, Or Friedmann)

  • nautilus: rgw: 修复桶限制检查 fill_status 警报 (issue#40255, pr#38825, Paul Emmerich)

  • nautilus: rgw: 修复在提供 s3website 错误页面时服务 s3website 的无效负载问题 (pr#38590, Ilsoo Byun)

  • nautilus: rgw: 修复多对象删除中对象名称的尾随空 (pr#39276, Casey Bodley)

  • nautilus: rgw: 在可能的情况下,在有序桶列表中内部跳过命名空间条目 (pr#38493, J. Eric Ivancich)

  • nautilus: rgw: 保留同步停止标志,当复制桶分片头时 (pr#38589, Ilsoo Byun)

  • nautilus: rgw: 多站点:验证同步对象是否与源相同 (pr#38885, Prasad Krishnan, Yang Honggang, Casey Bodley)

  • nautilus: rgw: radosgw-admin: 澄清电子邮件地址已使用时的错误 (pr#39661, Matthew Vernon)

  • nautilus: rgw/rgw-admin: 修复缺失桶的 BucketInfo (pr#38588, Nick Janus, caolei)

  • nautilus: rgw_file: 返回常见前缀按字母顺序排列 (pr#38828, Matt Benjamin)

  • nautilus: rpm,deb: 将 sudoers 文件模式更改为 440 (pr#39090, David Turner)

  • nautilus: rpm: ceph-mgr-dashboard 建议在 SUSE 上使用 python3-saml (pr#38818, Nathan Cutler)

  • nautilus: run-make-check.sh: 如果构建失败,则不要运行测试 (pr#38295, Brad Hubbard)

  • nautilus: test/librados: 修复校验和测试用例中的大小端错误 (pr#37605, Ulrich Weigand)

  • nautilus: test/rbd-mirror: 修复 ceph_test_rbd_mirror_random_write 崩溃 (pr#39650, Jason Dillaman)

  • nautilus: test/run-cli-tests: 使用 cram 从 github (pr#39072, Kefu Chai)

  • nautilus: 测试:取消 both noscrub *and* nodeep-scrub (pr#39125, Ronen Friedman)

  • nautilus: 工具/rados: 添加对二进制对象名称的支持到 rados CLI (pr#39329, Radoslaw Zarzynski, Kefu Chai)

  • nautilus: 工具/rados: 在“rados ls”的 json 输出期间定期刷新格式化器 (pr#37834, J. Eric Ivancich)

  • nautilus: vstart.sh: 修复 fs 设置 max_mds 错误 (pr#37836, Jinmyeong Lee)

v14.2.16 Nautilus

这是 Nautilus 系列的第 16 个向后移植版本。此版本修复了 CephFS 中的安全漏洞。我们建议用户更新到此版本。

值得注意的变化

  • CVE-2020-27781 : OpenStack Manila 使用 ceph_volume_client.py 库允许租户访问任何 Ceph 凭证的秘密。(Kotresh Hiremath Ravishankar, Ramana Raja)

更改日志

  • pybind/ceph_volume_client: 禁止在现有 auth ids 上授权 (Kotresh

v14.2.15 Nautilus

这是 Nautilus 系列的第 15 个向后移植版本。此版本修复了 v14.2.13 中引入的 ceph-volume 回归,并包含其他一些修复。我们建议用户更新到此版本。

值得注意的变化

  • ceph-volume: 修复 lvm batch --auto,当仅使用非旋转设备时(SSD 和/或 NVMe)会破坏向后兼容性。

  • BlueStore: 修复 collection_list_legacy 中的错误,该错误在运行混合版本的 osd(在 14.2.12 之前更新)时会导致 pgs 在清理期间不一致。

  • MGR: 进度模块现在可以使用命令:ceph progress onceph progress off.

更改日志

  • ceph-volume: 修复文件存储/dmcrypt 激活 (pr#38198, Guillaume Abrioux)

  • ceph-volume: 修复 lvm batch auto 与全 SSDs (pr#38046, Dimitri Savineau, Guillaume Abrioux)

  • os/bluestore: 修复 collection_list_legacy 中的“结束”检查 (pr#38100, Mykola Golub)

  • mgr/progress: 引入关闭/打开功能 (pr#38173, kamoltat)

v14.2.14 Nautilus

这是 Nautilus 系列的第 14 个向后移植版本。此版本修复了影响 Messenger v2 的安全漏洞,组件中的其他修复。我们建议用户更新到此版本。

值得注意的变化

  • CVE 2020-25660: CEPHX_V2 重放攻击保护丢失,对于 Messenger v2 (Ilya Dryomov)

更改日志

  • mgr/dashboard:奇怪的 iSCSI 发现认证行为 (pr#37333, Volker Theile)

  • mgr/dashboard: 登录成功后重定向到原始 URL (pr#36834, Avan Thakkar)

  • mgr/prometheus: 添加池压缩统计 (pr#37563, Paul Cuzner)

  • bluestore: test/objectstore/store_test: 删除 ExcessiveFragmentation 测试用例 (pr#37824, Igor Fedotov)

  • bluestore: BlockDevice.cc: 使用 pending_aios 代替 iovec size 作为 ios num (pr#37823, weixinwei)

  • bluestore: 支持 flock 重试 (pr#37842, Kefu Chai, wanghongxu)

  • bluestore: 为压缩的 blob 添加 csum (pr#37843, Igor Fedotov)

  • osdc/ObjectCacher: 覆盖可能导致额外的读取请求回调 (pr#37813, Jason Dillaman)

  • mgr: 避免出现 MGR_MODULE_ERROR 的虚假警报 (pr#38069, Kefu Chai, Sage Weil)

  • mgr: 修复模块加载和通知之间的竞争 (pr#37844, Mykola Golub, Patrick Donnelly)

  • mon: 添加到 session_map 时设置会话超时 (pr#37554, Ilya Dryomov)

  • mon/MonClient: 恢复 CEPHX_V2 授权挑战 (Ilya Dryomov)

  • osd/osd-rep-recov-eio.sh: TEST_rados_repair_warning: 返回 1 (pr#37815, David Zafman)

  • rbd: librbd: 忽略 -ENOENT 错误,当禁用对象映射时 (pr#37814, Jason Dillaman)

  • rbd: rbd-nbd: 在通过图像规范解除映射时不忽略命名空间 (pr#37811, Mykola Golub)

  • rgw/rgw_file: 修复循环对象驱逐不正确 (pr#37804, luo rixin)

  • rgw: 即使对象只有一个与规则相同的标签,也返回 x-amz-expiration 头 (pr#37806, Or Friedmann)

  • rgw: S3 API KeyCount 返回值不正确 (pr#37810, 胡玮文)

  • rgw: radosgw-admin 应在列出桶时内部分页 (pr#37802, J. Eric Ivancich)

  • rgw: rgw_file: 避免长时间延迟关闭 (pr#37552, Matt Benjamin)

  • rgw: 使用 yum 而不是 dnf 进行 teuthology 测试 rgw-orphan-list (pr#37805, J. Eric Ivancich)

v14.2.13 Nautilus

这是 Nautilus 系列的第 13 个向后移植版本。此版本修复了 v14.2.12 中引入的回归,以及一些 ceph-volume 和 RGW 修复。我们建议用户更新到此版本。

值得注意的变化

  • 修复了导致在引用使用 dns 名称而不是 ip 地址的 ceph-mon 主机时集群中断的回归mon_hostparam 在ceph.conf (issue#47951)

  • ceph-volume: 子命令lvm batch收到重大重写

更改日志

  • ceph-volume: 主要批量重构 (pr#37522, Jan Fajerski)

  • mgr/dashboard: 正确格式化 iSCSI 目标门户 (pr#37060, Volker Theile)

  • rpm: 将 python-enum34 移动到 rhel 7 条件 (pr#37747, Nathan Cutler)

  • mon/MonMap: 修复无条件失败的 init_with_hosts (pr#37816, Nathan Cutler, Patrick Donnelly)

  • rgw: 允许 rgw-orphan-list 在 rados 对象位于命名空间时进行标记 (pr#37799, J. Eric Ivancich)

  • rgw: 修复有序和不有序桶列表中设置命名空间的错误 (pr#37798, J. Eric Ivancich)

v14.2.12 Nautilus

这是 Nautilus 系列的第 12 个向后移植版本。此版本在 Ceph 的所有主要组件中都包含了一些错误修复。我们建议所有 Nautilus 用户升级到此版本。

值得注意的变化

  • The ceph df命令现在列出了每个池中的 pgs 数量。

  • 监控器现在有一个配置选项mon_osd_warn_num_repaired默认为 10。OSD_TOO_MANY_REPAIRS会生成健康警告。为了允许清除警告,已添加一个新的命令ceph tell osd.# clear_shards_repaired [count]。默认情况下,它将修复计数设置为 0。如果您希望在执行更多修复时再次收到警告,可以向命令提供值并指定mon_osd_warn_num_repaired的值。

  • 现在可以通过mon_host_override配置选项或--mon-host-override <ip>命令行开关指定用于 Ceph 工具和守护程序的初始监控器。这通常仅用于调试,并且仅影响与 Ceph 监控器集群的初始通信。

  • 修复了 osdmaps 在健康集群中未被修剪的问题 (issue#47296, pr#36982)

更改日志

  • bluestore/bluefs: 使会计对 unlock() 具有弹性 (pr#36909, Adam Kupczyk)

  • bluestore: 蓝 Store 的修复程序的修剪逻辑的救援程序 (pr#36930, Adam Kupczyk)

  • bluestore: 导出具有过多扩展 blob 的 inode (pr#36756, Igor Fedotov)

  • bluestore: 默认情况下启用更灵活的蓝 Store 空间管理 (pr#37091, Igor Fedotov)

  • bluestore: 修复 collection_list 排序 (pr#37051, Mykola Golub)

  • ceph-iscsi: selinux 修复 (pr#36304, Mike Christie)

  • ceph-volume: 添加运行 LVM 命令的新功能的测试 (pr#36615, Rishabh Dave)

  • ceph-volume: 不要在 api/lvm.py 中使用容器类 (pr#35878, Guillaume Abrioux, Rishabh Dave’)

  • ceph-volume: 修复 journal_size 参数不起作用 (pr#37377, wanghongxu)

  • ceph-volume: 修复 legacy osd 时的简单激活 (pr#37195, Guillaume Abrioux)

  • ceph-volume: 修复 test_lvm.TestVolume.test_is_not_ceph_device (pr#36493, Jan Fajerski)

  • ceph-volume: 处理批量和显式场景中的 idempotency (pr#35881, Andrew Schoen)

  • ceph-volume: 从 api/lvm.py 中删除容器类 (pr#36610, Rishabh Dave)

  • ceph-volume: 删除不需要的 get_devices() 调用 (pr#37413, Marc Gariepy)

  • ceph-volume: 如果设备类型无效,则在清单中报告正确的拒绝原因 (pr#36453, Satoru Takeuchi)

  • ceph-volume: 在获取锁失败时重试 (pr#36926, Sxc3xa9bastien Han)

  • ceph-volume: 简单扫描应忽略 tmpfs (pr#36952, Andrew Schoen)

  • ceph.in: 忽略刷新 stdout 的失败 (pr#37226, Dan van der Ster)

  • ceph.spec.in, debian/control: 添加 smartmontools 和 nvme-cli 依赖项 (pr#37288, Yaarit Hatuka)

  • cephfs-journal-tool: 修复查找缺失对象时 read_offset 不正确的错误 (pr#37479, Xue Yantao)

  • cephfs: 客户端:在更改目录之前添加 is_dir() 检查 (pr#36966, Xiubo Li)

  • cephfs: client: make Client::open() pass proper cap mask to path_walk (pr#37231, “Yan, Zheng”)

  • cephfs: mds/CInode: Optimize only pinned by subtrees check (pr#36965, Mark Nelson)

  • cephfs: mds: After restarting an mds, its standy-replay mds remained in the “resolve” state (pr#37179, Wei Qiaomiao)

  • cephfs: mds: do not defer incoming mgrmap when mds is laggy (issue#44638, pr#36168, Nathan Cutler, Venky Shankar)

  • cephfs: mds: fix incorrect check for if dirfrag is being fragmented (pr#37035, “Yan, Zheng”)

  • cephfs: mds: fix mds forwarding request no_available_op_found (pr#36963, Yanhu Cao’)

  • cephfs: mds: fix purge_queues _calculate_ops is inaccurate (pr#37481, Yanhu Cao’)

  • cephfs: mds: kcephfs parse dirfrags ndist is always 0 (pr#37177, Yanhu Cao’)

  • cephfs: mds: place MDSGatherBuilder on the stack (pr#36967, Patrick Donnelly)

  • cephfs: mds: recover files after normal session close (pr#37178, “Yan, Zheng”)

  • cephfs: mds: resolve SIGSEGV in waiting for uncommitted fragments (pr#36968, Patrick Donnelly)

  • cephfs: osdc/Journaler: do not call onsafe->complete() if onsafe is 0 (pr#37229, Xiubo Li)

  • client: handle readdir reply without Fs cap (pr#37232, “Yan, Zheng”)

  • common, osd: add sanity checks around osd_scrub_max_preemptions (pr#37470, xie xingguo)

  • common/config: less noise about configs from mon we cant apply (pr#36289, Sage Weil’)

  • common: ignore SIGHUP prior to fork (issue#46269, pr#36181, Willem Jan Withagen, hzwuhongsong)

  • compressor: Add a config option to specify Zstd compression level (pr#37254, Bryan Stillwell)

  • core: include/encoding: Fix encode/decode of float types on big-endian systems (pr#37033, Ulrich Weigand)

  • doc/rados: Fix osd_op_queue default value (pr#36354, Benoxc3xaet Knecht)

  • doc/rados: Fix osd_scrub_during_recovery default value (pr#37472, Benoxc3xaet Knecht)

  • doc/rbd: add rbd-target-gw enable and start (pr#36415, Zac Dover)

  • doc: enable Read the Docs (pr#37204, Kefu Chai)

  • krbd: optionally skip waiting for udev events (pr#37284, Ilya Dryomov)

  • kv/RocksDBStore: make options compaction_threads/disableWAL/flusher_txe2x80xa6 (pr#37055, Jianpeng Ma)

  • librados: add LIBRADOS_SUPPORTS_GETADDRS support (pr#36853, Xiubo Li, Jason Dillaman, Kaleb S. KEITHLEY, Kefu Chai)

  • messages,mds: Fix decoding of enum types on big-endian systems (pr#36814, Ulrich Weigand)

  • mgr/balancer: use “==” and “!=” for comparing str (pr#37471, Kefu Chai)

  • mgr/dashboard/api: increase API health timeout (pr#36607, Ernesto Puerta)

  • mgr/dashboard: Allow editing iSCSI targets with initiators logged-in (pr#37278, Tiago Melo)

  • mgr/dashboard: Disabling the form inputs for the read_only modals (pr#37241, Nizamudeen)

  • mgr/dashboard: Dont use any xlf file when building the default language (pr#37550, Sebastian Krah’)

  • mgr/dashboard: Fix many-to-many issue in host-details Grafana dashboard (pr#37306, Patrick Seidensal)

  • mgr/dashboard: Fix pool renaming functionality (pr#37510, Stephan Mxc3xbcller, Ernesto Puerta)

  • mgr/dashboard: Hide table action input field if limit=0 (pr#36783, Volker Theile)

  • mgr/dashboard: Monitoring: Fix for the infinite loading bar action (pr#37161, Nizamudeen A)

  • mgr/dashboard: REST API returns 500 when no Content-Type is specified (pr#37307, Avan Thakkar)

  • mgr/dashboard: Unable to edit iSCSI logged-in client (pr#36613, Ricardo Marques)

  • mgr/dashboard: cpu stats incorrectly displayed (pr#37295, Avan Thakkar)

  • mgr/dashboard: document Prometheus security model (pr#36920, Patrick Seidensal)

  • mgr/dashboard: fix broken backporting (pr#37505, Ernesto Puerta)

  • mgr/dashboard: fix perf. issue when listing large amounts of buckets (pr#37280, Alfonso Martxc3xadnez)

  • mgr/dashboard: fix pool usage calculation (pr#37309, Ernesto Puerta)

  • mgr/dashboard: remove “This week/month/year” and “Today” time stamps (pr#36790, Avan Thakkar)

  • mgr/dashboard: table detail rows overflow (pr#37324, Aashish Sharma)

  • mgr/dashboard: wait longer for health status to be cleared (pr#36784, Tatjana Dehler)

  • mgr/devicehealth: fix daemon filtering before scraping device (pr#36741, Yaarit Hatuka)

  • mgr/diskprediction_local: Fix array size error (pr#36578, Benoxc3xaet Knecht)

  • mgr/prometheus: automatically discover RBD pools for stats gathering (pr#36412, Jason Dillaman)

  • mgr/restful: use dict.items() for py3 compatible (pr#36670, Kefu Chai)

  • mgr/status: metadata is fetched async (pr#37558, Michael Fritch)

  • mgr/telemetry: fix device id splitting when anonymizing serial (pr#37318, Yaarit Hatuka)

  • mgr/volumes: add global lock debug (pr#36828, Patrick Donnelly)

  • mgr: Add missing states to PG_STATES in mgr_module.py (pr#36785, Harley Gorrell)

  • mgr: decrease pool stats if pg was removed (pr#37476, Aleksei Gutikov)

  • mgr: don’t update pending service map epoch on receiving map from mon (pr#37181, Mykola Golub’)

  • minor tweaks to fix compile issues under latest Fedora (pr#36726, Willem Jan Withagen, Kaleb S. KEITHLEY, Kefu Chai)

  • mon/OSDMonitor: only take in osd into consideration when trimming osdmaps (pr#36982, Kefu Chai)

  • mon/PGMap: add pg count for pools in the ceph df command (pr#36944, Vikhyat Umrao)

  • mon: Warn when too many reads are repaired on an OSD (pr#36379, David Zafman)

  • mon: fix the Error ERANGEmessage when conf “osd_objectstore” is filestore’ (pr#37474, wangyunqing’)

  • mon: mark pgtemp messages as no_reply more consistenly in preprocess\_xe2x80xa6 (pr#37171, Greg Farnum)

  • mon: store mon updates in ceph context for future MonMap instantiation (pr#36704, Patrick Donnelly, Shyamsundar Ranganathan)

  • monclient: schedule first tick using mon_client_hunt_interval (pr#36634, Mykola Golub)

  • msg/async/ProtocolV2: allow rxbuf/txbuf get bigger in testing (pr#37081, Ilya Dryomov)

  • osd/OSDCap: rbd profile permits use of “rbd_info” (pr#36413, Florian Florensa)

  • osd/PeeringState: prevent peers num_objects going negative (pr#37473, xie xingguo’)

  • prometheus: Properly split the port off IPv6 addresses (pr#36984, Matthew Oliver)

  • rbd: include RADOS namespace in krbd symlinks (pr#37468, Ilya Dryomov)

  • rbd: librbd: Align rbd_write_zeroes declarations (pr#36712, Corey Bryant)

  • rbd: librbd: dont resend async_complete if watcher is unregistered (pr#37040, Mykola Golub’)

  • rbd: librbd: global and pool-level config overrides require image refresh to apply (pr#36725, Jason Dillaman)

  • rbd: librbd: using migration abort can result in the loss of data (pr#37165, Jason Dillaman)

  • rbd: make common options override krbd-specific options (pr#37407, Ilya Dryomov)

  • rgw/cls: preserve olh entrys name on last unlink (pr#37462, Casey Bodley’)

  • rgw: Add bucket name to bucket stats error logging (pr#37378, Seena Fallah)

  • rgw: Empty reqs_change_state queue before unregistered_reqs (pr#37461, Soumya Koduri)

  • rgw: Expiration days cant be zero and transition days can be zero (pr#37465, zhang Shaowen’)

  • rgw: RGWObjVersionTracker tracks version over increments (pr#37459, Casey Bodley)

  • rgw: Swift API anonymous access should 401 (pr#37438, Matthew Oliver)

  • rgw: add access log to the beast frontend (pr#36727, Mark Kogan)

  • rgw: add negative cache to the system object (pr#37460, Or Friedmann)

  • rgw: append obj: prevent tail from being GCed (pr#36390, Abhishek Lekshmanan’)

  • rgw: dump transitions in RGWLifecycleConfiguration::dump() (pr#36880, Shengming Zhang)

  • rgw: fail when get/set-bucket-versioning attempted on a non-existent xe2x80xa6 (pr#36188, Matt Benjamin)

  • rgw: fix boost::asio::async_write() does not return error (pr#37157, Mark Kogan)

  • rgw: fix double slash (//) killing the gateway (pr#36682, Theofilos Mouratidis)

  • rgw: fix shutdown crash in RGWAsyncReadMDLogEntries (pr#37463, Casey Bodley)

  • rgw: hold reloader using unique_ptr (pr#36770, Kefu Chai)

  • rgw: log resharding events at level 1 (formerly 20) (pr#36843, Or Friedmann)

  • rgw: ordered bucket listing code clean-up (pr#37169, J. Eric Ivancich)

  • rgw: policy: reuse eval_principal to evaluate the policy principal (pr#36637, Abhishek Lekshmanan)

  • rgw: radosgw-admin: period pull command is not always a raw_storage_op (pr#37464, Casey Bodley)

  • rgw: replace +with “%20” in canonical query string for s3 v4 auth’ (pr#37467, yuliyang_yewu’)

  • rgw: urlencode bucket name when forwarding request (pr#37435, caolei)

  • run-make-check.sh: extract run-make.sh + run sudo with absolute path (pr#36494, Kefu Chai, Ernesto Puerta)

  • systemd: Support Graceful Reboot for AIO Node (pr#37301, Wong Hoi Sing Edison)

  • tools/osdmaptool.cc: add ability to clean_temps (pr#37477, Neha Ojha)

  • tools/rados: Set locator key when exporting or importing a pool (pr#37475, Iain Buclaw)

v14.2.11 Nautilus

This is the eleventh backport release in the Nautilus series. This release brings a number of bugfixes across all major components of Ceph. We recommend that all Nautilus users upgrade to this release.

值得注意的变化

  • RGW: The radosgw-admin sub-commands dealing with orphans -- radosgw-admin orphans find, radosgw-admin orphans finish, radosgw-admin orphans list-jobs -- have been deprecated. They have not been actively maintained and they store intermediate results on the cluster, which could fill a nearly-full cluster. They have been replaced by a tool, currently considered experimental, rgw-orphan-list.

  • Now when noscrub and/or nodeep-scrub flags are set globally or per pool, scheduled scrubs of the type disabled will be aborted. All user initiated scrubs are NOT interrupted.

  • Fixed a ceph-osd crash in _committed_osd_maps when there is a failure to encode the first incremental map. issue#46443

更改日志

  • bluestore: core: os/bluestore: fix large (>2GB) writes when bluefs_buffered_io = true (pr#35404, Igor Fedotov)

  • bluestore: os/bluestore: implement Hybrid allocator (pr#35500, Adam Kupczyk, Kefu Chai, Igor Fedotov, xie xingguo)

  • build/ops: build/ops: selinux: allow ceph_t amqp_port_t:tcp_socket (pr#36190, Kaleb S. KEITHLEY, Thomas Serlin)

  • ceph-volume: add dmcrypt support in raw mode (pr#35831, Guillaume Abrioux)

  • cephfs,pybind: pybind/cephfs: fix custom exception raised by cephfs.pyx (pr#36180, Ramana Raja)

  • cephfs: ceph_fuse: add the ‘-d’ option back for libfuse (pr#35398, Xiubo Li)

  • cephfs: client: fix directory inode can not call release callback (pr#36177, sepia-liu)

  • cephfs: client: fix setxattr for 0 size value (NULL value) (pr#36173, Sidharth Anupkrishnan)

  • cephfs: client: fix snap directory atime (pr#36169, Luis Henriques)

  • cephfs: client: introduce timeout for client shutdown (issue#44276, pr#36215, Venky Shankar)

  • cephfs: client: release the client_lock before copying data in read (pr#36294, Chencan)

  • cephfs: client: static dirent for readdir is not thread-safe (pr#36511, Patrick Donnelly)

  • cephfs: mds: add config to require forward to auth MDS (pr#35377, simon gao)

  • cephfs: mds: cleanup uncommitted fragments before mds goes to active (pr#35397, “Yan, Zheng”)

  • cephfs: mds: do not raise “client failing to respond to cap release” when client working set is reasonable (pr#36513, Patrick Donnelly)

  • cephfs: mds: do not submit omap_rm_keys if the dir is the basedir of merge (pr#36178, Chencan)

  • cephfs: mds: fix filelock state when Fc is issued (pr#35841, Xiubo Li)

  • cephfs: mds: fix hang issue when accessing a file under a lost parent directory (pr#36179, Zhi Zhang)

  • cephfs: mds: fix nullptr dereference in MDCache::finish_rollback (pr#36439, “Yan, Zheng”)

  • cephfs: mds: flag backtrace scrub failures for new files as okay (pr#35400, Milind Changire)

  • cephfs: mds: initialize MDSlaveUpdate::waiter (pr#36462, “Yan, Zheng”)

  • cephfs: mds: make threshold for MDS_TRIM configurable (pr#36175, Paul Emmerich)

  • cephfs: mds: preserve ESlaveUpdate logevent until receiving OP_FINISH (pr#35394, Varsha Rao, songxinying)

  • cephfs: mds: reset heartbeat in EMetaBlob replay (pr#36170, Yanhu Cao)

  • cephfs: mgr/fs/volumes misc fixes (pr#36167, Patrick Donnelly, Kotresh HR, Ramana Raja)

  • cephfs: mgr/volumes: Add snapshot info command (pr#35672, Kotresh HR)

  • cephfs: mgr/volumes: Deprecate protect/unprotect CLI calls for subvolume snapshots (pr#36166, Shyamsundar Ranganathan)

  • cephfs: qa: add debugging for volumes plugin use of libcephfs (pr#36512, Patrick Donnelly)

  • cephfs: qa: skip cache_size check (pr#36526, Patrick Donnelly)

  • cephfs: tools/cephfs: don’t bind to public_addr (pr#35401, “Yan, Zheng”)

  • cephfs: vstart_runner: set mounted to True at the end of mount() (pr#35396, Rishabh Dave)

  • core,mon: mon/OSDMonitor: Reset grace period if failure interval exceeds a threshold (pr#35798, Sridhar Seshasayee)

  • core: mgr/DaemonServer.cc: make ‘config show’ on fsid work (pr#36074, Neha Ojha)

  • core: mgr/alert: can’t set inventory_cache_timeout/service_cache_timeout from CLI (pr#36104, Kiefer Chang)

  • core: osd/PG: fix history.same_interval_since of merge target again (pr#36161, xie xingguo)

  • core: osd/PeeringState.h: Fix pg stuck in WaitActingChange (pr#35389, chen qiuzhang)

  • core: osd: Cancel in-progress scrubs (not user requested) (pr#36292, David Zafman)

  • core: osd: fix crash in _committed_osd_maps if incremental osdmap crc fails (pr#36339, Neha Ojha, Dan van der Ster)

  • core: osd: make “missing incremental map” a debug log message (pr#35386, Nathan Cutler)

  • core: osd: make message cap option usable again (pr#35738, Neha Ojha, Josh Durgin)

  • mgr/dashboard: Allow to edit iSCSI target with active session (pr#35998, Ricardo Marques)

  • mgr/dashboard: Prevent dashboard breakdown on bad pool selection (pr#35367, Stephan Müller)

  • mgr/dashboard: Prometheus query error in the metrics of Pools, OSDs and RBD images (pr#35884, Avan Thakkar)

  • mgr/dashboard: add popover list of Stand-by Managers & Metadata Servers (MDS) in landing page (pr#34095, Kiefer Chang, Avan Thakkar)

  • mgr/dashboard: fix Source column i18n issue in RBD configuration tables (pr#35822, Kiefer Chang)

  • mgr/k8sevents: sanitise kubernetes events (pr#35563, Paul Cuzner)

  • mgr/prometheus: improve Prometheus module cache (pr#35918, Patrick Seidensal)

  • mgr: mgr/progress: Skip pg_summary update if _events dict is empty (pr#36075, Manuel Lausch)

  • mgr: mgr/telemetry: force --license when sending while opted-out (pr#35390, Yaarit Hatuka)

  • mgr: mon/PGMap: do not consider changing pg stuck (pr#35959, Kefu Chai)

  • monitoring: fixing some issues in RBD detail dashboard (pr#35464, Kiefer Chang)

  • msgr: New msgr2 crc and secure modes (msgr2.1) (pr#35733, Jianpeng Ma, Ilya Dryomov)

  • rbd: librbd: new ‘write_zeroes’ API methods to suppliment the discard APIs (pr#36250, Jason Dillaman)

  • rbd: mgr/dashboard: work with v1 RBD images (pr#35712, Ernesto Puerta)

  • rbd: rbd: librbd: Watcher should not attempt to re-watch after detecting blacklisting (pr#35385, Jason Dillaman)

  • rgw,tests: test/rgw: update hadoop versions (pr#35778, Casey Bodley, Vasu Kulkarni)

  • rgw: Add subuser to OPA request (pr#36187, Seena Fallah)

  • rgw: Add support wildcard subuser for bucket policy (pr#36186, Seena Fallah)

  • rgw: add “rgw-orphan-list” tool and “radosgw-admin bucket radoslist …” (pr#34127, J. Eric Ivancich)

  • rgw: add check for index entry’s existing when adding bucket stats during bucket reshard (pr#36189, zhang Shaowen)

  • rgw: add quota enforcement to CopyObj (pr#36184, Casey Bodley)

  • rgw: bucket list/stats truncates for user w/ >1000 buckets (pr#36165, J. Eric Ivancich)

  • rgw: cls_bucket_list_(un)ordered should clear results collection (pr#36163, J. Eric Ivancich)

  • rgw: fix loop problem with swift stat on account (pr#36185, Marcus Watts)

  • rgw: lc: fix Segmentation Fault when the tag of the object was not found (pr#36086, yupeng chen, zhuo li)

  • rgw: ordered listing lcv not managed correctly (pr#35882, J. Eric Ivancich)

  • rgw: radoslist incomplete multipart uploads fix marker progression (pr#36191, J. Eric Ivancich)

  • rgw: rgw/iam: correcting the result of get role policy (pr#36193, Pritha Srivastava)

  • rgw: rgw/url: fix amqp urls with vhosts (pr#35384, Yuval Lifshitz)

  • rgw: stop realm reloader before store shutdown (pr#36192, Casey Bodley)

  • tools: Add statfs operation to ceph-objecstore-tool (pr#35713, David Zafman)

v14.2.10 Nautilus

This is the tenth release in the Nautilus series. In addition to fixing a security-related bug in RGW, this release brings a number of bugfixes across all major components of Ceph. We recommend that all Nautilus users upgrade to this release.

值得注意的变化

  • CVE-2020-10753: rgw: sanitize newlines in s3 CORSConfiguration’s ExposeHeader (William Bowling, Adam Mohammed, Casey Bodley)

  • RGW: Bucket notifications now support Kafka endpoints. This requires librdkafka of version 0.9.2 and up. Note that Ubuntu 16.04.6 LTS (Xenial Xerus) has an older version of librdkafka, and would require an update to the library.

  • The pool parameter target_size_ratio, used by the pg autoscaler, has changed meaning. It is now normalized across pools, rather than specifying an absolute ratio. For details, see Autoscaling placement groups. If you have set target size ratios on any pools, you may want to set these pools to autoscale warn mode to avoid data movement during the upgrade:

    ceph osd pool set <pool-name> pg_autoscale_mode warn
    
  • The behaviour of the -o argument to the rados tool has been reverted to its original behaviour of indicating an output file. This reverts it to a more consistent behaviour when compared to other tools. Specifying object size is now accomplished by using an upper case O -O.

  • The format of MDSs in ceph fs dump has changed.

  • Ceph will issue a health warning if a RADOS pool’ssize is set to 1 or in other words the pool is configured with no redundancy. This can be fixed by setting the pool size to the minimum recommended value with:

    ceph osd pool set <pool-name> size <num-replicas>
    

    The warning can be silenced with:

    ceph config set global mon_warn_on_pool_no_redundancy false
    
  • RGW: bucket listing performance on sharded bucket indexes has been notably improved by heuristically -- and significantly, in many cases -- reducing the number of entries requested from each bucket index shard.

更改日志

  • build/ops: address SElinux denials observed in rgw/multisite test run (pr#34539, Kefu Chai, Kaleb S. Keithley)

  • build/ops: ceph.spec.in: build on el8 (pr#35599, Kefu Chai, Brad Hubbard, Alfonso Martínez, Nathan Cutler, Sage Weil, luo.runbing)

  • build/ops: cmake: Improve test for 16-byte atomic support on IBM Z (pr#33716, Ulrich Weigand)

  • build/ops: do_cmake.sh: fix application of -DWITH_RADOSGW_KAFKA_ENDPOINT=OFF (pr#34008, Nathan Cutler, Kefu Chai)

  • build/ops: install-deps.sh: Use dnf for rhel/centos 8 (pr#35461, Brad Hubbard)

  • build/ops: rpm: add python3-saml as install dependency (pr#34475, Kefu Chai, Ernesto Puerta)

  • build/ops: selinux: Allow ceph to setsched (pr#34433, Brad Hubbard)

  • build/ops: selinux: Allow ceph-mgr access to httpd dir (pr#34434, Brad Hubbard)

  • build/ops: selinux: Allow getattr access to /proc/kcore (pr#34870, Brad Hubbard)

  • build/ops: spec: address some warnings raised by RPM 4.15.1 (pr#34527, Nathan Cutler)

  • ceph-volume/batch: check lvs list before access (pr#34481, Jan Fajerski)

  • ceph-volume/batch: return success when all devices are filtered (pr#34478, Jan Fajerski)

  • ceph-volume: add and delete lvm tags in a single lvchange call (pr#35453, Jan Fajerski)

  • ceph-volume: add ceph.osdspec_affinity tag (pr#35132, Joshua Schmid)

  • ceph-volume: devices/simple/scan: Fix string in log statement (pr#34445, Jan Fajerski)

  • ceph-volume: fix nautilus functional tests (pr#33391, Jan Fajerski)

  • ceph-volume: lvm: get_device_vgs() filter by provided prefix (pr#33616, Jan Fajerski, Yehuda Sadeh)

  • ceph-volume: prepare: use *-slots arguments for implicit sizing (pr#34278, Jan Fajerski)

  • ceph-volume: silence ‘ceph-bluestore-tool’ failures (pr#33428, Sébastien Han)

  • ceph-volume: strip _dmcrypt suffix in simple scan json output (pr#33722, Jan Fajerski)

  • cephfs/tools: add accounted_rstat/rstat when building file dentry (pr#35185, Xiubo Li)

  • cephfs/tools: cephfs-journal-tool: correctly parse --dry_run argument (pr#34784, Milind Changire)

  • cephfs: allow pool names with hyphen and period (pr#35391, Rishabh Dave, Ramana Raja)

  • cephfs: ceph-fuse: link to libfuse3 and pass “-o big_writes” to libfuse if libfuse < 3.0.0 (pr#34771, Kefu Chai, Xiubo Li, “Yan, Zheng”)

  • cephfs: client: expose Client::ll_register_callback via libcephfs (pr#35393, Kefu Chai, Jeff Layton)

  • cephfs: client: fix Finisher assert failure (pr#35000, Xiubo Li)

  • cephfs: client: fix bad error handling in lseek SEEK_HOLE / SEEK_DATA (pr#34308, Jeff Layton)

  • cephfs: client: only set MClientCaps::FLAG_SYNC when flushing dirty auth caps (pr#35118, Jeff Layton)

  • cephfs: client: reset requested_max_size if file write is not wanted (pr#34767, “Yan, Zheng”)

  • cephfs: mds: Handle blacklisted error in purge queue (pr#35149, Varsha Rao)

  • cephfs: mds: SIGSEGV in Migrator::export_sessions_flushed (pr#33751, “Yan, Zheng”)

  • cephfs: mds: Using begin() and empty() to iterate the xlist (pr#34338, Shen Hang, “Yan, Zheng”)

  • cephfs: mds: add configurable snapshot limit (pr#33295, Milind Changire)

  • cephfs: mds: display scrub status in ceph status (issue#41508, issue#42713, issue#44520, issue#42168, issue#42169, issue#42569, issue#41424, issue#42835, issue#36370, issue#42325, pr#30704, Venky Shankar, Patrick Donnelly, Sage Weil, Kefu Chai)

  • cephfs: mds: don’t shallow copy when decoding xattr map (pr#35199, “Yan, Zheng”)

  • cephfs: mds: handle bad purge queue item encoding (pr#34307, “Yan, Zheng”)

  • cephfs: mds: handle ceph_assert on blacklisting (pr#34435, Milind Changire)

  • cephfs: mds: just delete MDSIOContextBase during shutdown (pr#34343, “Yan, Zheng”, Patrick Donnelly)

  • cephfs: mds: take xlock in the order requests start locking (pr#35392, “Yan, Zheng”)

  • common/bl: fix memory corruption in bufferlist::claim_append() (pr#34516, Radoslaw Zarzynski)

  • common/blkdev: compilation of telemetry and device backports (pr#33726, Sage Weil, Difan Zhang, Patrick Seidensal, Kefu Chai)

  • common/blkdev: fix some problems with smart scraping (pr#33421, Sage Weil)

  • common/ceph_time: tolerate mono time going backwards (pr#34542, Sage Weil)

  • common/options: Disable bluefs_buffered_io by default again (pr#34297, Mark Nelson)

  • compressor/lz4: work around bug in liblz4 versions <1.8.2 (pr#35004, Sage Weil, Dan van der Ster)

  • core: bluestore/bdev: initialize size when creating object (pr#34832, Willem Jan Withagen)

  • core: bluestore: Don’t pollute old journal when add new device (pr#34796, Yang Honggang)

  • core: bluestore: fix ‘unused’ calculation (pr#34794, xie xingguo, Igor Fedotov)

  • core: bluestore: fix extent leak after main device expand (pr#34711, Igor Fedotov)

  • core: bluestore: more flexible DB volume space usage (pr#33889, Igor Fedotov)

  • core: bluestore: open DB in read-only when expanding DB/WAL (pr#34611, Igor Fedotov, Jianpeng Ma, Adam Kupczyk)

  • core: bluestore: prevent BlueFS::dirty_files from being leaked when syncing metadata (pr#34515, Xuehan Xu)

  • core: msg/async/rdma: fix bug event center is blocked by rdma construct connection for transport ib sync msg (pr#34780, Peng Liu)

  • core: msgr: backport the EventCenter-related fixes (pr#33820, Radoslaw Zarzynski, Jeff Layton, Kefu Chai)

  • core: rados: prevent ShardedOpWQ suicide_grace drop when waiting for work (pr#34882, Dan Hill)

  • doc/mgr/telemetry: added device channel details (pr#33684, Yaarit Hatuka)

  • doc/releases/nautilus: restart OSDs to make them bind to v2 addr (pr#34524, Nathan Cutler)

  • doc: fix parameter to set pg autoscale mode (pr#34518, Changcheng Liu)

  • doc: mds-config-ref: update ‘mds_log_max_segments’ value (pr#35278, Konstantin Shalygin)

  • doc: reset PendingReleaseNotes following 14.2.8 release (pr#33863, Nathan Cutler)

  • global: ensure CEPH_ARGS is decoded before early arg processing (pr#33261, Kefu Chai, Jason Dillaman)

  • mgr/DaemonServer: fix pg merge checks (pr#34354, Sage Weil)

  • mgr/PyModule: fix missing tracebacks in handle_pyerror() (pr#34627, Tim Serong)

  • mgr/balancer: tolerate pgs outside of target weight map (pr#34761, Sage Weil)

  • mgr/dashboard/grafana: Add rbd-image details dashboard (pr#35248, Enno Gotthold)

  • mgr/dashboard: ‘destroyed’ view in CRUSH map viewer (pr#33764, Avan Thakkar)

  • mgr/dashboard: Add more debug information to Dashboard RGW backend (pr#34399, Volker Theile)

  • mgr/dashboard: Dashboard does not allow you to set norebalance OSD flag (pr#33927, Nizamudeen)

  • mgr/dashboard: Disable cache for static files (pr#33763, Tiago Melo)

  • mgr/dashboard: Display the aggregated number of request (pr#35212, Tiago Melo)

  • mgr/dashboard: Fix HomeTest setup (pr#35086, Tiago Melo)

  • mgr/dashboard: Fix cherrypy request logging error (pr#31586, Kiefer Chang)

  • mgr/dashboard: Fix error in unit test caused by timezone (pr#34473, Tiago Melo)

  • mgr/dashboard: Fix error when listing RBD while deleting or moving (pr#34120, Tiago Melo)

  • mgr/dashboard: Fix iSCSI’s username and password validation (pr#34550, Tiago Melo)

  • mgr/dashboard: Fixes rbd image ‘purge trash’ button & modal text (pr#33697, anurag)

  • mgr/dashboard: Improve workaround to redraw datatables (pr#34413, Volker Theile)

  • mgr/dashboard: Not able to restrict bucket creation for new user (pr#34692, Volker Theile)

  • mgr/dashboard: Pool read/write OPS shows too many decimal places (pr#34039, anurag, Ernesto Puerta)

  • mgr/dashboard: Prevent iSCSI target recreation when editing controls (pr#34551, Tiago Melo)

  • mgr/dashboard: REST API: OpenAPI docs require internet connection (pr#33032, Patrick Seidensal)

  • mgr/dashboard: RGW port autodetection does not support “Beast” RGW frontend (pr#34400, Volker Theile)

  • mgr/dashboard: Refactor Python unittests and controller (pr#34662, Volker Theile)

  • mgr/dashboard: Repair broken grafana panels (pr#34417, Kristoffer Grönlund)

  • mgr/dashboard: Searchable objects for table (pr#32891, Stephan Müller)

  • mgr/dashboard: Tabs does not handle click events (issue#39326, pr#34282, Tiago Melo)

  • mgr/dashboard: UI fixes (pr#34038, Avan Thakkar)

  • mgr/dashboard: Updated existing E2E tests to match new format (pr#33024, Nathan Weinberg)

  • mgr/dashboard: Use booleanText pipe (pr#33234, Alfonso Martínez, Volker Theile)

  • mgr/dashboard: Use default language when running “npm run build” (pr#33668, Tiago Melo)

  • mgr/dashboard: do not show RGW API keys if only read-only privileges (pr#33665, Alfonso Martínez)

  • mgr/dashboard: fix COVERAGE_PATH in run-backend-api-tests.sh (pr#34489, Alfonso Martínez)

  • mgr/dashboard: fix backport #33764 (pr#34640, Ernesto Puerta)

  • mgr/dashboard: fix error when enabling SSO with cert. file (pr#34129, Alfonso Martínez)

  • mgr/dashboard: fix py2 strptime ImportError (not thread safe) (pr#35016, Alfonso Martínez)

  • mgr/dashboard: fixing RBD purge error in backend (pr#34847, Kiefer Chang)

  • mgr/dashboard: install teuthology using pip (pr#35174, Nathan Cutler, Kefu Chai)

  • mgr/dashboard: list configured prometheus alerts (pr#34373, Patrick Seidensal, Tiago Melo)

  • mgr/dashboard: monitoring menu entry should indicate firing alerts (pr#34823, Tiago Melo, Volker Theile)

  • mgr/dashboard: remove ‘config-opt: read’ perm. from system roles (pr#33739, Alfonso Martínez)

  • mgr/dashboard: show checkboxes for booleans (pr#33388, Tatjana Dehler)

  • mgr/dashboard: use FQDN for failover redirection (pr#34497, Ernesto Puerta)

  • mgr/insights: fix prune-health-history (pr#35214, Sage Weil)

  • mgr/pg_autoscaler: fix division by zero (pr#33420, Sage Weil)

  • mgr/pg_autoscaler: treat target ratios as weights (pr#34087, Josh Durgin)

  • mgr/prometheus: ceph_pg_* metrics contains last value instead of sum across all reported states (pr#34162, Jacek Suchenia)

  • mgr/run-tox-tests: Fix issue with PYTHONPATH (pr#33688, Brad Hubbard)

  • mgr/telegraf: catch FileNotFoundError exception (pr#34628, Kefu Chai)

  • mgr/telemetry: add ‘last_upload’ to status (pr#33409, Yaarit Hatuka)

  • mgr/telemetry: catch exception during requests.put (pr#33141, Sage Weil)

  • mgr/telemetry: fix UUID and STR concat (pr#33666, Yaarit Hatuka)

  • mgr/telemetry: fix and document proxy usage (pr#33649, Lars Marowsky-Bree)

  • mgr/volumes: Add interface to get subvolume metadata (pr#34679, Kotresh HR)

  • mgr/volumes: fs subvolume clone cancel (issue#44208, pr#34036, Venky Shankar, Michael Fritch)

  • mgr/volumes: minor fixes (pr#35482, Kotresh HR)

  • mgr/volumes: synchronize ownership (for symlinks) and inode timestamps for cloned subvolumes (issue#24880, issue#43965, pr#33877, Ramana Raja, Rishabh Dave, huanwen ren, Venky Shankar, Jos Collin)

  • mgr: Add get_rates_from_data to mgr_util.py (pr#33893, Stephan Müller, Ernesto Puerta)

  • mgr: Improve internal python to c++ interface (pr#34356, David Zafman)

  • mgr: close restful socket after exec (pr#35213, liushi)

  • mgr: force purge normal ceph entities from service map (issue#44677, pr#34563, Venky Shankar)

  • mgr: synchronize ClusterState’s health and mon_status (pr#34326, Radoslaw Zarzynski)

  • mgr: update “hostname” when we already have the daemon state from that entity (pr#33834, Kefu Chai)

  • mon/FSCommands: Fix ‘add_data_pool’ command and ‘fs new’ command (pr#34774, Ramana Raja)

  • mon/OSDMonitor: Always tune priority cache manager memory on all mons (pr#34916, Sridhar Seshasayee)

  • mon/OSDMonitor: allow trimming maps even if osds are down (pr#34983, Joao Eduardo Luis)

  • mon/PGMap: fix summary display of >32bit pg states (pr#33275, Sage Weil, Adam C. Emerson)

  • mon: Get session_map_lock before remove_session (pr#34677, Xiaofei Cui)

  • mon: calculate min_size on osd pool set size (pr#34585, Deepika Upadhyay)

  • mon: disable min pg per osd warning (pr#34618, Sage Weil)

  • mon: fix/improve mon sync over small keys (pr#33765, Sage Weil)

  • mon: stash newer map on bootstrap when addr doesn’t match (pr#34500, Sage Weil)

  • monitoring: Fix “10% OSDs down” alert description (pr#35211, Benoît Knecht)

  • monitoring: Fix pool capacity incorrect (pr#34450, James Cheng)

  • monitoring: alert for pool fill up broken (pr#35137, Volker Theile)

  • monitoring: alert for prediction of disk and pool fill up broken (pr#34394, Patrick Seidensal)

  • monitoring: fix RGW grafana chart ‘Average GET/PUT Latencies’ (pr#33860, Alfonso Martínez)

  • monitoring: fix decimal precision in Grafana %percentages (pr#34829, Ernesto Puerta)

  • monitoring: root volume full alert fires false positives (pr#34419, Patrick Seidensal)

  • osd/OSD: Log slow ops/types to cluster logs (pr#33503, Sage Weil, Sridhar Seshasayee)

  • osd/OSDMap: Show health warning if a pool is configured with size 1 (pr#31842, Sridhar Seshasayee)

  • osd/PeeringState.h: ignore RemoteBackfillReserved in WaitLocalBackfillReserved (pr#34512, Neha Ojha)

  • osd/PeeringState: do not trim pg log past last_update_ondisk (pr#34957, Samuel Just, xie xingguo)

  • osd/PeeringState: transit async_recovery_targets back into acting before backfilling (pr#32849, xie xingguo)

  • osd: dispatch_context and queue split finish on early bail-out (pr#35024, Sage Weil)

  • osd: fix racy accesses to OSD::osdmap (pr#33530, Radoslaw Zarzynski)

  • pybind/mgr/*: fix config_notify handling of default values (pr#34116, Nathan Cutler, Sage Weil)

  • pybind/mgr: use six==1.14.0 (pr#34316, Kefu Chai)

  • pybind/rbd: RBD.create() method’s ‘old_format’ parameter now defaults to False (pr#35183, Jason Dillaman)

  • pybind/rbd: ensure image is open before permitting operations (pr#34424, Mykola Golub)

  • pybind/rbd: fix no lockers are obtained, ImageNotFound exception will be output (pr#34388, zhangdaolong)

  • rbd: librbd: copy API should not inherit v1 image format by default (pr#35182, Jason Dillaman)

  • rbd: rbd-mirror: improve detection of blacklisted state (pr#33533, Mykola Golub)

  • rgw/kafka: add kafka endpoint support (pr#32960, Yuval Lifshitz, Willem Jan Withagen, Kefu Chai)

  • rgw/notifications: backporting features and bug fix (pr#34107, Yuval Lifshitz)

  • rgw/notifications: fix topic action fail with “MethodNotAllowed” (issue#44614, pr#33978, Yuval Lifshitz)

  • rgw/notifications: version id was not sent in versioned buckets (pr#35181, Yuval Lifshitz)

  • rgw: when you abort a multipart upload request, the quota may be not updated (pr#33268, Richard Bai(白学余))

  • rgw: Add support bucket policy for subuser (pr#33714, Seena Fallah)

  • rgw: Fix dynamic resharding not working for empty zonegroup in period (pr#33266, Or Friedmann)

  • rgw: Fix upload part copy range able to get almost any string (pr#33265, Or Friedmann)

  • rgw: GET/HEAD and PUT operations on buckets w/lifecycle expiration configured do not return x-amz-expiration header (pr#32924, Matt Benjamin, Yuval Lifshitz)

  • rgw: MultipartObjectProcessor supports stripe size > chunk size (pr#33271, Casey Bodley)

  • rgw: ReplaceKeyPrefixWith and ReplaceKeyWith can not set at the same … (pr#34599, yuliyang)

  • rgw: anonomous swift to obj that dont exist should 401 (pr#35045, Matthew Oliver)

  • rgw: clear ent_list for each loop of bucket list (issue#44394, pr#34099, Yao Zongyou)

  • rgw: dmclock: wait until the request is handled (pr#34954, GaryHyg)

  • rgw: find oldest period and update RGWMetadataLogHistory() (pr#34597, Shilpa Jagannath)

  • rgw: fix SignatureDoesNotMatch when use ipv6 address in s3 client (pr#33267, yuliyang)

  • rgw: fix bug with (un)ordered bucket listing and marker w/ namespace (pr#34609, J. Eric Ivancich)

  • rgw: fix lc does not delete objects that do not have exactly the same tags as the rule (pr#35002, Or Friedmann)

  • rgw: fix multipart upload’s error response (pr#35019, GaryHyg)

  • rgw: fix rgw crash when duration is invalid in sts request (pr#33273, yuliyang)

  • rgw: fix some list buckets handle leak (pr#34986, Tianshan Qu)

  • rgw: get barbican secret key request maybe return error code (pr#33965, Richard Bai(白学余))

  • rgw: increase log level for same or older period pull msg (pr#34833, Ali Maredia)

  • rgw: make max_connections configurable in beast (pr#33340, Tiago Pasqualini)

  • rgw: making implicit_tenants backwards compatible (issue#24348, pr#33749, Marcus Watts)

  • rgw: multisite: enforce spawn window for incremental data sync (pr#33270, Casey Bodley)

  • rgw: radosgw-admin: add support for --bucket-id in bucket stats command (pr#34815, Vikhyat Umrao)

  • rgw: radosgw-admin: fix infinite loops in ‘datalog list’ (pr#35001, Casey Bodley)

  • rgw: reshard: skip stale bucket id entries from reshard queue (pr#34735, Abhishek Lekshmanan)

  • rgw: set bucket attr twice when delete lifecycle config (pr#34598, zhang Shaowen)

  • rgw: set correct storage class for append (pr#34064, yuliyang)

  • rgw: sts: add all http args to req_info (pr#33355, yuliyang)

  • rgw: tune sharded bucket listing (pr#33675, J. Eric Ivancich)

  • tests: migrate qa/ to python3 (pr#34171, Kefu Chai, Sage Weil, Casey Bodley, Rishabh Dave, Patrick Donnelly, Kyr Shatskyy, Michael Fritch, Xiubo Li, Ilya Dryomov, Alfonso Martínez, Thomas Bechtold)

  • tools/cli: bash_completion: Do not auto complete obsolete and hidden cmds (pr#35117, Kotresh HR)

  • tools/cli: ceph_argparse: increment matchcnt on kwargs (pr#33160, Matthew Oliver, Shyukri Shyukriev)

  • tools/rados: Unmask ‘-o’ to restore original behaviour (pr#33641, Brad Hubbard)

v14.2.9 Nautilus

This is the ninth bugfix release of Nautilus. This release fixes a couple of security issues in RGW & Messenger V2. We recommend all users to upgrade to this release.

值得注意的变化

  • CVE-2020-1759: Fixed nonce reuse in msgr V2 secure mode

  • CVE-2020-1760: Fixed XSS due to RGW GetObject header-splitting

v14.2.8 Nautilus

This is the eighth update to the Ceph Nautilus release series. This release fixes issues across a range of subsystems. We recommend that all users upgrade to this release.

值得注意的变化

  • The default value of bluestore_min_alloc_size_ssd has been changed to 4K to improve performance across all workloads.

  • The following OSD memory config options related to bluestore cache autotuning can now be configured during runtime:

    • osd_memory_base (default: 768 MB)

    • osd_memory_cache_min (default: 128 MB)

    • osd_memory_expected_fragmentation (default: 0.15)

    • osd_memory_target (default: 4 GB)

    The above options can be set with:

    ceph config set osd <option> <value>
    
  • The MGR now accepts profile rbdprofile rbd-read-only user caps. These caps can be used to provide users access to MGR-based RBD functionality such as rbd perf image iostat an rbd perf image iotop.

  • The configuration value osd_calc_pg_upmaps_max_stddev used for upmap balancing has been removed. Instead use the mgr balancer config upmap_max_deviation which now is an integer number of PGs of deviation from the target PGs per OSD. This can be set with a command like ceph config set mgr mgr/balancer/upmap_max_deviation 2. The default upmap_max_deviation is 5. There are situations where crush rules would not allow a pool to ever have completely balanced PGs. For example, if crush requires 1 replica on each of 3 racks, but there are fewer OSDs in 1 of the racks. In those cases, the configuration value can be increased.

  • RGW: a mismatch between the bucket notification documentation and the actual message format was fixed. This means that any endpoints receiving bucket notification, will now receive the same notifications inside a JSON array named ‘Records’. Note that this does not affect pulling bucket notification from a subscription in a ‘pubsub’ zone, as these are already wrapped inside that array.

  • CephFS: multiple active MDS forward scrub is now rejected. Scrub currently only is permitted on a file system with a single rank. Reduce the ranks to one via ceph fs set <fs_name> max_mds 1.

  • Ceph now refuses to create a file system with a default EC data pool. For further explanation, see: https://docs.ceph.com/docs/nautilus/cephfs/createfs/#creating-pools

  • Ceph will now issue a health warning if a RADOS pool has a pg_num value that is not a power of two. This can be fixed by adjusting the pool to a nearby power of two:

    ceph osd pool set <pool-name> pg_num <new-pg-num>
    

    Alternatively, the warning can be silenced with:

    ceph config set global mon_warn_on_pool_pg_num_not_power_of_two false
    

更改日志

  • bluestore: common/options: bluestore 4k min_alloc_size for SSD (pr#32998, Mark Nelson, Sage Weil)

  • bluestore: os/bluestore: Add config observer for osd memory specific options (pr#31852, Sridhar Seshasayee)

  • bluestore: os/bluestore/BlueStore.cc: set priorities for compression stats (pr#32845, Neha Ojha)

  • bluestore: os/bluestore: default bluestore_block_size 1T -> 100G (pr#32283, Sage Weil)

  • build/ops: cmake: remove seastar tests from “make check” (pr#32658, Kefu Chai)

  • build/ops: install-deps,rpm: enable devtoolset-8 on aarch64 also (issue#38892, pr#32651, Kefu Chai)

  • build/ops: rpm: add rpm-build to SUSE-specific make check deps (pr#32208, Nathan Cutler)

  • build/ops: switch to boost 1.72 (pr#32441, Willem Jan Withagen, Kefu Chai)

  • build/ops: tools/setup-virtualenv.sh: do not default to python2.7 (pr#30739, Nathan Cutler)

  • cephfs: cephfs-journal-tool: fix crash and usage (pr#32913, Xiubo Li)

  • cephfs: client: Add is_dir() check before changing directory (pr#32916, Varsha Rao)

  • cephfs: 客户端:在 lseek 中添加 SEEK_HOLE 和 SEEK_DATA 的处理 (pr#30764, Shen Hang)

  • cephfs: 客户端:当 cap != in->auth_cap 时添加警告 (pr#32065, Shen Hang)

  • cephfs: 客户端:当偏移量为 0 时可能返回 EINVAL (pr#30762, wenpengLi)

  • cephfs: 客户端: 修复 lazyio_synchronize() 以更新文件大小和 libcephfs: 添加对 LazyIO 的测试 (pr#30769, Sidharth Anupkrishnan)

  • cephfs: 客户端: _readdir_cache_cb() 可能使用已经清除的 readdir_cache (issue#41148, pr#30763, huanwen ren)

  • cephfs: 客户端: 移除 Inode.dir_contacts 字段并优雅地处理坏 whence 值到 llseek (pr#30766, Jeff Layton)

  • cephfs,common: osdc/objecter: 修复 last_sent 以科学格式显示并添加 age 到操作 (pr#31081, Varsha Rao)

  • cephfs: 禁止在运行时更改 fuse_default_permissions 选项 (pr#32915, Zhi Zhang)

  • cephfs: mds: 添加配置单个客户端会话的命令 (issue#40811, pr#32245, “Yan, Zheng”)

  • cephfs: mds: “通过 MDSRank 应用配置更改”,“从静止会话中召回 caps”和“在丢弃缓存时召回驱动 cap” (pr#30761, Patrick Donnelly, Jeff Layton)

  • cephfs: mds: 修复 OpenFileTable 的 assert(omap_num_objs <= MAX_OBJECTS) (pr#32756, “Yan, Zheng”)

  • cephfs: mds: 修复在 stale->resume 圈之后撤销 caps (pr#32909, “Yan, Zheng”)

  • cephfs: mds: 堆内存可能对某些工作负载增长过大 (pr#31802, Patrick Donnelly)

  • cephfs: MDSMonitor: 如果正在创建一个新的文件系统,则使用 EC 默认数据池发出健康警告 (pr#32600, Patrick Donnelly)

  • cephfs: mds: 冻结目录时 scrub 路径没有断言 (pr#32071, Zhi Zhang)

  • cephfs: mds: 在拒绝客户端时注意客户端功能 (pr#32914, Patrick Donnelly)

  • cephfs: mds/OpenFileTable: 匹配 MAX_ITEMS_PER_OBJ 与 osd_deep_scrub_large_omap_object_key_threshold (pr#32921, Vikhyat Umrao, Varsha Rao)

  • cephfs: mds: 正确评估不稳定锁,在驱逐客户端时 (pr#32073, “Yan, Zheng”)

  • cephfs: mds: 当集群有多个活动 MDS(超过一个等级)时,拒绝前向清理 (pr#32602, Patrick Donnelly, Milind Changire)

  • cephfs: mds: 拒绝无会话消息 (issue#40784, pr#30843, “Yan, Zheng”, Xiao Guodong, Shen Hang)

  • cephfs: mds: 如果操作使其超大小,则拆分目录,因为某些操作可能正在飞行 (pr#32077, Patrick Donnelly)

  • cephfs: mds returns -5(EIO) error when the deleted file does not exist (pr#30767, huanwen ren)

  • cephfs: mds: split the dir if the op makes it oversized, because some ops maybe in flight (pr#31302, simon gao)

  • cephfs: mds: 忽略磁盘根 inode 中编码的 snaprealm (pr#32079, “Yan, Zheng”)

  • cephfs: mgr: “mds metadata” 以设置与 fsmap 的新 DaemonState 竞争 (pr#31905, Patrick Donnelly)

  • cephfs: mgr/volumes: 允许在创建时设置子卷和子卷组的 uid, gid (issue#42923, pr#31741, Venky Shankar, Jos Collin)

  • cephfs: mgr/volumes: 在创建时获取垃圾和克隆条目而不会阻塞卷访问 (issue#44282, pr#33526, Venky Shankar)

  • cephfs: mgr/volumes: fs 子卷大小调整命令 (pr#31332, Jos Collin)

  • cephfs: mgr/volumes: 混合修复和功能增强 (issue#42646, issue#43645, pr#33122, Rishabh Dave, Joshua Schmid, Venky Shankar, Ramana Raja, Jos Collin)

  • cephfs: mon: 无论文件系统计数如何,都打印 FSMap (issue#44315, pr#33569, Venky Shankar)

  • cephfs: mon: print FSMap regardless of file system count (pr#32912, Patrick Donnelly)

  • cephfs: pybind/mgr/volumes: 空闲连接丢失不起作用 (pr#33116, Patrick Donnelly)

  • cephfs: RuntimeError: 在飞行文件高水位意外低 (0 / 6) (pr#33115, Patrick Donnelly)

  • ceph.in: 检查 ceph-conf 返回码 (pr#31367, Dimitri Savineau)

  • ceph-monstore-tool: 修正存储 mgr_command_descs 的键 (pr#33278, Kefu Chai)

  • ceph-volume: 添加 db 和 wal 支持到 raw 模式 (pr#32979, Sébastien Han)

  • ceph-volume: 添加将过滤器传递给 pvs, vgs 和 lvs 命令的方法 (pr#33217, Rishabh Dave)

  • ceph-volume: 添加 raw (--bluestore) 模式 (pr#32733, Jan Fajerski, Sage Weil)

  • ceph-volume: 添加 sizing 参数到 prepare (pr#33231, Jan Fajerski)

  • ceph-volume: 允许 everywhere 的 raw 块设备 (pr#32868, Jan Fajerski)

  • ceph-volume: 假设所有包含 mimic 的分支都是 msgrV1 (pr#31616, Jan Fajerski)

  • ceph-volume: 避免在 LV 少的 VG 中调用 zap_lv (pr#33297, Jan Fajerski)

  • ceph-volume: 批量蓝 Store 修复 create_lvs 调用 (pr#33232, Jan Fajerski)

  • ceph-volume: 批量蓝 Store 修复 create_lvs 调用 (pr#33301, Jan Fajerski)

  • ceph-volume/batch: 在非交互式情况下过滤设备时失败 (pr#33202, Jan Fajerski)

  • ceph-volume: 在 lvm 列表中取消引用符号链接 (pr#32877, Benoît Knecht)

  • ceph-volume: 在 zapping 文件存储时不要删除 vg 两次 (pr#33337, Jan Fajerski)

  • ceph-volume: 在清单中添加更细粒度的可用性概念 (pr#33240, Jan Fajerski)

  • ceph-volume: 修复 has_bluestore_label() 函数 (pr#33239, Guillaume Abrioux)

  • ceph-volume: 修复 lvm 批量中的 has_ceph_device (pr#33253, Jan Fajerski, Dimitri Savineau)

  • ceph-volume: fix the integer overflow (pr#32873, dongdong tao)

  • ceph-volume: 导入 mock.mock 而不是 unittest.mock (py2) (pr#32870, Jan Fajerski)

  • ceph-volume/lvm/activate.py: 澄清错误消息:fsid 引用 osd_fsid (pr#32864, Yaniv Kaul)

  • ceph-volume: lvm/deactivate: 添加单元测试,删除 --all (pr#32863, Jan Fajerski)

  • ceph-volume: lvm deactivate 命令 (pr#33209, Jan Fajerski)

  • ceph-volume: 使 get_devices fs 位置独立 (pr#33200, Jan Fajerski)

  • ceph-volume: 对“simple scan”子命令帮助进行小的清理 (pr#32556, Michael Fritch)

  • ceph-volume: 将 journal_size 作为 Size 而不是字符串 (pr#33334, Jan Fajerski)

  • ceph-volume: 重构 listing.py + 修复 (pr#33238, Jan Fajerski, Rishabh Dave, Guillaume Abrioux)

  • ceph-volume: 拒绝小于 5GB 的磁盘在清单中 (issue#40776, pr#31554, Jan Fajerski)

  • ceph-volume: 当已经完成时跳过 osd 创建 (pr#33242, Guillaume Abrioux)

  • ceph-volume/test: 修复 VolumeGroups (pr#32558, Jan Fajerski)

  • ceph-volume: 如果使用 db-devices 且 osds_per_device > 1,则使用正确的 extent (pr#32874, Fabian Niepelt)

  • ceph-volume: 使用 fsync 对 dd 命令 (pr#31553, Rishabh Dave)

  • ceph-volume: 使用 get_device_vgs 在 has_common_vg 中 (pr#33254, Jan Fajerski)

  • ceph-volume: util: 在 $PATH 中查找可执行文件 (pr#32860, Shyukri Shyukriev)

  • ceph-volume/zfs: 添加 inventory 命令 (pr#31295, Willem Jan Withagen)

  • common/admin_socket: 增加套接字超时 (pr#32063, Brad Hubbard)

  • common/bl: 修复悬而未决的 last_p 问题 (pr#33277, Radoslaw Zarzynski)

  • common/config: 当通过 mon 删除时更新配置值 (pr#32846, Sage Weil)

  • common: FIPS: 审计和切换一些 memset & bzero 用户 (pr#32167, Radoslaw Zarzynski)

  • common: 修复在 OpTracker 中访问正在进行的 inflight 操作时的死锁 (pr#32858, Radoslaw Zarzynski)

  • common/options: 删除未使用的 ms_msgr2_{sign,encrypt} (pr#31850, Ilya Dryomov)

  • common/util: 使用 ifstream 从 /proc 文件中读取 (pr#32901, Kefu Chai, songweibin)

  • 核心: auth/Crypto: 如果 getentropy() 失败,则回退到 /dev/urandom (pr#31301, Kefu Chai)

  • 核心: mon: 保持 v1 地址类型,如果明确设置 (pr#32028, Ricardo Dias)

  • 核心: mon/OSDMonitor: 修复 pool set target_size_bytes (等) 带单位后缀 (pr#31740, Prashant D)

  • 核心: osd/OSDMap: 如果池配置为非 2 的幂,则发出健康警告 (pr#30689, Sage Weil)

  • crush/CrushWrapper: 使用空权重向量表现 (pr#32905, Kefu Chai)

  • 文档:修复描述 crush_rule 的参数 (pr#32254, Ilya Dryomov)

  • doc/cephfs: improve add/remove MDS section (issue#39620, pr#31116, Patrick Donnelly)

  • doc/ceph-fuse: mention -k option in ceph-fuse man page (pr#30765, Rishabh Dave)

  • doc/ceph-volume: initial docs for zfs/inventory and zfs/api (pr#32746, Willem Jan Withagen)

  • doc: remove invalid option mon_pg_warn_max_per_osd (pr#31300, zhang daolong)

  • doc/_templates/page.html: redirect to etherpad (pr#32248, Neha Ojha)

  • doc: wrong datatype describing crush_rule (pr#32254, Kefu Chai)

  • 核心: mon: 不要将 THP 设置为 Ceph 守护程序 (pr#31646, Patrick Donnelly, Mark Nelson)

  • kv: 修复关闭与异步压缩之间的冲突 (pr#32715, Sage Weil)

  • librbd: diff 迭代时现在正确包括父级 (pr#32469, Jason Dillaman)

  • librbd: 修复 rbd_open_by_id, rbd_open_by_id_read_only (pr#32837, yangjun)

  • librbd: 删除命名空间时删除池对象 (pr#32839, Jason Dillaman)

  • librbd: 跳过具有不存在池的过时的子对象以列出后代 (pr#32841, songweibin)

  • librbd: 支持将压缩分配提示传递给 OSD (pr#32842, Jason Dillaman)

  • mgr: 添加 ‘rbd’ 配置文件以支持 ‘rbd_support’ 模块命令 (pr#32086, Jason Dillaman)

  • mgr/alerts: 简单健康警报 (pr#30820, Sage Weil)

  • mgr: Balancer 修复 (pr#31956, Neha Oja, Kefu Chai, David Zafman)

  • mgr/DaemonServer: 修复 ‘osd ok-to-stop’ 对于 EC 池 (pr#32844, Sage Weil)

  • mgr/dashboard: 添加调试模式,并在 SSL 握手时接受预期异常 (pr#31190, Kefu Chai, Ernesto Puerta, Joshua Schmid)

  • mgr/dashboard: block mirroring page results in internal server error (pr#32133, Jason Dillaman)

  • mgr/dashboard: check embedded Grafana dashboard references (issue#40008, pr#31808, Kiefer Chang)

  • mgr/dashboard: check if user has config-opt permissions (pr#32827, Alfonso Martínez)

  • mgr/dashboard: Cross sign button not working for some modals (pr#32012, Ricardo Marques)

  • mgr/dashboard: Dashboard can’t handle self-signed cert on Grafana API (pr#31792, Volker Theile)

  • mgr/dashboard: disable ‘Add Capability’ button in rgw user edit (pr#32930, Alfonso Martínez)

  • mgr/dashboard: fix restored RBD image naming issue (pr#31810, Kiefer Chang)

  • mgr/dashboard: grafana charts match time picker selection (pr#31999, Alfonso Martínez)

  • mgr/dashboard,grafana: remove shortcut menu (pr#31980, Ernesto Puerta)

  • mgr/dashboard: Handle always-on Ceph Manager modules correctly (pr#31782, Volker Theile)

  • mgr/dashboard: Hardening accessing the metadata (pr#32128, Volker Theile)

  • mgr/dashboard: iSCSI targets not available if any gateway is down (and more…) (pr#32304, Ricardo Marques)

  • mgr/dashboard: KeyError on dashboard reload (pr#32233, Patrick Seidensal)

  • mgr/dashboard: key-value-table doesn’t render booleans (pr#31789, Patrick Seidensal)

  • mgr/dashboard: Remove compression mode unset in pool from (pr#31784, Stephan Müller)

  • mgr/dashboard: show “Rename” in header & button when renaming RBD (pr#31779, Alfonso Martínez)

  • mgr/dashboard: sort monitors by open sessions correctly (pr#31791, Alfonso Martínez)

  • mgr/dashboard: Standby Dashboards don’t handle all requests properly (pr#32299, Volker Theile)

  • mgr/dashboard: Trim IQN on iSCSI target form (pr#31942, Ricardo Marques)

  • mgr/dashboard: Unable to set boolean values to false when default is true (pr#31941, Ricardo Marques)

  • mgr/dashboard: Using wrong identifiers in RGW user/bucket datatables (pr#32888, Volker Theile)

  • mgr/devicehealth: ensure we don’t store empty objects (pr#31735, Sage Weil)

  • mgr/devicehealth: fix telemetry stops sending device reports after 48 hours (pr#33346, Yaarit Hatuka, Sage Weil)

  • mgr: drop reference to msg on return (pr#33498, Patrick Donnelly)

  • mgr/MgrClient: fix open condition (pr#32769, Sage Weil)

  • mgr/pg_autoscaler: calculate pool_pg_target using pool size (pr#33170, Dan van der Ster)

  • mgr/pg_autoscaler: default to pg_num[_min] = 16 (pr#32069, Sage Weil)

  • mgr/pg_autoscaler: default to pg_num[_min] = 32 (pr#32931, Neha Ojha)

  • mgr/pg_autoscaler: implement shutdown method (pr#32068, Patrick Donnelly)

  • mgr/pg_autoscaler: only generate target_* health warnings if targets set (pr#32067, Sage Weil)

  • mgr/prometheus: assign a value to osd_dev_node when obj_store is not filestore or bluestore (pr#31556, jiahuizeng)

  • mgr/prometheus: report per-pool pg states (pr#33157, Aleksei Zakharov)

  • mgr/telemetry: anonymizing smartctl report itself (pr#33082, Yaarit Hatuka)

  • mgr/telemetry: check get_metadata return val (pr#33095, Yaarit Hatuka)

  • mgr/telemetry: split entity_name only once (handle ids with dots) (pr#33168, Dan Mick)

  • mgr/zabbix: Adds possibility to send data to multiple zabbix servers (pr#30009, slivik, Jakub Sliva)

  • mon/ConfigMonitor: fix handling of NO_MON_UPDATE settings (pr#32856, Sage Weil)

  • mon/ConfigMonitor: only propose if leader (pr#33155, Sage Weil)

  • mon: Don’t put session during feature change (pr#33152, Brad Hubbard)

  • mon: elector: return after triggering a new election (pr#33007, Greg Farnum)

  • monitoring: wait before firing osd full alert (pr#32070, Patrick Seidensal)

  • mon/MgrMonitor.cc: add always_on_modules to the output of “ceph mgr module ls” (pr#32997, Neha Ojha)

  • mon/MgrMonitor.cc: warn about missing mgr in a cluster with osds (pr#33142, Neha Ojha)

  • mon/OSDMonitor: Don’t update mon cache settings if rocksdb is not used (pr#32520, Sridhar Seshasayee, Sage Weil)

  • mon/OSDMonitor: fix format error ceph osd stat --format json (pr#32062, Zheng Yin)

  • mon/PGMap.h: disable network stats in dump_osd_stats (pr#32466, Neha Ojha, David Zafman)

  • mon: remove the restriction of address type in init_with_hosts (pr#31844, Hao Xiong)

  • mon/Session: only index osd ids >= 0 (pr#32908, Sage Weil)

  • mount.ceph: give a hint message when no mds is up or cluster is laggy (pr#32910, Xiubo Li)

  • mount.ceph: remove arbitrary limit on size of name= option (pr#32807, Jeff Layton)

  • msg: async/net_handler.cc: Fix compilation (pr#31736, Carlos Valiente)

  • osd: add osd_fast_shutdown option (default true) (pr#32743, Sage Weil)

  • osd: Allow 64-char hostname to be added as the “host” in CRUSH (pr#33147, Michal Skalski)

  • osd: Diagnostic logging for upmap cleaning (pr#32716, David Zafman)

  • osd/OSD: enhance osd numa affinity compatibility (pr#32843, luo rixin, Dai zhiwei)

  • osd/PeeringState.cc: don’t let num_objects become negative (pr#32857, Neha Ojha)

  • osd/PeeringState.cc: skip peer_purged when discovering all missing (pr#32847, Neha Ojha)

  • osd/PeeringState: do not exclude up from acting_recovery_backfill (pr#32064, Nathan Cutler, xie xingguo)

  • osd/PrimaryLogPG: skip obcs that don’t exist during backfill scan_range (pr#31028, Sage Weil)

  • osd: set affinity for *all* threads (pr#31359, Sage Weil)

  • osd: set collection pool opts on collection create, pg load (pr#32123, Sage Weil)

  • osd: Use physical ratio for nearfull (doesn’t include backfill resserve) (pr#32773, David Zafman)

  • pybind/mgr: Cancel output color control (pr#31697, Zheng Yin)

  • rbd: creating thick-provision image progress percent info exceeds 100% (pr#32840, Xiangdong Mu)

  • rbd: librbd: don’t call refresh from mirror::GetInfoRequest state machine (pr#32900, Mykola Golub)

  • rbd-mirror: clone v2 mirroring improvements (pr#31518, Mykola Golub)

  • rbd-mirror: fix ‘rbd mirror status’ asok command output (pr#32447, Mykola Golub)

  • rbd-mirror: make logrotate work (pr#32593, Mykola Golub)

  • rgw: add bucket permission verify when copy obj (pr#31089, NancySu05)

  • rgw: Adding ‘iam’ namespace for Role and User Policy related REST APIs (pr#32437, Pritha Srivastava)

  • rgw: adding mfa code validation when bucket versioning status is changed (pr#32759, Pritha Srivastava)

  • rgw: add num_shards to radosgw-admin bucket stats (pr#31182, Paul Emmerich)

  • rgw: allow reshard log entries for non-existent buckets to be cancelled (pr#32056, J. Eric Ivancich)

  • rgw: auto-clean reshard queue entries for non-existent buckets (pr#32055, J. Eric Ivancich)

  • rgw: build_linked_oids_for_bucket and build_buckets_instance_index should return negative value if it fails (pr#32820, zhangshaowen)

  • rgw: crypt: permit RGW-AUTO/default with SSE-S3 headers (pr#31862, Matt Benjamin)

  • rgw: data sync markers include timestamp from datalog entry (pr#32819, Casey Bodley)

  • rgw_file: avoid string::front() on empty path (pr#33008, Matt Benjamin)

  • rgw: fix a bug that bucket instance obj can’t be removed after resharding completed (pr#32822, zhang Shaowen)

  • rgw: fix an endless loop error when to show usage (pr#31684, lvshuhua)

  • rgw: fix bugs in listobjectsv1 (pr#32239, Albin Antony)

  • rgw: fix compile errors with boost 1.70 (pr#31289, Casey Bodley)

  • rgw: fix data consistency error casued by rgw sent timeout (pr#32821, 李纲彬82225)

  • rgw: fix list versions starts with version_id=null (pr#30743, Tianshan Qu)

  • rgw: fix one part of the bulk delete(RGWDeleteMultiObj_ObjStore_S3) fails but no error messages (pr#33151, Snow Si)

  • rgw: fix opslog operation field as per Amazon s3 (issue#20978, pr#32834, Jiaying Ren)

  • rgw: fix refcount tags to match and update object’s idtag (pr#30741, J. Eric Ivancich)

  • rgw: fix rgw crash when token is not base64 encode (pr#32050, yuliyang)

  • rgw: gc remove tag after all sub io finish (issue#40903, pr#30733, Tianshan Qu)

  • rgw: Incorrectly calling ceph::buffer::list::decode_base64 in bucket policy (pr#32832, GaryHyg)

  • rgw: maybe coredump when reload operator happened (pr#33149, Richard Bai(白学余))

  • rgw: move forward marker even in case of many rgw.none indexes (pr#32824, Ilsoo Byun)

  • rgw multisite: fixes for concurrent version creation (pr#32057, Or Friedmann, Casey Bodley)

  • rgw: prevent bucket reshard scheduling if bucket is resharding (pr#31298, J. Eric Ivancich)

  • rgw/pubsub: fix records/event json format to match documentation (pr#32221, Yuval Lifshitz)

  • rgw: radosgw-admin: sync status displays id of shard furthest behind (pr#32818, Casey Bodley)

  • rgw: return error if lock log shard fails (pr#32825, zhangshaowen)

  • rgw/rgw_rest_conn.h: fix build with clang (pr#32489, Bernd Zeimetz)

  • rgw: Select the std::bitset to resolv ambiguity (pr#32504, Willem Jan Withagen)

  • rgw: support radosgw-admin zone/zonegroup placement get command (pr#32835, jiahuizeng)

  • rgw: the http response code of delete bucket should not be 204-no-content (pr#32833, Chang Liu)

  • rgw: update s3-test download code for s3-test tasks (pr#32229, Ali Maredia)

  • rgw: update the hash source for multipart entries during resharding (pr#33183, dongdong tao)

  • rgw: url encode common prefixes for List Objects response (pr#32058, Abhishek Lekshmanan)

  • rgw: when resharding store progress json (pr#31683, Mark Kogan, Mark Nelson)

  • selinux: Allow ceph to read udev db (pr#32259, Boris Ranto)

v14.2.7 Nautilus

This is the seventh update to the Ceph Nautilus release series. This is a hotfix release primarily fixing a couple of security issues. We

值得注意的变化

  • CVE-2020-1699: Fixed a path traversal flaw in Ceph dashboard that

  • CVE-2020-1700: Fixed a flaw in RGW beast frontend that could lead to

v14.2.6 Nautilus

This is the sixth update to the Ceph Nautilus release series. This is a hotfix release primarily fixing a regression introduced in v14.2.5, all nautilus users

值得注意的变化

  • This release fixes aceph-mgrbug that caused mgr becoming unresponsive onissue#43364 (pr#32466, David Zafman, Neha Ojha)

v14.2.5 Nautilus

This is the fifth release of the Ceph Nautilus release series. Among the many

值得注意的变化

Critical fix:

  • This release fixes acritical BlueStore bugintroduced in 14.2.3 (and also present in 14.2.4) that can lead to data

New health warnings:

  • Ceph will now issue health warnings if daemons have recently crashed. Ceph

    ceph crash ls-new
    

    To acknowledge a particular crash (or all crashes) and silence the health warning:

    ceph crash archive <crash-id>
    ceph crash archive-all
    
  • Ceph will issue a health warning if a RADOS pool’ssizeis set to 1

    ceph osd pool set <pool-name> size <num-replicas>
    

    The warning can be silenced with:

    ceph config set global mon_warn_on_pool_no_redundancy false
    
  • A health warning is now generated if the average osd heartbeat pingmon_warn_on_slow_ping_ratiospecifies a percentage ofosd_heartbeat_graceto determine the threshold. A value of zeromon_warn_on_slow_ping_timespecified in milliseconds over-rides the computed value, causes a warningceph daemon mgr.# dump_osd_network [threshold], willceph daemon osd.# dump_osd_network [threshold],

Changes in the telemetry module:

  • The telemetry module now reports more information.

    First, there is a new ‘device’ channel, enabled by default, that

    ceph config set mgr mgr/telemetry/channel_device false
    

    Second, we now report more information about CephFS file systems, including:

    • how many MDS daemons (in total and per file system)

    • which features are (or have been) enabled

    • how many data pools

    • approximate file system age (year + month of creation)

    • how many files, bytes, and snapshots

    • how much metadata is being cached

    We have also added:

    • which Ceph release the monitors are running

    • whether msgr v1 or v2 addresses are used for the monitors

    • whether IPv4 or IPv6 addresses are used for the monitors

    • whether RADOS cache tiering is enabled (and which mode)

    • whether pools are replicated or erasure coded, and

    • how many hosts are in the cluster, and how many hosts have each type of daemon

    • whether a separate OSD cluster network is being used

    • how many RBD pools and images are in the cluster, and how many pools have RBD mirroring enabled

    • how many RGW daemons, zones, and zonegroups are present; which RGW frontends are in use

    • aggregate stats about the CRUSH map, like which algorithms are used, how

    If you had telemetry enabled, you will need to re-opt-in with:

    ceph telemetry on
    

    You can view exactly what information will be reported first with:

    ceph telemetry show        # see everything
    ceph telemetry show basic  # basic cluster info (including all of the new info)
    

OSD:

  • A new OSD daemon command, ‘dump_recovery_reservations’, reveals the

  • Another new OSD daemon command, ‘dump_scrub_reservations’, reveals the

RGW:

  • RGW now supports S3 Object Lock set of APIs allowing for a WORM model for

  • RGW now supports List Objects V2

更改日志

  • bluestore/KernelDevice: fix RW_IO_MAX constant (pr#31397, Sage Weil)

  • bluestore: Don’t forget sub kv_submitted_waiters (pr#30048, Jianpeng Ma)

  • bluestore: apply garbage collection against excessive blob count growth (pr#30144, Igor Fedotov)

  • bluestore: apply shared_alloc_size to shared device with log level change (pr#30229, Vikhyat Umrao, Sage Weil, Igor Fedotov, Neha Ojha)

  • bluestore: consolidate extents from the same device only (pr#31644, Igor Fedotov)

  • bluestore: fix improper setting of STATE_KV_SUBMITTED (pr#30755, Igor Fedotov)

  • bluestore: shallow fsck mode and legacy statfs auto repair (pr#30685, Sage Weil, Igor Fedotov)

  • bluestore: tool to check fragmentation (pr#29949, Adam Kupczyk)

  • build/ops: admin/build-doc: use python3 (pr#30664, Kefu Chai)

  • build/ops: backport endian fixes (issue#40114, pr#30697, Ulrich Weigand, Jeff Layton)

  • build/ops: cmake,rgw: IBM Z build fixes (pr#30696, Ulrich Weigand)

  • build/ops: cmake/BuildDPDK: ignore gcc8/9 warnings (pr#30360, Yuval Lifshitz)

  • build/ops: cmake: Allow cephfs and ceph-mds to be build when building on FreeBSD (pr#31011, Willem Jan Withagen)

  • build/ops: cmake: enforce C++17 instead of relying on cmake-compile-features (pr#30283, Kefu Chai)

  • build/ops: fix build fail related to PYTHON_EXECUTABLE variable (pr#30261, Ilsoo Byun)

  • build/ops: hidden corei7 requirement in binary packages (pr#29772, Kefu Chai)

  • build/ops: install-deps.sh: add EPEL repo for non-x86_64 archs as well (pr#30601, Kefu Chai, Nathan Cutler)

  • build/ops: install-deps.sh: installpython*-develfor python*rpm-macros (pr#30322, Kefu Chai)

  • build/ops: install-deps: do not install if rpm already installed and ceph.spec.in: s/pkgversion/version_nodots/ (pr#30708, Jeff Layton, Kefu Chai)

  • build/ops: make patch build dependency explicit (issue#40175, pr#30046, Nathan Cutler)

  • build/ops: python3-cephfs should provide python36-cephfs (pr#30983, Kefu Chai)

  • build/ops: rpm: always build ceph-test package (pr#30049, Nathan Cutler)

  • build/ops: fdupes in SUSE builds to conform with packaging guidelines (issue#40973, pr#29784, Nathan Cutler)

  • build/ops: rpm: make librados2, libcephfs2 own (create) /etc/ceph (pr#31125, Nathan Cutler)

  • build/ops: rpm: put librgw lttng SOs in the librgw-devel package (issue#40975, pr#29785, Nathan Cutler)

  • build/ops: seastar,dmclock: use CXX_FLAGS from parent project (pr#30114, Kefu Chai)

  • build/ops: use gcc-8 (issue#38892, pr#30089, Kefu Chai)

  • tools: ceph-objectstore-tool: update-mon-db: do not fail if incmap is missing (pr#30740, Kefu Chai)

  • ceph-volume: PVolumes.filter shouldn’t purge itself (pr#30805, Rishabh Dave)

  • ceph-volume: VolumeGroups.filter shouldn’t purge itself (pr#30807, Rishabh Dave)

  • ceph-volume: add Ceph’s device id to inventory (pr#31210, Sebastian Wagner)

  • ceph-volume: allow to skip restorecon calls (pr#31555, Alfredo Deza)

  • ceph-volume: api/lvm: check if list of LVs is empty (pr#31228, Rishabh Dave)

  • ceph-volume: check if we run in an selinux environment (pr#31812, Jan Fajerski)

  • ceph-volume: do not fail when trying to remove crypt mapper (pr#30554, Guillaume Abrioux)

  • ceph-volume: fix stderr failure to decode/encode when redirected (pr#30300, Alfredo Deza)

  • ceph-volume: fix warnings raised by pytest (pr#30676, Rishabh Dave)

  • ceph-volume: lvm list is O(n^2) (pr#30093, Rishabh Dave)

  • ceph-volume: lvm.zap fix cleanup for db partitions (issue#40664, pr#30304, Dominik Csapak)

  • ceph-volume: mokeypatch calls to lvm related binaries (pr#31405, Jan Fajerski)

  • ceph-volume: pre-install python-apt and its variants before test runs (pr#30294, Alfredo Deza)

  • ceph-volume: rearrange api/lvm.py (pr#31408, Rishabh Dave)

  • ceph-volume: systemd fix typo in log message (pr#30520, Manu Zurmühl)

  • ceph-volume: use the OSD identifier when reporting success (pr#29769, Alfredo Deza)

  • ceph-volume: zap always skips block.db, leaves them around (issue#40664, pr#30307, Alfredo Deza)

  • tools: ceph.in: do not preload ASan unless necessary (pr#31676, Kefu Chai)

  • build/ops: ceph.spec.in: reserve 2500MB per build job (pr#30370, Dan van der Ster)

  • tools: ceph_volume_client: convert string to bytes object (issue#39405, issue#40369, issue#39510, issue#40800, issue#40460, pr#30030, Rishabh Dave)

  • cephfs-shell: Convert paths type from string to bytes (pr#30057, Varsha Rao)

  • cephfs: Allow mount.ceph to get mount info from ceph configs and keyrings (pr#30521, Jeff Layton)

  • cephfs: avoid map been inserted by mistake (pr#29878, XiaoGuoDong2019)

  • cephfs: client: more precise CEPH_CLIENT_CAPS_PENDING_CAPSNAP (pr#30032, “Yan, Zheng”)

  • cephfs: client: nfs-ganesha with cephfs client, removing dir reports not empty (issue#40746, pr#30442, Peng Xie)

  • cephfs: client: return -eio when sync file which unsafe reqs have been dropped (issue#40877, pr#30043, simon gao)

  • cephfs: fix a memory leak (pr#29879, XiaoGuoDong2019)

  • cephfs: mds: Fix duplicate client entries in eviction list (pr#30951, Sidharth Anupkrishnan)

  • cephfs: mds: cleanup truncating inodes when standby replay mds trim log segments (pr#29591, “Yan, Zheng”)

  • cephfs: mds: delay exporting directory whose pin value exceeds max rank id (issue#40603, pr#29938, Zhi Zhang)

  • cephfs: mds: evict an unresponsive client only when another client wants its caps (pr#30031, Rishabh Dave)

  • cephfs: mds: fix InoTable::force_consume_to() (pr#30041, “Yan, Zheng”)

  • cephfs: mds: fix infinite loop in Locker::file_update_finish (pr#31079, “Yan, Zheng”)

  • cephfs: mds: make MDSIOContextBase delete itself when shutting down (pr#30418, Xuehan Xu)

  • cephfs: mds: trim cache on regular schedule (pr#30040, Patrick Donnelly)

  • cephfs: mds: wake up lock waiters after forcibly changing lock state (issue#39987, pr#30508, “Yan, Zheng”)

  • cephfs: mount.ceph: properly handle -o strictatime (pr#30039, Jeff Layton)

  • cephfs: qa: ignore expected MDS_CLIENT_LATE_RELEASE warning (issue#40968, pr#29811, Patrick Donnelly)

  • cephfs: qa: wait for MDS to come back after removing it (issue#40967, pr#29832, Patrick Donnelly)

  • cephfs: tests: power off still resulted in client sending session close (issue#37681, pr#29983, Patrick Donnelly)

  • common/ceph_context: avoid unnecessary wait during service thread shutdown (pr#31097, Jason Dillaman)

  • common/config_proxy: hold lock while accessing mutable container (pr#30661, Jason Dillaman)

  • common: fix typo in rgw_user_max_buckets option long description (pr#31605, Alfonso Martínez)

  • core/osd: do not trust partially simplified pg_upmap_item (issue#42052, pr#30899, xie xingguo)

  • core: Health warnings on long network ping times (issue#40640, pr#30195, David Zafman)

  • core: If the nodeep-scrub/noscrub flags are set in pools instead of global cluster. List the pool names in the ceph status (issue#38029, pr#29991, Mohamad Gebai)

  • core: Improve health status for backfill_toofull and recovery_toofull and fix backfill_toofull seen on cluster where the most full OSD is at 1% (pr#29999, David Zafman)

  • core: Make dumping of reservation info congruent between scrub and recovery (pr#31444, David Zafman)

  • core: Revert “rocksdb: enable rocksdb_rmrange=true by default” (pr#31612, Neha Ojha)

  • core: filestore pre-split may not split enough directories (issue#39390, pr#29988, Jeegn Chen)

  • core: kv/RocksDBStore: tell rocksdb to set mode to 0600, not 0644 (pr#31031, Sage Weil)

  • core: mon/MonClient: ENXIO when sending command to down mon (pr#31037, Sage Weil, Greg Farnum)

  • core: mon/MonCommands: “smart” only needs read permission (pr#31111, Kefu Chai)

  • core: mon/MonMap: encode (more) valid compat monmap when we have v2-only addrs (pr#31658, Sage Weil)

  • core: mon/Monitor.cc: fix condition that checks for unrecognized auth mode (pr#31038, Neha Ojha)

  • core: mon/OSDMonitor: Use generic priority cache tuner for mon caches (pr#30419, Sridhar Seshasayee, Kefu Chai, Mykola Golub, Mark Nelson)

  • core: mon/OSDMonitor: add check for crush rule size in pool set size command (pr#30941, Vikhyat Umrao)

  • core: mon/OSDMonitor: trim not-longer-exist failure reporters (pr#30904, NancySu05)

  • core: mon/PGMap: fix incorrect pg_pool_sum when delete pool (pr#31704, luo rixin)

  • core: mon: C_AckMarkedDown has not handled the Callback Arguments (pr#29997, NancySu05)

  • core: mon: ensure prepare_failure() marks no_reply on op (pr#30480, Joao Eduardo Luis)

  • core: mon: show pool id in pool ls command (issue#40287, pr#30486, Chang Liu)

  • core: msg,mon/MonClient: fix auth for clients without CEPHX_V2 feature (pr#30524, Sage Weil)

  • core: msg/auth: handle decode errors instead of throwing exceptions (pr#31099, Sage Weil)

  • core: msg/simple: reset in_seq_acked to zero when session is reset (pr#29592, Xiangyang Yu)

  • core: os/bluestore: fix objectstore_blackhole read-after-write (pr#31019, Sage Weil)

  • core: osd/OSDCap: Check for empty namespace (issue#40835, pr#29998, Brad Hubbard)

  • core: mon/OSDMonitor: make memory autotune disable itself if no rocksdb (pr#32045, Sage Weil)

  • core: osd/PG: Add PG to large omap log message (pr#30923, Brad Hubbard)

  • core: osd/PGLog: persist num_objects_missing for replicas when peering is done (pr#31077, xie xingguo)

  • core: osd/PeeringState: do not complain about past_intervals constrained by oldest epoch (pr#30000, Sage Weil)

  • core: osd/PeeringState: fix wrong history of merge target (pr#30280, xie xingguo)

  • core: osd/PeeringState: recover_got - add special handler for empty log and improvements to standalone tests (pr#30528, Sage Weil, David Zafman, xie xingguo)

  • core: osd/PrimaryLogPG: Avoid accessing destroyed references in finish_degr… (pr#29994, Tao Ning)

  • core: osd/PrimaryLogPG: update oi.size on write op implicitly truncating ob… (pr#30278, xie xingguo)

  • core: osd/ReplicatedBackend: check against empty data_included before enabling crc (pr#29716, xie xingguo)

  • core: osd/osd_types: fix {omap,hitset_bytes}_stats_invalid handling on spli… (pr#30643, Sage Weil)

  • core: osd: Better error message when OSD count is less than osd_pool_default_size (issue#38617, pr#29992, Kefu Chai, Sage Weil, zjh)

  • core: osd: Remove unused osdmap flags full, nearfull from output (pr#30900, David Zafman)

  • core: osd: add log information to record the cause of do_osd_ops failure (pr#30546, NancySu05)

  • core: osd: clear PG_STATE_CLEAN when repair object (pr#30050, Zengran Zhang)

  • core: osd: fix possible crash on sending dynamic perf stats report (pr#30648, Mykola Golub)

  • core: osd: merge replica log on primary need according to replica log’s crt (pr#30051, Zengran Zhang)

  • core: osd: prime splits/merges for any potential fabricated split/merge par… (issue#38483, pr#30371, xie xingguo)

  • core: osd: release backoffs during merge (pr#31822, Sage Weil)

  • core: osd: rollforward may need to mark pglog dirty (issue#40403, pr#31034, Zengran Zhang)

  • core: osd: scrub error on big objects; make bluestore refuse to start on big objects (pr#30783, David Zafman, Sage Weil)

  • core: osd: support osd_repair_during_recovery (issue#40620, pr#29748, Jeegn Chen)

  • core: pool_stat.dump() - value of num_store_stats is wrong (issue#39340, pr#29946, xie xingguo)

  • doc/ceph-kvstore-tool: add description for ‘stats’ command (pr#30245, Josh Durgin, Adam Kupczyk)

  • doc/mgr/telemetry: update default interval (pr#31009, Tim Serong)

  • doc/rbd: s/guess/xml/ for codeblock lexer (pr#31074, Kefu Chai)

  • doc: Fix rbd namespace documentation (pr#29731, Ricardo Marques)

  • doc: cephfs: add section on fsync error reporting to posix.rst (issue#24641, pr#30025, Jeff Layton)

  • doc: default values for mon_health_to_clog_* were flipped (pr#30003, James McClune)

  • doc: fix urls in posix.rst (pr#30686, Jos Collin)

  • doc: max_misplaced option was renamed in Nautilus (pr#30649, Nathan Fish)

  • doc: pg_num should always be a power of two (pr#30004, Lars Marowsky-Bree, Kai Wagner)

  • doc: update bluestore cache settings and clarify data fraction (issue#39522, pr#31259, Jan Fajerski)

  • mgr/ActivePyModules: behave if a module queries a devid that does not exist (pr#31411, Sage Weil)

  • mgr/BaseMgrStandbyModule: drop GIL in ceph_get_module_option() (pr#30773, Kefu Chai)

  • mgr/balancer: python3 compatibility issue (pr#31012, Mykola Golub)

  • mgr/crash: backport archive feature, health alerts (pr#30851, Sage Weil)

  • mgr/crash: try client.crash[.host] before client.admin; add mon profile (issue#40781, pr#30844, Sage Weil, Dan Mick)

  • mgr/dashboard: Add transifex-i18ntool (pr#31160, Sebastian Krah)

  • mgr/dashboard: Allow disabling redirection on standby dashboards (issue#41813, pr#30382, Volker Theile)

  • mgr/dashboard: Configuring an URL prefix does not work as expected (pr#31375, Volker Theile)

  • mgr/dashbaord: Fix calculation of PG status percentage (issue#41809, pr#30394, Tiago Melo)

  • mgr/dashboard: Fix CephFS chart (pr#30691, Stephan Müller)

  • mgr/dashboard: Fix grafana dashboards (pr#31733, Radu Toader)

  • mgr/dashboard: Improve position of MDS chart tooltip (pr#31565, Tiago Melo)

  • mgr/dashboard: Provide the name of the object being deleted (pr#31263, Ricardo Marques)

  • mgr/dashboard: RBD tests must use pools with power-of-two pg_num (pr#31522, Ricardo Marques)

  • mgr/dashboard: Set RO as the default access_type for RGW NFS exports (pr#30516, Tiago Melo)

  • mgr/dashboard: Wait for breadcrumb text is present in e2e tests (pr#31576, Volker Theile)

  • mgr/dashboard: access_control: add grafana scope read access to *-manager roles (pr#30259, Ricardo Dias)

  • mgr/dashboard: do not log tokens (pr#31413, Kefu Chai)

  • mgr/dashboard: do not show non-pool data in pool details (pr#31516, Alfonso Martínez)

  • mgr/dashboard: edit/clone/copy rbd image after its data is received (pr#31349, Alfonso Martínez)

  • mgr/dashboard: internationalization support with AOT enabled (pr#30910, Ricardo Dias, Tiago Melo)

  • mgr/dashboard: run-backend-api-tests.sh improvements (pr#29487, Alfonso Martínez, Kefu Chai)

  • mgr/dashboard: tasks: only unblock controller thread after TaskManager thread (pr#31526, Ricardo Dias)

  • mgr/devicehealth: do not scrape mon devices (pr#31446, Sage Weil)

  • mgr/devicehealth: import _strptime directly (pr#32082, Sage Weil)

  • mgr/k8sevents: Initial ceph -> k8s events integration (pr#30215, Paul Cuzner, Sebastian Wagner)

  • mgr/pg_autoscaler: fix pool_logical_used (pr#31100, Ansgar Jazdzewski)

  • mgr/pg_autoscaler: fix race with pool deletion (pr#30008, Sage Weil)

  • mgr/prometheus: Cast collect_timeout (scrape_interval) to float (pr#30007, Ben Meekhof)

  • mgr/prometheus: Fix KeyError in get_mgr_status (pr#30774, Sebastian Wagner)

  • mgr/rbd_support: module.py:1088: error: Name ‘image_spec’ is not defined (pr#29978, Jason Dillaman)

  • mgr/restful: requests api adds support multiple commands (pr#31334, Duncan Chiang)

  • mgr/telemetry: backport a ton of stuff (pr#30849, alfonsomthd, Kefu Chai, Sage Weil, Dan Mick)

  • mgr/volumes: fix incorrect snapshot path creation (pr#31076, Ramana Raja)

  • mgr/volumes: handle exceptions in purge thread with retry (issue#41218, pr#30455, Venky Shankar)

  • mgr/volumes: list FS subvolumes, subvolume groups, and their snapshots (pr#30827, Jos Collin)

  • mgr/volumes: minor fixes (pr#29926, Venky Shankar, Jos Collin, Ramana Raja)

  • mgr/volumes: protection for “fs volume rm” command (pr#30768, Jos Collin, Ramana Raja)

  • mgr/zabbix: Fix typo in key name for PGs in backfill_wait state (issue#39666, pr#30006, Wido den Hollander)

  • mgr/zabbix: encode string for Python 3 compatibility (pr#30016, Nathan Cutler)

  • mgr/{dashboard,prometheus}: return FQDN instead of ‘0.0.0.0’ (pr#31482, Patrick Seidensal)

  • mgr: Release GIL before calling OSDMap::calc_pg_upmaps() (pr#31682, David Zafman, Shyukri Shyukriev)

  • mgr: Unable to reset / unset module options (issue#40779, pr#29550, Sebastian Wagner)

  • mgr: do not reset reported if a new metric is not collected (pr#30390, Ilsoo Byun)

  • mgr: fix weird health-alert daemon key (pr#31039, xie xingguo)

  • mgr: set hostname in DeviceState::set_metadata() (pr#30624, Kefu Chai)

  • pybind/cephfs: Modification to error message (pr#30026, Varsha Rao)

  • pybind/rados: fix set_omap() crash on py3 (pr#30622, Sage Weil)

  • pybind/rbd: deprecateparent_info (pr#30818, Ricardo Marques)

  • rbd: rbd-mirror: cannot restore deferred deletion mirrored images (pr#30825, Jason Dillaman, Mykola Golub)

  • rbd: rbd-mirror: don’t overwrite status error returned by replay (pr#29870, Mykola Golub)

  • rbd: rbd-mirror: ignore errors relating to parsing the cluster config file (pr#30116, Jason Dillaman)

  • rbd: rbd-mirror: simplify peer bootstrapping (pr#30821, Jason Dillaman)

  • rbd: rbd-nbd: add netlink support and nl resize (pr#30532, Mike Christie)

  • rbd: cls/rbd: sanitize entity instance messenger version type (pr#30822, Jason Dillaman)

  • rbd: cls/rbd: sanitize the mirror image status peer address after reading from disk (pr#31833, Jason Dillaman)

  • rbd: krbd: avoid udev netlink socket overrun and retry on transient errors from udev_enumerate_scan_devices() (pr#31075, Ilya Dryomov, Adam C. Emerson)

  • rbd: librbd: always try to acquire exclusive lock when removing image (pr#29869, Mykola Golub)

  • rbd: librbd: behave more gracefully when data pool removed (pr#30824, Mykola Golub)

  • rbd: librbd: v1 clones are restricted to the same namespace (pr#30823, Jason Dillaman)

  • mgr/restful: Query nodes_by_id for items (pr#31261, Boris Ranto)

  • rgw/amqp: fix race condition in AMQP unit test (pr#30889, Yuval Lifshitz)

  • rgw/amqp: remove flaky amqp test (pr#31628, Yuval Lifshitz)

  • rgw/pubsub: backport notifications and pubsub (pr#30579, Yuval Lifshitz)

  • rgw/rgw_op: Remove get_val from hotpath via legacy options (pr#30160, Mark Nelson)

  • rgw: Potential crash in putbj (pr#29898, Adam C. Emerson)

  • rgw: Put User Policy is sensitive to whitespace (pr#29970, Abhishek Lekshmanan)

  • rgw: RGWCoroutine::call(nullptr) sets retcode=0 (pr#30248, Casey Bodley)

  • rgw: Swift metadata dropped after S3 bucket versioning enabled (pr#29961, Marcus Watts)

  • rgw: add S3 object lock feature to support object worm (pr#29905, Chang Liu, Casey Bodley, zhang Shaowen)

  • rgw: add minssing admin property when sync user info (pr#30680, zhang Shaowen)

  • rgw: beast frontend throws an exception when running out of FDs (pr#29963, Yuval Lifshitz)

  • rgw: data/bilogs are trimmed when no peers are reading them (issue#39487, pr#30999, Casey Bodley)

  • rgw: datalog/mdlog trim commands loop until done (pr#30869, Casey Bodley)

  • rgw: dns name is not case sensitive (issue#40995, pr#29971, Casey Bodley, Abhishek Lekshmanan)

  • rgw: fix a bug that lifecycle expiraton generates delete marker continuously (issue#40393, pr#30037, zhang Shaowen)

  • rgw: fix cls_bucket_list_unordered() partial results (pr#30252, Mark Kogan)

  • rgw: fix data sync start delay if remote haven’t init data_log (pr#30509, Tianshan Qu)

  • rgw: fix default storage class for get_compression_type (pr#31026, Casey Bodley)

  • rgw: fix drain handles error when deleting bucket with bypass-gc option (pr#29956, dongdong tao)

  • rgw: fix list bucket with delimiter wrongly skip some special keys (issue#40905, pr#30068, Tianshan Qu)

  • rgw: fix memory growth while deleteing objects with (pr#30472, Mark Kogan)

  • rgw: fix the bug of rgw not doing necessary checking to website configuration (issue#40678, pr#30325, Enming Zhang)

  • rgw: fixed “unrecognized arg” error when using “radosgw-admin zone rm” (pr#30247, Hongang Chen)

  • rgw: housekeeping reset stats (pr#29803, J. Eric Ivancich)

  • rgw: increase beast parse buffer size to 64k (pr#30437, Casey Bodley)

  • rgw: ldap auth: S3 auth failure should return InvalidAccessKeyId (pr#30651, Matt Benjamin)

  • rgw: lifecycle days may be 0 (pr#31073, Matt Benjamin)

  • rgw: lifecycle transitions on non existent placement targets (pr#29955, Abhishek Lekshmanan)

  • rgw: list objects version 2 (pr#29849, Albin Antony, zhang Shaowen)

  • rgw: multisite: radosgw-admin bucket sync status incorrectly reports “caught up” during full sync (issue#40806, pr#29974, Casey Bodley)

  • rgw: potential realm watch lost (issue#40991, pr#29972, Tianshan Qu)

  • rgw: protect AioResultList by a lock to avoid race condition (pr#30746, Ilsoo Byun)

  • rgw: radosgw-admin: add --uid check in bucket list command (pr#30604, Vikhyat Umrao)

  • rgw: returns one byte more data than the requested range from the SLO object (pr#29960, Andrey Groshev)

  • rgw-admin: search for user by access key (pr#29959, Matt Benjamin)

  • rgw: rgw-log issues the wrong message when decompression fails (pr#29965, Han Fengzhe)

  • rgw: directory enumeration can be accelerated 1-2 orders of magnitude taking stats from bucket index Part I (stats from S3/Swift only) (issue#40456, pr#29954, Matt Benjamin)

  • rgw: rgw_file: readdir: do not construct markers w/leading ‘/’ (pr#29969, Matt Benjamin)

  • rgw: silence warning “control reaches end of non-void function” (issue#40747, pr#31742, Jos Collin)

  • rgw: sync with elastic search v7 (pr#31027, Chang Liu)

  • rgw: use explicit to_string() overload for boost::string_ref (issue#39611, pr#31650, Casey Bodley, Ulrich Weigand)

  • rgw: when using radosgw-admin to list bucket, can set --max-entries excessively high (pr#29777, J. Eric Ivancich)

  • tests: “CMake Error” in test_envlibrados_for_rocksdb.sh (pr#29979, Kefu Chai)

  • tests: Get libcephfs and cephfs to compile with FreeBSD (pr#31136, Willem Jan Withagen)

  • tests: add debugging failed osd-release setting (pr#31040, Patrick Donnelly)

  • tests: cephfs: fix malformed qa suite config (pr#30038, Patrick Donnelly)

  • tests: cls_rbd/test_cls_rbd: update TestClsRbd.sparsify (pr#30354, Kefu Chai)

  • tests: cls_rbd: removed mirror peer pool test cases (pr#30948, Jason Dillaman)

  • tests: enable dashboard tests to be run with “--suite rados/dashboard” (pr#31248, Nathan Cutler)

  • tests: librbd: set nbd timeout due to newer kernels defaulting it on (pr#30423, Jason Dillaman)

  • tests: qa/suites/krbd: run unmap subsuite with msgr1 only (pr#31290, Ilya Dryomov)

  • tests: qa/tasks/cbt: run stop-all.sh while shutting down (pr#31304, Sage Weil)

  • tests: qa/workunits/rbd: stress testpr#31641, Sage Weil)

  • tests: qa/workunits/rbd: stress test pr#29871 (pr#29871, Mykola Golub)

  • tests: qa: avoid page cache for krbd discard round off tests (pr#30464, Ilya Dryomov)

  • tests: qa: sleep briefly after resetting kclient (pr#37750, Patrick Donnelly)

  • tests: rados/mgr/tasks/module_selftest: whitelist mgr client getting blacklisted (issue#40867, pr#29649, Sage Weil)

  • tests: test_librados_build.sh: grab from nautilus branch in nautilus (pr#31604, Nathan Cutler)

  • tests: valgrind: UninitCondition in ceph::crypto::onwire::AES128GCM_OnWireRxHandler::authenticated_decrypt_update_final() (issue#38827, pr#29928, Radoslaw Zarzynski)

  • tools/rados: add --pgid in help (pr#30607, Vikhyat Umrao)

  • tools/rados: call pool_lookup() after rados is connected (pr#30605, Vikhyat Umrao)

  • tools/rbd-ggate: close log before running postfork (pr#30120, Willem Jan Withagen)

  • tools: ceph-backport.sh: add deprecation warning (pr#30748, Nathan Cutler)

  • tools: ceph-objectstore-tool can’t remove head with bad snapset (pr#30080, David Zafman)

v14.2.4 Nautilus

This is the fourth release in the Ceph Nautilus stable release series. Its sole

值得注意的变化

  • The ceph-volume in Nautilus v14.2.3 was found to contain a serioushttps://tracker.ceph.com/issues/41660, which

更改日志

  • ceph-volume: fix stderr failure to decode/encode when redirected (pr#30300, Alfredo Deza)

v14.2.3 Nautilus

This is the third bug fix release of Ceph Nautilus release series. We recommendUpgrading from Mimic or Luminous.

值得注意的变化

  • CVE-2019-10222 - Fixed a denial of service vulnerability where an unauthenticated client of Ceph Object Gateway could trigger a crash from an uncaught exception

  • Nautilus-based librbd clients can now open images on Jewel clusters.

  • The RGW num_rados_handles has been removed. If you were using a value of num_rados_handles greater than 1, multiply your current objecter_inflight_opsobjecter_inflight_op_bytes parameters by the old num_rados_handles to get the same throttle behavior.

  • The secure mode of Messenger v2 protocol is no longer experimental with this release. This mode is now the preferred mode of connection for monitors.

  • “osd_deep_scrub_large_omap_object_key_threshold” has been lowered to detect an object with large number of omap keys more easily.

  • The Ceph Dashboard now supports silencing Prometheus alert notifications.

更改日志

  • bluestore: 50-100% iops lost due to bluefs_preextend_wal_files = false (issue#38559, pr#28573, Vitaliy Filippov)

  • bluestore: add slow op detection for collection_listing (pr#29227, Igor Fedotov)

  • bluestore: avoid length overflow in extents returned by Stupid Allocator (issue#40703, pr#29023, Igor Fedotov)

  • bluestore/bluefs_types: consolidate contiguous extents (pr#28862, Sage Weil)

  • bluestore/bluestore-tool: minor fixes around migrate (pr#28893, Igor Fedotov)

  • bluestore: create the tail when first set FLAG_OMAP (issue#36482, pr#28963, Tao Ning)

  • bluestore: do not set osd_memory_target default from cgroup limit (pr#29745, Sage Weil)

  • bluestore: fix >2GB bluefs writes (pr#28966, kungf, Sage Weil)

  • bluestore: load OSD all compression settings unconditionally (issue#40480, pr#28892, Igor Fedotov)

  • bluestore: more smart allocator dump when lacking space for bluefs (issue#40623, pr#28891, Igor Fedotov)

  • bluestore: Set concurrent max_background_compactions in rocksdb to 2 (issue#40769, pr#29162, Mark Nelson)

  • bluestore: support RocksDB prefetch in buffered read mode (pr#28962, Igor Fedotov)

  • build/ops: Module ‘dashboard’ has failed: No module named routes (issue#24420, pr#28992, Paul Emmerich)

  • build/ops: rpm: drop SuSEfirewall2 (issue#40738, pr#29007, Matthias Gerstner)

  • build/ops: rpm: Require ceph-grafana-dashboards (pr#29682, Boris Ranto)

  • cephfs: ceph-fuse: mount does not support the fallocate() (issue#40615, pr#29157, huanwen ren)

  • cephfs: ceph_volume_client: d_name needs to be converted to string before using (issue#39406, pr#28609, Rishabh Dave)

  • cephfs: client: bump ll_ref from int32 to uint64_t (pr#29186, Xiaoxi CHEN)

  • cephfs: client: set snapdir’s link count to 1 (issue#40101, pr#29343, “Yan, Zheng”)

  • cephfs: client: unlink dentry for inode with llref=0 (issue#40960, pr#29478, Xiaoxi CHEN)

  • cephfs: getattr on snap inode stuck (issue#40361, pr#29231, “Yan, Zheng”)

  • cephfs: mds: cannot switch mds state from standby-replay to active (issue#40213, pr#29233, simon gao)

  • cephfs: mds: cleanup unneeded client_snap_caps when splitting snap inode (issue#39987, pr#29344, “Yan, Zheng”)

  • cephfs-shell: name ‘files’ is not defined error in do_rm() (issue#40489, pr#29158, Varsha Rao)

  • cephfs-shell: TypeError in poutput (issue#40679, pr#29156, Varsha Rao)

  • ceph.spec.in: Drop systemd BuildRequires in case of building for SUSE (pr#28937, Dominique Leuenberger)

  • ceph-volume: batch functional idempotency test fails since message is now on stderr (pr#29689, Jan Fajerski)

  • ceph-volume: batch gets confused when the same device is passed in two device lists (pr#29690, Jan Fajerski)

  • ceph-volume: does not recognize wal/db partitions created by ceph-disk (pr#29464, Jan Fajerski)

  • ceph-volume: [filestore,bluestore] single type strategies fail after tracking devices as sets (pr#29702, Jan Fajerski)

  • ceph-volume: lvm.activate: Return an error if WAL/DB devices absent (pr#29040, David Casier)

  • ceph-volume: missing string substitution when reporting mounts (issue#25030, pr#29260, Shyukri Shyukriev)

  • ceph-volume: prints errors to stdout with --format json (issue#38548, pr#29506, Jan Fajerski)

  • ceph-volume: prints log messages to stdout (pr#29600, Jan Fajerski, Kefu Chai, Alfredo Deza)

  • ceph-volume: run functional tests without dashboard (pr#29694, Andrew Schoen)

  • ceph-volume: simple functional tests drop test for lvm zap (pr#29660, Jan Fajerski)

  • ceph-volume: tests set the noninteractive flag for Debian (pr#29899, Alfredo Deza)

  • ceph-volume: when ‘type’ file is not present activate fails (pr#29416, Alfredo Deza)

  • cmake: update FindBoost.cmake (pr#29436, Willem Jan Withagen)

  • common/config: respect POD_MEMORY_REQUEST *and* POD_MEMORY_LIMIT env vars (pr#29562, Patrick Donnelly, Sage Weil)

  • common: Keyrings created by ceph auth get are not suitable for ceph auth import (issue#22227, pr#28740, Kefu Chai)

  • common: OutputDataSocket retakes mutex on error path (issue#40188, pr#29147, Casey Bodley)

  • core: Better default value for osd_snap_trim_sleep (pr#29678, Neha Ojha)

  • core: Change default for bluestore_fsck_on_mount_deep as false (pr#29697, Neha Ojha)

  • core: lazy omap stat collection (pr#29188, Brad Hubbard)

  • core: librados: move buffer free functions to inline namespace (issue#39972, pr#29244, Jason Dillaman)

  • core: maybe_remove_pg_upmap can be super inefficient for large clusters (issue#40104, pr#28756, xie xingguo)

  • core: MDSMonitor: use stringstream instead of dout for mds repaired (issue#40472, pr#29159, Zhi Zhang)

  • core: osd beacon sometimes has empty pg list (issue#40377, pr#29254, Sage Weil)

  • core: s3tests-test-readwrite failed in rados run (Connection refused) (issue#17882, pr#29325, Casey Bodley)

  • doc: Document more cache modes (issue#14153, pr#28958, Nathan Cutler)

  • doc: fix rgw ldap username token (pr#29455, Thomas Kriechbaumer)

  • doc: Improved dashboard feature overview (pr#28919, Lenz Grimmer)

  • doc: Object Gateway multisite document read-only argument error (issue#40458, pr#29306, Chenjiong Deng)

  • doc/rados: Correcting some typos in the clay code documentation (pr#29191, Myna)

  • doc/rbd: initial live-migration documentation (issue#40486, pr#29724, Jason Dillaman)

  • doc/rgw: document use of ‘realm pull’ instead of ‘period pull’ (issue#39655, pr#29484, Casey Bodley)

  • doc: steps to disable metadata_heap on existing rgw zones (issue#18174, pr#28738, Dan van der Ster)

  • doc: Update ‘ceph-iscsi’ min version (pr#29444, Ricardo Marques)

  • journal: properly advance read offset after skipping invalid range (pr#28816, Mykola Golub)

  • librbd: improve journal performance to match expected degredation (issue#40072, pr#29723, Mykola Golub, Jason Dillaman)

  • librbd: properly track in-flight flush requests (issue#40555, pr#28769, Jason Dillaman)

  • librbd: snapshot object maps can go inconsistent during copyup (issue#39435, pr#29722, Ilya Dryomov)

  • mds: change how mds revoke stale caps (issue#17854, pr#28583, Rishabh Dave, “Yan, Zheng”)

  • mgr: Add mgr metdata to prometheus exporter module (pr#29168, Paul Cuzner)

  • mgr/dashboard: Add, update and remove translations (issue#39701, pr#28938, Sebastian Krah)

  • mgr/dashboard: cephfs multimds graphs stack together (issue#37579, pr#28889, Kiefer Chang)

  • mgr/dashboard: Changing rgw-api-host does not get effective without disable/enable dashboard mgr module (issue#40252, pr#29044, Ricardo Marques)

  • mgr/dashboard: controllers/grafana is not Python3 compatible (issue#40428, pr#29524, Patrick Nawracay)

  • mgr/dashboard: Dentries value of MDS daemon in Filesystems page is inconsistent with ceph fs status output (issue#40097, pr#28912, Kiefer Chang)

  • mgr/dashboard: Display logged in information for each iSCSI client (issue#40046, pr#29045, Ricardo Marques)

  • mgr/dashboard: Fix e2e failures caused by webdriver version (pr#29491, Tiago Melo)

  • mgr/dashboard: Fix npm vulnerabilities (issue#40677, pr#29102, Tiago Melo)

  • mgr/dashboard: Fix the table mouseenter event handling test (issue#40580, pr#29354, Stephan Müller)

  • mgr/dashboard: Interlock 快速差异object-map (issue#39451, pr#29442, Patrick Nawracay)

  • mgr/dashboard: notify the user about unset ‘mon_allow_pool_delete’ flag beforehand (issue#39533, pr#28833, Tatjana Dehler)

  • mgr/dashboard: Optimize the calculation of portal IPs (issue#39580, pr#29061, Ricardo Marques, Kefu Chai)

  • mgr/dashboard: Pool graph/sparkline points do not display the correct values (issue#39650, pr#29352, Stephan Müller)

  • mgr/dashboard: RGW User quota validation is not working correctly (pr#29650, Volker Theile)

  • mgr/dashboard: Silence Alertmanager alerts (issue#36722, pr#28968, Stephan Müller)

  • mgr/dashboard: SSL certificate upload command throws deprecation warning (issue#39123, pr#29065, Ricardo Dias)

  • mgr/dashboard: switch ng2-toastr to ngx-toastr (pr#29050, Tiago Melo, Ernesto Puerta)

  • mgr/dashboard: Upgrade to ceph-iscsi config v10 (issue#40566, pr#28974, Ricardo Marques)

  • mgr/diskprediction_cloud: Service unavailable (issue#40478, pr#29454, Rick Chen)

  • mgr/influx: module fails due to missing close() method (issue#40174, pr#29207, Kefu Chai)

  • mgr/orchestrator: Cache and DeepSea iSCSI + NFS (pr#29060, Sebastian Wagner, Tim Serong)

  • mgr/rbd_support: support scheduling long-running background operations (issue#40621, issue#40790, pr#29725, Venky Shankar, Jason Dillaman)

  • mgr: use ipv4 default when ipv6 was disabled (issue#40023, pr#29194, kungf)

  • mgr/volumes: background purge queue for subvolumes (issue#40036, pr#29079, Patrick Donnelly, Venky Shankar, Kefu Chai)

  • mgr/volumes: minor enhancement and bug fix (issue#40927, issue#40617, pr#29490, Ramana Raja)

  • mon: auth mon isn’t loading full KeyServerData after restart (issue#40634, pr#28993, Sage Weil)

  • mon/MgrMonitor: fix null deref when invalid formatter is specified (pr#29566, Sage Weil)

  • mon/OSDMonitor: allow pg_num to increase when require_osd_release < N (issue#39570, pr#29671, Neha Ojha, Sage Weil)

  • mon/OSDMonitor.cc: better error message about min_size (pr#29617, Neha Ojha)

  • mon: paxos: introduce new reset_pending_committing_finishers for safety (issue#39484, pr#28528, Greg Farnum)

  • mon: set recovery priority etc on cephfs metadata pool (pr#29275, Sage Weil)

  • mon: take the mon lock in handle_conf_change (issue#39625, pr#29373, huangjun)

  • msg/async: avoid unnecessary costly wakeups for outbound messages (pr#29141, Jason Dillaman)

  • msg/async: enable secure mode by default, no longer experimental (pr#29143, Sage Weil)

  • msg/async: no-need set connection for Message (pr#29142, Jianpeng Ma)

  • msg/async, v2: make the reset_recv_state() unconditional (issue#40115, pr#29140, Radoslaw Zarzynski, Sage Weil)

  • nautilus:common/options.cc: Lower the default value of osd_deep_scrub_large_omap_object_key_threshold (pr#29173, Neha Ojha)

  • osd: Don’t randomize deep scrubs when noscrub set (issue#40198, pr#28768, David Zafman)

  • osd: Fix the way that auto repair triggers after regular scrub (issue#40530, issue#40073, pr#28869, sjust@redhat.com, David Zafman)

  • osd/OSD: auto mark heartbeat sessions as stale and tear them down (issue#40586, pr#29391, xie xingguo)

  • osd/OSD: keep synchronizing with mon if stuck at booting (pr#28639, xie xingguo)

  • osd/PG: do not queue scrub if PG is not active when unblock (issue#40451, pr#29372, Sage Weil)

  • osd/PG: fix cleanup of pgmeta-like objects on PG deletion (pr#29115, Sage Weil)

  • pybind/mgr/rbd_support: ignore missing support for RBD namespaces (issue#41475, pr#29945, Mykola Golub)

  • rbd/action: fix error getting positional argument (issue#40095, pr#28870, songweibin)

  • rbd: [cli] ‘export’ should handle concurrent IO completions (issue#40435, pr#29329, Jason Dillaman)

  • rbd: librbd: do not unblock IO prior to growing object map during resize (issue#39952, pr#29246, Jason Dillaman)

  • rbd-mirror: handle duplicates in image sync throttler queue (issue#40519, pr#28817, Mykola Golub)

  • rbd-mirror: link against the specified alloc library (issue#40110, pr#29193, Jason Dillaman)

  • rbd-nbd: sscanf return 0 mean not-match (issue#39269, pr#29315, Jianpeng Ma)

  • rbd: profile rbd OSD cap should add class rbd metadata_list cap by default (issue#39973, pr#29328, songweibin)

  • rbd: Reduce log level for cls/journal and cls/rbd expected errors (issue#40865, pr#29551, Jason Dillaman)

  • rbd: tests: add “rbd diff” coverage to suite (issue#39447, pr#28575, Shyukri Shyukriev, Nathan Cutler)

  • rgw: add ‘GET /admin/realm?list’ api to list realms (issue#39626, pr#28751, Casey Bodley)

  • rgw: allow radosgw-admin to list bucket w --allow-unordered (issue#39637, pr#28230, J. Eric Ivancich)

  • rgw: conditionally allow builtin users with non-unique email addresses (issue#40089, pr#28715, Matt Benjamin)

  • rgw: deleting bucket can fail when it contains unfinished multipart uploads (issue#40526, pr#29154, J. Eric Ivancich)

  • rgw: Don’t crash on copy when metadata directive not supplied (issue#40416, pr#29499, Adam C. Emerson)

  • rgw_file: advance_mtime() should consider namespace expiration (issue#40415, pr#29410, Matt Benjamin)

  • rgw_file: advance_mtime() takes RGWFileHandle::mutex unconditionally (pr#29801, Matt Benjamin)

  • rgw_file: all directories are virtual with respect to contents (issue#40204, pr#28886, Matt Benjamin)

  • rgw_file: fix invalidation of top-level directories (issue#40196, pr#29309, Matt Benjamin)

  • rgw_file: fix readdir eof() calc--caller stop implies !eof (issue#40375, pr#29409, Matt Benjamin)

  • rgw_file: include tenant when hashing bucket names (issue#40118, pr#28854, Matt Benjamin)

  • rgw: fix miss get ret in STSService::storeARN (issue#40386, pr#28713, Tianshan Qu)

  • rgw: fix prefix handling in LCFilter (issue#37879, pr#28550, Matt Benjamin)

  • rgw: fix rgw crash and set correct error code (pr#28729, yuliyang)

  • rgw: hadoop-s3a suite failing with more ansible errors (issue#39706, pr#28735, Casey Bodley)

  • rgw: hadoop-s3a suite failing with more ansible errors (issue#39706, pr#29265, Casey Bodley)

  • rgw: Librgw doesn’t GC deleted object correctly (issue#37734, pr#28648, Tao Chen, Matt Benjamin)

  • rgw: multisite: DELETE Bucket CORS is not forwarded to master zone (issue#39629, pr#28714, Chang Liu)

  • rgw: multisite: fix --bypass-gc flag for ‘radosgw-admin bucket rm’ (issue#24991, pr#28549, Casey Bodley)

  • rgw: multisite: ‘radosgw-admin bilog trim’ stops after 1000 entries (issue#40187, pr#29326, Casey Bodley)

  • rgw: multisite: ‘radosgw-admin bucket sync status’ should call syncs_from(source.name) instead of id (issue#40022, pr#28739, Casey Bodley)

  • rgw: multisite: radosgw-admin commands should not modify metadata on a non-master zone (issue#39548, pr#29163, Shilpa Jagannath)

  • rgw: multisite: RGWListBucketIndexesCR for data full sync needs pagination (issue#39551, pr#29311, Shilpa Jagannath)

  • rgw/OutputDataSocket: append_output(buffer::list&) says it will (but does not) discard output at data_max_backlog (issue#40178, pr#29310, Matt Benjamin)

  • rgw, Policy should be url_decode when assume_role (pr#28728, yuliyang)

  • rgw: provide admin-friendly reshard status output (issue#37615, pr#29286, Mark Kogan)

  • rgw: Put LC doesn’t clear existing lifecycle (issue#39654, pr#29313, Abhishek Lekshmanan)

  • rgw: remove rgw_num_rados_handles; set autoscale parameters or rgw metadata pools (pr#27684, Adam C. Emerson, Casey Bodley, Sage Weil)

  • rgw: RGWGC add perfcounter retire counter (issue#38251, pr#29308, Matt Benjamin)

  • rgw: Save an unnecessary copy of RGWEnv (issue#40183, pr#29205, Mark Kogan)

  • rgw: set null version object issues (issue#36763, pr#29287, Tianshan Qu)

  • rgw: Swift interface: server side copy fails if object name contains “?” (issue#27217, pr#28736, Casey Bodley)

  • rgw: TempURL should not allow PUTs with the X-Object-Manifest (issue#20797, pr#28712, Radoslaw Zarzynski)

  • rgw: the Multi-Object Delete operation of S3 API wrongly handles the Code response element (issue#18241, pr#28737, Radoslaw Zarzynski)

  • rocksdb: rocksdb_rmrange related improvements (pr#29439, Zengran Zhang, Sage Weil)

  • rocksdb: Updated to v6.1.2 (pr#29440, Mark Nelson)

  • tools: ceph-kvstore-tool: print db stats (pr#28810, Igor Fedotov)

v14.2.2 Nautilus

This is the second bug fix release of Ceph Nautilus release series. We recommend all Nautilus users upgrade to this release. For upgrading from older releases of ceph, general guidelines for upgrade to nautilus must be followed Upgrading from Mimic or Luminous.

值得注意的变化

  • The no{up,down,in,out} related commands have been revamped. There are now 2 ways to set the no{up,down,in,out} flags: the old ‘ceph osd [un]set <flag>’ command, which sets cluster-wide flags; and the new ‘ceph osd [un]set-group <flags> <who>’ command, which sets flags in batch at the granularity of any crush node, or device class.

  • radosgw-admin introduces two subcommands that allow the managing of expire-stale objects that might be left behind after a bucket reshard in earlier versions of RGW. One subcommand lists such objects and the other deletes them. Read the troubleshooting section of the dynamic resharding docs for details.

  • Earlier Nautilus releases (14.2.1 and 14.2.0) have an issue where deploying a single new (Nautilus) BlueStore OSD on an upgraded cluster (i.e. one that was originally deployed pre-Nautilus) breaks the pool utilization stats reported by ceph df. Until all OSDs have been reprovisioned or updated (via ceph-bluestore-tool repair), the pool stats will show values that are lower than the true value. This is resolved in 14.2.2, such that the cluster only switches to using the more accurate per-pool stats after all OSDs are 14.2.2 (or later), are BlueStore, and (if they were created prior to Nautilus) have been updated via the repair function.

  • The default value for mon_crush_min_required_version has been changed from fireflytohammer, which means the cluster will issue a health warning if your CRUSH tunables are older than hammer. There is generally a small (but non-zero) amount of data that will move around by making the switch to hammer tunables; for more information, see Tunables.

    If possible, we recommend that you set the oldest allowed client to hammer or later. You can tell what the current oldest allowed client is with:

    ceph osd dump | grep min_compat_client
    

    If the current value is older than hammer, you can tell whether it is safe to make this change by verifying that there are no clients older than hammer current connected to the cluster with:

    ceph features
    

    The newer straw2 CRUSH bucket type was introduced in hammer, and ensuring that all clients are hammer or newer allows new features only supported for straw2 buckets to be used, including the crush-compat mode for the Balancer Module.

更改日志

v14.2.1 Nautilus

This is the first bug fix release of Ceph Nautilus release series. We recommend all nautilus users upgrade to this release. For upgrading from older releases of ceph, general guidelines for upgrade to nautilus must be followed Upgrading from Mimic or Luminous.

值得注意的变化

  • Ceph now packages python bindings for python3.6 instead of python3.4, because EPEL7 recently switched from python3.4 to python3.6 as the native python3. see the announcement for more details on the background of this change.

Known Issues

  • Nautilus-based librbd clients cannot open images stored on pre-Luminous clusters

更改日志

  • bluestore: ceph-bluestore-tool: bluefs-bdev-expand cmd might assert if no WAL is configured (issue#39253, pr#27523, Igor Fedotov)

  • bluestore: os/bluestore: fix bitmap allocator issues (pr#27139, Igor Fedotov)

  • build/ops,rgw: rgw: build async scheduler only when beast is built (pr#27191, Abhishek Lekshmanan)

  • build/ops: build/ops: Running ceph under Pacemaker control not supported by SUSE Linux Enterprise (issue#38862, pr#27127, Nathan Cutler)

  • build/ops: build/ops: ceph-mgr-diskprediction-local requires numpy and scipy on SUSE, but these packages do not exist on SUSE (issue#38863, pr#27125, Nathan Cutler)

  • build/ops: cmake/FindRocksDB: fix IMPORTED_LOCATION for ROCKSDB_LIBRARIES (issue#38993, pr#27601, dudengke)

  • build/ops: cmake: revert librados_tp.so version from 3 to 2 (issue#39291, issue#39293, pr#27597, Nathan Cutler)

  • build/ops: qa,rpm,cmake: switch over to python3.6 (issue#39236, issue#39164, pr#27505, Boris Ranto, Kefu Chai)

  • cephfs: fs: we lack a feature bit for nautilus (issue#39078, issue#39187, pr#27497, Patrick Donnelly)

  • cephfs: ls -S command produces AttributeError: ‘str’ object has no attribute ‘decode’ (pr#27531, Varsha Rao)

  • cephfs: mds|kclient: MDS_CLIENT_LATE_RELEASE warning caused by inline bug on RHEL 7.5 (issue#39225, pr#27500, “Yan, Zheng”)

  • common,core: crush: various fixes for weight-sets, the osd_crush_update_weight_set option, and tests (pr#27119, Sage Weil)

  • common/blkdev: get_device_id: behave if model is lvm and id_model_enc isn’t there (pr#27158, Sage Weil)

  • common/config: parse --default-$option as a default value (pr#27217, Sage Weil)

  • core,mgr: mgr: autoscale down can lead to max_pg_per_osd limit (issue#39271, issue#38786, pr#27547, Sage Weil)

  • core,mon: mon/Monitor.cc: print min_mon_release correctly (pr#27168, Neha Ojha)

  • core,tests: tests: osd-markdown.sh can fail with CLI_DUP_COMMAND=1 (issue#38359, issue#39275, pr#27550, Sage Weil)

  • core: Improvements to auto repair (issue#38616, pr#27220, xie xingguo, David Zafman)

  • core: Rook: Fix creation of Bluestore OSDs (issue#39167, issue#39062, pr#27486, Sebastian Wagner)

  • core: ceph-objectstore-tool: rename dump-import to dump-export (issue#39325, issue#39284, pr#27610, David Zafman)

  • core: common/blkdev: handle devices with ID_MODEL as “LVM PV …” but valid ID_MODEL_ENC (pr#27096, Sage Weil)

  • core: common: fix deferred log starting (pr#27388, Sage Weil, Jason Dillaman)

  • core: crush/CrushCompiler: Fix __replacement_assert (issue#39174, pr#27620, Brad Hubbard)

  • core: global: explicitly call out EIO events in crash dumps (pr#27440, Sage Weil)

  • core: log: log_to_file + --default-* + fixes and improvements (pr#27278, Sage Weil)

  • core: mon/MgrStatMonitor: ensure only one copy of initial service map (issue#38839, pr#27116, Sage Weil)

  • core: mon/OSDMonitor: allow ‘osd pool set pgp_num_actual’ (pr#27060, Sage Weil)

  • core: mon: make mon_osd_down_out_subtree_limit update at runtime (pr#27582, Sage Weil)

  • core: mon: ok-to-stop commands for mon and mds (pr#27347, Sage Weil)

  • core: mon: quiet devname log noise (pr#27314, Sage Weil)

  • core: osd/OSDMap: add ‘zone’ to default crush map (pr#27117, Sage Weil)

  • core: osd/PGLog.h: print olog_can_rollback_to before deciding to rollback (issue#38906, issue#38894, pr#27302, Neha Ojha)

  • core: osd/osd_types: fix object_stat_sum_t fast-path decode (issue#39320, issue#39281, pr#27555, David Zafman)

  • core: osd: backport recent upmap fixes (issue#38860, issue#38967, issue#38897, issue#38826, pr#27225, huangjun, xie xingguo)

  • core: osd: process_copy_chunk remove obc ref before pg unlock (issue#38842, issue#38973, pr#27478, Zengran Zhang)

  • dashboard: NFS: failed to disable NFSv3 in export create (issue#39104, issue#38997, pr#27368, Tiago Melo)

  • doc/releases/nautilus: fix config update step (pr#27502, Sage Weil)

  • doc: doc/orchestrator: Fix broken bullet points (issue#39168, pr#27487, Sebastian Wagner)

  • doc: doc: Minor rados related documentation fixes (issue#38896, issue#38903, pr#27189, David Zafman)

  • doc: doc: rgw: Added library/package for Golang (issue#38730, issue#38867, pr#27549, Irek Fasikhov)

  • install-deps.sh: install ‘*rpm-macros’ (issue#39164, pr#27544, Kefu Chai)

  • mgr/dashboard add polish language (issue#39052, pr#27287, Sebastian Krah)

  • mgr/dashboard/qa: Improve tasks.mgr.test_dashboard.TestDashboard.test_standby (pr#27237, Volker Theile)

  • mgr/dashboard: 1 osds exist in the crush map but not in the osdmap breaks OSD page (issue#38885, issue#36086, pr#27543, Patrick Nawracay)

  • mgr/dashboard: Adapt iSCSI overview page to make use of ceph-iscsi (pr#27541, Ricardo Marques)

  • mgr/dashboard: Add date range and log search functionality (issue#37387, issue#38878, pr#27283, guodan1)

  • mgr/dashboard: Add refresh interval to the dashboard landing page (issue#26872, issue#38988, pr#27267, guodan1)

  • mgr/dashboard: Add separate option to config SSL port (issue#39001, pr#27393, Volker Theile)

  • mgr/dashboard: Added breadcrumb tests to NFS menu (issue#38981, pr#27589, Nathan Weinberg)

  • mgr/dashboard: Back button component (issue#39058, pr#27405, Stephan Müller)

  • mgr/dashboard: Cannot submit NFS export form when NFSv4 is not selected (issue#39105, issue#39063, pr#27370, Tiago Melo)

  • mgr/dashboard: Error creating NFS export without UDP (issue#39107, issue#39090, pr#27372, Tiago Melo)

  • mgr/dashboard: Error on iSCSI disk diff (pr#27460, Ricardo Marques)

  • mgr/dashboard: Filter iSCSI target images based on required features (issue#39002, pr#27363, Ricardo Marques)

  • mgr/dashboard: Fix env vars of run-tox.sh (issue#38798, issue#38864, pr#27361, Patrick Nawracay)

  • mgr/dashboard: Fixes tooltip behavior (pr#27395, Stephan Müller)

  • mgr/dashboard: FixtureHelper (issue#39041, pr#27398, Stephan Müller)

  • mgr/dashboard: NFS Squash field should be required (issue#39106, issue#39064, pr#27371, Tiago Melo)

  • mgr/dashboard: PreventDefault isn’t working on 400 errors (pr#27389, Stephan Müller)

  • mgr/dashboard: Typo in “CephFS Name” field on NFS form (issue#39067, pr#27449, Tiago Melo)

  • mgr/dashboard: dashboard giving 401 unauthorized (issue#38871, pr#27219, ming416)

  • mgr/dashboard: fix sparkline component (issue#38866, pr#27260, Alfonso Martínez)

  • mgr/dashboard: readonly user can’t see any pages (issue#39240, pr#27611, Stephan Müller)

  • mgr/dashboard: unify button/URL actions naming + bugfix (add whitelist to guard) (issue#37337, issue#39003, pr#27492, Ernesto Puerta)

  • mgr/dashboard: update vstart to use new ssl_server_port (issue#39124, pr#27394, Ernesto Puerta)

  • mgr/deepsea: use ceph_volume output in get_inventory() (issue#39083, pr#27319, Tim Serong)

  • mgr/diskprediction_cloud: Correct base64 encode translate table (pr#27167, Rick Chen)

  • mgr/orchestrator: Add error handling to interface (issue#38837, pr#27095, Sebastian Wagner)

  • mgr/pg_autoscaler: add pg_autoscale_bias (pr#27387, Sage Weil)

  • mgr: mgr/dashboard: Error on iSCSI target submission (pr#27461, Ricardo Marques)

  • mgr: ceph-mgr: ImportError: Interpreter change detected - this module can only be loaded into one interprer per process (issue#38865, pr#27128, Tim Serong)

  • mgr: mgr/DaemonServer: handle_conf_change - fix broken locking (issue#38964, issue#38899, pr#27454, xie xingguo)

  • mgr: mgr/balancer: Python 3 compatibility fix (issue#38831, issue#38855, pr#27227, Marius Schiffer)

  • mgr: mgr/dashboard: Check if gateway is in use before allowing the deletion via iscsi-gateway-rm command (pr#27457, Ricardo Marques)

  • mgr: mgr/dashboard: Display the number of active sessions for each iSCSI target (pr#27450, Ricardo Marques)

  • mgr: mgr/devicehealth: Fix python 3 incompatiblity (issue#38957, issue#38939, pr#27390, Marius Schiffer)

  • mgr: mgr/telemetry: add report_timestamp to sent reports (pr#27701, Dan Mick)

  • mgr: mgr/telemetry: use list; redact host; 24h default interval (pr#27709, Sage Weil, Dan Mick)

  • mgr: mgr: Configure Py root logger for Mgr modules (issue#38969, pr#27261, Volker Theile)

  • mgr: mgr: Diskprediction unable to transfer data into the cloud server (issue#38970, pr#27240, Rick Chen)

  • mon/MonClient: do not dereference auth_supported.end() (pr#27215, Kefu Chai)

  • mon/MonmapMonitor: clean up empty created stamp in monmap (issue#39085, pr#27399, Sage Weil)

  • mon: mon: add cluster log to file option (pr#27346, Sage Weil)

  • msg/async v2: make v2 work on rdma (pr#27216, Jianpeng Ma)

  • msg: default to debug_ms=0 (pr#27197, Sage Weil)

  • osd: OSDMapRef access by multiple threads is unsafe (pr#27402, Zengran Zhang, Kefu Chai)

  • qa/valgrind (pr#27320, Radoslaw Zarzynski)

  • rbd,tests: backport krbd discard qa fixes to nautilus (issue#38861, pr#27258, Ilya Dryomov)

  • rbd,tests: backport krbd discard qa fixes to stable branches (issue#38956, pr#27239, Ilya Dryomov)

  • rbd: librbd: ignore -EOPNOTSUPP errors when retrieving image group membership (issue#38834, pr#27080, Jason Dillaman)

  • rbd: librbd: look for pool metadata in default namespace (issue#38961, pr#27423, Mykola Golub)

  • rbd: librbd: trash move return EBUSY instead of EINVAL for migrating image (issue#38968, pr#27475, Mykola Golub)

  • rbd: rbd: krbd: return -ETIMEDOUT in polling (issue#38792, issue#38977, pr#27539, Dongsheng Yang)

  • rgw: Adding tcp_nodelay option to Beast (issue#38926, pr#27355, Or Friedmann)

  • rgw: Fix S3 compatibility bug when CORS is not found (issue#38923, issue#37945, pr#27331, Nick Janus)

  • rgw: LC: handle resharded buckets (pr#27559, Abhishek Lekshmanan)

  • rgw: Make rgw admin ops api get user info consistent with the command line (issue#39135, pr#27501, Li Shuhao)

  • rgw: don’t crash on missing /etc/mime.types (issue#38921, issue#38328, pr#27329, Casey Bodley)

  • rgw: don’t recalculate etags for slo/dlo (pr#27561, Casey Bodley)

  • rgw: fix RGWDeleteMultiObj::verify_permission() (issue#38980, pr#27586, Irek Fasikhov)

  • rgw: fix read not exists null version return wrong (issue#38811, issue#38909, pr#27306, Tianshan Qu)

  • rgw: ldap: fix early return in LDAPAuthEngine::init w/uri not empty() (issue#38754, pr#26972, Matt Benjamin)

  • rgw: multisite: data sync loops back to the start of the datalog after reaching the end (issue#39075, issue#39033, pr#27498, Casey Bodley)

  • rgw: nfs: skip empty (non-POSIX) path segments (issue#38744, issue#38773, pr#27208, Matt Benjamin)

  • rgw: nfs: svc-enable RGWLib (issue#38774, pr#27232, Matt Benjamin)

  • rgw: orphans find perf improvements (issue#39181, pr#27560, Abhishek Lekshmanan)

  • rgw: rgw admin: disable stale instance deletion in multisite (issue#39015, pr#27602, Abhishek Lekshmanan)

  • rgw: sse c fixes (issue#38700, pr#27296, Adam Kupczyk, Casey Bodley, Abhishek Lekshmanan)

  • rgw: support delimiter longer then one symbol (issue#38777, pr#27548, Matt Benjamin)

  • rook-ceph-system namespace hardcoded in the rook orchestrator (issue#38799, issue#39250, pr#27496, Sebastian Wagner)

  • rpm,cmake: use specified python3 version if any (pr#27382, Kefu Chai)

v14.2.0 Nautilus

This is the first stable release of Ceph Nautilus.

Major Changes from Mimic

  • 仪表板:

    The Ceph 仪表板 has gained a lot of new functionality:

    • Support for multiple users / roles

    • SSO (SAMLv2) for user authentication

    • Auditing support

    • New landing page, showing more metrics and health info

    • I18N support

    • REST API documentation with Swagger API

    New Ceph management features include:

    • OSD management (mark as down/out, change OSD settings, recovery profiles)

    • Cluster config settings editor

    • Ceph Pool management (create/modify/delete)

    • ECP management

    • RBD mirroring configuration

    • Embedded Grafana Dashboards (derived from Ceph Metrics)

    • CRUSH map viewer

    • NFS Ganesha management

    • iSCSI target management (via Ceph iSCSI Gateway)

    • RBD QoS configuration

    • Ceph Manager (ceph-mgr) module management

    • Prometheus alert Management

    Also, the Ceph Dashboard is now split into its own package named ceph-mgr-dashboard. You might want to install it separately, if your package management software fails to do so when it installs ceph-mgr.

  • RADOS:

    • The number of placement groups (PGs) per pool can now be decreased at any time, and the cluster can automatically tune the PG count based on cluster utilization or administrator hints.

    • The new v2 wire protocol brings support for encryption on the wire.

    • Physical storage devices consumed by OSD and Monitor daemons are now tracked by the cluster along with health metrics (i.e., SMART), and the cluster can apply a pre-trained prediction model or a cloud-based prediction service to warn about expected HDD or SSD failures.

    • The NUMA node for OSD daemons can easily be monitored via the ceph osd numa-status command, and configured via the osd_numa_node config option.

    • When BlueStore OSDs are used, space utilization is now broken down by object data, omap data, and internal metadata, by pool, and by pre- and post- compression sizes.

    • OSDs more effectively prioritize the most important PGs and objects when performing recovery and backfill.

    • Progress for long-running background processes--like recovery after a device failure--is now reported as part of ceph status.

    • An experimental Coupled-Layer “Clay” erasure code plugin has been added that reduces network bandwidth and IO needed for most recovery operations.

  • RGW:

    • S3 lifecycle transition for tiering between storage classes.

    • A new web frontend (Beast) has replaced civetweb as the default, improving overall performance.

    • A new publish/subscribe infrastructure allows RGW to feed events to serverless frameworks like knative or data pipelies like Kafka.

    • A range of authentication features, including STS federation using OAuth2 and OpenID::connect and an OPA (Open Policy Agent) authentication delegation prototype.

    • The new archive zone federation feature enables full preservation of all objects (including history) in a separate zone.

  • CephFS:

    • MDS stability has been greatly improved for large caches and long-running clients with a lot of RAM. Cache trimming and client capability recall is now throttled to prevent overloading the MDS.

    • CephFS may now be exported via NFS-Ganesha clusters in environments managed by Rook. Ceph manages the clusters and ensures high-availability and scalability. An introductory demo is available. More automation of this feature is expected to be forthcoming in future minor releases of Nautilus.

    • The MDS mds_standby_for_*, mon_force_standby_active, and mds_standby_replay configuration options have been obsoleted. Instead, the operator may now set the new allow_standby_replay flag on the CephFS file system. This setting causes standbys to become standby-replay for any available rank in the file system.

    • MDS now supports dropping its cache which concurrently asks clients to trim their caches. This is done using MDS admin socket cache drop command.

    • It is now possible to check the progress of an on-going scrub in the MDS. Additionally, a scrub may be paused or aborted. See the scrub documentation for more information.

    • A new interface for creating volumes is provided via the ceph volume command-line-interface.

    • A new cephfs-shell tool is available for manipulating a CephFS file system without mounting.

    • CephFS-related output from ceph status has been reformatted for brevity, clarity, and usefulness.

    • Lazy IO has been revamped. It can be turned on by the client using the new CEPH_O_LAZY flag to the ceph_open C/C++ API or via the config option client_force_lazyio.

    • CephFS file system can now be brought down rapidly via the ceph fs fail command. See the administration page for more information.

  • RBD:

    • Images can be live-migrated with minimal downtime to assist with moving images between pools or to new layouts.

    • New rbd perf image iotoprbd perf image iostat commands provide an iotop- and iostat-like IO monitor for all RBD images.

    • The ceph-mgr Prometheus exporter now optionally includes an IO monitor for all RBD images.

    • Support for separate image namespaces within a pool for tenant isolation.

  • Misc:

    • Ceph has a new set of orchestrator modules to directly interact with external orchestrators like ceph-ansible, DeepSea, Rook, or simply ssh via a consistent CLI (and, eventually, Dashboard) interface.

Upgrading from Mimic or Luminous

Notes

  • During the upgrade from Luminous to Nautilus, it will not

  • We recommend you avoid creating any RADOS pools while the upgrade is

  • You can monitor the progress of your upgrade at each stage with the ceph versionsIf your cluster is

Instructions

  1. If your cluster was originally installed with a version prior to

    如果你不确定你的 Luminous 集群是否已经完成了对所有 PG 的完整清理,你可以通过运行以下命令检查你的集群状态:

    # ceph osd dump | grep ^flags
    

    为了能够继续进行 Nautilus,你的 OSD 映射必须包含recovery_deletespurged_snapdirs这些标志。

    如果你的 OSD 映射不包含这两个标志中的任何一个,你可以简单地等待大约 24-48 小时,在标准集群配置中,这应该足够的时间让你的所有放置组至少被清理一次,然后重复上述过程以重新检查。

    然而,如果你刚刚完成了对 Luminous 的升级,并且想要尽快继续进行 Mimic,你可以使用一行 shell 命令强制对所有放置组进行清理,如下所示:

    # ceph pg dump pgs_brief | cut -d " " -f 1 | xargs -n1 ceph pg scrub
    

    你应该考虑到这次强制清理可能会对你的 Ceph 客户端性能产生负面影响。

  2. 确保你的集群是稳定和健康的(没有下线或正在恢复的 OSD)。 (可选,但推荐。)

  3. Set the nooutflag for the duration of the upgrade. (Optional,

    # ceph osd set noout
    
  4. Upgrade monitors by installing the new packages and restarting the

    # systemctl restart ceph-mon.target
    

    Once all monitors are up, verify that the monitor upgrade isnautilusstring in the mon

    # ceph mon dump | grep min_mon_release
    

    should report:

    min_mon_release 14 (nautilus)
    

    If it doesn't, that implies that one or more monitors hasn’t been

  5. Upgrade ceph-mgrdaemons by installing the new packages and

    # systemctl restart ceph-mgr.target
    

    请注意,如果你使用 Ceph Dashboard,在升级后可能需要单独安装ceph-mgr-dashboard软件包。安装脚本会自动为你重启管理守护进程。因此在这种情况下,你可以跳过重启守护进程的步骤。ceph-mgr package. The install script of ceph-mgr-dashboard will restart the manager daemons automatically for you. So in this case, you can just skip the step to restart the daemons.

    Verify the ceph-mgr daemons are running by checking ceph -s:

    # ceph -s
    
    ...
      services:
       mon: 3 daemons, quorum foo,bar,baz
       mgr: foo(active), standbys: bar, baz
    ...
    
  6. Upgrade all OSDs by installing the new packages and restarting the

    # systemctl restart ceph-osd.target
    

    你可以使用ceph versionsceph osd versions命令监控 OSD 升级的进度:

    # ceph osd versions
    {
       "ceph version 13.2.5 (...) mimic (stable)": 12,
       "ceph version 14.2.0 (...) nautilus (stable)": 22,
    }
    
  7. 如果集群中部署了任何使用 ceph-disk 的 OSD(例如,几乎任何在 Mimic 发布之前创建的 OSD),你需要告诉 ceph-volume 负责启动守护进程。在每个包含 OSD 的主机上,确保 OSD 目前正在运行,然后:

    # ceph-volume simple scan
    # ceph-volume simple activate --all
    

    我们建议每个 OSD 主机在执行此步骤后重新启动,以验证 OSD 是否自动启动。

    注意 ceph-volume 没有像 ceph-disk 那样的热插拔功能,通过 udev 事件自动检测新连接的磁盘。如果在上面的scan命令运行时 OSD 目前没有运行,或者基于 ceph-disk 的 OSD 被移动到新主机,或者主机 OSD 被重新安装,或者/etc/ceph/osd目录丢失,你需要明确地扫描每个 ceph-disk OSD 的主数据分区。例如,:

    # ceph-volume simple scan /dev/sdb1
    

    输出将包括启用 OSD 的适当ceph-volume simple activate命令。

  8. 升级所有 CephFS MDS 守护进程。对于每个 CephFS 文件系统,

    1. Reduce the number of ranks to 1. (Make note of the original

      # ceph status
      # ceph fs set <fs_name> max_mds 1
      
    2. Wait for the cluster to deactivate any non-zero ranks by

      # ceph status
      
    3. Take all standby MDS daemons offline on the appropriate hosts with:

      # systemctl stop ceph-mds@<daemon_name>
      
    4. Confirm that only one MDS is online and is rank 0 for your FS:

      # ceph status
      
    5. Upgrade the last remaining MDS daemon by installing the new

      # systemctl restart ceph-mds.target
      
    6. Restart all standby MDS daemons that were taken offline:

      # systemctl start ceph-mds.target
      
    7. Restore the original value of max_mdsfor the volume:

      # ceph fs set <fs_name> max_mds <original_max_mds>
      
  9. Upgrade all radosgw daemons by upgrading packages and restarting

    # systemctl restart ceph-radosgw.target
    
  10. 完成升级,通过禁止 pre-Nautilus OSD 并启用所有新的 Nautilus 唯有功能:

    # ceph osd require-osd-release nautilus
    

    重要

    这一步是强制性的。如果执行此步骤,OSD 将在 msgrv2 启用后无法通信。

  11. If you set nooutat the beginning, be sure to clear it with:

    # ceph osd unset noout
    
  12. Verify the cluster is healthy with ceph health.

    如果你的 CRUSH 调整值比 Hammer 更旧,Ceph 现在会发出健康警告。如果你看到相应的健康警报,你可以使用以下命令还原此更改:

    ceph config set mon mon_crush_min_required_version firefly
    

    然而,如果 Ceph 没有抱怨,那么我们建议你也将任何现有的 CRUSH 桶切换到 straw2,它在 Hammer 发布中再次添加。如果你有任何“straw”桶,这将导致适度的数据移动,但通常不会太严重。:

    ceph osd getcrushmap -o backup-crushmap
    ceph osd crush set-all-straw-buckets-to-straw2
    

    如果有问题,你可以轻松地还原:

    ceph osd setcrushmap -i backup-crushmap
    

    移动到“straw2”桶将解锁一些最近的功能,比如crush-compat balancer模式在 Luminous 中再次添加。

  13. 要启用新的v2 网络协议,请发出以下命令:

    ceph mon enable-msgr2
    

    这将指示所有绑定到旧默认端口

    ceph mon dump
    

    and verify that each monitor has both av2:v1:address

    运行 nautilus OSDs 将不会自动绑定到它们的 v2 地址。它们必须重新启动才能发生这种情况。

    重要

    在运行此步骤之前,必须已经运行了以下命令:

    # ceph osd require-osd-release nautilus

    如果没有运行此命令(此过程步骤 10),OSD 将失去通信能力。

  14. 对于每个已经升级的主机,你应该更新你的ceph.conf文件,以便它要么指定没有监视器端口(如果你在默认端口上运行监视器),要么明确引用 v2 和 v1 地址和端口。如果只列出 v1 IP 和端口,仍然可以工作,但每个 CLI 实例或守护进程都需要重新连接以学习监视器也支持 v2 协议,这会减慢速度,并防止完全过渡到 v2 协议。

    这也是将任何 config 选项完全过渡到集群的配置数据库的好时机。在每个主机上,你可以使用以下命令将任何选项导入监视器:ceph.conf into the cluster’s configuration database. On each host, you can use the following command to import any options into the monitors with:

    ceph config assimilate-conf -i /etc/ceph/ceph.conf
    

    你可以使用以下命令查看集群的配置数据库:

    ceph config dump
    

    为了为每个主机创建一个最小但足够的ceph.conf,:

    ceph config generate-minimal-conf > /etc/ceph/ceph.conf.new
    mv /etc/ceph/ceph.conf.new /etc/ceph/ceph.conf
    

    确保只在已升级到 Nautilus 的主机上使用此新配置,因为它可能包含一个mon_host值,包括新的v2:v1:前缀,仅 Nautilus 才能理解。

    更多信息,请参阅更新 ceph.conf 和 mon_host.

  15. Consider enabling the telemetry moduleto send

    ceph mgr module enable telemetry
    ceph telemetry show
    

    如果您对报告的数据感到满意,您可以选择自动报告高级集群元数据,使用:

    ceph telemetry on
    

    有关遥测模块的更多信息,请参阅文档.

从 pre-Luminous 版本(如 Jewel)升级。

You must在尝试升级到 Nautilus 之前,请首先升级到 Luminous (12.2.z)。此外,你的集群必须在运行 Luminous 期间至少完成对所有 PG 的一个清理,在 OSD 映射中设置recovery_deletespurged_snapdirs标志。

升级兼容性说明

这些更改发生在 Mimic 和 Nautilus 发布之间。

  • ceph pg stat输出已在 json 格式修改以匹配ceph df输出:

    • “raw_bytes”字段已重命名为“total_bytes”

    • “raw_bytes_avail”字段已重命名为“total_bytes_avail”

    • “raw_bytes_avail”字段已重命名为“total_bytes_avail”

    • “raw_bytes_used”字段已重命名为“total_bytes_raw_used”

    • 已添加“total_bytes_used”字段以表示为数据对象保留在块(慢)设备上的空间(累积超过所有 OSD)。

      all OSDs) allocated purely for data objects kept at block(slow) device

  • ceph df [detail]输出(GLOBAL 部分)已在纯文本格式修改:

    • 新的“USED”列显示为为数据对象保留在块(慢)设备上的空间(累积超过所有 OSD)。

    • ‘RAW USED’现在是‘USED’空间和为 Ceph 目的在块设备上分配/保留的空间的总和,例如 BlueFS 部分用于 BlueStore。

      block device for Ceph purposes, e.g. BlueFS part for BlueStore.

  • ceph df [detail]输出(GLOBAL 部分)已在 json 格式修改:

    • ‘total_used_bytes’列现在显示为为数据对象保留在块(慢)设备上的空间(累积超过所有 OSD)。

    • 新的“total_used_raw_bytes”列显示为‘USED’空间和为 Ceph 目的在块设备上分配/保留的空间的总和,例如 BlueFS 部分用于 BlueStore。

  • ceph df [detail]输出(POOLS 部分)已在纯文本格式修改:

    • ‘BYTES USED’列已重命名为‘STORED’。表示用户存储的数据量。

    • ‘USED’列现在表示所有 OSD 节点为数据分配的纯空间(以 KB 为单位)。

    • ‘QUOTA BYTES’,‘QUOTA OBJECTS’在非详细模式下不再显示。

    • 新列“USED COMPR” - 为压缩数据分配的空间量。即压缩数据加上所有分配、复制和纠删码开销。

    • 新列“UNDER COMPR” - 通过压缩(累积超过所有副本)并且足够有益于以压缩形式存储的数据量。

    • 一些列重新排序

  • ceph df [detail]输出(POOLS 部分)已在 json 格式修改:

    • ‘bytes used’列已重命名为‘stored’。表示用户存储的数据量。

    • ‘raw bytes used’列已重命名为“stored_raw”。所有 OSD 排除降级的用户数据总和。

      over all OSD excluding degraded.

    • 新的“bytes_used”列现在表示所有 OSD 节点分配的空间。

    • ‘kb_used’列 - 与‘bytes_used’相同,但以 KB 为单位。

    • 新列‘compress_bytes_used’ - 为压缩数据分配的空间量。即压缩数据加上所有分配、复制和纠删码开销。

    • 新列‘compress_under_bytes’ - 通过压缩(累积超过所有副本)并且足够有益于以压缩形式存储的数据量。

  • rados df [detail]输出(POOLS 部分)已在纯文本格式修改:

    • ‘USED’列现在显示为为数据对象保留在块(慢)设备上的空间(累积超过所有 OSD)。

    • 新列“USED COMPR” - 为压缩数据分配的空间量。即压缩数据加上所有分配、复制和纠删码开销。

    • 新列“UNDER COMPR” - 通过压缩(累积超过所有副本)并且足够有益于以压缩形式存储的数据量。

  • rados df [detail]输出(POOLS 部分)已在 json 格式修改:

    • ‘size_bytes’和‘size_kb’列现在显示为为数据对象保留在块设备上的空间(累积超过所有 OSD)。

    • 新列‘compress_bytes_used’ - 为压缩数据分配的空间量。即压缩数据加上所有分配、复制和纠删码开销。

    • 新列‘compress_under_bytes’ - 通过压缩(累积超过所有副本)并且足够有益于以压缩形式存储的数据量。

  • ceph pg dump输出(totals 部分)已在 json 格式修改:

    • 新的“USED”列显示为为数据对象保留在块(慢)设备上的空间(累积超过所有 OSD)。

    • ‘USED_RAW’现在是‘USED’空间和为 Ceph 目的在块设备上分配/保留的空间的总和,例如 BlueFS 部分用于 BlueStore。

  • The ceph osd rm命令已弃用。用户应该使用ceph osd destroyceph osd purge(但在首先通过ceph osd safe-to-destroy命令确认这样做是安全的之后)。

  • 现在支持丢弃其缓存以进行基准测试的 MDS:

    ceph tell mds.* cache drop <timeout>
    

    注意 MDS 缓存是由客户端协作管理的。客户端必须放弃功能,以便 MDS 能够完全丢弃其缓存。这是通过要求所有客户端尽可能修剪 caps 完成的。向cache drop命令的超时参数控制 MDS 等待客户端完成修剪 caps 的时间。这是可选的,默认值为 0(无超时)。请记住,客户端可能仍然保留 caps 以打开文件,这将阻止客户端和 MDS 都丢弃这些文件的元数据。(这是一个等效的场景,类似于丢弃 Linux 页面/缓冲区/inode/dentry 缓存,一些进程在缓存中固定了一些 inodes/dentries/页面。)

  • The mon_health_preluminous_compatmon_health_preluminous_compat_warning配置选项已移除,因为相关功能已经超过两个版本旧。任何期望 Jewel 风格健康输出的任何遗留监控系统都需要更新以与 Nautilus 一起工作。

  • Nautilus 不支持任何仍在运行 upstart 的发行版,因此 upstart 特定的文件和引用已被移除。

  • The ceph pg <pgid> list_missing命令已重命名为ceph pg <pgid> list_unfound以更好地匹配其行为。

  • The rbd-mirror守护进程现在可以从监视器检索远程对等集群配置密钥。要使用此功能,本地集群的 rbd-mirror 守护进程的 CephX 用户必须使用profile rbd-mirrormon cap。rbd mirror pool peer addrbd mirror pool peer set操作设置。

  • 现在的‘rbd-mirror’守护进程将默认以 active/active 模式运行,其中镜像图像均匀分布在所有活动的“rbd-mirror”守护进程之间。要恢复到 active/passive 模式,请将‘rbd_mirror_image_policy_type’配置键覆盖为‘none’。

  • The ceph mds deactivate已经完全过时,文档中的引用已被移除或澄清。

  • The libcephfs 绑定添加了ceph_select_filesystem函数以用于多个文件系统。

  • cephfs python 绑定现在在 mount() 函数中包括mount_rootfilesystem_name选项。

  • erasure-code: 添加实验性耦合 LAY 层(CLAY)erasure 代码支持。它在执行恢复时具有更少的网络流量和磁盘 I/O。

  • The cache drop已添加 OSD 命令以丢弃 OSD 的缓存:

    • ceph tell osd.x cache drop

  • The cache status已添加 OSD 命令以获取 OSD 的缓存统计信息:

    • ceph tell osd.x cache status

  • The libcephfs 添加了几个函数,允许重新启动的客户端销毁或回收先前实例持有的状态。这些函数用于 NFS 服务器。

  • The ceph命令行工具现在接受关键字参数,格式为--arg=value--arg value.

  • librados::IoCtx::nobjects_begin()librados::NObjectIterator现在通过抛出std::system_error异常而不是std::runtime_error.

  • 与错误通信。LibRGWFS.readdir()现在接受一个flags参数。它将是传递给readdir()方法的最后一个参数。

  • The cephfs-data-scan scan_links现在自动修复 inotables 和

  • 配置值mon_warn_not_scrubbedmon_warn_not_deep_scrubbed已重命名。它们现在分别是mon_warn_pg_not_scrubbed_ratiomon_warn_pg_not_deep_scrubbed_ratio和。这是为了澄清这些警告与 PG 清理相关,并且是相关间隔的比例。这些选项现在默认启用。

  • MDS 缓存修剪现在受到限制。通过ceph tell mds.<foo> cache drop命令丢弃 MDS 缓存或缓存大小大幅减少将不再导致服务不可用。

  • CephFS MDS 在召回 caps 方面的行为已显著改进,以避免一次尝试召回太多 caps 导致不稳定。具有大缓存的 MDS(64GB+)应该更稳定。

  • MDS 现在提供了一个配置选项mds_max_caps_per_client(默认:1M)来限制客户端会话可以持有的 caps 数量。具有大量 caps 的长时间运行的客户端会话一直是 MDS 不稳定的来源,当所有这些 caps 在某些会话事件期间需要处理时。建议不要不必要地增加此值。

  • MDS 配置mds_recall_state_timeout已移除。基于 MDS 回收的未释放的 caps 数量,现在会生成新的配置mds_recall_warning_threshold(默认:32K)和mds_recall_warning_decay_rate(默认:60s)设置此警告的阈值。

  • 管理器中的 Telegraf 模块允许通过 TCP、UDP 或 UNIX 套接字将统计信息发送到 Telegraf 代理。Telegraf 然后可以将统计信息发送到 InfluxDB、ElasticSearch、Graphite 等数据库。

  • graylog 中命名事件起源者的字段已更改:字符串形式的名称现在包括(例如,"name": "mgr.foo"),并且 rank 形式的名称现在位于嵌套部分(例如,"rank": {"type": "mgr", "num": 43243}).

  • 如果集群日志定向到 syslog,则条目现在由字符串形式的名称和 rank 形式的名称都前缀(例如,mgr.x mgr.12345 ...而不是只是mgr.12345 ...).

  • The JSON 输出 of theceph osd find命令已用ip字段,以反映 OSD 可能绑定到多个地址。addrs部分替换了

  • 没有“s”标志的 CephFS 客户端在其身份验证能力字符串中,将不再能够创建/删除快照。要允许client.foo在文件系统的bar目录中创建/删除快照cephfs_a,使用命令:

    • ceph auth caps client.foo mon 'allow r' osd 'allow rw tag cephfs data=cephfs_a' mds 'allow rw, allow rws path=/bar'

  • The osd_heartbeat_addr选项已移除,因为它没有(好的)目的:OSD 应该始终在公共和集群网络上检查心跳。工具的

  • The rados tool’s mkpoolrmpool命令已移除,因为它们是冗余的;请使用ceph osd pool createceph osd pool rm命令代替。

  • The auidcephx 用户和 RADOS 桶的属性已移除。这是一个未记录的部分实现功能,允许 cephx 用户将功能映射到他们“拥有”的 RADOS 桶。由于没有用户,我们已移除此支持。如果集群中存在任何 cephx 能力,这些能力基于 auid 限制,则它们将不再解析,并且集群将报告一个健康警告,如下所示:

    AUTH_BAD_CAPS 1 auth entities have invalid capabilities
        client.bad osd capability parse failed, stopped at 'allow rwx auid 123' of 'allow rwx auid 123'
    

    能力可以使用ceph auth caps命令进行调整。例如,:

    ceph auth caps client.bad osd 'allow rwx pool foo'
    
  • The ceph-kvstore-tool repair命令已重命名为destructive-repair,因为我们发现它可能会损坏一个 otherwise 健康的 rocksdb 数据库。它应该仅作为最后的手段,用于从 otherwise 损坏的存储中恢复数据。

  • mons 的默认内存利用率有所增加。Rocksdb 现在默认使用 512 MB 的 RAM,这应该足以满足小型到中型规模的集群;大型集群应该调整此设置。此外,将mon_osd_cache_size从 10 OSDMaps 增加到 500,这将转化为大型集群的额外 500 MB 到 1 GB 的 RAM,小型集群则少得多。

  • The mgr/balancer/max_misplaced选项已被新的全局target_max_misplaced_ratio选项替换,该选项限制 balancer 活动和自动调整pgp_num(通常作为pg_num变化结果)的结果)的速率。如果你自定义了 balancer 模块选项,你需要调整你的配置以设置新的全局选项或恢复到默认值 .05(5%)。

  • 默认情况下,Ceph 不再在存在 misplaced 对象(完全复制但未存储在预期 OSD 上的对象)时发出健康警告。你可以通过设置mon_warn_on_misplacedtotrue.

  • The ceph-create-keys工具是现在过时的。监视器自动创建这些键。目前脚本打印警告消息并退出,但在下一个版本中将移除。请注意,ceph-create-keys还会向 /etc/ceph 和 /var/lib/ceph 写入管理员和引导键,但此脚本不再这样做。任何依赖此行为的部署工具应改用ceph auth export <entity-name>命令获取所需的键。

  • The mon_osd_pool_ec_fast_read选项已重命名为osd_pool_default_ec_fast_read以与其他影响新创建 RADOS 桶默认值的osd_pool_default_*选项更一致。

  • The mon addr配置选项已弃用。它仍然可以用来在ceph.conf文件中为每个监视器指定地址,但它仅影响集群创建和引导,并且它不支持列出多个地址(例如,v2 和 v1 协议地址)。我们强烈建议移除此选项,并改用mon host选项,以允许守护进程和客户端发现监视器。[global]部分中的单个

  • 新命令ceph fs fail已添加,可以快速关闭文件系统。这是一个单命令,它 unset 文件系统的 joinable 标志并关闭其所有等级。

  • The cache dropadmin socket 命令已移除。Theceph tell mds.X cache drop保持不变。

详细变更日志

  • 添加监控子目录和 Grafana 集群仪表板 (pr#21850, Jan Fajerski)

  • auth,common: 包括清理 (pr#23774, Kefu Chai)

  • bluestore: bluestore/NVMEDevice.cc: 在启用 SPDK 时使用 64KB 内核页面大小启用 ceph_assert() (issue#36624, pr#24817, tone.zhang)

  • bluestore: bluestore/NVMEDevice.cc: 修复 NVMEManager 线程挂起 (issue#37720, pr#25646, tone.zhang)

  • bluestore: bluestore/NVMe: 使用 PCIe 选择器作为路径名称 (pr#24144, Kefu Chai)

  • bluestore,cephfs,core,rbd,rgw: buffer,denc: 使用 ptr::const_iterator 用于解码 (pr#22015, Kefu Chai, Casey Bodley)

  • bluestore: ceph-kvstore-tool: 倒映输出修复 (pr#25262, Adam Kupczyk)

  • bluestore: common/blkdev: 检查 stat() 的返回值 (pr#26040, Kefu Chai)

  • bluestore,core: ceph-dencoder: 添加 bluefs 类型 (pr#22463, Sage Weil)

  • bluestore,core,mon,performance: osd,mon: 启用 level_compaction_dynamic_level_bytes for rocksdb (issue#24361, pr#23337, Kefu Chai)

  • bluestore,core: os/bluestore: 不要存储/使用来自元数据的 path_block.{db,wal} (pr#22462, Sage Weil, Alfredo Deza)

  • bluestore: os/bluestore: 添加 bluestore_ignore_data_csum 选项 (pr#26233, Sage Weil)

  • bluestore: os/bluestore: 添加与 cache-autotune 相关设置的边界检查 (issue#37507, pr#25421, xie xingguo)

  • bluestore: os/bluestore/BlueFS: 仅在执行 _fsync 时刷新脏设备 (pr#22110, Jianpeng Ma)

  • bluestore: os/bluestore: bluestore_buffer_hit_bytes 性能计数器不会重置 (pr#23576, Igor Fedotov)

  • bluestore: os/bluestore: 检查 _open_bluefs 的返回值 (pr#25471, Jianpeng Ma)

  • bluestore: os/bluestore: 清理 (pr#22556, Jianpeng Ma)

  • bluestore: os/bluestore: 深度 fsck 在检查非常大的 onodes 时失败 (pr#26170, Igor Fedotov)

  • bluestore: os/bluestore: 在 compress() 调用返回非零错误代码时不断言 (pr#25891, Igor Fedotov)

  • bluestore: os/bluestore: 首先删除 db,如果打开 db 时遇到错误,则删除 bluefs (pr#22336, Jianpeng Ma)

  • bluestore: os/bluestore: 修复分配失败时的日志输出并统一 (pr#25335, Igor Fedotov)

  • bluestore: os/bluestore: 修复 StupidAllocator::get_fragmentation 中的断言 (pr#23606, Igor Fedotov)

  • bluestore: os/bluestore: 修复修复器中 bloom 过滤器条目计算错误 (issue#25001, pr#24076, Igor Fedotov)

  • bluestore: os/bluestore: 修复小慢设备上的 bluefs 范围计算错误 (pr#22563, Igor Fedotov)

  • bluestore: os/bluestore: 修复 remove_collection 和对象删除之间的竞争条件 (pr#23257, Igor Fedotov)

  • bluestore: os/bluestore: 修复访问销毁条件导致死锁或未定义行为 (pr#25659, linbing)

  • bluestore: osd,mon,pybind: Make能够使用 Clang 编译 (pr#22086, Igor Fedotov)

  • bluestore: os/bluestore/KernelDevice: misc cleanup (pr#21491, Jianpeng Ma)

  • bluestore: os/bluestore/KernelDevice: use flock(2) for block device lock (issue#38150, pr#26245, Sage Weil)

  • bluestore: os/bluestore: misc cleanup (pr#22472, Jianpeng Ma)

  • bluestore: os/bluestore: Only use F_SET_FILE_RW_HINT when available (pr#26431, Willem Jan Withagen)

  • bluestore: os/bluestore: Only use WRITE_LIFE_ when available (pr#25735, Willem Jan Withagen)

  • bluestore: os/bluestore: remove redundant fault_range (pr#22898, Jianpeng Ma)

  • bluestore: os/bluestore: remove useless condtion (pr#22335, Jianpeng Ma)

  • bluestore: os/bluestore: simplify and fix SharedBlob::put() (issue#24211, pr#22123, Sage Weil)

  • bluestore: os/bluestore: support for FreeBSD (pr#25608, Alan Somers, Kefu Chai)

  • bluestore: osd/osd_types: fix pg_t::contains() to check pool id too (issue#32731, pr#24085, Sage Weil)

  • bluestore: os/objectstore: add a new op OP_CREATE (pr#22385, Jianpeng Ma)

  • bluestore,performance: common/PriorityCache: First Step toward priority based caching (pr#22009, Mark Nelson)

  • bluestore,performance: os/bluestore: allocator pruning (pr#21854, Igor Fedotov)

  • bluestore,performance: os/bluestore/BlueFS: reduce bufferlist rebuilds during WAL writes (pr#21689, Piotr Dałek)

  • bluestore,performance: os/bluestore: use the monotonic clock for perf counters latencies (pr#22121, Mohamad Gebai)

  • bluestore: silence Clang warning on possible uninitialize usuage (pr#25702, Willem Jan Withagen)

  • bluestore: spdk: fix ceph-osd crash when activate SPDK (issue#24371, pr#22356, tone-zhang)

  • bluestore: test/fio: add option single_pool_mode in ceph-bluestore.fio (pr#21929, Jianpeng Ma)

  • bluestore,tests: test/objectstore: fix random generator in allocator_bench (pr#22544, Igor Fedotov)

  • bluestore,tools: os/bluestore: allow ceph-bluestore-tool to coalesce, add and migrate BlueFS backing volumes (pr#23103, Igor Fedotov)

  • bluestore,tools: tools/ceph-bluestore-tool: avoid mon/config access when calling global… (pr#22085, Igor Fedotov)

  • build/ops: Add new OpenSUSE Leap id for install-deps.sh (issue#25064, pr#22793, Kyr Shatskyy)

  • build/ops: arch/arm: Allow ceph_crc32c_aarch64 to be chosen only if it is compil… (pr#24126, David Wang)

  • build/ops: auth: do not use GSS/KRB5 if ! HAVE_GSSAPI (pr#25460, Kefu Chai)

  • build/ops: build: 32 bit architecture fixes (pr#23485, James Page)

  • build/ops: build: further removal of subman configuration (issue#38261, pr#26368, Alfredo Deza)

  • build/ops: build: LLVM ld does not like the versioning scheme (pr#26801, Willem Jan Withagen)

  • build/ops: ceph-create-keys: Misc Python 3 fixes (issue#37641, pr#25411, James Page)

  • build/ops,cephfs: deb,rpm: fix python-cephfs dependencies (issue#24919, issue#24918, pr#23043, Kefu Chai)

  • build/ops: ceph.in: Add support for python 3 (pr#24739, Tiago Melo)

  • build/ops: ceph.spec.in: Don’t use noarch for mgr module subpackages, fix /usr/lib64/ceph/mgr dir ownership (pr#26398, Tim Serong)

  • build/ops: change ceph-mgr package depency from py-bcrypt to python2-bcrypt (issue#27206, pr#23648, Konstantin Sakhinov)

  • build/ops: civetweb: pull up to ceph-master (pr#26515, Abhishek Lekshmanan)

  • build/ops: cmake,do_freebsd.sh: disable rdma features (pr#22752, Kefu Chai)

  • build/ops: cmake/modules/BuildDPDK.cmake: Build required DPDK libraries (issue#36341, pr#24487, Brad Hubbard)

  • build/ops: cmake/modules/BuildRocksDB.cmake: enable compressions for rocksdb (issue#24025, pr#22181, Kefu Chai)

  • build/ops: cmake,rgw: make amqp support optional (pr#26555, Kefu Chai)

  • build/ops: cmake,rpm,deb: install mgr plugins into /usr/share/ceph/mgr (pr#26446, Kefu Chai)

  • build/ops: cmake,seastar: pick up latest seastar (pr#25474, Kefu Chai)

  • build/ops,common: compressor: Fix build of Brotli Compressor (pr#24967, BI SHUN KE)

  • build/ops,common,core: test: make readable.sh fail if it doesn’t run anything (pr#24812, Greg Farnum)

  • build/ops,core: cmake,common,filestore: silence gcc-8 warnings/errors (pr#21837, Kefu Chai)

  • build/ops,core,rbd: include/memory.h: remove memory.h (pr#22690, Kefu Chai)

  • build/ops,core: systemd: only restart 3 times in 30 minutes, as fast as possible (issue#24368, pr#22349, Greg Farnum)

  • build/ops,core,tests: objectstore/test/fio: Fixed fio compilation when tcmalloc is used (pr#23962, Adam Kupczyk)

  • build/ops: credits.sh: Ignore package-lock.json and .xlf files (pr#24762, Tiago Melo)

  • build/ops: deb: drop redundant ceph-common recommends (pr#20133, Nathan Cutler)

  • build/ops: debian/control: change Architecture python plugins to “all” (pr#26377, Kefu Chai)

  • build/ops: debian/control: require fuse for ceph-fuse (issue#21057, pr#23675, Thomas Serlin)

  • build/ops: debian: correct ceph-common relationship with older radosgw package (pr#24996, Matthew Vernon)

  • build/ops: debian: drop ‘-DUSE_CRYPTOPP=OFF’ from cmake options (pr#22471, Kefu Chai)

  • build/ops: debian: librados-dev should replace librados2-dev (pr#25916, Kefu Chai)

  • build/ops: debian/rules: fix ceph-mgr .pyc files left behind (issue#26883, pr#23615, Dan Mick)

  • build/ops: deb,rpm,do_cmake: switch to cmake3 (pr#22896, Kefu Chai)

  • build/ops: dmclock, cmake: sync up with ceph/dmclock, dmclock related cleanups (issue#26998, pr#23643, Kefu Chai)

  • build/ops: dmclock: update dmclock submodule sha1 to tip of ceph/dmclock.git master (pr#23837, Ricardo Dias)

  • build/ops: do_cmake.sh: automate py3 build options for certain distros (pr#25205, Nathan Cutler)

  • build/ops: do_cmake.sh: SUSE builds need WITH_RADOSGW_AMQP_ENDPOINT=OFF (pr#26695, Nathan Cutler)

  • build/ops: do_freebsd.sh: FreeBSD building needs the llvm linker (pr#25247, Willem Jan Withagen)

  • build/ops: dout: declare dpp using decltype(auto) instead of auto (pr#22207, Kefu Chai)

  • build/ops: dpdk: drop dpdk submodule (issue#24032, pr#21856, Kefu Chai)

  • build/ops: examples/Makefile: add -Wno-unused-parameter to avoid compile error (pr#23581, You Ji)

  • build/ops: Improving make check reliability (pr#22441, Erwan Velu)

  • build/ops: include: define errnos if not defined for better portablity (pr#25302, Willem Jan Withagen)

  • build/ops: install-deps: check the exit status for the $builddepcmd (pr#22682, Yunchuan Wen)

  • build/ops: install-deps: do not specify unknown options (pr#24315, Kefu Chai)

  • build/ops: install-deps: install setuptools before upgrading virtualenv (pr#25039, Kefu Chai)

  • build/ops: install-deps: nuke wheelhouse if it’s stale (pr#22028, Kefu Chai)

  • build/ops: install-deps,run-make-check: use ceph-libboost repo (issue#25186, pr#23995, Kefu Chai)

  • build/ops: install-deps.sh: Add Kerberos requirement for FreeBSD (pr#25688, Willem Jan Withagen)

  • build/ops: install-deps.sh: disable centos-sclo-rh-source (issue#37707, pr#25629, Brad Hubbard)

  • build/ops: install-deps.sh: fix gcc detection and install pre-built libboost on bionic (pr#25169, Changcheng Liu, Kefu Chai)

  • build/ops: install-deps.sh: fix installing gcc on ubuntu when no old compiler (pr#22488, Tomasz Setkowski)

  • build/ops: install-deps.sh: import ubuntu-toolchain-r’s key without keyserver (pr#22964, Kefu Chai)

  • build/ops: install-deps.sh: install libtool-ltdl-devel for building python-saml (pr#25071, Kefu Chai)

  • build/ops: install-deps.sh: refrain from installing/using lsb_release, and other cleanup (issue#18163, pr#23361, Nathan Cutler)

  • build/ops: install-deps.sh: Remove CR repo (issue#13997, pr#25211, Brad Hubbard, Alfredo Deza)

  • build/ops: install-deps.sh: selectively install dependencies (pr#26402, Kefu Chai)

  • build/ops: install-deps.sh: set with_seastar (pr#23079, Nathan Cutler)

  • build/ops: install-deps.sh: support install gcc7 in xenial aarch64 (pr#22451, Yunchuan Wen)

  • build/ops: install-deps.sh: Update python requirements for FreeBSD (pr#25245, Willem Jan Withagen)

  • build/ops: install-deps.sh: use the latest setuptools (pr#26156, Kefu Chai)

  • build/ops: install-deps: s/openldap-client/openldap24-client/ (pr#23912, Kefu Chai)

  • build/ops: libradosstriper: conditional compile (pr#21983, Jesse Williamson)

  • build/ops: make-debs.sh: clean dir to allow building deb packages multiple times (pr#25177, Changcheng Liu)

  • build/ops: man: skip directive starting with “..” (pr#23580, Kefu Chai)

  • build/ops,mgr: build: mgr: check for python’s ssl version linkage (issue#24282, pr#22659, Kefu Chai, Abhishek Lekshmanan)

  • build/ops,mgr: cmake,deb,rpm: remove cython 0.29’s subinterpreter check, re-enable build with cython 0.29+ (pr#25585, Tim Serong)

  • build/ops: mgr/dashboard: Add html-linter (pr#24273, Tiago Melo)

  • build/ops: mgr/dashboard: Add i18n validation script (pr#25179, Tiago Melo)

  • build/ops: mgr/dashboard: Add package-lock.json (pr#23285, Tiago Melo)

  • build/ops: mgr/dashboard: Disable showing xi18n’s progress (pr#25427, Tiago Melo)

  • build/ops: mgr/dashboard: Fix run-frontend-e2e-tests.sh (pr#25157, Tiago Melo)

  • build/ops: mgr/dashboard: fix the version of all frontend dependencies (pr#22712, Tiago Melo)

  • build/ops: mgr/dashboard: Remove angular build progress logs during cmake (pr#23115, Tiago Melo)

  • build/ops: mgr/dashboard: Update Node.js to current LTS (pr#24932, Tiago Melo)

  • build/ops: mgr/dashboard: Update node version (pr#22639, Tiago Melo)

  • build/ops: mgr/diskprediction: Replace local predictor model file (pr#24484, Rick Chen)

  • build/ops,mgr: mgr/dashboard: Fix building under FreeBSD (pr#22562, Willem Jan Withagen)

  • build/ops: move dmclock subtree into submodule (pr#21651, Danny Al-Gaaf)

  • build/ops,pybind: ceph: do not raise StopIteration within generator (pr#25400, Jason Dillaman)

  • build/ops,rbd: osd,mon,pybind: Make able to compile with Clang (pr#21861, Adam C. Emerson)

  • bluestore: selinux: 添加对 ceph iscsi 的支持 (pr#24936, Mike Christie)

  • bluestore: osd,mon,pybind: 启用 ceph-rbd-mirror.target (pr#24935, Sébastien Han)

  • build/ops,rgw: build/rgw: unittest_rgw_dmclock_scheduler 不需要 Boost_LIBRARIES (pr#26799, Willem Jan Withagen)

  • build/ops,rgw: cls: build cls_otp 仅在 WITH_RADOSGW 时构建 (pr#22548, Piotr Dałek)

  • build/ops,deb,rpm: 打包 librgw_admin_user.{h,so.*} (pr#22205, Kefu Chai)

  • build/ops: rocksdb: 同步到上游 (issue#23653, pr#22236, Kefu Chai)

  • build/ops: rpm: 将所需的 GCC 版本提高到 7.3.1 (pr#24130, Kefu Chai)

  • build/ops: rpm,deb: 移除 python-jinja2 依赖项 (pr#26379, Kefu Chai)

  • build/ops: rpm: 不要排除 s390x 构建 on openSUSE (pr#26268, Nathan Cutler)

  • build/ops: rpm: 修复 Fedora 错误“没有匹配的软件包可以安装:‘Cython3’” (issue#35831, pr#23993, Brad Hubbard)

  • build/ops: rpm: 修复 libradospp 开发时依赖项 (pr#25491, Nathan Cutler)

  • build/ops: rpm: 修复 seastar 构建依赖项 for SUSE (pr#23089, Nathan Cutler)

  • build/ops: rpm: 修复 dashboard make check 的 xmlsec1 构建依赖项 (pr#23386, Nathan Cutler)

  • build/ops: rpm: fix xmlsec1 build dependency for dashboard make check (pr#26119, Nathan Cutler)

  • build/ops: rpm: 在 f28 上安装 python2-Cython (pr#26756, Brad Hubbard)

  • build/ops: rpm: 使 ceph-grafana-dashboards 拥有自己的目录 (issue#37485, pr#25347, Nathan Cutler, Tim Serong)

  • build/ops: rpm: 使 Python 依赖项稍微不那么令人困惑 (pr#25963, Nathan Cutler)

  • build/ops: rpm: 使 sudo 成为构建依赖项 (pr#23077, Nathan Cutler)

  • build/ops: rpm: 为所有架构打包加密库 (pr#26202, Nathan Cutler)

  • build/ops: rpm: 打包 grafana 仪表板 (pr#24735, Boris Ranto)

  • build/ops: rpm: 提供从 ceph-test 移动的文件 (issue#22558, pr#20401, Nathan Cutler)

  • build/ops: RHEL 8 修复 (pr#26520, Ken Dreyer)

  • build/ops: RHEL 8 需要 Python 3 构建 (pr#25223, Nathan Cutler)

  • build/ops: rpm: 停止 install-deps.sh 覆盖 spec 文件 Python 构建设置 (issue#37301, pr#25181, Nathan Cutler, Brad Hubbard)

  • build/ops: rpm: 使用强化 LDFLAGS (issue#36316, build/ops: rpm: 在运行时使用更新的 gperftools (, Boris Ranto)

  • build/ops: rpm: use updated gperftools (issue#36508, pr#24124, Kefu Chai)

  • build/ops: rpm: 使用更新的 gperftools-libs at 运行时 (issue#36508, build/ops: run-make-check: 启用 --with-seastar 选项 (, Brad Hubbard)

  • build/ops: run-make-check: enable --with-seastar option (pr#22809, Kefu Chai)

  • build/ops: run-make-check.sh: 为 CI 添加 ccache 调整 (pr#23108, Kefu Chai)

  • build/ops: run-make-check.sh: Adding ccache tuning for the CI (pr#22847, Erwan Velu)

  • build/ops: run-make-check.sh: ccache 对每个人都很好 (issue#24817, issue#24777, pr#22867, Nathan Cutler)

  • build/ops: run-make-check: 应该使用 sudo 来运行 sysctl (pr#23708, Kefu Chai)

  • build/ops: run-make-check: 在构建之前显示配置 (pr#36609, Erwan Velu)

  • build/ops: seastar: 将所需 yaml-cpp 版本降低到 0.5.1 (pr#23255, Kefu Chai)

  • build/ops: seastar: 捕获 pthread 链接的更改 (pr#25671, Kefu Chai)

  • build/ops: selinux: 允许 ceph 执行 ldconfig (pr#20118, Boris Ranto)

  • build/ops: spdk: 更新到最新的 spdk-18.05 分支 (pr#22547, Kefu Chai)

  • build/ops: spec: 需要ceph base 而不是 common (issue#37620, pr#25503, Sébastien Han)

  • build/ops: test: 将 ceph-dencoder 移动到 src/tools (pr#23228, Kefu Chai)

  • build/ops: test,qa: s/.libs/lib/ (pr#20734, Kefu Chai)

  • build/ops,tests: cmake,run-make-check: 总是启用 WITH_GTEST_PARALLEL (pr#23382, Kefu Chai)

  • build/ops,tests: deb,rpm,qa: 分割仪表板软件包 (pr#26380, Kefu Chai)

  • build/ops,tests: mgr/dashboard: 修复 Jest 中的 localStorage 问题 (pr#23281, Tiago Melo)

  • build/ops,tests: mgr/dashboard: Object Gateway 用户配置 (pr#25494, Laura Paduano)

  • build/ops,tests: src/test: 使用 gtest-parallel 加速单元测试 (pr#22577, Kefu Chai, Erwan Velu)

  • build/ops,tests: tests/fio: 修复构建失败并确保这被 run-make-check.sh 覆盖 (pr#23231, Kefu Chai, Igor Fedotov)

  • build/ops,tests: tests/qa: 添加 $ distro mix - rgw (pr#21932, Yuri Weinstein)

  • build/ops,tests: tools/ceph-dencoder: 条件链接到 mds (pr#25255, Kefu Chai)

  • build/ops,tools: tool: 链接 rbd-ggate 对 librados-cxx (pr#24901, Willem Jan Withagen)

  • ceph-disk: get_partition_dev() 应该在 get_dev_path(partnam… 之前失败 (pr#21415, Erwan Velu)

  • cephfs: doc/releases: 更新 CephFS mimic 注意事项 (issue#23775, pr#22232, Patrick Donnelly)

  • cephfs: mgr/dashboard: NFS Ganesha 管理REST API (pr#25918, Lenz Grimmer, Ricardo Dias, Jeff Layton)

  • cephfs,mgr,pybind: pybind/mgr: 统一卷和协调器的一些部分 (pr#25492, Sebastian Wagner)

  • cephfs,mon: MDSMonitor: 静默无法加载元数据 (pr#25693, Song Shun)

  • cephfs,mon: mon/MDSMonitor: 不要将冗余的 MDS 健康消息发送到集群日志 (issue#24308, pr#22252, Sage Weil)

  • cephfs: qa: 修复符号链接 (pr#23997, Patrick Donnelly)

  • cephfs,rbd: osdc: 修复 BufferHead 偏移错误的代码 (pr#22495, dongdong tao)

  • cephfs,rbd: osdc: 优化执行 BufferHead 映射的代码 (pr#22509, dongdong tao)

  • cephfs,rbd: osdc: 减少ObjectCacher 的内存碎片 (issue#36192, pr#24297, “Yan, Zheng”)

  • cephfs,tests: qa: 修复 run 调用参数 (issue#36450, pr#24597, Patrick Donnelly)

  • cephfs,tests: qa: 为文件系统安装 python3-cephfs (pr#23411, Kefu Chai)

  • cephfs,tests: qa/suites/powercycle: 白名单 MDS_SLOW_REQUEST (pr#23151, Neha Ojha)

  • cephfs,tests: qa/workunits/suites/pjd.sh: 使用正确的目录名称 (pr#22233, Neha Ojha)

  • ceph-volume: activate 选项 --auto-detect-objectstore 尊重 --no-systemd (issue#36249, pr#24355, Alfredo Deza)

  • ceph-volume: 适应代码以支持 Python3 (pr#25324, Volker Theile)

  • ceph-volume: 添加 --all 标志到 simple activate (pr#26225, Jan Fajerski)

  • ceph-volume 添加一个 __release__ 字符串,以帮助版本条件调用 (issue#25171, pr#23332, Alfredo Deza)

  • ceph-volume: 添加 inventory 命令 (issue#24972, pr#24859, Jan Fajerski)

  • ceph-volume: 针对多个设备在文件存储上对 ceph-volume 进行额外工作以添加一些 choose_disk 功能 (issue#36446, pr#24504, Erwan Velu)

  • ceph-volume 添加新的 ceph-handlers 角色,从 ceph-ansible (issue#36251, pr#24336, Alfredo Deza)

  • ceph-volume: 为lvm batch (issue#36363, pr#24587, Andrew Schoen)

  • ceph-volume: 在单词之间添加空格 (pr#26246, Sébastien Han)

  • ceph-volume: 为ceph-volume lvm list /dev/sda 添加测试 ( (issue#24784, issue#24957, pr#23348, Andrew Schoen)

  • ceph-volume: 添加单元测试 (pr#25321, Volker Theile)

  • ceph-volume: 允许指定 --cluster-fsid 而不是从 ceph.conf 中读取 (issue#26953, pr#24407, Alfredo Deza)

  • ceph-volume: 一个 OSD ID 必须存在并在使用之前销毁 (pr#23093, Andrew Schoen, Ron Allred)

  • ceph-volume batch: 允许在 CLI 上对 journal+block.db 进行大小调整 (issue#36088, pr#24201, Alfredo Deza)

  • ceph-volume batch: 允许 --osds-per-device,默认设置为 1 (issue#35913, pr#24060, Alfredo Deza)

  • ceph-volume batch 为 bluestore 切割 lvs (pr#24019, Alfredo Deza)

  • ceph-volume batch 命令 (issue#24492, pr#23075, Alfredo Deza)

  • ceph-volume: batch 测试混合类型设备 (issue#35535, issue#27210, pr#23963, Alfredo Deza)

  • ceph-volume: 扩展 LVM API 以在不同的尺寸创建多个 LVs (issue#27210, pr#24251, Alfredo Deza)

  • ceph-volume: do not pin the testinfra version for the simple tests (pr#23268, Andrew Schoen)

  • ceph-volume: do not send (lvm) stderr/stdout to the terminal, use the logfile (issue#36492, pr#24738, Alfredo Deza)

  • ceph-volume do not use stdin in luminous (issue#25173, pr#23355, Alfredo Deza)

  • ceph-volume: don’t create osd[‘block.db’] by default (issue#38472, pr#26627, Jan Fajerski)

  • ceph-volume: earlier detection for --journal and --filestore flag requirements (issue#24794, pr#24150, Alfredo Deza)

  • ceph-volume: enable device discards (issue#36532, pr#24676, Jonas Jelten)

  • ceph-volume enable --no-systemd flag for simple sub-command (issue#36470, pr#24998, Alfredo Deza)

  • ceph-volume: enable the ceph-osd during lvm activation (issue#24152, pr#23321, Dan van der Ster)

  • ceph-volume ensure encoded bytes are always used (issue#24993, pr#23289, Alfredo Deza)

  • ceph-volume: error on commands that need ceph.conf to operate (issue#23941, pr#22724, Andrew Schoen)

  • ceph-volume expand auto engine for multiple devices on filestore (issue#24553, pr#23731, Andrew Schoen, Alfredo Deza)

  • ceph-volume: expand auto engine for single type devices on filestore (issue#24960, pr#23532, Alfredo Deza)

  • ceph-volume expand on the LVM API to create multiple LVs at different sizes (issue#24020, pr#22426, Alfredo Deza)

  • ceph-volume: 提取 flake8 配置 (pr#24674, Mehdi Abaakouk)

  • ceph-volume: 修复 Batch 对象在 py3 环境中 (pr#25203, Jan Fajerski)

  • ceph-volume: 修复lvm batch --report 中的 journal 和文件存储数据大小 ( (issue#36242, pr#24274, Andrew Schoen)

  • ceph-volume: 修复inventory (issue#37390, pr#25224, Sebastian Wagner)

  • ceph-volume: 修复 TypeError: join() 接收正好一个参数(2 给出) (issue#37595, pr#25469, Sebastian Wagner)

  • ceph-volume 修复使用 Python3 时 dmcrypt 的 TypeError (pr#26034, Alfredo Deza)

  • ceph-volume 修复 zap 与 LVs 一起使用时无法工作 (issue#35970, pr#24077, Alfredo Deza)

  • ceph-volume: 实现 __format__ 在 Size 中以 py3 格式化大小 (issue#38291, pr#26401, Jan Fajerski)

  • ceph-volume 初始尝试自动子命令 (pr#21803, Alfredo Deza)

  • ceph-volume: 引入策略的类层次结构 (issue#37389, pr#25238, Jan Fajerski)

  • ceph-volume: lsblk 可能无法找到 PARTLABEL,必须回退到 blkid (issue#36098, pr#24330, Alfredo Deza)

  • ceph-volume lvm.activate 条件 mon-config on prime-osd-dir (issue#25216, pr#23375, Alfredo Deza)

  • ceph-volume lvm.activate 不要搜索 MON 配置 (pr#22393, Wido den Hollander)

  • ceph-volume:lvm batch允许为 bluestore 添加额外的标志(例如 dmcrypt) (issue#26862, pr#23448, Alfredo Deza)

  • ceph-volume lvm.batch 移除不存在的 sys_api 属性 (issue#34310, pr#37787, Alfredo Deza)

  • ceph-volume lvm.listing 仅包括存在的设备 (issue#24952, pr#23129, Alfredo Deza)

  • ceph-volume lvm.prepare 更新帮助以指示需要分区,而不是设备 (issue#24795, pr#23394, Alfredo Deza)

  • ceph-volume: 使 Device 可哈希以允许在 py3 中设置 Device 列表 (issue#38290, pr#26399, Jan Fajerski)

  • ceph-volume: 使lvm batchidempotent (issue#26864, pr#24404, Andrew Schoen)

  • ceph-volume: 如果设备属于 ceph-disk,则标记设备不可用 (pr#26084, Andrew Schoen)

  • ceph-volume: 将逗号规范化为点以进行字符串到整数的转换 (issue#37442, pr#25674, Alfredo Deza)

  • ceph-volume: 在测试时修补 Device (issue#36768, pr#25063, Alfredo Deza)

  • ceph-volume: process.call 在 Python 3 中使用 stdin 的修复 (issue#24993, pr#23141, Alfredo Deza)

  • ceph-volume: 如果缺少 ceph.conf,则提供一条友好的错误消息 (pr#22828, Andrew Schoen)

  • ceph-volume: PVolumes.get() 在使用名称或 uuid 时应返回一个 PV (issue#24784, pr#23234, Andrew Schoen)

  • ceph-volume: 拒绝zap 映射设备 (issue#24504, pr#22764, Andrew Schoen)

  • ceph-volume: 拒绝具有现有 GPT 头的设备 (issue#27062, pr#25098, Andrew Schoen)

  • ceph-volume: 移除 iteritems 实例 (issue#38299, pr#26403, Jan Fajerski)

  • ceph-volume: 在使用 zap --destroy 时移除 LVs (pr#25093, Alfredo Deza)

  • ceph-volume 移除帮助菜单中的版本报告 (issue#36386, pr#24531, Alfredo Deza)

  • ceph-volume: 将 Device 属性 valid 重命名为 available (issue#36701, pr#25007, Jan Fajerski)

  • ceph-volume: 用 py.test 替换 testinfra 命令 (issue#38568, pr#26739, Alfredo Deza)

  • ceph-volume: 恢复 SELinux 上下文 (pr#23278, Boris Ranto)

  • ceph-volume: 将分区作为磁盘还原 (issue#37506, pr#25390, Jan Fajerski)

  • ceph-volume: 不需要等待 ceph 仓库即可运行测试 (pr#23697, Andrew Schoen)

  • ceph-volume: 在测试中设置 OSD 端口数量 (pr#26753, Andrew Schoen)

  • ceph-volume: 在 prime-osd-dir 之前设置权限正确 (issue#37486, pr#25477, Andrew Schoen, Alfredo Deza)

  • ceph-volume:simple scan现在将扫描所有正在运行的 ceph-disk OSDs (pr#26826, Andrew Schoen)

  • ceph-volume: 跳过扫描系统磁盘时不存在设备的处理 (issue#36247, pr#24372, Alfredo Deza)

  • ceph-volume: 排序和对齐lvm list output (pr#21812, Theofilos Mouratidis)

  • ceph-volume systemd 导入主,以便 console_scripts 对可执行文件有效 (issue#36648, pr#24840, Alfredo Deza)

  • ceph-volume 测试在监视器主机上销毁 osds (pr#22437, Alfredo Deza)

  • ceph-volume 测试不包含 OSD 节点中的管理员密钥环 (issue#24417, pr#23999, Alfredo Deza)

  • ceph-volume tests.functional 添加 mgrs 守护进程到 lvm 测试 (issue#26879, pr#23489, Alfredo Deza)

  • ceph-volume tests.functional 添加 notario 依赖项 for ceph-ansible (pr#22116, Alfredo Deza)

  • ceph-volume tests.functional 声明 ceph-ansible 角色,而不是导入它们 (issue#37805, pr#25820, Alfredo Deza)

  • ceph-volume tests.functional 修复停止 osd.0 在文件存储中的拼写错误 (issue#37675, pr#25594, Alfredo Deza)

  • ceph-volume: 测试.functional 继承 SSH_ARGS 从 ansible (issue#34311, pr#23788, Alfredo Deza)

  • ceph-volume tests/functional 运行 lvm list 在 OSD 提供之后 (issue#24961, pr#23116, Alfredo Deza)

  • ceph-volume tests/functional 使用 Ansible 2.6 (pr#23182, Alfredo Deza)

  • ceph-volume tests 安装 ceph-ansible 的 requirements.txt 依赖项 (issue#36672, pr#24881, Alfredo Deza)

  • ceph-volume tests patch __release__ 以 mimic always for stdin keys (pr#23398, Alfredo Deza)

  • ceph-volume tests.systemd 更新导入以 systemd 模块 (issue#36704, pr#24937, Alfredo Deza)

  • ceph-volume 测试使用多个 NVME 驱动器 (issue#37409, pr#25354, Andrew Schoen)

  • ceph-volume: 在 zap 之前正确卸载 lvs (issue#24796, pr#23117, Andrew Schoen)

  • ceph-volume: 更新测试用例“deploy.yml” (pr#26397, Guillaume Abrioux)

  • ceph-volume: 更新 ansible 版本为 2.6.x 以进行简单测试 (pr#23263, Andrew Schoen)

  • ceph-volume: 使用 console_scripts (issue#36601, pr#24773, Mehdi Abaakouk)

  • ceph-volume: 使用自己的 testinfra套件进行功能测试 (pr#26685, Andrew Schoen)

  • ceph-volume util.encryption 不要将 stderr 推送到终端 (issue#36246, pr#24399, Alfredo Deza)

  • ceph-volume util.encryption 强大的 blkid+lsblk 检测锁盒 (pr#24977, Alfredo Deza)

  • ceph-volume zap 设备,这些设备与 OSD ID 和/或 OSD FSID 关联 (pr#25429, Alfredo Deza)

  • ceph-volume zap: 改进 zapping 以移除所有分区和所有 LVs,无论是否加密 (issue#37449, pr#25330, Alfredo Deza)

  • 清理:清理警告 (pr#23919, Adam C. Emerson)

  • cli: 将 osd-fsid 作为 osd find <id> 的一部分导出 (pr#26015, Noah Watkins)

  • cmake: 添加“add_npm_command()”命令 (pr#22636, Kefu Chai)

  • cmake: 为 vstart 目标添加 cls_opt (pr#22538, Ali Maredia)

  • cmake: 如果构建或找到 dpdk,则添加 dpdk::dpdk (issue#24948, pr#23620, Nathan Cutler, Kefu Chai)

  • cmake: 添加选项 WITH_LIBRADOSSTRIPER (pr#23732, Kefu Chai)

  • cmake: 允许在构建期间设置 CTest 超时 (pr#22800, Willem Jan Withagen)

  • cmake: 总是优先使用本地符号 (issue#25154, pr#23320, Kefu Chai)

  • cmake: 总是关闭 bjam 调试输出 (pr#22204, Kefu Chai)

  • cmake: 将所需 boost 版本提高到 1.67 (pr#23392, Kefu Chai)

  • cmake: 清理 (pr#23283, Kefu Chai)

  • cmake: 清理 (pr#23166, Kefu Chai)

  • cmake: 清理 (pr#23279, Kefu Chai)

  • cmake: 清理 (pr#23300, Kefu Chai)

  • cmake,crimson/net: 添加 keepalive 支持,并启用“make check”中的 unittest_seastar_messenger (pr#23642, Kefu Chai)

  • cmake: 检测 armv8 crc 和 crypto 功能使用 CHECK_C_COMPILER_FLAG (issue#17516, pr#24168, Kefu Chai)

  • cmake: 禁用 -Werror-stringop-truncation for rocksdb (pr#22591, Kefu Chai)

  • cmake: 不再检查 aligned_alloc() (issue#23653, pr#22046, Kefu Chai)

  • cmake: 如果不使用捆绑的 dpdk,则不要依赖于 ${DPDK_LIBRARIES} (issue#24449, pr#22938, Kefu Chai)

  • cmake: 不安装hellodemo 模块 (pr#21886, John Spray)

  • cmake: 不链接到 common_crc_aarch64 (pr#23366, Kefu Chai)

  • cmake: 在 FreeBSD 上不将 -B{symbolic,symbolic-functions} 传递给链接器 (pr#24920, Willem Jan Withagen)

  • cmake: 不将不必要的参数传递给 setup.py (pr#25186, Kefu Chai)

  • cmake: 不使用 Findfmt.cmake 来检查 libfmt-dev (pr#23390, Kefu Chai)

  • cmake: 不使用 plain target_link_libraries(rgw_a …) (pr#24515, Kefu Chai)

  • cmake: 为 debug 和 release RocksDB 构建启用 RTTI (pr#22286, Igor Fedotov)

  • cmake: 为 gtest-parallel 找到一个 python2 解释器 (pr#22931, Kefu Chai)

  • cmake: 使用正确的名称查找 liboath (pr#22430, Kefu Chai)

  • cmake: 在使用 -DALLOCATOR=jemalloc 时修复 cmake 错误 (pr#23380, Jianpeng Ma)

  • cmake: 修复使用 distcc 和其他编译器包装器时的编译 (pr#23510, Kefu Chai)

  • cmake: fix compilation with distcc and other compiler wrappers (pr#24605, Alexey Sheplyakov, Kefu Chai)

  • cmake: 修复 test/CMakeFile.txt 中的 cython 目标 (pr#22295, Jan Fajerski)

  • cmake: 修复 Debug 构建WITH_SEASTAR=ON ( (pr#23567, Kefu Chai)

  • cmake: 修复使用 clang 和 GCC 启用 WITH_ASAN 的更改 (pr#24692, Kefu Chai)

  • cmake: 修复查找系统 rockdb (pr#22439, Alexey Shabalin)

  • cmake: 修复 std::filesystem 检测和提取 sanitizer 检测到自己的模块 (pr#23384, Kefu Chai)

  • cmake: 修复 set() 的语法错误 (pr#26582, Kefu Chai)

  • cmake: 修复使用 WITH_DPDK=ON 时的构建 (pr#23650, Kefu Chai, Casey Bodley)

  • cmake: 修复 Findfmt 版本匹配 (pr#23996, Mohamad Gebai)

  • cmake: 修复 “WITH_STATIC_LIBSTDCXX” (pr#22990, Kefu Chai)

  • cmake: 让 rbd_api 依赖于 librbd-tp (pr#25641, Kefu Chai)

  • cmake: 以更好的方式链接到 gtest (pr#23628, Kefu Chai)

  • cmake: 将 ceph-osd 与 common 静态链接 (pr#22720, Radoslaw Zarzynski)

  • cmake: 链接压缩器插件与 lib 以现代方式 (pr#23852, Kefu Chai)

  • cmake: 使 -DWITH_MGR=OFF 工作 (pr#22077, Jianpeng Ma)

  • cmake: 使查找具有更多严重功能的文件系统的测试更容易 (pr#26316, Willem Jan Withagen)

  • cmake: 模块化 src/perfglue (pr#23254, Kefu Chai)

  • cmake: 将 ceph-osdomap-tool, ceph-monstore-tool 从 ceph-test 中移出 (pr#19964, runsisi)

  • cmake: 移除 crypto_plugins 目标 (pr#21891, Casey Bodley)

  • cmake: 如果 WITH_LIBRADOSSTRIPER=OFF,则没有 libradosstriper 头文件 (issue#35922, pr#24029, Nathan Cutler, Kefu Chai)

  • cmake: 不需要在定义之前添加 “-D” (pr#23795, Kefu Chai)

  • cmake: oath 位于 liboath (pr#22494, Willem Jan Withagen)

  • cmake: 仅在 WITH_SEASTAR 时构建额外的 boost 库 (pr#22521, Kefu Chai)

  • cmake: 移除对 GCC 5.1 的检查 (pr#24477, Kefu Chai)

  • cmake: 移除从 CMakeLists.txt 中删除的 rgw_request.cc (pr#22186, Casey Bodley)

  • cmake: 移除嵌入的 ‘cephd’ 代码 (pr#21940, Dan Mick)

  • cmake: 移除支持 cmake 2.x 的解决方法 (pr#22912, Kefu Chai)

  • cmake: rgw_common 应该依赖于跟踪头文件 (pr#22367, Kefu Chai)

  • cmake: rocksdb 相关清理 (pr#23441, Kefu Chai)

  • cmake: 应该链接到 libatomic 如果 libcxx/libstdc++ 没有关闭… (pr#22952, Kefu Chai)

  • cmake: 更新 fio 版本从 3.5 到 540e235dcd276e63c57 (pr#22019, Jianpeng Ma)

  • cmake: 使用 $CMAKE_BINARY_DIR 为默认的 $CEPH_BUILD_VIRTUALENV (问题#36737, pr#26091, Kefu Chai)

  • cmake: 使用 javac -h 为创建 JNI 本机头文件 (issue#24012, pr#21822, Kefu Chai)

  • cmake: 使用 OpenSSL::Crypto 而不是 OPENSSL_LIBRARIES (pr#24368, Kefu Chai)

  • cmake: vstart 目标可以构建 WITH_CEPHFS/RBD/MGR=OFF (pr#25204, Casey Bodley)

  • common: 添加适配器以用于 seastar::temporary_buffer (pr#22454, Kefu Chai, Casey Bodley)

  • common: 添加一个通用的异步 Completion 以用于与 boost::asio 一起使用 (pr#21914, Casey Bodley)

  • common: 添加无锁md_config_t ( (pr#22710, Kefu Chai)

  • common: async/dpdk: 启用 dpdk 时,多个消息队列缺陷 (pr#25404, zhangyongsheng)

  • common: auth/cephx: 小型代码清理 (pr#21155, runsisi)

  • common: auth, common: 清理 (pr#26383, Kefu Chai)

  • common: auth,common: 使用 ceph::mutex 而不是 LockMutex (pr#24263, Kefu Chai)

  • common: 避免在 NDEBUG 构建中的ANNOTATE_HAPPENS_*开销 (pr#25129, Radoslaw Zarzynski)

  • common: 如果设置 PID 文件失败,则提供更详细的信息 (pr#23647, Willem Jan Withagen)

  • common: blkdev: 重新设计 API 并添加 FreeBSD 支持 (pr#24658, Alan Somers)

  • common: buffer: 将迭代器特征标记为“public” (pr#25409, Kefu Chai)

  • common: calculate stddev 在运行时 (pr#21461, Yao Zongyou)

  • common: ceph.in: 使用正确的模块来标记 cmd 标志 (pr#26454, Patrick Donnelly)

  • common: ceph-volume 添加 device_id 到 inventory 列表 (pr#25201, Jan Fajerski)

  • common: 修改以解决 fc30 上的 FTBFS (pr#26301, Kefu Chai)

  • common: common/admin_socket: 添加新的 api unregister_commands(AdminSocketHook … (pr#21718, Jianpeng Ma)

  • common: common,auth,crimson: 添加日志记录到 crimson (pr#23957, Kefu Chai)

  • common: common/buffer: 修复启用 DEBUG_BUFFER 时编译器错误 (pr#25848, Jianpeng Ma)

  • common: common/config: 添加 ConfigProxy 以用于 crimson (pr#25420, Jianpeng Ma)

  • common: common/config: add ConfigProxy for crimson (pr#23074, Kefu Chai)

  • common: common/config: 修复 ConfigProxy::diff() 中的锁 (pr#23276, Kefu Chai)

  • common: common/config_values: 友好 md_config_impl<> (pr#23020, Mykola Golub, Kefu Chai)

  • common: common: 从 SharedLRU 中删除未使用的方法 (pr#26224, Radoslaw Zarzynski)

  • common: common/KeyValueDB: 移除 validate 参数 (pr#25377, Adam Kupczyk)

  • common: common/numa: 为 FreeBSD 添加 NUMA 的 shim 例程 (pr#25920, Willem Jan Withagen)

  • common: common, osd: 默认情况下将 mclock 优先级设置为 1 (pr#26022, Abhishek Lekshmanan)

  • common: common/random_cache: 移除未使用的 RandomCache (pr#26253, Kefu Chai)

  • common: common/shared_cache: 如果键已存在,则将其提升到 LRU 的前面 (pr#22736, Kefu Chai)

  • common: common/shared_cache: bumps it to the front of the LRU if key existed (pr#25370, Jianpeng Ma)

  • common: common/shared_cache: 修复竞争问题 (pr#25150, Jianpeng Ma)

  • common: common/util: 在运行在 kubernetes/rook 容器中时传递真实的主机名 (pr#23798, Sage Weil)

  • common: 完成所有节流阻塞器,当我们设置平均或最大值为 0 时 (issue#36715, pr#24965, Dongsheng Yang)

  • common,core: msg/async: 在分发时清理本地缓冲区 (issue#35987, pr#24111, Greg Farnum)

  • common,core,tests: qa/tests: 更新链接以指向 centos 最新版本 7.5 (pr#22923, Vasu Kulkarni)

  • common/crc/aarch64: 添加 cpu 功能 pmull 并为 aarch64 特定… (pr#22178, Adam Kupczyk)

  • common: crimson/common: 在 shard.0 上同步写入配置 (pr#23284, Kefu Chai)

  • common,crimson: 将 perfcounters 移植到 seastar (pr#24141, chunmei Liu)

  • common: crypto: 基于 QAT 的 RGW 加密 (pr#19386, Ganesh Maharaj Mahalingam)

  • common: crypto: 使用 ceph_assert_always 进行断言 (pr#23654, Casey Bodley)

  • common: 如果尚未定义,则定义 BOOST_COROUTINES_NO_DEPRECATION_WARNING (pr#26502, Kefu Chai)

  • common: 从 bufferlist 中删除分配跟踪 (pr#25454, Radoslaw Zarzynski)

  • common: 从 bufferlist 中删除 append_buffer。使用简单的回车代替 (pr#25077, Radoslaw Zarzynski)

  • common: 从 buffer::ptr 中删除 at_buffer_{head,tail} (pr#25422, Radoslaw Zarzynski)

  • common: 从 buffer::raw_mmap_pages 中删除未使用的 buffer::raw_mmap_pages (pr#24087, Radoslaw Zarzynski)

  • common: drop static_assert.h as it looks unused (pr#22743, Radoslaw Zarzynski)

  • common: drop the unused buffer::raw_mmap_pages (pr#24040, Radoslaw Zarzynski)

  • common: 从 ceph::bufferlist 中删除未使用的零拷贝功能 (pr#24031, Radoslaw Zarzynski)

  • common: 从 buffer.cc 中删除未初始化的 get_max_pipe_size() (pr#25432, Radoslaw Zarzynski)

  • common: ec: lrc 不再依赖于 bufferlists 之间的 crosstalks (pr#25595, Radoslaw Zarzynski)

  • common: 在 parse_argv() 中扩展 meta (pr#23474, Kefu Chai)

  • common: 修复访问和为令牌桶节流添加名称 (pr#25372, Shiyang Ruan)

  • common: 修复 Alpine 与 TEMP_FAILURE_RETRY 和 ACCESSPERMS 的兼容性 (pr#24813, Willem Jan Withagen)

  • common: 修复 PerfCounters::perf_counter_data_any_d::read_avg 中的竞争 (issue#25211, pr#23362, ludehp)

  • common: 修复 broken rbdmap 参数解析 (pr#24446, Marc Schoechlin)

  • common: 修复缺少 Boost system 库的依赖项 (pr#24278, Willem Jan Withagen)

  • common: 修复 rados bench 写 JSON 输出的拼写错误 (issue#24199, pr#22112, Sandor Zeestraten)

  • common: 修复 BackoffThrottle 中的拼写错误 (pr#24691, Shiyang Ruan)

  • common: Formatter: 提高双精度数字的精度 (pr#25745, Коренберг Марк)

  • common: .gitignore: 忽略 .idea 目录 (pr#24237, Volker Theile)

  • common: 提示 bufferlist 的 buffer_track_c_str 相pr#25424, Radoslaw Zarzynski)

  • common: hypercombined bufferlist (pr#24882, Radoslaw Zarzynski)

  • common: include/compat.h: make pthread_get_name_np work when available (pr#23641, Willem Jan Withagen)

  • common: include include/types.h early, otherwise Clang will error (pr#22493, Willem Jan Withagen)

  • common: include/types: move operator<< into the proper namespace (pr#23767, Kefu Chai)

  • common: include/types: space between number and units (pr#22063, Sage Weil)

  • common: librados,rpm,deb: various fixes to address librados3 transition and cleanups in librados (pr#24896, Kefu Chai)

  • common: make CEPH_BUFFER_ALLOC_UNIT known at compile-time (pr#26259, Radoslaw Zarzynski)

  • common: mark BlkDev::serial() const to match with its declaration (pr#24702, Willem Jan Withagen)

  • common: messages: define HEAD_VERSION and COMPAT_VERSION inlined (pr#23623, Kefu Chai)

  • common,mgr: mgr/MgrClient: make some noise for a user if no mgr daemon is running (pr#23492, Sage Weil)

  • common: mon/MonClient: set configs via finisher (issue#24118, pr#21984, Sage Weil)

  • common: msg/async: fix FTBFS of dpdk (pr#23168, Kefu Chai)

  • common: msg/async: Skip the duplicated processing of the same link (pr#20952, shangfufei)

  • common: msg/msg_types.h: do not cast ceph_entity_nametoentity_name_t for printing (pr#26315, Kefu Chai)

  • common: msgr/async/rdma: Return from poll system call with EINTR should be retried (pr#25138, Stig Telfer)

  • common: Mutex -> ceph::mutex (问题#12614, pr#25105, Kefu Chai, Sage Weil)

  • common: optimize reference counting in bufferlist (pr#25082, Radoslaw Zarzynski)

  • common: OpTracker doesn’t visit TrackedOp when nref == 0 (issue#24037, pr#22156, Radoslaw Zarzynski)

  • common: os/filestore: fix throttle configurations (pr#21926, Li Wang)

  • common,performance: auth,common: add lockless auth (pr#23591, Kefu Chai)

  • common,performance: common/assert: mark assert helpers with [[gnu::cold]] (pr#23326, Kefu Chai)

  • common,performance: compressor: add QAT support (pr#19714, Qiaowei Ren)

  • common,performance: denc: fix internal fragmentation when decoding ptr in bl (pr#25264, Kefu Chai)

  • common,rbd: misc: mark constructors as explicit (pr#21637, Danny Al-Gaaf)

  • common: reinit StackStringStream on clear (pr#25751, Patrick Donnelly)

  • common: reintroduce async SharedMutex (issue#24124, pr#22698, Casey Bodley)

  • common: Reverse deleted include (pr#23838, Willem Jan Withagen)

  • common: Revert “common: add an async SharedMutex” (issue#24124, pr#21986, Casey Bodley)

  • common,rgw: cls/rbd: init local var with known value (pr#25588, Kefu Chai)

  • common,tests: run-standalone.sh: Need double-quotes to handle | in core_pattern on all distributions (issue#38325, pr#26436, David Zafman)

  • common,tests: test_shared_cache: fix memory leak (pr#25215, Jianpeng Ma)

  • common: vstart: do not attempt to re-initialize dashboard for existing cluster (pr#23261, Jason Dillaman)

  • core: Add support for osd_delete_sleep configuration value (issue#36474, pr#24749, David Zafman)

  • core: auth: drop the RWLock in AuthClientHandler (pr#23699, Kefu Chai)

  • core: auth/krb: Fix Kerberos build warnings (pr#25639, Daniel Oliveira)

  • core: build: disable kerberos for nautilus (pr#26258, Sage Weil)

  • core: ceph_argparse: fix --verbose (pr#25961, Patrick Nawracay)

  • core: ceph.in: friendlier message on EPERM (issue#25172, pr#23330, John Spray)

  • core: ceph.in: write bytes to stdout in raw_write() (pr#25280, Kefu Chai)

  • core: ceph_test_rados_api_misc: remove obsolete LibRadosMiscPool.PoolCreationRace (issue#24150, pr#22042, Sage Weil)

  • core: Clang misses <optional> include (pr#23768, Willem Jan Withagen)

  • core: common/blkdev.h: use std::string (pr#25783, Neha Ojha)

  • core: common/options: remove unused ms async affinity options (pr#26099, Josh Durgin)

  • core: common/util.cc: add CONTAINER_NAME processing for metadata (pr#25383, Dan Mick)

  • core: compressor: building error for QAT decompress (pr#22609, Qiaowei Ren)

  • core: crush, osd: handle multiple parents properly when applying pg upmaps (issue#23921, pr#21815, xiexingguo)

  • core: erasure-code: add clay codes (issue#19278, pr#24291, Myna V, Sage Weil)

  • core: erasure-code: fixes alignment issue when clay code is used with jerasure, cauchy_orig (pr#24586, Myna)

  • core: global/signal_handler.cc: report assert_file as correct name (pr#23738, Dan Mick)

  • core: include/rados: clarify which flags go where for copy_from (pr#24497, Ilya Dryomov)

  • core: include/rados.h: hide CEPH_OSDMAP_PGLOG_HARDLIMIT from ceph -s (pr#25887, Neha Ojha)

  • core: kv/KeyValueDB: Move PriCache implementation to ShardedCache (pr#25925, Mark Nelson)

  • core: kv/KeyValueDB: return const char* from MergeOperator::name() (issue#26875, pr#23477, Sage Weil)

  • core: messages/MOSDPGScan: fix initialization of query_epoch (pr#22408, wumingqiao)

  • core: mgr/balancer: add cmd to list all plans (issue#37418, pr#21937, Yang Honggang)

  • core: mgr/BaseMgrModule: drop GIL for ceph_send_command (issue#38537, pr#26723, Sage Weil)

  • core: mgr/MgrClient: Protect daemon_health_metrics (issue#23352, pr#23404, Kjetil Joergensen, Brad Hubbard)

  • core,mgr: mon/MgrMonitor: change ‘unresponsive’ message to info level (issue#24222, pr#22158, Sage Weil)

  • core,mgr,rbd: mgr: generalize osd perf query and make counters accessible from modules (pr#25114, Mykola Golub)

  • core,mgr,rbd: osd: support more dynamic perf query subkey types (pr#25371, Mykola Golub)

  • core,mgr,rbd,rgw: rgw, common: Fixes SCA issues (pr#22007, Danny Al-Gaaf)

  • core: mgr/smart: remove obsolete smart module (pr#26411, Sage Weil)

  • core: mon/LogMonitor: call no_reply() on ignored log message (pr#22098, Sage Weil)

  • core: mon/MonClient: avoid using magic number for the MAuth::protocol (pr#23747, Kefu Chai)

  • core: mon/MonClient: extract MonSub out (pr#23688, Kefu Chai)

  • core: mon/MonClient: use scoped_guard instead of goto (pr#24304, Kefu Chai)

  • core,mon: mon,osd: dump “compression_algorithms” in “mon metadata” (issue#22420, pr#21809, Kefu Chai, Casey Bodley)

  • core,mon: mon/OSDMonitor: no_reply on MOSDFailure messages (issue#24322, pr#22259, Sage Weil)

  • core,mon: mon/OSDMonitor: Warnings for expected_num_objects (issue#24687, pr#23072, Douglas Fuller)

  • core: mon/OSDMonitor: two “ceph osd crush class rm” fixes (pr#24657, xie xingguo)

  • core: mon/PGMap: fix PGMapDigest decode (pr#22066, Sage Weil)

  • core: mon/PGMap: include unknown PGs in ‘pg ls’ (pr#24032, Sage Weil)

  • core: msg/async: do not trigger RESETSESSION from connect fault during connection phase (issue#36612, pr#25343, Sage Weil)

  • core: msg/async/Event: clear time_events on shutdown (issue#24162, pr#22093, Sage Weil)

  • core: msg/async: fix banner_v1 check in ProtocolV2 (pr#26714, Yingxin Cheng)

  • core: msg/async: fix include in frames_v2.h (pr#26711, Yingxin Cheng)

  • core: msg/async: fix is_queued() semantics (pr#24693, Ilya Dryomov)

  • core: msg/async: keep connection alive only actually sending (pr#24301, Haomai Wang, Kefu Chai)

  • core: os/bluestore: fix deep-scrub operation againest disk silent errors (pr#23629, Xiaoguang Wang)

  • core: os/bluestore: fix flush_commit locking (issue#21480, pr#22083, Sage Weil)

  • core: OSD: add impl for filestore to get dbstatistics (issue#24591, pr#22633, lvshuhua)

  • core: osdc: Change ‘bool budgeted’ to ‘int budget’ to avoid recalculating (pr#21242, Jianpeng Ma)

  • core: OSD: ceph-osd parent process need to restart log service after fork (issue#24956, pr#23090, redickwang)

  • core: osdc/Objecter: fix split vs reconnect race (issue#22544, pr#23850, Sage Weil)

  • core: osdc/Objecter: no need null pointer check for op->session anymore (pr#25230, runsisi)

  • core: osdc/Objecter: possible race condition with connection reset (issue#36183, pr#24276, Jason Dillaman)

  • core: osdc: self-managed snapshot helper should catch decode exception (issue#24000, pr#21804, Jason Dillaman)

  • core: osd, librados: add unset-manifest op (pr#21999, Myoungwon Oh)

  • core: osd,mds: make ‘config rm …’ idempotent (issue#24408, pr#22395, Sage Weil)

  • core: osd/mon: fix upgrades for pg log hard limit (issue#36686, pr#25816, Neha Ojha, Yuri Weinstein)

  • core: osd,mon: increase mon_max_pg_per_osd to 250 (pr#23251, Neha Ojha)

  • core: osd,mon,msg: use intrusive_ptr for holding Connection::priv (issue#20924, pr#22292, Kefu Chai)

  • core: osd/OSD: choose heartbeat peers more carefully (pr#23487, xie xingguo)

  • core: osd/OSD: drop extra/wrong *unregister_pg* (pr#21816, xiexingguo)

  • core: osd/OSDMap: be more aggressive when trying to balance (issue#37940, pr#26039, xie xingguo)

  • core: osd/OSDMap: drop local pool filter in calc_pg_upmaps (pr#26605, xie xingguo)

  • core: osd/OSDMap: fix CEPHX_V2 osd requirement to nautilus, not mimic (pr#23249, Sage Weil)

  • core: osd/OSDMap: fix upmap mis-killing for erasure-coded PGs (pr#25365, ningtao, xie xingguo)

  • core: osd/OSDMap: potential access violation fix (issue#37881, pr#25930, xie xingguo)

  • core: osd/OSDMap: using std::vector::reserve to reduce memory reallocation (pr#26478, xie xingguo)

  • core: osd/OSD: ping monitor if we are stuck at __waiting_for_healthy__ (pr#23958, xie xingguo)

  • core: osd/OSD: preallocate for _get_pgs/_get_pgids to avoid reallocate (pr#25434, Jianpeng Ma)

  • core: osd/PG: async-recovery should respect historical missing objects (pr#24004, xie xingguo)

  • core: osd/PG.cc: account for missing set irrespective of last_complete (issue#37919, pr#26175, Neha Ojha)

  • core: osd/PG: create new PGs from activate in last_peering_reset epoch (issue#24452, pr#22478, Sage Weil)

  • core: osd/PG: do not choose stray osds as async_recovery_targets (pr#22330, Neha Ojha)

  • core: osd/PG: fix misused FORCE_RECOVERY[BACKFILL] flags (issue#27985, pr#23904, xie xingguo)

  • core: osd/PGLog.cc: check if complete_to points to log.end() (pr#23450, Neha Ojha)

  • core: osd/PGLog: trim - avoid dereferencing invalid iter (pr#23546, xie xingguo)

  • core: osd/PG: remove unused functions (pr#26155, Kefu Chai)

  • core: osd/PG: reset PG on osd down->up; normalize query processing (issue#24373, pr#22456, Sage Weil)

  • core: osd/PG: restrict async_recovery_targets to up osds (pr#22664, Neha Ojha)

  • core: osd/PG: unset history_les_bound if local-les is used (pr#22524, Kefu Chai)

  • core: osd/PG: write pg epoch when resurrecting pg after delete vs merge race (issue#35923, pr#24061, Sage Weil)

  • core: osd/PrimaryLogPG: do not count failed read in delta_stats (pr#25687, Kefu Chai)

  • core: osd/PrimaryLogPG: fix last_peering_reset checking on manifest flushing (pr#26778, xie xingguo)

  • core: osd/PrimaryLogPG: fix on_local_recover crash on stray clone (pr#22396, Sage Weil)

  • core: osd/PrimaryLogPG: fix potential pg-log overtrimming (pr#23317, xie xingguo)

  • core: osd/PrimaryLogPG: fix the extent length error of the sync read (pr#25584, Xiaofei Cui)

  • core: osd/PrimaryLogPG: fix try_flush_mark_clean write contention case (issue#24174, pr#22084, Sage Weil)

  • core: osd/PrimaryLogPG: optimize recover order (pr#23587, xie xingguo)

  • core: osd/PrimaryLogPG: update missing_loc more carefully (issue#35546, pr#23895, xie xingguo)

  • core: osd/ReplicatedBackend: remove useless assert (pr#21243, Jianpeng Ma)

  • core: osd/Session: fix invalid iterator dereference in Session::have_backoff() (issue#24486, pr#22497, Sage Weil)

  • core: osd: write “debug dump_missing” output to stdout (pr#21960, Коренберг Маркr)

  • core: os/kstore: support db statistic (pr#21487, Yang Honggang)

  • core: os/memstore: use ceph::mutex and friends (pr#26026, Kefu Chai)

  • core,performance: core: avoid unnecessary refcounting of OSDMap on OSD’s hot paths (pr#24743, Radoslaw Zarzynski)

  • core,performance: msg/async: avoid put message within write_lock (pr#20731, Haomai Wang)

  • core,performance: os/bluestore: make osd shard-thread do oncommits (pr#22739, Jianpeng Ma)

  • core,performance: osd/filestore: Change default filestore_merge_threshold to -10 (issue#24686, pr#22761, Douglas Fuller)

  • core,performance: osd/OSDMap: map pgs with smaller batchs in calc_pg_upmaps (pr#23734, huangjun)

  • core: PG: release reservations after backfill completes (issue#23614, pr#22255, Neha Ojha)

  • core: pg stuck in backfill_wait with plenty of disk space (issue#38034, pr#26375, xie xingguo, David Zafman)

  • core,pybind: pybind/rados: new methods for manipulating self-managed snapshots (pr#22579, Jason Dillaman)

  • core: qa/suites/rados: minor fixes (pr#22195, Neha Ojha)

  • core: qa/suites/rados/thrash-erasure-code*/thrashers/*: less likely resv rejection injection (pr#24667, Sage Weil)

  • core: qa/suites/rados/thrash-old-clients: only centos and 16.04 (pr#22106, Sage Weil)

  • core: qa/suites: set osd_pg_log_dups_tracked in cfuse_workunit_suites_fsync.yaml (pr#21909, Neha Ojha)

  • core: qa/suites/upgrade/luminous-x: disable c-o-t import/export tests between versions (issue#38294, pr#27018, Sage Weil)

  • core: qa/suites/upgrade/mimic-x/parallel: enable all classes (pr#27011, Sage Weil)

  • core: qa/workunits/mgr/test_localpool.sh: use new config syntax (pr#22496, Sage Weil)

  • core: qa/workunits/rados/test_health_warnings: prevent out osds (issue#37776, pr#25732, Sage Weil)

  • core: rados.pyx: make all exceptions accept keyword arguments (issue#24033, pr#21853, Rishabh Dave)

  • core: rados: return legacy address in ‘lock info’ (pr#26150, Jason Dillaman)

  • core: scrub warning check incorrectly uses mon scrub interval (issue#37264, pr#25112, David Zafman)

  • core: src: no ‘dne’ acronym in user cmd output (pr#21094, Gu Zhongyan)

  • core,tests: Minor cleanups in tests and log output (issue#38631, issue#38678, pr#26899, David Zafman)

  • core,tests: qa/overrides/short_pg_log.yaml: reduce osd_{min,max}_pg_log_entries (issue#38025, pr#26101, Neha Ojha)

  • core,tests: qa/suites/rados/thrash: change crush_tunables to jewel in rados_api_tests (issue#38042, pr#26122, Neha Ojha)

  • core,tests: qa/suites/upgrade/luminous-x: a few fixes (pr#22092, Sage Weil)

  • core,tests: qa/tests: Set ansible-version: 2.5 (issue#24926, pr#23123, Yuri Weinstein)

  • core,tests: Removal of snapshot with corrupt replica crashes osd (issue#23875, pr#22476, David Zafman)

  • core,tests: test: Verify a log trim trims the dup_index (pr#26533, Brad Hubbard)

  • core,tools: osdmaptool: fix wrong test_map_pgs_dump_all output (pr#22280, huangjun)

  • core,tools: rados: provide user with more meaningful error message (pr#26275, Mykola Golub)

  • core,tools: tools/rados: allow reuse object for write test (pr#25128, Li Wang)

  • core: vstart.sh: Support SPDK in Ceph development deployment (pr#22975, tone.zhang)

  • crimson: add MonClient (pr#23849, Kefu Chai)

  • crimson: cache osdmap using LRU cache (pr#26254, Kefu Chai, Jianpeng Ma)

  • crimson/common: apply config changes also on shard.0 (pr#23631, Yingxin)

  • crimson/connection: misc changes (pr#23044, Kefu Chai)

  • crimson: crimson/mon: remove timeout support from mon::Client::authenticate() (pr#24660, Kefu Chai)

  • crimson/mon: move mon::Connection into .cc (pr#24619, Kefu Chai)

  • crimson/net: concurrent dispatch for SocketMessenger (pr#24090, Casey Bodley)

  • crimson/net: encapsulate protocol implementations with states (pr#25176, Yingxin, Kefu Chai)

  • crimson/net: encapsulate protocol implementations with states (remaining part) (pr#25207, Yingxin)

  • crimson/net: fix addresses during banner exchange (pr#25580, Yingxin)

  • crimson/net: fix compile errors in test_alien_echo.cc (pr#24629, Yingxin)

  • crimson/net: fix crimson msgr error leaks to caller (pr#25716, Yingxin)

  • crimson/net: fix misc issues for segment-fault and test-failures (pr#25939, Yingxin Cheng, Kefu Chai)

  • crimson/net: Fix racing for promise on_message (pr#24097, Yingxin)

  • crimson/net: fix unittest_seastar_messenger errors (pr#23539, Yingxin)

  • crimson/net: implement accepting/connecting states (pr#24608, Yingxin)

  • crimson/net: miscellaneous fixes to seastar-msgr (pr#23816, Yingxin, Casey Bodley)

  • crimson/net: misc fixes and features for crimson-messenger tests (pr#26221, Yingxin Cheng)

  • crimson/net: seastar-msgr refactoring (pr#24576, Yingxin)

  • crimson/net: s/repeat/keep_doing/ (pr#23898, Kefu Chai)

  • crimson/osd: add heartbeat support (pr#26222, Kefu Chai)

  • crimson/osd: add more heartbeat peers (pr#26255, Kefu Chai)

  • crimson/osd: correct the order of parameters passed to OSD::_preboot() (pr#26774, chunmei Liu)

  • crimson/osd: crimson osd driver (pr#25304, Radoslaw Zarzynski, Kefu Chai)

  • crimson/osd: remove “force_new” from ms_get_authorizer() (pr#26054, Kefu Chai)

  • crimson/osd: send known addresses at boot (pr#26452, Kefu Chai)

  • crimson: persist/load osdmap to/from store (pr#26090, Kefu Chai)

  • crimson: port messenger to seastar (pr#22491, Kefu Chai, Casey Bodley)

  • crimson/thread: add thread pool (pr#22565, Kefu Chai)

  • crimson/thread: pin thread pool to given CPU (pr#22776, Kefu Chai)

  • crush/CrushWrapper: silence compiler warning (pr#25336, Li Wang)

  • crush: fix device_class_clone for unpopulated/empty weight-sets (issue#23386, pr#22127, Sage Weil)

  • crush: fix memory leak (pr#25959, xie xingguo)

  • crush: fix upmap overkill (issue#37968, pr#26179, xie xingguo)

  • dashboard/mgr: Save button doesn’t prevent saving an invalid form (issue#36426, pr#24577, Patrick Nawracay)

  • dashboard: Return float if rate not available (pr#22313, Boris Ranto)

  • doc: add Ceph Manager Dashboard to top-level TOC (pr#26390, Nathan Cutler)

  • doc: add ceph-volume inventory sections (pr#25092, Jan Fajerski)

  • doc: add documentation for iostat (pr#22034, Mohamad Gebai)

  • doc: added demo document changes section (pr#24791, James McClune)

  • doc: added rbd default features (pr#24720, Gaurav Sitlani)

  • doc: added some Civetweb configuration options (pr#24073, Anton Oks)

  • doc: Added some hints on how to further accelerate builds with ccache (pr#25394, Lenz Grimmer)

  • doc: add instructions about using “serve-doc” to preview built document (pr#24471, Kefu Chai)

  • doc: add mds state transition diagram (issue#22989, pr#22996, Patrick Donnelly)

  • doc: Add mention of ceph osd pool stats (pr#25575, Thore Kruess)

  • doc: add missing 12.2.11 release note (pr#26596, Nathan Cutler)

  • doc: add note about LVM volumes to ceph-deploy quick start (pr#23879, David Wahler)

  • doc: add release notes for 12.2.11 luminous (pr#26228, Abhishek Lekshmanan)

  • doc: add spacing to subcommand references (pr#24669, James McClune)

  • doc: add “--timeout” option to rbd-nbd (pr#24302, Stefan Kooman)

  • doc/bluestore: fix minor typos in compression section (pr#22874, David Disseldorp)

  • doc: broken link on troubleshooting-mon page (pr#25312, James McClune)

  • doc: bump up sphinx and pyyaml versions (pr#26044, Kefu Chai)

  • doc: ceph-deploy would not support --cluster option anymore (pr#26471, Tatsuya Naganawa)

  • doc: ceph: describe application subcommand in ceph man page (pr#20645, Rishabh Dave)

  • doc: ceph-iscsi-api ports should not be public facing (pr#24248, Jason Dillaman)

  • doc: ceph-volume describe better the options for migrating away from ceph-disk (issue#24036, pr#21890, Alfredo Deza)

  • doc: ceph-volume dmcrypt and activate --all documentation updates (issue#24031, pr#22062, Alfredo Deza)

  • doc: ceph-volume: expand on why ceph-disk was replaced (pr#23194, Alfredo Deza)

  • doc: ceph-volume: lvm batch documentation and man page updates (issue#24970, pr#23443, Alfredo Deza)

  • doc: ceph-volume: update batch documentation to explain filestore strategies (issue#34309, pr#23785, Alfredo Deza)

  • doc: ceph-volume: zfs, the initial first submit (pr#23674, Willem Jan Withagen)

  • doc: cleaned up troubleshooting OSDs documentation (pr#23519, James McClune)

  • doc: Clean up field names in ServiceDescription and add a service field (pr#26006, Jeff Layton)

  • doc: cleanup: prune Argonaut-specific verbiage (pr#22899, Nathan Cutler)

  • doc: cleanup rendering syntax (pr#22389, Mahati Chamarthy)

  • doc: Clean up the snapshot consistency note (pr#25655, Greg Farnum)

  • doc: common,mon: add implicit #include headers (pr#23930, Kefu Chai)

  • doc: common/options: add description of osd objectstore backends (issue#24147, pr#22040, Alfredo Deza)

  • doc: corrected options of iscsiadm command (pr#26395, ZhuJieWen)

  • doc: correct rbytes description (pr#24966, Xiang Dai)

  • doc: describe RBD QoS settings (pr#25202, Mykola Golub)

  • doc: doc/bluestore: data doesn’t use two partitions (ceph-disk era) (pr#22604, Alfredo Deza)

  • doc: doc/cephfs: fixup add/remove mds docs (pr#23836, liu wei)

  • doc: doc/cephfs: remove lingering “experimental” note about multimds (pr#22852, John Spray)

  • doc: doc/dashboard: don’t advise mgr_initial_modules (pr#22808, John Spray)

  • doc: doc/dashboard: fix formatting on Grafana instructions-2 (pr#22706, Jos Collin)

  • doc: doc/dashboard: fix formatting on Grafana instructions (pr#22657, John Spray)

  • doc: doc/dev/cephx_protocol: fix couple errors (pr#23750, Kefu Chai)

  • doc: doc/dev/index: update rados lead (pr#24160, Josh Durgin)

  • doc: doc/dev/msgr2.rst: update of the banner and authentication phases (pr#20094, Ricardo Dias)

  • doc: doc/dev/seastore.rst: initial draft notes (pr#21381, Sage Weil)

  • doc: doc/dev: Updated component leads table (pr#24238, Lenz Grimmer)

  • doc: doc: fix the links in releases/schedule.rst (pr#22364, Kefu Chai)

  • doc: doc/man: mention import and export commands in rados manpage (issue#4640, pr#23186, Nathan Cutler)

  • doc: doc: Mention PURGED_SNAPDIRS and RECOVERY_DELETES in Mimic release notes (pr#22711, Florian Haas)

  • doc: doc/mgr/dashboard: fix typo in mgr ssl setup (pr#24790, Mehdi Abaakouk)

  • doc: doc/mgr: mention how to clear config setting (pr#22157, John Spray)

  • doc: doc/mgr: note need for module.py file in plugins (pr#22622, John Spray)

  • doc: doc/mgr/orchestrator: Add Architecture Image (pr#26331, Sebastian Wagner, Kefu Chai)

  • doc: doc/mgr/orchestrator: add wal to blink lights (pr#25634, Sebastian Wagner)

  • doc: doc/mgr/prometheus: readd section about custom instance labels (pr#25182, Jan Fajerski)

  • doc: doc/orchestrator: Aligned Documentation with specification (pr#25893, Sebastian Wagner)

  • doc: doc/orchestrator: Integrate CLI specification into the documentation (pr#25119, Sebastian Wagner)

  • doc: doc: purge subcommand link broken (pr#24785, James McClune)

  • doc: doc/rados: Add bluestore memory autotuning docs (pr#25069, Mark Nelson)

  • doc: doc/rados/configuration: add osd scrub {begin,end} week day (pr#25924, Neha Ojha)

  • doc: doc/rados/configuration/msgr2: some documentation about msgr2 (pr#26867, Sage Weil)

  • doc: doc/rados/configuration: refresh osdmap section (pr#26120, Ilya Dryomov)

  • doc: doc/rados: correct osd path in troubleshooting-mon.rst (pr#24964, songweibin)

  • doc: doc/rados: fixed hit set type link (pr#23833, James McClune)

  • doc: doc/radosgw/s3.rst: Adding AWS S3 Storage Class as Not Supported (pr#19571, Katie Holly)

  • doc: doc/rados/operations: add balancer.rst to TOC (pr#23684, Kefu Chai)

  • doc: doc/rados/operations: add clay to erasure-code-profile (pr#26902, Kefu Chai)

  • doc: doc/rados/operations/crush-map-edits: fix ‘take’ syntax (pr#24868, Remy Zandwijk, Sage Weil)

  • doc: doc/rados/operations/pg-states: fix PG state names, part 2 (pr#23165, Nathan Cutler)

  • doc: doc/rados/operations/pg-states: fix PG state names (pr#21520, Jan Fajerski)

  • doc: doc/rados update invalid bash on bluestore migration (issue#34317, pr#23801, Alfredo Deza)

  • doc: doc/rbd: corrected OpenStack Cinder permissions for Glance pool (pr#22443, Jason Dillaman)

  • doc: doc/rbd: explicitly state that mirroring requires connectivity to clusters (pr#24433, Jason Dillaman)

  • doc: doc/rbd/iscsi-target-cli: Update auth command (pr#26788, Ricardo Marques)

  • doc: doc/rbd/iscsi-target-cli: Update disk separator (pr#26669, Ricardo Marques)

  • doc: doc/release/luminous: v12.2.6 and v12.2.7 release notes (pr#23057, Abhishek Lekshmanan, Sage Weil)

  • doc: doc/releases: Add luminous releases 12.2.9 and 10 (pr#25361, Brad Hubbard)

  • doc: doc/releases: Add Mimic release 13.2.2 (pr#24509, Brad Hubbard)

  • doc: doc/releases: Mark Jewel EOL (pr#23698, Brad Hubbard)

  • doc: doc/releases: Mark Mimic first release as June (pr#24099, Brad Hubbard)

  • doc: doc/releases/mimic.rst: make note of 13.2.2 upgrade bug (pr#24979, Neha Ojha)

  • doc: doc/releases/mimic: tweak RBD major features (pr#22011, Jason Dillaman)

  • doc: doc/releases/mimic: Updated dashboard description (pr#22016, Lenz Grimmer)

  • doc: doc/releases/mimic: upgrade steps (pr#21987, Sage Weil)

  • doc: doc/releases/nautilus: dashboard package notes (pr#26815, Kefu Chai)

  • doc: doc/releases/schedule: Add Luminous 12.2.8 (pr#23972, Brad Hubbard)

  • doc: doc/releases/schedule: add mimic column (pr#22006, Sage Weil)

  • doc: doc/releases: Update releases to August ‘18 (pr#23360, Brad Hubbard)

  • doc: doc/rgw: document placement targets and storage classes (issue#24508, issue#38008, pr#26997, Casey Bodley)

  • doc: docs: add Clay code plugin documentation (pr#24422, Myna)

  • doc: docs: Fixed swift client authentication fail (pr#23729, Dai Dang Van)

  • doc: docs: radosgw: ldap-auth: fixed option name ‘rgw_ldap_searchfilter’ (issue#23081, pr#20526, Konstantin Shalygin)

  • doc: doc/start: fix kube-helm.rst typo: docuiment -> document (pr#23423, Zhou Peng)

  • doc: doc/SubmittingPatches.rst: use Google style guide for doc patches (pr#22190, Nathan Cutler)

  • doc: Document correction (pr#23926, Gangbiao Liu)

  • doc: Document mappings of S3 Operations to ACL grants (pr#26827, Adam C. Emerson)

  • doc: document sizing for block.db (pr#23210, Alfredo Deza)

  • doc: document vstart options (pr#22467, Mao Zhongyi)

  • doc: doc/user-management: Remove obsolete reset caps command (issue#37663, pr#25550, Brad Hubbard)

  • doc: edit on github (pr#24452, Neha Ojha, Noah Watkins)

  • doc: erasure-code-clay fixes typos (pr#24653, Myna)

  • doc: erasure-code-jerasure: removed default section of crush-device-class (pr#21279, Junyoung Sung)

  • doc: examples/librados: Remove not needed else clauses (pr#24939, Marcos Paulo de Souza)

  • doc: explain ‘firstn v indep’ in the CRUSH docs (pr#24255, Greg Farnum)

  • doc: Fix a couple typos and improve diagram formatting (pr#23496, Bryan Stillwell)

  • doc: fix a typo in doc/mgr/telegraf.rst (pr#22267, Enming Zhang)

  • doc: fix cephfs spelling errors (pr#23763, Chen Zhenghua)

  • doc: fix/cleanup freebsd osd disk creation (pr#23600, Willem Jan Withagen)

  • doc: Fix Create a Cluster url in Running Multiple Clusters (issue#37764, pr#25705, Jos Collin)

  • doc: Fix EC k=3 m=2 profile overhead calculation example (pr#20581, Charles Alva)

  • doc: fixed broken urls (pr#23564, James McClune)

  • doc: fixed grammar in restore rbd image section (pr#22944, James McClune)

  • doc: fixed links in Pools section (pr#23431, James McClune)

  • doc: fixed minor typo in Debian packages section (pr#22878, James McClune)

  • doc: fixed restful mgr module SSL configuration commands (pr#21864, Lenz Grimmer)

  • doc: Fixed spelling errors in configuration section (pr#23719, Bryan Stillwell)

  • doc: Fixed syntax in iscsi initiator windows doc (pr#25467, Michel Raabe)

  • doc: Fixed the paragraph and boxes (pr#25094, Scoots Hamilton)

  • doc: Fixed the wrong numbers in mgr/dashboard.rst (pr#22658, Jos Collin)

  • doc: fixed typo in add-or-rm-mons.rst (pr#26250, James McClune)

  • doc: fixed typo in cephfs snapshots (pr#23764, Kai Wagner)

  • doc: fixed typo in CRUSH map docs (pr#25953, James McClune)

  • doc: fixed typo in man page (pr#24792, James McClune)

  • doc: Fix incorrect mention of ‘osd_deep_mon_scrub_interval’ (pr#26522, Ashish Singh)

  • doc: Fix iSCSI docs URL (pr#26296, Ricardo Marques)

  • doc: fix iscsi target name when configuring target (pr#21906, Venky Shankar)

  • doc: fix long description error for rgw_period_root_pool (pr#23814, yuliyang)

  • doc: fix some it’s -> its typos (pr#22802, Brad Fitzpatrick)

  • doc: Fix some typos (pr#25060, mooncake)

  • doc: Fix Spelling Error In File “ceph.rst” (pr#23917, Gangbiao Liu)

  • doc: Fix Spelling Error In File dynamicresharding.rst (pr#24175, xiaomanh)

  • doc: Fix Spelling Error of Rados Deployment/Operations (pr#23746, Li Bingyang)

  • doc: Fix Spelling Error of Radosgw (pr#23948, Li Bingyang)

  • doc: Fix Spelling Error of Radosgw (pr#24000, Li Bingyang)

  • doc: Fix Spelling Error of Radosgw (pr#24021, Li Bingyang)

  • doc: Fix Spelling Error of Rados Operations (pr#23891, Li Bingyang)

  • doc: Fix Spelling Error of Rados Operations (pr#23900, Li Bingyang)

  • doc: Fix Spelling Error of Rados Operations (pr#23903, Li Bingyang)

  • doc: fix spelling errors in rbd doc (pr#23765, Chen Zhenghua)

  • doc: fix spelling errors of cephfs (pr#23745, Chen Zhenghua)

  • doc: fix the broken urls (issue#25185, pr#23310, Jos Collin)

  • doc: fix the formatting of HTTP Frontends documentation (pr#25723, James McClune)

  • doc: fix typo and format issues in quick start documentation (pr#23705, Chen Zhenghua)

  • doc: fix typo in add-or-rm-mons (pr#25661, Jos Collin)

  • doc: Fix typo in ceph-fuse(8) (pr#22214, Jos Collin)

  • doc: fix typo in erasure coding example (pr#25737, Arthur Liu)

  • doc: Fix typos in Developer Guide (pr#24067, Li Bingyang)

  • doc: fix typos in doc/releases (pr#24186, Li Bingyang)

  • doc: */: fix typos in docs,messages,logs,comments (pr#24139, Kefu Chai)

  • doc: Fix Typos of Developer Guide (pr#24094, Li Bingyang)

  • doc: fix typos (pr#22174, Mao Zhongyi)

  • doc: .githubmap, .mailmap, .organizationmap: update contributors (pr#24756, Tiago Melo)

  • doc: githubmap, organizationmap: cleanup and add/update contributors/affiliation (pr#22734, Tatjana Dehler)

  • doc: give pool name if default pool rbd is not created (pr#24750, Changcheng Liu)

  • doc: Improve docs osd_recovery_priority, osd_recovery_op_priority and related (pr#26705, David Zafman)

  • doc: Improve OpenStack integration and multitenancy docs for radosgw (issue#36765, pr#25056, Florian Haas)

  • doc: install build-doc deps without git clone (pr#24416, Noah Watkins)

  • doc: Luminous v12.2.10 release notes (pr#25034, Nathan Cutler)

  • doc: Luminous v12.2.9 release notes (pr#24779, Nathan Cutler)

  • doc: make it easier to reach the old dev doc TOC (pr#23253, Nathan Cutler)

  • doc: mention CVEs in luminous v12.2.11 release notes (pr#26312, Nathan Cutler, Abhishek Lekshmanan)

  • doc: mgr/dashboard: Add documentation about supported browsers (issue#27207, pr#23712, Tiago Melo)

  • doc: mgr/dashboard: Added missing tooltip to settings icon (pr#23935, Lenz Grimmer)

  • doc: mgr/dashboard: Add hints to resolve unit test failures (pr#23627, Stephan Müller)

  • doc: mgr/dashboard: Cleaner notifications (pr#23315, Stephan Müller)

  • doc: mgr/dashboard: Cleanup of summary refresh test (pr#25504, Stephan Müller)

  • doc: mgr/dashboard: Document custom RESTController endpoints (pr#25322, Stephan Müller)

  • doc: mgr/dashboard: Fixed documentation link on RGW page (pr#24612, Tina Kallio)

  • doc: mgr/dashboard: Fix some setup steps in HACKING.rst (pr#24788, Ranjitha G)

  • doc: mgr/dashboard: Improve prettier scripts and documentation (pr#22994, Tiago Melo)

  • doc: mgr/dashboard/qa: add missing dashboard suites (pr#25084, Tatjana Dehler)

  • doc: mgr/dashboard: updated SSO documentation (pr#25943, Alfonso Martínez)

  • doc: mgr/dashboard: Update I18N documentation (pr#25159, Tiago Melo)

  • doc: mgr/orch: Fix remote_host doc reference (issue#38254, pr#26360, Ernesto Puerta)

  • doc/mgr/plugins.rst: explain more about the plugin command protocol (pr#22629, Dan Mick)

  • doc: mimic is stable! (pr#22350, Abhishek Lekshmanan)

  • doc: mimic rc1 release notes (pr#20975, Abhishek Lekshmanan)

  • doc: Multiple spelling fixes (pr#23514, Bryan Stillwell)

  • doc: numbered eviction situations (pr#24618, Scoots Hamilton)

  • doc: osdmaptool/cleanup: Completed osdmaptool’s usage (issue#3214, pr#13925, Vedant Nanda)

  • doc: osd/PrimaryLogPG: avoid dereferencing invalid complete_to (pr#23894, xie xingguo)

  • doc: osd/PrimaryLogPG: rename list_missing -> list_unfound command (pr#23723, xie xingguo)

  • doc: PendingReleaseNotes: note newly added CLAY code (pr#24491, Kefu Chai)

  • doc: print pg peering in SVG instead of PNG (pr#20366, Aleksei Gutikov)

  • doc: Put command template into literal block (pr#24999, Alexey Stupnikov)

  • doc: qa/mgr/selftest: handle always-on module fall out (issue#26994, pr#23681, Noah Watkins)

  • doc: qa: Task to emulate network delay and packet drop between two given h… (pr#23602, Shilpa Jagannath)

  • doc: qa/workunits/rbd: replace usage of ‘rados rmpool’ (pr#23942, Mykola Golub)

  • doc: release/mimic: correct the changelog to the latest version (pr#22319, Abhishek Lekshmanan)

  • doc: release notes for 12.2.8 luminous (pr#23909, Abhishek Lekshmanan)

  • doc: release notes for 13.2.2 mimic (pr#24266, Abhishek Lekshmanan)

  • doc: releases: mimic 13.2.1 release notes (pr#23288, Abhishek Lekshmanan)

  • doc: releases: release notes for v10.2.11 Jewel (pr#22989, Abhishek Lekshmanan)

  • doc: remove CZ mirror (pr#21797, Tomáš Kukrál)

  • doc: remove deprecated ‘scrubq’ from ceph(8) (issue#35813, pr#23959, Ruben Kerkhof)

  • doc: remove documentation for installing google-perftools on Debian systems (pr#22701, James McClune)

  • doc: remove duplicate python packages (pr#22203, Stefan Kooman)

  • doc: Remove upstart files and references (pr#23582, Brad Hubbard)

  • doc: Remove value ‘mon_osd_max_split_count’ (pr#26584, Kai Wagner)

  • doc: replace rgw_namespace_expire_secs with rgw_nfs_namespace_expire_secs (pr#20794, chnmagnus)

  • doc: rewrote the iscsi-target-cli installation (pr#23190, Massimiliano Cuttini)

  • doc: rgw: fix tagging support status (issue#24164, pr#22206, Abhishek Lekshmanan)

  • doc: rgw: fix the default value of usage log setting (issue#37856, pr#25892, Abhishek Lekshmanan)

  • doc: Rook/orchestrator doc fixes (pr#23472, John Spray)

  • doc: s/doc/ref for dashboard urls (pr#22772, Jos Collin)

  • doc: sort releases by date and version (pr#25972, Noah Watkins)

  • doc: Spelling fixes in BlueStore config reference (pr#23715, Bryan Stillwell)

  • doc: Spelling fixes in Network config reference (pr#23727, libingyang)

  • doc: SubmittingPatches: added inline markup to important references (pr#25978, James McClune)

  • docs: update rgw info for mimic (pr#22305, Yehuda Sadeh)

  • doc: test/crimson: do not use unit.cc as the driver of unittest_seastar_denc (pr#23937, Kefu Chai)

  • doc: test/fio: Added tips for compilation of fio with ‘rados’ engine (pr#24199, Adam Kupczyk)

  • doc: test/msgr: add missing #include (pr#23947, Kefu Chai)

  • doc: Tidy up description wording and spelling (pr#22599, Anthony D’Atri)

  • doc: tweak RBD iSCSI docs to point to merged tooling repo (pr#24963, Jason Dillaman)

  • doc: typo fixes, s/Requered/Required/ (pr#26406, Drunkard Zhang)

  • doc: update blkin changes (pr#22317, Mahati Chamarthy)

  • doc: Update cpp.rst to accommodate the new APIs in libs3 (pr#22162, Zhanhao Liu)

  • doc: Updated Ceph Dashboard documentation (pr#26626, Lenz Grimmer)

  • doc: updated Ceph documentation links (pr#25797, James McClune)

  • doc: updated cluster map reference link (pr#24460, James McClune)

  • doc: updated crush map tunables link (pr#24462, James McClune)

  • doc: Updated dashboard documentation (features, SSL config) (pr#22059, Lenz Grimmer)

  • doc: Updated feature list and overview in dashboard.rst (pr#26143, Lenz Grimmer)

  • doc: updated get-involved.rst for ceph-dashboard (pr#22663, Jos Collin)

  • doc: Updated Mgr Dashboard documentation (pr#24030, Lenz Grimmer)

  • doc: updated multisite documentation (issue#26997, pr#23660, James McClune)

  • doc: updated reference link for creating new disk offerings in cloudstack (pr#22250, James McClune)

  • doc: updated reference link for log based PG (pr#26611, James McClune)

  • doc: updated rgw multitenancy link (pr#25929, James McClune)

  • doc: updated the overview and glossary for dashboard (pr#22750, Jos Collin)

  • doc: updated wording from federated to multisite (pr#24670, James McClune)

  • doc: Update mgr/zabbix plugin documentation with link to Zabbix template (pr#24584, Wido den Hollander)

  • doc: update the description for SPDK in bluestore-config-ref.rst (pr#22365, tone-zhang)

  • doc: use :command: for subcommands in ceph-bluestore-tool manpage (issue#24800, pr#23114, Nathan Cutler)

  • doc: use preferred commands for ceph config-key (pr#26527, Changcheng Liu)

  • doc: warn about how ‘rados put’ works in the manpage (pr#25757, Greg Farnum)

  • doc: Wip githubmap (pr#25950, Greg Farnum)

  • erasure-code,test: silence -Wunused-variable warnings (pr#25200, Kefu Chai)

  • example/librados: remove dependency on Boost system library (issue#25054, pr#23159, Nathan Cutler)

  • githubmap: update contributors (pr#22522, Kefu Chai)

  • git: Ignore tags anywhere (pr#26159, David Zafman)

  • include/buffer.h: do not use ceph_assert() unless __CEPH__ is defined (pr#23803, Kefu Chai)

  • install-deps.sh: Fixes for RHEL 7 (pr#26393, Zack Cerza)

  • kv/MemDB: add perfcounter (pr#10305, Jianpeng Ma)

  • librados: add a rados_omap_iter_size function (issue#26948, pr#23593, Jeff Layton)

  • librados: block MgrClient::start_command until mgrmap (pr#21811, John Spray, Kefu Chai)

  • librados: fix admin/build-doc warning (pr#25706, Jos Collin)

  • librados: fix buffer overflow for aio_exec python binding (pr#21775, Aleksei Gutikov)

  • librados: fix unitialized timeout in wait_for_osdmap (pr#24721, Casey Bodley)

  • librados: Include memory for unique_ptr definition (issue#35833, pr#23992, Brad Hubbard)

  • librados: Reject the invalid pool create request at client side, rath… (pr#21299, Yang Honggang)

  • librados: return ENOENT if pool_id invalid (pr#21609, Li Wang)

  • librados: split C++ and C APIs into different source files (pr#24616, Kefu Chai)

  • librados: use ceph::async::Completion for asio bindings (pr#21920, Casey Bodley)

  • librados: use steady clock for rados_mon_op_timeout (pr#20004, Mohamad Gebai)

  • librbd: add missing shutdown states to managed lock helper (issue#38387, pr#26523, Jason Dillaman)

  • librbd: 添加新的配置选项,始终将删除的项目移动到回收站 (pr#24476, Jason Dillaman)

  • librbd: 添加 rbd 图像访问/修改时间戳 (pr#21114, Julien Collet)

  • librbd: 添加回收站清除 API 调用 (pr#24427, Julien Collet, Theofilos Mouratidis, Jason Dillaman)

  • librbd: 如果快照存在,始终打开第一个父图像 (pr#23733, Jason Dillaman)

  • librbd: 避免对任何静态访问者进行聚合初始化 (pr#26876, Willem Jan Withagen)

  • librbd: 黑名单客户端可能不会注意到它丢失了锁 (issue#34534, pr#23829, Jason Dillaman)

  • librbd: block_name_prefix 不是随机创建的 (issue#24634, pr#22675, hyun-ha)

  • librbd: 如果“rbd_validate_pool”为假,则跳过池验证 (pr#26878, Jason Dillaman)

  • librbd: 如果禁用写回缓存且完成,则安全地提交 IO (issue#23516, pr#22342, Jason Dillaman)

  • librbd: 修正 ImageState::open 标志参数的使用 (pr#25428, Mykola Golub)

  • librbd: 深拷贝:如果快照为零重叠,则不要隐藏父级 (issue#24545, pr#22587, Mykola Golub)

  • librbd: 深拷贝可选支持扁平化克隆的图像 (issue#22787, pr#21624, Mykola Golub)

  • librbd: 深拷贝:如果需要,请调整头部对象映射 (issue#24399, pr#22415, Mykola Golub)

  • librbd: 深拷贝不应写入无法存在的对象 (issue#25000, pr#23132, Jason Dillaman)

  • librbd: 当移动到回收站时禁用图像镜像 (pr#25509, Mykola Golub)

  • librbd: 禁止在迁移图像时恢复回收站 (pr#25529, songweibin)

  • librbd: 对于带有 copyup 的丢弃,不要执行创建+截断 (pr#26825, Ilya Dryomov)

  • librbd: 确保比较和写入在 copyup 后不会跳过比较 (issue#38383, pr#26519, Ilya Dryomov)

  • librbd: 扩展 API 以包括父/子命名空间和图像 ID (issue#36650, pr#25194, Jason Dillaman)

  • librbd: 修复打开不存在的快照时崩溃 (issue#24637, pr#22676, Mykola Golub)

  • librbd: 修复在扁平化克隆时零重叠的断言 (issue#35702, pr#24045, Jason Dillaman)

  • librbd: 修复如果不允许缩减,则缺少 unblock_writes (issue#36778, pr#25055, runsisi)

  • librbd: 修复重新排队请求时可能不必要的延迟 (pr#23815, Song Shun)

  • librbd: 修复由于图像头未刷新而导致的提交后潜在的主迁移问题 (pr#23839, Mykola Golub)

  • librbd: 修复 were_all_throttled() 以避免返回不正确的 ret-value (issue#38504, pr#26688, Dongsheng Yang)

  • librbd: 扁平化操作应使用对象映射 (issue#23445, pr#23941, Mykola Golub)

  • librbd: 在磁盘更新时强制“无效对象映射”标志 (issue#24434, pr#22444, Mykola Golub)

  • librbd: get_parent API 方法应正确处理正在迁移的图像 (issue#37998, pr#26337, Jason Dillaman)

  • librbd: 在 ManagedLock 和 PreReleaseRequest 中处理 aio 失败 (pr#20112, liyichao)

  • librbd: 在高 IOPS 工作负载下提高对象映射性能 (issue#38538, pr#26721, Jason Dillaman)

  • librbd: 日志记录无法请求不能发送到远程锁所有者 (issue#26939, pr#23649, Mykola Golub)

  • librbd: 将访问/修改时间戳更新保持在 IO 路径之外 (issue#37745, pr#25883, Jason Dillaman)

  • librbd: 使迁移父图像成为可能 (pr#25945, Mykola Golub)

  • librbd: 将镜像对等属性处理从 CLI 移动到 API (pr#25096, Jason Dillaman)

  • librbd: 命名空间创建/删除/列表支持 (pr#22608, Jason Dillaman)

  • librbd: 对象复制状态机可能会引用已删除的对象 (issue#36220, pr#24293, Jason Dillaman)

  • librbd: 对象映射不正确地标记为失效 (issue#24516, pr#24105, Jason Dillaman)

  • librbd: 可选地限制正在进行的追加的日志 (pr#22983, Mykola Golub)

  • librbd:optionally 支持 FUA(强制单元访问)在写请求上 (issue#19366, pr#22945, ningtao)

  • librbd: 池和图像级别配置覆盖 (pr#23743, Mykola Golub)

  • librbd: 潜在的对象映射与 copyup 状态机发生竞争 (issue#24516, pr#24253, Jason Dillaman)

  • librbd: 图像创建请求完成时潜在的竞争 (issue#24910, pr#23639, Mykola Golub)

  • librbd: 防止外部用户使用内部功能位 (issue#24165, pr#22072, Jason Dillaman)

  • librbd: 防止在预 nautilus OSD 上使用命名空间 (pr#23823, Jason Dillaman)

  • librbd: 在清除时正确过滤出已删除的非用户图像 (pr#26079, Mykola Golub)

  • librbd: 正确处理潜在的对象映射失败 (issue#36074, pr#24179, Jason Dillaman)

  • librbd: 在验证 RBD 池时可能发生竞争条件 (issue#38500, pr#26683, Jason Dillaman)

  • librbd: 减少令牌桶填充周期并支持突发 io 配置 (pr#24214, Shiyang Ruan)

  • librbd: 移除非模板函数的模板声明 (pr#23790, Shiyang Ruan)

  • librbd: 在 rbd_snap_list() 中重置快照 (issue#37508, pr#25379, Kefu Chai)

  • librbd: 如果迁移父级消失,则重新启动 io (issue#36710, pr#25175, Mykola Golub)

  • librbd: send_copyup() 修复和清理 (pr#26483, Ilya Dryomov)

  • librbd: 简化配置覆盖处理 (pr#24450, Jason Dillaman)

  • librbd: 默认情况下跳过小的、未对齐的丢弃范围 (issue#38146, pr#26432, Jason Dillaman)

  • librbd: 支持bps限制和单独限制读写 (pr#21635, Dongsheng Yang)

  • librbd: 支持具有最小停机时间的图像迁移 (issue#18430, issue#24439, issue#26874, issue#23659, pr#15831, Patrick Donnelly, Sage Weil, Alfredo Deza, Kefu Chai, Patrick Nawracay, Pavani Rajula, Mykola Golub, Casey Bodley, Yingxin, Jason Dillaman)

  • librbd: 支持跨命名空间的 v2 克隆 (pr#23662, Jason Dillaman)

  • librbd: 执行快照回滚时使用对象映射 (pr#23110, songweibin)

  • librbd: 删除图像时利用禁用日志策略 (issue#23512, pr#22327, Jason Dillaman)

  • librbd: 验证数据池以支持自我管理的快照 (pr#22737, Mykola Golub)

  • librbd: 工作around GCC 的 ICE (issue#37719, pr#25733, Kefu Chai)

  • log: 避免为大多数日志条目分配堆分配 (pr#23721, Patrick Donnelly)

  • lvm: 当 osd 创建失败时记录异常 (issue#24456, pr#22627, Andrew Schoen)

  • mailmap,organization: 更新 sangfor 联属关系 (pr#25225, Zengran Zhang)

  • mds: 设置 Connection::priv 时添加引用现有会话 (pr#22384, “Yan, Zheng”)

  • mds: 修复 MDSCacheObject::waiting 的泄漏 (issue#24289, pr#22307, “Yan, Zheng”)

  • mds: 修复一些内存泄漏 (issue#24289, pr#22240, “Yan, Zheng”)

  • mds,messages: 静默 -Wclass-memaccess 警告 (pr#21845, Kefu Chai)

  • mds: 正确记录根 inode 的 snaprealm (issue#24343, pr#22320, “Yan, Zheng”)

  • mds: 删除过时的注释 (pr#25549, Patrick Donnelly)

  • mds: 对来自黑名单客户端的打开请求回复会话拒绝 (pr#21941, Yan, Zheng, “Yan, Zheng”)

  • mgr: 添加从 Python 触发集群/审计日志消息的能力 (pr#24239, Volker Theile)

  • mgr: 添加HandleCommandResultnamedtuple (pr#25261, Sebastian Wagner)

  • mgr: 添加 osd 性能查询的 limit 参数 (pr#25151, Mykola Golub)

  • mgr: 添加每个池的强制恢复/回填命令 (issue#38456, pr#26560, xie xingguo)

  • mgr: 添加每个池的清理命令 (pr#26532, xie xingguo)

  • mgr: 允许模块获取/设置其他模块选项 (pr#25651, Volker Theile)

  • mgr: 允许 rook 缩放 mon 计数 (pr#26405, Jeff Layton)

  • mgr: always on 模块 v2 (pr#23970, Noah Watkins)

  • mgr/ansible: 添加/删除主机 (pr#26241, Juan Miguel Olmo Martínez)

  • mgr/ansible: 替换用于检索存储设备数据的 Ansible playbook (pr#26023, Juan Miguel Olmo Martínez)

  • mgr/ansible: 替换已过时的 <get_config> 调用 (pr#25964, Juan Miguel Olmo Martínez)

  • mgr: 将 PG_STATES 集中到 MgrModule (pr#22594, Wido den Hollander)

  • mgr: ceph-mgr: 在访问请求列表和提交请求时保持锁定 (pr#25048, Jerry Lee)

  • mgr: 将“bytes”动态性能计数器更改为 COUNTER 类型 (pr#25908, Mykola Golub)

  • mgr: 创建始终开启的模块类 (pr#23106, Noah Watkins)

  • mgr: 创建 shell OSD 性能查询类 (pr#24117, Mykola Golub)

  • mgr/dashboard: 关于建议的更改 (issue#35693, pr#25376, Kanika Murarka)

  • mgr/dashboard: 添加列出、设置和取消设置集群范围的 OSD 标志到后端的能力 (issue#24056, pr#21998, Patrick Nawracay)

  • mgr/dashboard: 配置页面添加“清除过滤器”按钮 (issue#36173, pr#25712, familyuu)

  • mgr/dashboard: 添加一个脚本,在 rook 集群上执行 API 请求 (pr#25991, Jeff Layton)

  • mgr/dashboard: 添加表格操作组件 (pr#24633, Stephan Müller)

  • mgr/dashboard: Add backend support for changing dashboard configuration settings via the REST API (pr#22457, Patrick Nawracay)

  • mgr/dashboard: Add breadcrumbs component (issue#24781, pr#23414, Tiago Melo)

  • mgr/dashboard: add columns to Pools table (pr#25791, Alfonso Martínez)

  • mgr/dashboard: Add decorator to skip parameter encoding (issue#26856, pr#23419, Tiago Melo)

  • mgr/dashboard: Add description to menu items on mobile navigation (pr#26198, Sebastian Krah)

  • mgr/dashboard: added command to tox.ini (pr#26073, Alfonso Martínez)

  • mgr/dashboard: added ‘env_build’ to ‘npm run e2e’ (pr#26165, Alfonso Martínez)

  • mgr/dashboard: Added new validators (pr#22526, Stephan Müller)

  • mgr/dashboard: Add error handling on the frontend (pr#21820, Tiago Melo)

  • mgr/dashboard: add Feature Toggles (issue#37530, pr#26102, Ernesto Puerta)

  • mgr/dashboard: Add Filesystems list component (pr#21913, Tiago Melo)

  • mgr/dashboard: Add filtered rows number in table footer (pr#22504, Tiago Melo)

  • mgr/dashboard: Add gap between panel footer buttons (pr#23796, Volker Theile)

  • mgr/dashboard: Add guideline how to brand the UI and update the color scheme (pr#25988, Sebastian Krah)

  • mgr/dashboard: Add help menu entry (pr#22303, Ricardo Marques)

  • mgr/dashboard: Add i18n support (pr#24803, Sebastian Krah, Tiago Melo)

  • mgr/dashboard: Add implicit wait in e2e tests (pr#26384, Tiago Melo)

  • mgr/dashboard: Add info to Pools table (pr#25489, Alfonso Martínez)

  • mgr/dashboard: Add iSCSI discovery authentication UI (pr#26320, Tiago Melo)

  • mgr/dashboard: Add iSCSI Target Edit UI (issue#38014, pr#26367, Tiago Melo)

  • mgr/dashboard: Add left padding to helper icon (pr#24631, Stephan Müller)

  • mgr/dashboard: 改进 CRUSH 地图查看器 (issue#36719, pr#25654, Tiago Melo)

  • mgr/dashboard: Add missing test requirement “werkzeug” (pr#24628, Stephan Müller)

  • mgr/dashboard: Add NFS status endpoint (issue#38399, pr#26539, Tiago Melo)

  • mgr/dashboard: Add ‘no-unused-variable’ rule to tslint (pr#22328, Tiago Melo)

  • mgr/dashboard: Add permission validation to the “Purge Trash” button (issue#36272, pr#24370, Tiago Melo)

  • mgr/dashboard: Add pool cache tiering details tab (issue#25158, pr#25602, familyuu)

  • mgr/dashboard: Add Pool update endpoint (pr#21881, Sebastian Wagner, Stephan Müller)

  • mgr/dashboard: Add Prettier formatter to the frontend (pr#21819, Tiago Melo)

  • mgr/dashboard: add profiles to set cluster’s rebuild performance (pr#24968, Tatjana Dehler)

  • mgr/dashboard: add pytest plugin: faulthandler (pr#25053, Alfonso Martínez)

  • mgr/dashboard: Add REST API for role management (pr#23322, Ricardo Marques)

  • mgr/dashboard: Add scrub action to the OSDs table (pr#22122, Tiago Melo)

  • mgr/dashboard: Adds custom timepicker for grafana iframes (pr#25583, Kanika Murarka)

  • mgr/dashboard: Adds ECP management to the frontend (pr#24627, Stephan Müller)

  • mgr/dashboard: Add shared Confirmation Modal (pr#22601, Tiago Melo)

  • mgr/dashboard: add supported flag information to config options documentation (pr#22760, Tatjana Dehler)

  • mgr/dashboard: Add support for iSCSI’s multi backstores (UI) (pr#26575, Tiago Melo)

  • mgr/dashboard: Add support for managing individual OSD settings/characteristics in the frontend (issue#36487, issue#36444, issue#35448, issue#36188, issue#35811, issue#35816, issue#36086, pr#24606, Patrick Nawracay)

  • mgr/dashboard: Add support for managing individual OSD settings in the backend (issue#24270, pr#23491, Patrick Nawracay)

  • mgr/dashboard: Add support for managing RBD QoS (issue#37572, issue#38004, issue#37570, issue#37936, issue#37574, issue#36191, issue#37845, issue#37569, pr#25233, Patrick Nawracay)

  • mgr/dashboard: Add support for RBD Trash (issue#24272, pr#23351, Tiago Melo)

  • mgr/dashboard: Add support for URI encode (issue#24621, pr#22672, Tiago Melo)

  • mgr/dashboard: Add table actions component (pr#23779, Stephan Müller)

  • mgr/dashboard: 在 HACKING.rst 中添加目录表 (pr#25812, Sebastian Krah)

  • mgr/dashboard: 为 Grafana 代理添加令牌认证 (pr#22459, Patrick Nawracay)

  • mgr/dashboard: 添加 TSLint 规则“no-unused-variable” (pr#24699, Alfonso Martínez)

  • mgr/dashboard: 添加用于配置集群范围 OSD 标志的 UI (pr#22461, Tiago Melo)

  • mgr/dashboard: 添加禁用 ACL 认证的 UI (issue#38218, pr#26388, Tiago Melo)

  • mgr/dashboard: 添加配置 telemetry mgr 插件的 UI (pr#25989, Volker Theile)

  • mgr/dashboard: 添加唯一验证器 (pr#23802, Volker Theile)

  • mgr/dashboard: 允许池名中包含“/” (issue#38302, pr#26408, Tiago Melo)

  • mgr/dashboard: 允许在 run-backend-api-request 中使用不安全的 HTTPS (pr#21882, Sebastian Wagner)

  • mgr/dashboard: 允许重命名现有的池 (issue#36560, pr#25107, guodan1)

  • mgr/dashboard: 审计 REST API 调用 (pr#24475, Volker Theile)

  • mgr/dashboard: 自动为 RBD 图像快照创建名称 (pr#23735, Volker Theile)

  • mgr/dashboard: 避免 Read/Write 卡中显示空白内容 (pr#25563, Alfonso Martínez)

  • mgr/dashboard: awsauth: 修复 python3 字符串解码问题 (pr#21794, Ricardo Dias)

  • mgr/dashboard: 当租户指定时无法处理用户编辑 (pr#24757, Volker Theile)

  • mgr/dashboard: 在检查 RGW 状态时捕获 LookupError (pr#24028, Volker Theile)

  • mgr/dashboard: CdFormGroup (pr#22644, Stephan Müller)

  • mgr/dashboard: 从 UI 管理cephfs-journal-tool (pr#22758, Ricardo Marques)

  • mgr/dashboard: 更改“客户端恢复”标题 (pr#26883, Ernesto Puerta)

  • mgr/dashboard: 将 Masthead 的背景颜色更改为品牌灰色 (issue#35690, pr#25628, Neha Gupta)

  • mgr/dashboard: 将十进制点的默认值更改为 1 (pr#22386, Tiago Melo)

  • mgr/dashboard: 更改通知中的图标颜色 (pr#26586, Volker Theile)

  • mgr/dashboard: 在解码 JSON 响应之前检查 content-type (pr#24350, Ricardo Marques)

  • mgr/dashboard: 检查 Grafana 仪表板是否存在 (issue#36356, pr#25154, Kanika Murarka)

  • mgr/dashboard: 清理 OSD 列表方法 (pr#24823, Stephan Müller)

  • mgr/dashboard: 清理集群和审计日志 (pr#26188, Sebastian Krah)

  • mgr/dashboard: 清理 (pr#24831, Patrick Nawracay)

  • mgr/dashboard: 清理 pylint 的disable:no-else-return (pr#26509, Patrick Nawracay)

  • mgr/dashboard: 清理 Python 代码 (pr#26743, Volker Theile)

  • mgr/dashboard: 清理 RGW 配置检查 (pr#22669, Volker Theile)

  • mgr/dashboard: 在登录屏幕上关闭模态对话框 (pr#23328, Volker Theile)

  • mgr/dashboard: 代码清理 (pr#25502, Alfonso Martínez)

  • mgr/dashboard: 为颜色代码分配颜色变量 (issue#24575, pr#22695, Kanika Murarka)

  • mgr/dashboard config options add (issue#34528, issue#24996, issue#24455, issue#36173, pr#23230, Tatjana Dehler)

  • mgr/dashboard: 配置选项集成(只读)取决于 #22422 (pr#21460, Tatjana Dehler)

  • mgr/dashboard: 配置选项表格清理 (issue#34533, pr#24523, Tatjana Dehler)

  • mgr/dashboard: 配置选项类型名称更新 (issue#37843, pr#25876, Tatjana Dehler)

  • mgr/dashboard: 配置文本区域禁止水平调整 (issue#36452, pr#24614, Tatjana Dehler)

  • mgr/dashboard: 在 UI 中配置所有 mgr 模块 (pr#26116, Volker Theile)

  • mgr/dashboard: 确认模态对话框不会关闭 (pr#24544, Volker Theile)

  • mgr/dashboard: CephFS 性能图中倾斜的时间戳令人困惑 (pr#25909, Volker Theile)

  • mgr/dashboard: 考虑配置选项的默认值 (issue#37683, pr#25616, Tatjana Dehler)

  • mgr/dashboard: 控制器基础设施重构和新功能 (pr#22210, Patrick Nawracay, Ricardo Dias)

  • mgr/dashboard: 更正权限装饰器 (pr#26135, Tina Kallio)

  • mgr/dashboard: CRUSH 地图查看器 (issue#35684, pr#24766, familyuu)

  • mgr/dashboard: CRUSH 地图查看器 RFE (issue#37794, pr#26162, familyuu)

  • mgr/dashboard: 仪表板信息卡片重构 (pr#22902, Alfonso Martínez)

  • mgr/dashboard: 数据表错误面板在页面加载时闪烁 (pr#23316, Volker Theile)

  • mgr/dashboard: 删除对话框在按下“取消”时错误地执行删除 (pr#22003, Volker Theile)

  • mgr/dashboard: 禁止创建 package-lock.json (pr#22061, Tiago Melo)

  • mgr/dashboard: 在任务执行期间禁用 RBD 操作 (pr#23445, Ricardo Marques)

  • mgr/dashboard: 禁止编辑只读配置选项(第 2 部分) (pr#26450, Tatjana Dehler)

  • mgr/dashboard: 禁止编辑只读配置选项 (pr#26297, Tatjana Dehler)

  • mgr/dashboard: 显示登录用户 (issue#24822, pr#24213, guodan1, guodan)

  • mgr/dashboard: 如果 RGW 未配置,则显示通知 (pr#21785, Volker Theile)

  • mgr/dashboard: 显示 RGW 用户/存储桶配额最大大小,以人类可读的形式 (pr#23842, Volker Theile)

  • mgr/dashboard: 在 RBD 编辑时不要获取池列表 (pr#22404, Ricardo Marques)

  • mgr/dashboard: 对于 http 不要求证书 (issue#36069, pr#24103, Boris Ranto)

  • mgr/dashboard: 删除 iSCSI 网关名称参数 (pr#26984, Ricardo Marques)

  • mgr/dashboard: 启用 API 测试的覆盖率 (pr#26851, Alfonso Martínez)

  • mgr/dashboard: 在 DeletionModalComponent 中转义正则表达式模式 (issue#24902, pr#23420, Tiago Melo)

  • mgr/dashboard: Python 3 上 Exception.message 不存在 (pr#24349, Ricardo Marques)

  • mgr/dashboard: 提取/重构 Task 合并 (pr#23555, Stephan Müller, Tiago Melo)

  • mgr/dashboard: 过滤掉依赖于权限的任务 (pr#25426, Tina Kallio)

  • mgr/dashboard: 修复 /api/grafana/validation (pr#25997, Zack Cerza)

  • mgr/dashboard: 在用户表和表单中修复密码更改时的用户表单错误 (pr#23939, Volker Theile)

  • mgr/dashboard: 修复 cherrypy 静态内容 URL 前缀配置 (pr#23183, Ricardo Marques)

  • mgr/dashboard: 修复重复错误消息 (pr#23287, Stephan Müller)

  • mgr/dashboard: 修复重复任务 (pr#24930, Tiago Melo)

  • mgr/dashboard: 修复 e2e 脚本 (pr#22903, Tiago Melo)

  • mgr/dashboard: 修复主机列表行选择的性能详细信息上下文 (issue#37854, pr#26020, Neha Gupta)

  • mgr/dashboard: 修复 environment.build.js 中的拼写错误 (pr#26650, Lenz Grimmer)

  • mgr/dashboard: 点击新创建的 OSD 时发生错误 (issue#36245, pr#24369, Patrick Nawracay)

  • mgr/dashboard: 修复文档链接到在新选项卡中打开 (pr#22237, a2batic)

  • mgr/dashboard: 修复 Grafana 500 错误 (issue#37809, pr#25830, Kanika Murarka)

  • mgr/dashboard: 修复失败的 QA 测试:test_safe_to_destroy (issue#37290, pr#25149, Patrick Nawracay)

  • mgr/dashboard: 修复 flaky QA 测试 (pr#24024, Patrick Nawracay)

  • mgr/dashboard: 修复某些角色上的 Forbidden 错误 (issue#37293, pr#25141, Ernesto Puerta)

  • mgr/dashboard: 修复“集群 >> 主机”页面 (pr#24974, Alfonso Martínez)

  • mgr/dashboard: 修复 formatter 服务单元测试 (pr#22323, Tiago Melo)

  • mgr/dashboard: 修复使用“::”的主机没有 ipv6 时表格错误 (pr#26635, Noah Watkins)

  • mgr/dashboard: 修复在 firefox 中表格增长 (issue#26999, pr#23711, Tiago Melo)

  • mgr/dashboard: 修复 HttpClient 模块在单元测试中的导入 (pr#24679, Tiago Melo)

  • mgr/dashboard: 修复 iSCSI 互密码输入类型 (pr#26854, Ricardo Marques)

  • mgr/dashboard: 修复 iSCSI 服务单元测试 (pr#26319, Tiago Melo)

  • mgr/dashboard: 修复控制器/erasure_code_profile.py 中的问题 (pr#26738, Volker Theile)

  • mgr/dashboard: 修复 Jest 与覆盖率文件冲突 (pr#22155, Tiago Melo)

  • mgr/dashboard: 修复 UI 中的布局问题 (issue#24525, pr#22597, Volker Theile)

  • mgr/dashboard: 修复指向外部文档的链接 (pr#24829, Patrick Nawracay)

  • mgr/dashboard: 修复由 codelyzer 更新引起的 lint 错误 (pr#22693, Tiago Melo)

  • mgr/dashboard: 修复 lint 错误 (pr#22417, Tiago Melo)

  • mgr/dashboard: 修复长时间运行的 RBD 克隆/复制消息 (pr#24641, Ricardo Marques)

  • mgr/dashboard: 修复缺少失败的恢复通知 (issue#36513, pr#24664, Tiago Melo)

  • mgr/dashboard: 修复仅修改文件(前端) (pr#25346, Patrick Nawracay)

  • mgr/dashboard: 修复 moment.js 脱胎换骨警告 (pr#21981, Tiago Melo)

  • mgr/dashboard: 修复 UI 中的更多布局问题 (pr#22600, Volker Theile)

  • mgr/dashboard: 修复导航栏聚焦颜色 (pr#25769, Volker Theile)

  • mgr/dashboard: 修复用户列表和表单中的通知 (pr#23797, Volker Theile)

  • mgr/dashboard: 修复 OSD 下错误显示 (issue#24530, pr#23754, Patrick Nawracay)

  • mgr/dashboard: 修复文件系统页面不显示池使用情况 (pr#22453, Tiago Melo)

  • mgr/dashboard: 修复 ErasureCodeProfileService 中的问题 (pr#24694, Tiago Melo)

  • mgr/dashboard: 修复 Python3 问题 (pr#24617, Patrick Nawracay)

  • mgr/dashboard: 修复任务注释端点中的查询参数 (issue#25096, pr#23229, Ricardo Dias)

  • mgr/dashboard: 修复 RBD 操作禁用 (pr#24637, Ricardo Marques)

  • mgr/dashboard: 修复 RBD 功能样式 (pr#22759, Ricardo Marques)

  • mgr/dashboard: 修复 RBD 对象大小下拉选项 (pr#22830, Ricardo Marques)

  • mgr/dashboard: 修复 RBD 任务元数据 (pr#22088, Tiago Melo)

  • mgr/dashboard: 修复会话丢失时重定向到登录页面 (pr#23388, Ricardo Marques)

  • mgr/dashboard: 修复对 oA 的引用 (pr#24343, Joao Eduardo Luis)

  • mgr/dashboard: 修复 rbd 表单组件的回归 (issue#24757, pr#22829, Tiago Melo)

  • mgr/dashboard: 修复池列表重新加载 (pr#26182, Patrick Nawracay)

  • mgr/dashboard: 修复池重命名 (pr#25423, Patrick Nawracay)

  • mgr/dashboard: 修复 f31bbd: Source列 RBD 配置列表的 Source 列 (issue#37569, pr#26765, Patrick Nawracay)

  • mgr/dashboard: 修复跳过的后端 API 测试 (pr#26172, Alfonso Martínez)

  • mgr/dashboard: 修复一些 datatable CSS 问题 (pr#22216, Volker Theile)

  • mgr/dashboard: 修复 OSD 列表状态标签周围的空格 (pr#24607, Patrick Nawracay)

  • mgr/dashboard: 修复摘要刷新调用堆栈 (pr#25984, Tiago Melo)

  • mgr/dashboard: 修复 test_full_health 测试 (issue#37872, pr#25913, Tatjana Dehler)

  • mgr/dashboard: 修复 test_remove_not_expired_trash qa 测试 (issue#37354, pr#25221, Tiago Melo)

  • mgr/dashboard: 修复 toast 通知隐藏实用菜单 (pr#26429, Alfonso Martínez)

  • mgr/dashboard: 修复 tox 未检测到依赖项更改 (pr#26409, Alfonso Martínez)

  • mgr/dashboard: 修复 iSCSI 页面上的 ts 错误 (pr#24715, Ricardo Marques)

  • mgr/dashboard: 修复 NoOrchesrtatorConfiguredException 类名中的拼写错误 (pr#26334, Volker Theile)

  • mgr/dashboard: 修复池管理的拼写错误 (pr#26323, Lenz Grimmer)

  • mgr/dashboard: 修复单元测试 cli 警告 (pr#23363, Volker Theile)

  • mgr/dashboard: 修复单元测试中的单位测试 (pr#21933, Tiago Melo)

  • mgr/dashboard: 正确格式化小数字 (issue#24081, pr#21980, Stephan Müller)

  • mgr/dashboard: 通过 RGW 管理员操作 API 获取用户 ID (pr#22416, Volker Theile)

  • mgr/dashboard: Grafana 仪表板更新和添加 (pr#24314, Paul Cuzner)

  • mgr/dashboard: Grafana 图表与仪表板的集成 (pr#23666, Kanika Murarka)

  • mgr/dashboard: Grafana 代理后端 (pr#21644, Patrick Nawracay)

  • mgr/dashboard: 将按钮组合到 OSD 页面上的一个菜单中 (issue#37380, pr#26189, Tatjana Dehler)

  • mgr/dashboard: 在 KV 表中将类对象作为普通对象处理 (pr#24632, Stephan Müller)

  • mgr/dashboard: 在删除期间处理错误 (pr#22002, Volker Theile)

  • mgr/dashboard: 隐藏空字段并在 KV 表中渲染所有对象 (pr#25894, Stephan Müller)

  • mgr/dashboard: 如果出现错误,则隐藏进度条 (pr#22419, Volker Theile)

  • mgr/dashboard: 实现 OSD 清除 (issue#35811, pr#26242, Patrick Nawracay)

  • mgr/dashboard: Improve CRUSH map viewer (pr#24934, Volker Theile)

  • mgr/dashboard: 改善生成 OpenAPI Spec 文档的支持 (issue#24763, pr#26227, Tina Kallio)

  • mgr/dashboard: 改善错误消息处理 (pr#24322, Volker Theile)

  • mgr/dashboard: 改善错误面板 (pr#21851, Volker Theile)

  • mgr/dashboard: 改善 /api/rgw/status 中的异常处理 (pr#25836, Volker Theile)

  • mgr/dashboard: 改善异常处理 (issue#23823, pr#21066, Sebastian Wagner)

  • mgr/dashboard: 改善HACKING.rst (pr#22281, Patrick Nawracay)

  • mgr/dashboard: 改善 rbd 表单上的“没有池”消息 (pr#22150, Ricardo Marques)

  • mgr/dashboard: 改善 RBD 表单 (issue#38303, pr#26433, Tiago Melo)

  • mgr/dashboard: 改善 RGW 地址解析器 (pr#25870, Volker Theile)

  • mgr/dashboard: 改善 RgwUser 控制器 (pr#25300, Volker Theile)

  • mgr/dashboard: 改善 Grafana 设置的文档 (issue#36371, pr#24511, Kanika Murarka)

  • mgr/dashboard: 改善 str_to_bool (pr#22757, Volker Theile)

  • mgr/dashboard: 改善 SummaryService 和 TaskWrapperService (pr#22906, Tiago Melo)

  • mgr/dashboard: 改善表格分页样式 (pr#22065, Ricardo Marques)

  • mgr/dashboard: 引入管道将 bool 转换为文本 (pr#26507, Volker Theile)

  • mgr/dashboard: iscsi: 添加 CLI 命令以启用/禁用 API SSL 验证 (pr#26891, Ricardo Dias)

  • mgr/dashboard: iSCSI - 添加对带点的池/图像名称的支持 (pr#26503, Ricardo Marques)

  • mgr/dashboard: iSCSI - 添加支持禁用 ACL 认证的(后端) (pr#26382, Ricardo Marques)

  • mgr/dashboard: iSCSI 发现认证 API (pr#26115, Ricardo Marques)

  • mgr/dashboard: iSCSI - 基础设施用于管理多个后存储(后端) (pr#26506, Ricardo Marques)

  • mgr/dashboard: iSCSI 管理API (pr#25638, Ricardo Marques, Ricardo Dias)

  • mgr/dashboard: iSCSI 管理UI (pr#25995, Ricardo Marques, Tiago Melo)

  • mgr/dashboard: iSCSI - 支持 iSCSI 密码中包含“/” (pr#26790, Ricardo Marques)

  • mgr/dashboard: JWT 认证 (pr#22833, Ricardo Dias)

  • mgr/dashboard: 登录页面:图表改进 (pr#24810, Alfonso Martínez)

  • mgr/dashboard: 登录页面:信息可见性 (pr#24513, Alfonso Martínez)

  • mgr/dashboard: 记录前端错误 + @UiController (pr#22285, Ricardo Marques)

  • mgr/dashboard: 登录失败应返回 HTTP 400 (pr#22403, Ricardo Marques)

  • mgr/dashboard: 登录页面中的“日志”链接权限 (pr#25231, Alfonso Martínez)

  • mgr/dashboard: 使删除对话框对触摸设备更友好 (pr#23897, Volker Theile)

  • mgr/dashboard: 将 dev ‘releases’ 映射到主 (pr#24763, Zack Cerza)

  • mgr/dashboard: 模块 dashboard.services.ganesha 有几个 lint 问题 (pr#26378, Volker Theile)

  • mgr/dashboard: 为表格添加更多配置 (updateSelectionOnRefresh (pr#24015, Ricardo Marques)

  • mgr/dashboard: 将集群/审计日志从首页移动到专用日志页面 (pr#23834, Diksha Godbole)

  • mgr/dashboard: 将单元测试助手移动到新的测试文件夹 (pr#22857, Tiago Melo)

  • mgr/dashboard: 导航栏下拉按钮对移动浏览器没有响应 (pr#21967, Volker Theile)

  • mgr/dashboard: 新登录页面:里程碑 2 (pr#24326, Alfonso Martínez)

  • mgr/dashboard: 新登录页面 (pr#23568, Alfonso Martínez)

  • mgr/dashboard: nfs-ganesha: 控制器 API 文档 (pr#26716, Ricardo Dias)

  • mgr/dashboard: NFS 管理UI (pr#26085, Tiago Melo)

  • mgr/dashboard: ng serve 绑定到 0.0.0.0 (pr#22058, Ricardo Marques)

  • mgr/dashboard: 失败的用户创建没有副作用 (pr#24200, Joao Eduardo Luis)

  • mgr/dashboard: 通知队列 (pr#25325, Stephan Müller)

  • mgr/dashboard: npm run e2e:dev (pr#25136, Stephan Müller)

  • mgr/dashboard: 性能计数器进度条无限循环 (pr#24448, Volker Theile)

  • mgr/dashboard: 永久饼图切片隐藏 (pr#25276, Alfonso Martínez)

  • mgr/dashboard: PG 将按预期更新 (pr#26589, Stephan Müller)

  • mgr/dashboard: 池管理 (pr#21614, Stephan Müller)

  • mgr/dashboard: 默认情况下不返回池统计信息 (pr#25635, Alfonso Martínez)

  • mgr/dashboard: 可能修复一些仪表板时间问题 (issue#36107, pr#24219, Patrick Nawracay)

  • mgr/dashboard: 美化 package.json (pr#22401, Ricardo Marques)

  • mgr/dashboard: 美化 RGW JS 代码 (pr#22278, Volker Theile)

  • mgr/dashboard: 防止在每键入时调用 API (pr#23391, Volker Theile)

  • mgr/dashboard: 在值和单位之间打印空格 (pr#22387, Volker Theile)

  • mgr/dashboard: 表格键值组件中的进度条不会停止 (pr#24016, Volker Theile)

  • mgr/dashboard: Prometheus 集成 (pr#25309, Stephan Müller)

  • mgr/dashboard: 提供所有四个“强制” OSD 标志 (issue#37857, pr#25905, Tatjana Dehler)

  • mgr/dashboard/qa: 修复 ECP 创建测试 (pr#25120, Stephan Müller)

  • mgr/dashboard/qa: 修复各种 vstart_runner.py 问题 (issue#36581, pr#24767, Volker Theile)

  • mgr/dashboard: 重定向 /block 到 /block/rbd (pr#24722, Zack Cerza)

  • mgr/dashboard: 在 CI 中减少 Jest 日志 (pr#24764, Tiago Melo)

  • mgr/dashboard: 重构 autofocus 指令 (pr#23910, Volker Theile)

  • mgr/dashboard: 重构DeletionModalComponent (pr#24005, Patrick Nawracay)

  • mgr/dashboard: 重构性能计数器 (pr#21673, Volker Theile)

  • mgr/dashboard: 重构 RGW 后端 (pr#21784, Volker Theile)

  • mgr/dashboard: 重构角色管理 (pr#23960, Volker Theile)

  • mgr/dashboard: 移动空管道 (pr#26588, Volker Theile)

  • mgr/dashboard: 从单元测试中删除不必要的假服务 (pr#22473, Stephan Müller)

  • mgr/dashboard: 当使用 CdTable 时移除字段集 (pr#23730, Tiago Melo)

  • mgr/dashboard: 从 CdFormGroup 中删除 _filterValue (issue#26861, pr#24719, Stephan Müller)

  • mgr/dashboard: 移除 husky 包 (pr#21971, Tiago Melo)

  • mgr/dashboard: 移除 karma 包 (pr#23181, Tiago Melo)

  • mgr/dashboard: 调用 notificationService.show 时移除参数 (pr#26447, Volker Theile)

  • mgr/dashboard: 移除右上角操作文本并添加“关于”页面 (pr#22762, Ricardo Marques)

  • mgr/dashboard: 移除未使用代码 (pr#25439, Patrick Nawracay)

  • mgr/dashboard: 移除无用代码 (pr#23911, Volker Theile)

  • mgr/dashboard: 移除无用的 observable 解除订阅 (pr#21928, Ricardo Marques)

  • mgr/dashboard: 用 cd-table 替换配置 html 表格 (pr#21643, Tatjana Dehler)

  • mgr/dashboard: 将“池”替换为导航栏中的“池” (pr#22715, Lenz Grimmer)

  • mgr/dashboard: 替换 RGW 代理控制器 (issue#24436, pr#22470, Volker Theile)

  • mgr/dashboard: 将设置重置为其默认值 (pr#22298, Patrick Nawracay)

  • mgr/dashboard: 解决 TestBed 性能问题 (pr#21783, Stephan Müller)

  • mgr/dashboard: rest: 添加对查询参数的支持 (pr#22318, Ricardo Dias)

  • mgr/dashboard: RestClient 无法处理 ProtocolError 异常 (pr#23347, Volker Theile)

  • mgr/dashboard: restcontroller: 小改进和错误修复 (pr#22528, Ricardo Dias)

  • mgr/dashboard: RGW 如果 URL 前缀定义则无法工作 (pr#23200, Volker Theile)

  • mgr/dashboard: RGW 代理无法处理自签名 SSL 证书 (pr#22735, Volker Theile)

  • mgr/dashboard: 基于角色的身份验证/授权系统 (issue#23796, pr#22283, Ricardo Marques, Ricardo Dias)

  • mgr/dashboard: 从 UI 管理角色 (pr#23409, Ricardo Marques)

  • mgr/dashboard: 搜索包含空值的条目时出现问题 (issue#38583, pr#26766, Patrick Nawracay)

  • mgr/dashboard: 通过父类设置 errno (pr#21945, Kefu Chai, Ricardo Dias)

  • mgr/dashboard: 设置 MODULE_OPTIONS 类型和默认值 (pr#26386, Volker Theile)

  • mgr/dashboard: 在 RestClient 调用中设置超时 (pr#23224, Volker Theile)

  • mgr/dashboard: 设置设置服务 (pr#25327, Stephan Müller)

  • mgr/dashboard: 根据用户角色显示/隐藏 Grafana 标签 (issue#36655, pr#24851, Kanika Murarka)

  • mgr/dashboard: 为 block-mgr 显示池下拉菜单 (issue#37295, pr#25144, Ernesto Puerta)

  • mgr/dashboard: 在 RGW 表单中显示成功通知 (pr#26482, Volker Theile)

  • mgr/dashboard: 简化 PoolForm 方法 (pr#24892, Patrick Nawracay)

  • mgr/dashboard: 简化 OSD 禁用操作测试 (pr#24824, Stephan Müller)

  • mgr/dashboard: special casing for minikube 在 run-backend-rook-api-request.sh 中的运行 (pr#26600, Jeff Layton)

  • mgr/dashboard: SSO - SAML 2.0 支持 (pr#24489, Ricardo Marques, Ricardo Dias)

  • mgr/dashboard: SSO - UserDoesNotExist 页面 (pr#26058, Alfonso Martínez)

  • mgr/dashboard: 在“js-error”端点上的堆栈跟踪是可选的 (pr#22402, Ricardo Marques)

  • mgr/dashboard: 状态信息卡片改进 (pr#25155, Alfonso Martínez)

  • mgr/dashboard: 存储用户表配置 (pr#20822, Stephan Müller)

  • mgr/dashboard: 在 KV 表中将对象[]转换为字符串 (pr#22422, Stephan Müller)

  • mgr/dashboard: 基于 Swagger-UI 的仪表板 REST API 页面 (issue#23898, pr#22282, Ricardo Dias)

  • mgr/dashboard: 同步列样式与 UI 的其余部分 (pr#26407, Volker Theile)

  • mgr/dashboard: tasks.mgr.dashboard.test_osd.OsdTest 失败 (pr#24947, Volker Theile)

  • mgr/dashboard: 任务包装服务 (pr#22014, Stephan Müller)

  • mgr/dashboard: RGW 后端没有正确处理 IPv6 (pr#24222, Volker Theile)

  • mgr/dashboard: typescript 清理 (pr#26338, Alfonso Martínez)

  • mgr/dashboard: 单元测试清理 (pr#24591, Tiago Melo)

  • mgr/dashboard: 更新 Angular 包 (pr#23706, Tiago Melo)

  • mgr/dashboard: 更新 Angular 到版本 6 (pr#22082, Tiago Melo)

  • mgr/dashboard: 更新 bootstrap 到 v3.4.1 (pr#26410, Tiago Melo)

  • mgr/dashboard: 更新 PG 状态图表中的颜色 (pr#26203, Alfonso Martínez)

  • mgr/dashboard: 更新健康 API 测试 (pr#25813, Alfonso Martínez)

  • mgr/dashboard: 更新 404 页面的图像 (pr#23820, Lenz Grimmer)

  • mgr/dashboard: 更新前端包 (pr#23466, Tiago Melo)

  • mgr/dashboard: 更新 I18N 翻译 (pr#26649, Tiago Melo)

  • mgr/dashboard: 更新 npm 包 (pr#24681, Tiago Melo)

  • mgr/dashboard: 更新 npm 包 (pr#25656, Tiago Melo)

  • mgr/dashboard: 更新 npm 包 (pr#26437, Tiago Melo)

  • mgr/dashboard: 更新 npm 包 (pr#26647, Tiago Melo)

  • mgr/dashboard: 更新 Swimlane 的数据表 (pr#24928, Alfonso Martínez)

  • mgr/dashboard: Update RxJS to version 6 (pr#21826, Tiago Melo)

  • mgr/dashboard: upgraded python dev dependencies (pr#26007, Alfonso Martínez)

  • mgr/dashboard: Upgrade Swimlane’s data-table (pr#21880, Volker Theile)

  • mgr/dashboard: 在 dev 代理配置和 HACKING.rst 中使用 HTTPS (pr#21777, Volker Theile)

  • mgr/dashboard: 在 sparkline 图表中使用人类可读的单位 (issue#25075, pr#23446, Tiago Melo)

  • mgr/dashboard: 用户密码应为可选的 (pr#24128, Ricardo Marques)

  • mgr/dashboard: 验证 OSD 恢复优先级表单输入值 (issue#37436, pr#25472, Tatjana Dehler)

  • mgr/dashboard: 重复 RGW 用户电子邮件的验证 (issue#37369, pr#25334, Kanika Murarka)

  • mgr: 为 MgrStandbyModule 定义选项默认值 (pr#25734, Kefu Chai)

  • mgr: devicehealth: 不要在 dict iteritems 上出错 (pr#22827, Abhishek Lekshmanan)

  • mgr: Diskprediction cloud 在配置更改时激活 (pr#25165, Rick Chen)

  • mgr: 如果 EOPNOTSUPP,则不要写入输出 (issue#37444, pr#25317, Kefu Chai)

  • mgr: 启用模块间调用 (pr#22951, John Spray)

  • mgr: 暴露 avgcount 给 python 模块 (pr#22010, Boris Ranto)

  • mgr: 暴露长时间运行的 avg 的 avg 数据 (pr#22420, Boris Ranto)

  • mgr: 暴露 ec 配置文件通过管理器 (pr#23010, Noah Watkins)

  • mgr: 扩展批量以接受显式的设备列表 (issue#37502, issue#37086, issue#37590, pr#25542, Jan Fajerski)

  • mgr: 修复由死锁引起的 beacon 中断 (pr#23482, Yan Jun)

  • mgr: 修复由于来自具有相同名称的守护进程的多个会话而导致的崩溃 (pr#25534, Mykola Golub)

  • mgr: 修复 balancer 执行balancer execute (issue#25345, pr#23387, John Spray)

  • mgr: 修复 rook spec 并使 service_describe 为 nfs 服务提供 rados_config_location 字段 (pr#25970, Jeff Layton)

  • mgr: 修复变量名中的拼写错误和清理 (pr#22069, Kefu Chai)

  • mgr: 修复 pgs 显示为未知状态 (issue#25103, pr#23622, huanwen ren)

  • mgr: 如果没有返回元数据,则忽略守护进程 (pr#22794, Wido den Hollander)

  • mgr: 忽略 __pycache__ 和 wheelhouse 目录 (pr#26481, Volker Theile)

  • mgr: 改善 ActivePyModules::get_typed_config 实现 (pr#26149, Volker Theile)

  • mgr: 改善 MgrModule 方法的文档 (pr#22792, John Spray)

  • mgr: 改善动态 osd 性能计数器 (pr#25488, Mykola Golub)

  • mgr: 包括守护进程详细信息在 SLOW_OPS 输出中 (issue#23205, pr#21750, Brad Hubbard)

  • mgr:#include <vector>for clang (pr#22756, Willem Jan Withagen)

  • mgr: 保持状态,balancer 始终开启 (pr#23558, Sage Weil)

  • mgr: 使模块错误消息更描述性 (pr#25537, Joao Eduardo Luis)

  • mgr: mgr/ansible: Ansible orchestrator 模块 (pr#24445, Juan Miguel Olmo Martínez)

  • mgr: mgr/ansible: 创建/删除 OSDs (pr#25497, Juan Miguel Olmo Martínez)

  • mgr: mgr/ansible: Python 3 修复 (pr#25645, Sebastian Wagner)

  • mgr: mgr/balancer: 添加用于周几和与 C 兼容的 min/max 字段 (pr#26505, xie xingguo)

  • mgr: mgr/balancer: 自动平衡一组池 (pr#25940, xie xingguo)

  • mgr: mgr/balancer: 如果 upmap 实际上无法工作,则归咎于 (pr#25941, xie xingguo)

  • mgr: mgr/balancer: deepcopy best plan - otherwise we get latest (issue#27000, pr#23682, Stefan Priebe)

  • mgr: mgr/balancer: 限制自动平衡到特定的周几 (pr#26440, xie xingguo)

  • mgr: mgr/balancer: 跳过具有挂起 pg-merge 的池的自动平衡 (pr#25626, xie xingguo)

  • mgr: mgrc: 启用通过 mgr_stats_threshold 禁用统计 (issue#25197, pr#23352, John Spray)

  • mgr: mgr/crash: 添加小时粒度的崩溃摘要 (pr#23121, Noah Watkins)

  • mgr: mgr/crash: 向崩溃元数据添加进程名称 (pr#25244, Mykola Golub)

  • mgr: mgr/crash: 修复 python3 无效语法问题 (pr#23800, Ricardo Dias)

  • mgr: mgr/DaemonServer: 添加“ceph osd safe-to-destroy”的 js 输出 (pr#24799, xie xingguo)

  • mgr: mgr/DaemonServer: 向集群日志记录 pgmap 使用情况 (pr#26105, Neha Ojha)

  • mgr: mgr/dashboard: 添加禁用 SSL 的选项 (pr#22593, Wido den Hollander)

  • mgr: mgr/dashboard: 禁用后端测试覆盖率 (pr#24193, Alfonso Martínez)

  • mgr: mgr/dashboard: 修复仪表板关闭/重启 (pr#22159, Boris Ranto)

  • mgr: mgr/dashboard: 默认情况下在 8443 端口上监听,而不是 8080 (pr#22409, Wido den Hollander)

  • mgr: mgr/dashboard: 使用 orchestrator_cli 后端设置使用 (pr#26325, Jeff Layton)

  • mgr: mgr/deepsea: 始终使用“password”参数为 salt-api 认证 (pr#26904, Tim Serong)

  • mgr: mgr/deepsea: 在启动事件读取器时检查正在进行的完成情况,清理日志和注释 (pr#25391, Tim Serong)

  • mgr: mgr/deepsea: DeepSea orchestrator 模块 (pr#24610, Tim Serong)

  • mgr: mgr/devicehealth: 清理错误处理 (pr#23205, John Spray)

  • mgr: mgr/devicehealth: 修复 is_valid_daemon_name 拼写错误 (pr#24822, Lan Liu)

  • mgr: mgr/diskprediction_cloud: 修复 total_size 为 0 时除以零的情况 (pr#26045, Rick Chen)

  • mgr: mgr/diskprediction_cloud: 从要求文件中移除不必要的库 (issue#37533, pr#25433, Rick Chen)

  • mgr: mgr/influx: 使用队列存储需要写入的点 (pr#23464, Wido den Hollander)

  • mgr: mgr/insights: insights 报告模块 (pr#23997, Noah Watkins)

  • mgr: mgr/mgr_module.py: 修复 set_store/set_store_json 的文档 (pr#22654, Dan Mick)

  • mgr: mgr/orchestrator: 添加 RGW 服务支持 (pr#23702, Rubab-Syed)

  • mgr: mgr/orchestrator: 添加 service_action 方法 (pr#25649, Tim Serong)

  • mgr: mgr/orchestrator: 添加对“ceph orchestrator service ls”的支持 (pr#24863, Jeff Layton)

  • mgr: mgr/orchestrator: 改善可调试性 (pr#24147, Sebastian Wagner)

  • mgr: mgr/orchestrator: 改善文档字符串,添加类型提示 (pr#25669, Sebastian Wagner)

  • mgr: mgr/orchestrator: 简化 Orchestrator 等待实现 (pr#25401, Juan Miguel Olmo Martínez)

  • mgr: mgr/orchestrator: 在 Completion 类中使用 result 属性 (pr#24672, Tim Serong)

  • mgr: mgr/progress: 改善+测试 OSD out 处理 (pr#23146, John Spray)

  • mgr: mgr/progress: 引入进度模块 (pr#22993, John Spray)

  • mgr: mgr/prometheus: 添加恢复指标 (pr#26880, Paul Cuzner)

  • mgr: mgr/prometheus: 一次获取 osd_objectstore 而不是两次 (pr#265, Konstantin Shalygin)

  • mgr: mgr/restful: Fix deep-scrub typo (issue#36720, pr#24841, Boris Ranto)

  • mgr: mgr/restful: fix py got exception when get osd info (pr#21138, zouaiguo)

  • mgr: mgr/restful: updated string formatting to str.format() (pr#26210, James McClune)

  • mgr: mgr/rook: fix API version and object types for recent rook changes (pr#25452, Jeff Layton)

  • mgr: mgr/rook: Fix Rook cluster name detection (pr#24560, Sebastian Wagner)

  • mgr: mgr/rook: update for v1beta1 API (pr#23570, John Spray)

  • mgr: mgr/status: Add standby-replay MDS ceph version (pr#23624, Zhi Zhang)

  • mgr: mgr/status: output to stdout, not stderr (issue#24175, pr#22089, John Spray)

  • mgr: mgr/telegraf: Send more PG status information to Telegraf (pr#22436, Wido den Hollander)

  • mgr: mgr/telegraf: Telegraf module for Ceph Mgr (pr#21782, Wido den Hollander)

  • mgr: mgr/telegraf: Use Python generator and catch OSError (pr#22418, Wido den Hollander)

  • mgr: mgr/telemetry: Add Ceph Telemetry module to send reports back to project (pr#21982, Wido den Hollander)

  • mgr: mgr/telemetry: Check if boolean is False or not present (pr#22223, Wido den Hollander)

  • mgr: mgr/telemetry: Fix various issues (pr#25770, Volker Theile)

  • mgr: mgr/volumes: fix orchestrator remove operation (pr#25339, Jeff Layton)

  • mgr: mgr/zabbix: drop “total_objects” field (pr#26052, Kefu Chai)

  • mgr: mgr/zabbix: Send more PG information to Zabbix (pr#22434, Wido den Hollander)

  • mgr: Miscellaneous small mgr fixes (pr#22893, John Spray)

  • mgr: modules CLI commands declaration using @CLICommand decorator (pr#25543, Ricardo Dias)

  • mgr,mon: mgr,mon: fix to apply changed mon_stat_smooth_intervals (pr#23481, Yan Jun)

  • mgr/orchestrator: added useful attributes to ServiceDescription (pr#25468, Ricardo Dias)

  • mgr/orchestrator: Add host mon mgr management to interface (pr#26314, Sebastian Wagner, Noah Watkins)

  • mgr/orchestrator: Add JSON output to CLI commands (pr#25340, Sebastian Wagner)

  • mgr: orchestrator: add the ability to remove services (pr#25366, Jeff Layton)

  • mgr/orchestrator: Allow the orchestrator to scale the NFS server count (pr#26633, Jeff Layton)

  • mgr/orchestrator: clarify error message about kubernetes python module (pr#24525, Jeff Layton)

  • mgr/orchestrator_cli: Fix README.md (pr#26443, Sebastian Wagner)

  • mgr/orchestrator: Extend DriveGroupSpec (pr#25912, Sebastian Wagner)

  • mgr/orchestrator: fix device pretty print with None attributes (pr#26357, Ricardo Dias)

  • mgr/orchestrator: fix _list_services display (pr#25610, Jeff Layton)

  • mgr/orchestrator: Fix up rook osd create dispatcher (pr#26317, Jeff Layton)

  • mgr/orchestrator: make use of @CLICommand (pr#26094, Sebastian Wagner)

  • mgr/orchestrator: remove unicode whitespaces (pr#25323, Sebastian Wagner)

  • mgr/orchestrator/rook: allow the creation of OSDs in directories (pr#26570, Jeff Layton)

  • mgr/orchestrator: Unify osd createosd add (pr#26171, Sebastian Wagner)

  • mgr/orch: refresh option for inventory query (pr#26346, Noah Watkins)

  • mgr: prometheus: added bluestore db and wal/journal devices to ceph_disk_occupation metric (issue#36627, pr#24821, Konstantin Shalygin)

  • mgr: prometheus: Expose number of degraded/misplaced/unfound objects (pr#21793, Boris Ranto)

  • mgr: prometheus: Fix metric resets (pr#22732, Boris Ranto)

  • mgr: prometheus: Fix prometheus shutdown/restart (pr#21748, Boris Ranto)

  • mgr: pybind/mgr: add osd space utilization to insights report (pr#25122, Noah Watkins)

  • mgr: pybind/mgr: PEP 8 code clean and fix typo (pr#26181, Lei Liu)

  • mgr,pybind: mgr/prometheus: add interface and objectstore to osd metadata (pr#25234, Jan Fajerski)

  • mgr: pybind/mgr/restful: Decode the output of b64decode (issue#38522, pr#26712, Brad Hubbard)

  • mgr,pybind: mgr/rook: fix urljoin import (pr#24626, Jeff Layton)

  • mgr,pybind: mgr/volumes: Fix Python 3 import error (pr#25344, Sebastian Wagner)

  • mgr,pybind: pybind/mgr: drop unnecessary iterkeys usage to make py-3 compatible (issue#37581, pr#25457, Mykola Golub)

  • mgr,pybind: pybind/mgr: identify invalid fs (pr#24392, Jos Collin)

  • mgr,pybind: src/script: add run_mypy to run static type checking on Python code (pr#26715, Sebastian Wagner)

  • mgr: race between daemon state and service map in ‘service status’ (issue#36656, pr#24878, Mykola Golub)

  • mgr,rbd: mgr/prometheus: provide RBD stats via osd dynamic perf counters (pr#25358, Mykola Golub)

  • mgr,rbd: pybind/mgr/prometheus: improve ‘rbd_stats_pools’ param parsing (pr#25860, Mykola Golub)

  • mgr,rbd: pybind/mgr/prometheus: rbd stats namespace support (pr#25636, Mykola Golub)

  • mgr: replace “Unknown error” string on always_on (pr#23645, John Spray)

  • mgr: restful: Fix regression when traversing leaf nodes (pr#26421, Boris Ranto)

  • mgr/rook: remove dead code and fix bug in url fetching code (pr#26032, Jeff Layton)

  • mgr: silence GCC warning (pr#25199, Kefu Chai)

  • mgr/ssh: fix type and doc errors (pr#26630, Sebastian Wagner)

  • mgr/telemetry: fix total_objects (issue#37976, pr#26046, Sage Weil)

  • mgr,tests: mgr/dashboard: use dedicated tox working dir (pr#25290, Noah Watkins)

  • mgr,tests: mgr/insights: use dedicated tox working dir (pr#25146, Noah Watkins)

  • mgr,tests: mgr/selftest: fix disabled module selection (pr#24517, John Spray)

  • mgr: timely health updates between monitor and manager (pr#23294, Noah Watkins)

  • mgr: update daemon_state when necessary (issue#37753, pr#25725, Xinying Song)

  • mgr: update MMgrConfigure message to include optional OSD perf queries (pr#24180, Julien Collet)

  • mgr: Use Py_BuildValue to create the argument tuple (pr#26240, Volker Theile)

  • mgr: volumes mgr module fixes (pr#25331, Jeff Layton)

  • misc: mark functions with ‘override’ specifier (pr#21790, Danny Al-Gaaf)

  • mon: add ‘osd destroy-new’ command that only destroys NEW osd slots (issue#24428, pr#22429, Sage Weil)

  • mon: A PG with PG_STATE_REPAIR doesn’t mean damaged data, PG_STATE_IN… (issue#38070, pr#26178, David Zafman)

  • mon: change monitor compact command to run asynchronously (issue#24160, issue#24159, pr#22056, penglaiyxy)

  • mon: common/cmdparse: cmd_getval_throws -> cmd_getval (pr#23557, Sage Weil)

  • mon: don’t commit osdmap on no-op application ops (pr#23528, John Spray)

  • mon: fix mgr module config option handling (issue#35076, pr#23846, Sage Weil)

  • mon: fix pg_sum_old not copied correctly (pr#26110, Yao Zongyou)

  • monitoring/grafana: Fix OSD Capacity Utlization Grafana graph (pr#24426, Maxime)

  • mon: make rank ordering explicit (not tied to mon address sort order) (pr#22193, Sage Weil)

  • mon: mon/config-key: increase max key entry size (pr#24250, Joao Eduardo Luis)

  • mon: mon/MonClient: drop my_addr (pr#26449, Kefu Chai)

  • mon: mon/MonClient: use mon_client_ping_timeout during ping_monitor (pr#23563, Yao Zongyou)

  • mon: mon/MonMap: add more const’ness to its methods (pr#23709, Kefu Chai)

  • mon: mon/MonMap: remove duplicate code in get_rank (pr#23547, Yao Zongyou)

  • mon: mon,osd: avoid str copy in parse (pr#25640, Jos Collin)

  • mon: mon/OSDMonitor: add boundary check for pool recovery_priority (issue#38578, pr#26729, xie xingguo)

  • mon: mon/PGMap: add more #include (pr#26420, Kefu Chai)

  • mon: mon/PGMap: command ‘ceph df -f json’ output add total_percent_used (pr#23588, Yanhu Cao)

  • mon: only share monmap after authenticating (pr#23741, Sage Weil)

  • mon: shutdown messenger early to avoid accessing deleted logger (issue#37780, pr#25760, ningtao)

  • mon: some tiny cleanups related class forward declaration (pr#26219, Yao Zongyou)

  • mon,tests: qa/cephtool: test bounds on pool’s hit_set_* (pr#24858, Joao Eduardo Luis)

  • mon:validate hit_set values before set (issue#22659, pr#19983, lijing)

  • msg: addr -> addrvec (part 1) (pr#22306, Sage Weil)

  • msg/async: do not force updating rotating keys inline (pr#25859, yanjun, xie xingguo)

  • msg/async/Protocol*: send keep alive if existing wins (issue#38493, pr#26668, xie xingguo)

  • msg/async/rdma: add iWARP RDMA protocol support (pr#20297, Haodong Tang)

  • msg/async/rdma: Delete duplicate header file (pr#25392, Jianpeng Ma)

  • msg/async/rdma: parse IBSYNMsg.lid as hex when receiving message (pr#26525, Peng Liu)

  • msg/async: reduce additional ceph_msg_header copy (pr#25938, Jianpeng Ma)

  • msg/async: the ceph_abort is needless in handle_connect_msg (pr#21751, shangfufei)

  • msg: ceph_abort() when there are enough accepter errors in msg server (issue#23649, pr#23306, penglaiyxy@gmail.com)

  • msg: clear message middle when clearing encoded message buffer (pr#24289, “Yan, Zheng”)

  • msg: entity_addr_t::parse doesn’t do memset(this, 0, …) for clean-up (issue#26937, pr#23573, Radoslaw Zarzynski)

  • nautilus: mgr/dashboard: Validate ceph-iscsi config version (pr#26951, Ricardo Marques)

  • objecter: avoid race when reset down osd’s session (pr#25437, Zengran Zhang)

  • orchestrator_cli: fix HandleCommandResult invocations in _status() (pr#25329, Jeff Layton)

  • osd: add creating to pg_string_state (issue#36174, pr#24262, Dan van der Ster)

  • osd: add --dump-journal option in ceph-osd help info (pr#24969, yuliyang)

  • osd: Additional fields for osd “bench” command (pr#21962, Коренберг Маркr)

  • osd: add log when pg reg next scrub (pr#23690, lvshuhua)

  • osd: add required cls libraries as dependencies of osd (pr#24373, Mohamad Gebai)

  • osd: Allow repair of an object with a bad data_digest in object_info on all replicas (pr#23217, David Zafman)

  • osd: always set query_epoch explicitly for MOSDPGLog (pr#22487, Kefu Chai)

  • osd: avoid using null agent_state (pr#25393, Zengran Zhang)

  • osd: Change assert() to ceph_assert() missed in the transition (pr#23918, David Zafman)

  • osd: Change osd_skip_data_digest default to false and make it LEVEL_DEV (issue#24950, pr#23083, Sage Weil, David Zafman)

  • osdc: invoke notify finish context on linger commit failure (issue#23966, pr#21831, Kefu Chai, Jason Dillaman)

  • osd: clean up and avoid extra ref-counting in PrimaryLogPG::log_op_stats (pr#23016, Radoslaw Zarzynski)

  • osd: clean up smart probe (issue#23899, pr#21950, Sage Weil, Gu Zhongyan)

  • osd: collect client perf stats when query is enabled (pr#24265, Julien Collet, Mykola Golub)

  • osd: combine recovery/scrub/snap sleep timer into one (pr#21711, Jianpeng Ma)

  • osd: Deny reservation if expected backfill size would put us over bac… (issue#24801, issue#19753, pr#22797, David Zafman)

  • osd: do not include Messenger.h if not necessary (pr#22483, Kefu Chai)

  • osd: do not overestimate the size of the object for reads with trimtrunc (issue#21931, issue#22330, pr#24564, Neha Ojha)

  • osd: do not treat an IO hint as an IOP for PG stats (issue#24909, pr#23029, Jason Dillaman)

  • osd: don’t check overwrite flag when handling copy-get (issue#21756, pr#18241, huangjun)

  • osd: Don’t evict even when preemption has restarted with smaller chunk (pr#21892, David Zafman)

  • osd: do_sparse_read(): Verify checksum earlier so we will try to repair (issue#24875, pr#23377, David Zafman)

  • osd: drop the unused request_redirect_t::osd_instructions (pr#24458, Radoslaw Zarzynski)

  • osd: ec saves a write access to the memory under most circumstances (pr#26053, Zengran Zhang, Kefu Chai)

  • osd: fix build_incremental_map_msg (issue#38282, pr#26413, Sage Weil)

  • osd: fix memory leak in EC fast and error read (pr#22500, xiaofei cui)

  • osd: Fix recovery and backfill priority handling (issue#38041, pr#26213, David Zafman)

  • osd: fix shard_info_wrapper encode (issue#37653, pr#25548, David Zafman)

  • osd: Handle omap and data digests independently (issue#24366, pr#22346, David Zafman)

  • osd: increase default hard pg limit (pr#22187, Josh Durgin)

  • osd: keep using cache even if op will invalid cache (pr#25490, Zengran Zhang)

  • osd: limit pg log length under all circumstances (pr#23098, Neha Ojha)

  • osd: make OSD::HEARTBEAT_MAX_CONN inline (pr#23424, Kefu Chai)

  • osd: make random shuffle comply with C++17 (pr#23533, Willem Jan Withagen)

  • osd/OSDMap: add osd status to utilization dumper (issue#35544, pr#23921, Paul Emmerich)

  • osd: per-pool osd stats collection (pr#19454, Igor Fedotv, Igor Fedotov)

  • osd: Prevent negative local num_bytes sent to peer for backfill reser… (issue#38344, pr#26465, David Zafman)

  • osd: read object attrs failed at EC recovery (pr#22196, xiaofei cui)

  • osd: refuse to start if we’re > N+2 from recorded require_osd_release (issue#38076, pr#26177, Sage Weil)

  • osd: reliably send pg_created messages to the mon (issue#37775, pr#25731, Sage Weil)

  • osd: Remove old bft= which has been superceded by backfill (issue#36170, pr#24256, David Zafman)

  • osd: remove stray derr (pr#24042, Sage Weil)

  • osd: remove unused class read_log_and_missing_error (pr#26057, Yao Zongyou)

  • osd: remove unused fields (pr#26021, Jianpeng Ma)

  • osd: remove unused function (pr#26223, Jianpeng Ma)

  • osd: Remove useless conditon (pr#21766, Jianpeng Ma)

  • osd: some recovery improvements and cleanups (pr#23663, xie xingguo)

  • osd: two heartbeat fixes (pr#25126, xie xingguo)

  • osd: unlock osd_lock when tweaking osd settings (issue#37751, pr#25726, Kefu Chai)

  • osd: unmount store after service.shutdown() (issue#37975, pr#26043, Kefu Chai)

  • osd: Weighted Random Sampling for dynamic perf stats (pr#25582, Mykola Golub)

  • osd: When possible check CRC in build_push_op() so repair can eventually stop (issue#25084, pr#23518, David Zafman)

  • osd: write “bench” output to stdout (issue#24022, pr#21905, John Spray)

  • os: Minor fixes in comments describing a transaction (pr#22329, Bryan Stillwell)

  • performance: Add performance counters breadcrumb (pr#22060, Ricardo Marques)

  • performance: mgr/dashboard: Enable gzip compression (issue#36453, pr#24727, Zack Cerza)

  • performance: mgr/dashboard: Replace dashboard service (issue#36675, pr#24900, Zack Cerza)

  • performance: msg/async: improve read-prefetch logic (pr#25758, xie xingguo)

  • performance: qa/tasks/cbt.py: changes to run on bionic (pr#22405, Neha Ojha)

  • performance,rbd: common/Throttle: TokenBucketThrottle: use reference to m_blockers.front() (issue#36475, pr#24604, Dongsheng Yang)

  • performance,rbd: pybind/rbd: optimize rbd_list2 (pr#25445, Mykola Golub)

  • Prevent duplicated rows during async tasks (pr#22148, Ricardo Marques)

  • prometheus: Fix order of occupation values (pr#22149, Boris Ranto)

  • pybind: do not check MFLAGS (pr#23601, Kefu Chai)

  • pybind: pybind/ceph_daemon: expand the order of magnitude of daemonperf statistics to ZB (issue#23962, pr#21765, Guan yunfei)

  • pybind: pybind/rbd: make the code more concise (pr#23664, Zheng Yin)

  • pybind,rbd: pybind/rbd: add allow_shrink=True as a parameter to def resize (pr#23605, Zheng Yin)

  • pybind,rbd: pybind/rbd: fix a typo in metadata_get comments (pr#26138, songweibin)

  • pybind,rgw: pybind/rgw: pass the flags to callback function (pr#25766, Kefu Chai)

  • pybind: simplify timeout handling in run_in_thread() (pr#24733, Kefu Chai)

  • qa/btrfs/test_rmdir_async_snap: remove binary file (pr#24108, Cleber Rosa)

  • qa,pybind,tools: Correct usage of collections.abc (pr#25318, James Page)

  • qa/test: Added rados, rbd and fs to run two time a week only (pr#21839, Yuri Weinstein)

  • qa/tests: added 1st draft of mimic-x suite (pr#23292, Yuri Weinstein)

  • qa/tests - added all supported distro (pr#22647, Yuri Weinstein)

  • qa/tests - added all supported distro to the mix, … (pr#22674, Yuri Weinstein)

  • qa/tests: added client-upgrade-luminous suit (pr#21947, Yuri Weinstein)

  • qa/tests: added --filter-out=”ubuntu_14.04” (pr#21949, Yuri Weinstein)

  • qa/tests - added luminous-p2p suite to the schedule (pr#22666, Yuri Weinstein)

  • qa/tests: added mimic-x to the schedule (pr#23302, Yuri Weinstein)

  • qa/tests - added powercycle suite to run on weekly basis on master and mimic (pr#22606, Yuri Weinstein)

  • qa/tests: added supported distro for powercycle suite (pr#22185, Yuri Weinstein)

  • qa/tests: changed ceph qa email address to bypass dreamhost’s spam filter (pr#23456, Yuri Weinstein)

  • qa/tests: changed disto symlink to point to new way using supported OS’es (pr#22536, Yuri Weinstein)

  • qa/tests: fixed typo (pr#21858, Yuri Weinstein)

  • qa/tests: removed all jewel runs and reduced runs on ovh (pr#22531, Yuri Weinstein)

  • rbd: add ‘config global’ command to get/store overrides in mon config db (pr#24428, Mykola Golub)

  • rbd: add data pool support to trash purge (issue#22872, pr#21247, Mahati Chamarthy)

  • rbd: add group snap rollback method (issue#23550, pr#23896, songweibin)

  • rbd: add protected in snap list (pr#23853, Zheng Yin)

  • rbd: add snapshot count in rbd info (pr#21292, Zheng Yin)

  • rbd: add the judgment of resizing the image (pr#21770, zhengyin)

  • rbd: basic support for images within namespaces (issue#24558, pr#22673, Jason Dillaman)

  • rbd: close image when bench is interrupted (pr#26693, Mykola Golub)

  • rbd: cls/lock: always store v1 addr in locker_info_t (pr#25948, Sage Weil)

  • rbd: cls/rbd: fix build (pr#22078, Kefu Chai)

  • rbd: cls/rbd: fixed uninitialized variable compiler warning (pr#26896, Jason Dillaman)

  • rbd: cls/rbd: fix method comment (pr#23277, Zheng Yin)

  • rbd: cls/rbd: silence the log of get metadata error (pr#25436, songweibin)

  • rbd: correct parameter of namespace and verify it before set_namespace (pr#23770, songweibin)

  • rbd: dashboard: support configuring block mirroring pools and peers (pr#25210, Jason Dillaman)

  • rbd: disable cache for actions that open multiple images (issue#24092, pr#21946, Jason Dillaman)

  • rbd: disk-usage can now optionally compute exact on-disk usage (issue#24064, pr#21912, Jason Dillaman)

  • rbd: Document new RBD feature flags and version support (pr#25192, Valentin Lorentz)

  • rbd: don’t load config overrides from monitor initially (pr#21910, Jason Dillaman)

  • rbd: error if new size is equal to original size (pr#22637, zhengyin)

  • rbd: expose pool stats summary tool (pr#24830, Jason Dillaman)

  • rbd: filter out group/trash snapshots from snap_list (pr#23638, songweibin)

  • rbd: fix a typo in error output (pr#25931, Dongsheng Yang)

  • rbd: fix delay time calculation for trash move (pr#25896, Mykola Golub)

  • rbd: fix error import when the input is a pipe (issue#34536, pr#23835, songweibin)

  • rbd: fix segmentation fault when rbd_group_image_list() getting -ENOENT (issue#38468, pr#26622, songweibin)

  • rbd: fix some typos (pr#25083, Shiyang Ruan)

  • rbd: implement new ‘rbd perf image iostat/iotop’ commands (issue#37913, pr#26133, Jason Dillaman)

  • rbd: improved trash snapshot namespace handling (issue#23398, pr#23191, Jason Dillaman)

  • rbd: interlock object-map/fast-diff features together (pr#21969, Mao Zhongyi)

  • rbd: introduce abort_on_full option for rbd map (pr#25662, Dongsheng Yang)

  • rbd: journal: allow remove set when jounal pool is full (pr#25166, kungf)

  • rbd: journal: fix potential race when closing object recorder (pr#26425, Mykola Golub)

  • rbd: journal: set max journal order to 26 (issue#37541, pr#25743, Mykola Golub)

  • rbd: krbd: support for images within namespaces (pr#23841, Ilya Dryomov)

  • rbd: librbd/api: misc fix migration (pr#25765, songweibin)

  • rbd: librbd: ensure exclusive lock acquired when removing sync point snapshots (issue#24898, pr#23095, Mykola Golub)

  • rbd: librbd: misc fix potential invalid pointer (pr#25462, songweibin)

  • rbd: make sure the return-value ‘r’ will be returned (pr#24891, Shiyang Ruan)

  • rbd: mgr/dashboard: incorporate RBD overall performance grafana dashboard (issue#37867, pr#25927, Jason Dillaman)

  • rbd-mirror: always attempt to restart canceled status update task (issue#36500, pr#24646, Jason Dillaman)

  • rbd-mirror: bootstrap needs to handle local image id collision (issue#24139, pr#22043, Jason Dillaman)

  • rbd-mirror: create and export replication perf counters to mgr (pr#25834, Mykola Golub)

  • rbd-mirror: ensure daemon can cleanly exit if pool is deleted (pr#22348, Jason Dillaman)

  • rbd-mirror: ensure remote demotion is replayed locally (issue#24009, pr#21823, Jason Dillaman)

  • rbd-mirror: fixed potential crashes during shut down (issue#24008, pr#21817, Jason Dillaman)

  • rbd-mirror: guard access to image replayer perf counters (pr#26097, Mykola Golub)

  • rbd-mirror: instantiate the status formatter before changing state (issue#36084, pr#24181, Jason Dillaman)

  • rbd-mirror: optionally extract peer secrets from config-key (issue#24688, pr#24036, Jason Dillaman)

  • rbd-mirror: optionally support active/active replication (pr#21915, Mykola Golub, Jason Dillaman)

  • rbd-mirror: potential deadlock when running asok ‘flush’ command (issue#24141, pr#22027, Mykola Golub)

  • rbd-mirror: prevent creation of clones when parents are syncing (issue#24140, pr#24063, Jason Dillaman)

  • rbd-mirror: schedule rebalancer to level-load instances (issue#24161, pr#22304, Venky Shankar)

  • rbd-mirror: update mirror status when stopping (issue#36659, pr#24864, Jason Dillaman)

  • rbd-mirror: use active/active policy by default (issue#38453, pr#26603, Jason Dillaman)

  • rbd: move image to trash as first step when removing (issue#24226, issue#38404, pr#25438, Mahati Chamarthy, Jason Dillaman)

  • rbd-nbd: do not ceph_abort() after print the usages (issue#36660, pr#24815, Shiyang Ruan)

  • rbd-nbd: support namespaces (issue#24609, pr#25260, Mykola Golub)

  • rbd: not allowed to restore an image when it is being deleted (issue#25346, pr#24078, songweibin)

  • rbd: online re-sparsify of images (pr#26226, Mykola Golub)

  • rbd: pybind/rbd: add namespace helper API methods (issue#36622, pr#25206, Jason Dillaman)

  • rbd: qa/workunits: fixed mon address parsing for rbd-mirror (issue#38385, pr#26521, Jason Dillaman)

  • rbd: rbd: fix error parse arg when getting key (pr#25152, songweibin)

  • rbd: rbd-fuse: look for ceph.conf in standard locations (issue#12219, pr#20598, Jason Dillaman)

  • rbd: rbd-fuse: namespace support (pr#25265, Mykola Golub)

  • rbd: rbd-ggate: support namespaces (issue#24608, pr#25266, Mykola Golub)

  • rbd: rbd-ggate: tag “level” with need_dynamic (pr#22557, Kefu Chai)

  • rbd: rbd_mirror: assert no requests on destroying InstanceWatcher (pr#25666, Mykola Golub)

  • rbd: rbd_mirror: don’t report error if image replay canceled (pr#25789, Mykola Golub)

  • rbd: rbd-mirror: use pool level config overrides (pr#24348, Mykola Golub)

  • rbd: rbd: show info about mirror daemon instance in image mirror status output (pr#24717, Mykola Golub)

  • rbd: return error code when the source and distination namespace are different (pr#24893, Shiyang Ruan)

  • rbd: simplified code to remove do_clear_limit function (pr#23954, Zheng Yin)

  • rbd: support namespaces for image migration (issue#26951, pr#24836, Jason Dillaman)

  • rbd: systemd/rbdmap.service: order us before remote-fs-pre.target (issue#24713, pr#22769, Ilya Dryomov)

  • rbd: test/librbd: drop unused variable ‘num_aios’ (pr#23085, songweibin)

  • rbd,tests: krbd: alloc_size map option and tests (pr#26244, Ilya Dryomov)

  • rbd,tests: librbd,test: remove unused context_cb() function, silence GCC warnings (pr#24673, Kefu Chai)

  • rbd,tests: pybind/rbd: add assert_raise in test set_snap (pr#22570, Zheng Yin)

  • rbd,tests: qa: krbd_exclusive_option.sh: bump lock_timeout to 60 seconds (issue#25080, pr#22648, Ilya Dryomov)

  • rbd,tests: qa: krbd_msgr_segments.t: filter lvcreate output (pr#22665, Ilya Dryomov)

  • rbd,tests: qa: krbd namespaces test (pr#26339, Ilya Dryomov)

  • rbd,tests: qa: objectstore snippets for krbd (pr#26279, Ilya Dryomov)

  • rbd,tests: qa: rbd_workunit_kernel_untar_build: install build dependencies (issue#35074, pr#23840, Ilya Dryomov)

  • rbd,tests: qa: rbd/workunits : Replace “rbd bench-write” with “rbd bench --io-type write” (pr#26168, Shyukri Shyukriev)

  • rbd,tests: qa/suites/krbd: more fsx tests (pr#24354, Ilya Dryomov)

  • rbd,tests: qa/suites/rbd: randomly select a supported distro (pr#22008, Jason Dillaman)

  • rbd,tests: qa/tasks/cram: tasks now must live in the repository (pr#23976, Ilya Dryomov)

  • rbd,tests: qa/tasks/cram: use suite_repo repository for all cram jobs (pr#23905, Ilya Dryomov)

  • rbd,tests: qa/tasks/qemu: use unique clone directory to avoid race with workunit (issue#36542, pr#24696, Jason Dillaman)

  • rbd,tests: qa/workunits/rbd: fix cli generic namespace test (pr#24457, Mykola Golub)

  • rbd,tests: qa/workunits/rbd: force v2 image format for namespace test (pr#24512, Mykola Golub)

  • rbd,tests: qa/workunits/rbd: replace usage of ‘rados mkpool’ (pr#23938, Jason Dillaman)

  • rbd,tests: qa/workunits: replace ‘realpath’ with ‘readlink -f’ in fsstress.sh (issue#36409, pr#24550, Jason Dillaman)

  • rbd,tests: test/cli-integration/rbd: added new parent image attributes (pr#25415, Jason Dillaman)

  • rbd,tests: test/librados_test_stub: deterministically load cls shared libraries (pr#21524, Jason Dillaman)

  • rbd,tests: test/librados_test_stub: handle object doesn’t exist gracefully (pr#25667, Mykola Golub)

  • rbd,tests: test/librbd: fix compiler -Wsign-compare warnings (pr#23657, Mykola Golub)

  • rbd,tests: test/librbd: fix gmock warning in snapshot rollback test (pr#23736, Jason Dillaman)

  • rbd,tests: test/librbd: fix gmock warning in TestMockIoImageRequestWQ.AcquireLockError (pr#22778, Mykola Golub)

  • rbd,tests: test/librbd: fix gmock warnings for get_modify_timestamp call (pr#23707, Mykola Golub)

  • rbd,tests: test/librbd: fix ‘Uninteresting mock function call’ warning (pr#26322, Mykola Golub)

  • rbd,tests: test/librbd: fix valgrind warnings (pr#23827, Mykola Golub)

  • rbd,tests: test/librbd: fix -Wsign-compare warnings (pr#23608, Kefu Chai)

  • rbd,tests: test/librbd: metadata key for config should be prefixed with conf_ (pr#25209, runsisi)

  • rbd,tests: test/librbd: migration supporting namespace tests (pr#24919, Mykola Golub)

  • rbd,tests: test/librbd: migration tests did not delete additional pool (pr#24009, Mykola Golub)

  • rbd,tests: test: move OpenStack devstack test to rocky release (issue#36410, pr#24563, Jason Dillaman)

  • rbd,tests: test/pybind: fix test_rbd.TestClone.test_trash_snapshot (issue#25114, pr#23256, Mykola Golub)

  • rbd,tests: test/pybind/test_rbd: filter out unknown list_children2 keys (issue#37729, pr#25832, Mykola Golub)

  • rbd,tests: test/rbd-mirror: disable use of gtest-parallel (pr#22694, Jason Dillaman)

  • rbd,tests: test/rbd_mirror: fix gmock warnings (pr#25863, Mykola Golub)

  • rbd,tests: test/rbd_mirror: race in TestMockImageMap.AddInstancePingPongImageTest (issue#36683, pr#24897, Mykola Golub)

  • rbd,tests: test/rbd_mirror: race in WaitingOnLeaderReleaseLeader (issue#36236, pr#24300, Mykola Golub)

  • rbd,tests: test/rbd_mirror: wait for release leader lock fully complete (pr#25935, Mykola Golub)

  • rbd,tests: test/rbd: rbd_ggate test improvements (pr#23630, Willem Jan Withagen)

  • rbd,tests: test: silence -Wsign-compare warnings (pr#23655, Kefu Chai)

  • rbd: tools/rbd/action: align column headers left (pr#22566, Sage Weil)

  • rbd: tools/rbd: assert(g_ceph_context) not g_conf (pr#23167, Kefu Chai)

  • rbd: tools/rbd: minor fixes for rbd du display (pr#23311, songweibin)

  • rbd,tools: rbd-mirror,common: fix typos in logging messages and comments (pr#25197, Shiyang Ruan)

  • rbd,tools: tools/rbd: assert(g_ceph_context) not g_conf (pr#23008, Kefu Chai)

  • rbd: wait for all io complete when bench is interrupted (pr#26918, Mykola Golub)

  • rbd: workaround for llvm linker problem, avoid std:pair dtor (pr#25301, Willem Jan Withagen)

  • Revert “cephfs-journal-tool: enable purge_queue journal’s event comma… (pr#23465, “Yan, Zheng”)

  • Revert “ceph-fuse: Delete inode’s bufferhead was in Tx state would le… (pr#21975, “Yan, Zheng”)

  • rgw: abort_bucket_multiparts() ignores individual NoSuchUpload errors (issue#35986, pr#24110, Casey Bodley)

  • rgw: adapt AioThrottle for RGWGetObj (pr#25208, Casey Bodley)

  • rgw: Add append object api (pr#22755, zhang Shaowen, Zhang Shaowen)

  • rgw: add bucket as option when show/trim usage (pr#23819, lvshuhua)

  • rgw: add configurable AWS-compat invalid range get behavior (issue#24317, pr#22231, Matt Benjamin)

  • rgw: add curl_low_speed_limit and curl_low_speed_time config to avoid (pr#23058, Mark Kogan, Zhang Shaowen)

  • rgw: add Http header ‘Server’ in response headers (pr#23282, Zhang Shaowen)

  • rgw: Adding documentation for Roles (pr#24714, Pritha Srivastava)

  • rgw: add latency info in the log of req done (pr#23906, lvshuhua)

  • rgw: add list user admin OP API (pr#25073, Oshyn Song)

  • rgw: add --op-mask in radosgw-admin help info (pr#24848, yuliyang)

  • rgw: add optional_yield to block_while_resharding() (pr#25357, Casey Bodley)

  • rgw: add option for relaxed region enforcement (issue#24507, pr#22533, Matt Benjamin)

  • rgw: Add rgw xml unit tests (pr#26682, Yuval Lifshitz)

  • rgw: add s3 notification sub resources (pr#23405, yuliyang)

  • rgw: admin rest api support op-mask (pr#24869, yuliyang)

  • rgw: admin/user ops dump user ‘system’ flag (pr#17414, fang.yuxiang)

  • rgw: All Your Fault (issue#24962, pr#23099, Adam C. Emerson)

  • rgw: apply quota config to users created via external auth (issue#24595, pr#24177, Casey Bodley)

  • rgw: archive zone (pr#25137, Yehuda Sadeh, Javier M. Mellid)

  • rgw: async sync_object and remove_object does not access coroutine me… (issue#35905, pr#24007, Tianshan Qu)

  • rgw: async watch registration (pr#21838, Yehuda Sadeh)

  • rgw: avoid race condition in RGWHTTPClient::wait() (pr#21767, cfanz)

  • rgw: beast frontend logs socket errors at level 4 (pr#24677, Casey Bodley)

  • rgw: beast frontend parses ipv6 addrs (issue#36662, pr#24887, Casey Bodley)

  • rgw: beast frontend reworks pause/stop and yields during body io (pr#21271, Casey Bodley)

  • rgw: bucket full sync handles delete markers (issue#38007, pr#26081, Casey Bodley)

  • rgw: bucket limit check misbehaves for > max-entries buckets (usually… (pr#26800, Matt Benjamin)

  • rgw: bucket sync status improvements, part 1 (pr#21788, Casey Bodley)

  • rgw: bug in versioning concurrent, list and get have consistency issue (pr#26197, Wang Hao)

  • rgw: catch exceptions from librados::NObjectIterator (issue#37091, pr#25081, Casey Bodley)

  • rgw: change default rgw_thread_pool_size to 512 (issue#24544, pr#22581, Douglas Fuller)

  • rgw: change the “rgw admin status” ‘num_shards’ output to signed int (issue#37645, pr#25538, Mark Kogan)

  • rgw: check for non-existent bucket in RGWGetACLs (pr#26212, Matt Benjamin)

  • rgw: civetweb: update for url validation fixes (issue#24158, pr#22054, Abhishek Lekshmanan)

  • rgw: civetweb: use poll instead of select while waiting on sockets (issue#24364, pr#24027, Abhishek Lekshmanan)

  • rgw: clean-up -- insure C++ source code files contain editor directives (pr#25495, J. Eric Ivancich)

  • rgw: cleanups for sync tracing (pr#23828, Casey Bodley)

  • rgw: clean-up -- use enum class for stats category (pr#25450, J. Eric Ivancich)

  • rgw: cls/rgw: don’t assert in decode_list_index_key() (issue#24117, pr#22440, Yehuda Sadeh)

  • rgw: cls/rgw: raise debug level of bi_log_iterate_entries output (pr#25570, Casey Bodley)

  • rgw: cls/user: cls_user_remove_bucket writes modified header (issue#36496, pr#24645, Casey Bodley)

  • rgw: Code for STS Authentication (pr#23504, Pritha Srivastava)

  • rgw: common/options: correct the description of rgw_enable_lc_threads option (pr#23511, excellentkf)

  • rgw: continue enoent index in dir_suggest (issue#24640, pr#22937, Tianshan Qu)

  • rgw: copy actual stats from the source shards during reshard (issue#36290, pr#24444, Abhishek Lekshmanan)

  • rgw: Copying object data should generate new tail tag for the new object (issue#24562, pr#22613, Zhang Shaowen)

  • rgw: Correcting logic for signature calculation for non s3 ops (pr#26098, Pritha Srivastava)

  • rgw: cors rules num limit (pr#23434, yuliyang)

  • rgw: crypto: add openssl support for RGW encryption (pr#15168, Qiaowei Ren)

  • rgw: data sync accepts ERR_PRECONDITION_FAILED on remove_object() (issue#37448, pr#25310, Casey Bodley)

  • rgw: data sync drains lease stack on lease failure (issue#38479, pr#26639, Casey Bodley)

  • rgw: data sync respects error_retry_time for backoff on error_repo (issue#26938, pr#23571, Casey Bodley)

  • rgw: delete multi object num limit (pr#23544, yuliyang)

  • rgw: delete some unused code about std::regex (pr#23221, Xueyu Bai)

  • rgw: [DNM] rgw: Controlling STS authentication via a Policy (pr#24818, Pritha Srivastava)

  • rgw: do not ignore EEXIST in RGWPutObj::execute (issue#22790, pr#23033, Matt Benjamin)

  • rgw: Do not modify email if argument is not set (pr#22024, Volker Theile)

  • rgw: dont access rgw_http_req_data::client of canceled request (issue#35851, pr#23988, Casey Bodley)

  • rgw: Don’t treat colons specially when matching resource field of ARNs in S3 Policy (issue#23817, pr#25145, Adam C. Emerson)

  • rgw: drop unused tmp in main() (pr#23899, luomuyao)

  • rgw: escape markers in RGWOp_Metadata_List::execute (issue#23099, pr#22721, Matt Benjamin)

  • rgw: ES sync: be more restrictive on object system attrs (issue#36233, pr#24492, Abhishek Lekshmanan)

  • rgw: etag in rgw copy result response body rather in header (pr#23751, yuliyang)

  • rgw: feature -- log successful bucket resharding events (pr#25510, J. Eric Ivancich)

  • rgw: fetch_remote_obj filters out olh attrs (issue#37792, pr#25794, Casey Bodley)

  • rgw: fix bad user stats on versioned bucket after reshard (pr#25414, J. Eric Ivancich)

  • rgw: fix build (pr#22194, Yehuda Sadeh)

  • rgw: fix build (pr#23248, Matt Benjamin)

  • rgw: fix chunked-encoding for chunks >1MiB (issue#35990, pr#24114, Robin H. Johnson)

  • rgw: fix compilation after pubsub conflict (pr#25568, Casey Bodley)

  • rgw: fix copy response header etag format not correct (issue#24563, pr#22614, Tianshan Qu)

  • rgw: fix CreateBucket with BucketLocation parameter failed under default zonegroup (pr#22312, Enming Zhang)

  • rgw: fix deadlock on RGWIndexCompletionManager::stop (issue#26949, pr#23590, Yao Zongyou)

  • rgw: fix dependencies/target_link_libraries (pr#23056, Michal Jarzabek)

  • rgw: fixes for sync of versioned objects (issue#24367, pr#22347, Casey Bodley)

  • rgw: Fixes to permission evaluation related to user policies (pr#25180, Pritha Srivastava)

  • rgw: fix Etag error in multipart copy response (pr#23749, yuliyang)

  • rgw: Fix for buffer overflow in STS op_post() (issue#36579, pr#24510, Pritha Srivastava, Marcus Watts)

  • rgw: Fix for SignatureMismatchError in s3 commands (pr#26204, Pritha Srivastava)

  • rgw: fix FTBFS introduced by abca9805 (pr#23046, Kefu Chai)

  • rgw: fix index complete miss zones_trace set (issue#24590, pr#22632, Tianshan Qu)

  • rgw: fix index update in dir_suggest_changes (issue#24280, pr#22217, Tianshan Qu)

  • rgw: fix ldap secret parsing (pr#25796, Matt Benjamin)

  • rgw: fix leak of curl handle on shutdown (issue#35715, pr#23986, Casey Bodley)

  • rgw: Fix log level of gc_iterate_entries (issue#23801, pr#22868, iliul)

  • rgw: fix max-size in radosgw-admin and REST Admin API (pr#24062, Nick Erdmann)

  • rgw: fix meta and data notify thread miss stop cr manager (issue#24589, pr#22631, Tianshan Qu)

  • rgw: fix obj can still be deleted even if deleteobject policy is set (issue#37403, pr#25278, Enming.Zhang)

  • rgw: fix radosgw-admin build error (pr#21599, cfanz)

  • rgw: fix rgw_data_sync_info::json_decode() (issue#38373, pr#26494, Casey Bodley)

  • rgw: fix RGWSyncTraceNode crash in reload (issue#24432, pr#22432, Tianshan Qu)

  • rgw: fix stats for versioned buckets after reshard (pr#25333, J. Eric Ivancich)

  • rgw: fix uninitialized access (pr#25002, Yehuda Sadeh)

  • rgw: fix unordered bucket listing when object names are adorned (issue#38486, pr#26658, J. Eric Ivancich)

  • rgw: fix vector index out of range in RGWReadDataSyncRecoveringShardsCR (issue#36537, pr#24680, Casey Bodley)

  • rgw: fix version bucket stats (issue#21429, pr#17789, Shasha Lu)

  • rgw: fix versioned obj copy generating tags (issue#37588, pr#25473, Abhishek Lekshmanan)

  • rgw: fix wrong debug related to user ACLs in rgw_build_bucket_policies() (issue#19514, pr#14369, Radoslaw Zarzynski)

  • rgw: get or set realm zonegroup zone need check user’s caps (pr#25178, yuliyang, Casey Bodley)

  • rgw: Get the user metadata of the user used to sign the request (pr#22390, Volker Theile)

  • rgw: handle cases around zone deletion (issue#37328, pr#25160, Abhishek Lekshmanan)

  • rgw: handle S3 version 2 pre-signed urls with meta-data (pr#24683, Matt Benjamin)

  • rgw: have a configurable authentication order (issue#23089, pr#21494, Abhishek Lekshmanan)

  • rgw: http client: print curl error messages during curl failures (pr#23318, Abhishek Lekshmanan)

  • rgw: Improvements to STS Lite documentation (pr#24847, Pritha Srivastava)

  • rgw: Initial commit for AssumeRoleWithWebIdentity (pr#26002, Pritha Srivastava)

  • rgw: initial RGWRados refactoring work (pr#24014, Yehuda Sadeh, Casey Bodley)

  • rgw: Initial work for OPA-Ceph integration (pr#22624, Ashutosh Narkar)

  • rgw: librgw: initialize curl and http client for multisite (issue#36302, pr#24402, Casey Bodley)

  • rgw: librgw: support symbolic link (pr#19684, Tao Chen)

  • rgw: lifcycle: don’t reject compound rules with empty prefix (issue#37879, pr#25926, Matt Benjamin)

  • rgw: Limit the number of lifecycle rules on one bucket (issue#24572, pr#22623, Zhang Shaowen)

  • rgw: list bucket can not show the object uploaded by RGWPostObj when enable bucket versioning (pr#24341, yuliyang)

  • rgw: log http status with op prefix if available (pr#25102, Casey Bodley)

  • rgw: log refactoring for data sync (pr#23843, Casey Bodley)

  • rgw: log refactoring for meta sync (pr#23950, Casey Bodley, Ali Maredia)

  • rgw: make beast the default for rgw_frontends (pr#26599, Casey Bodley)

  • rgw: Minor fixes to AssumeRole for boto compliance (pr#24845, Pritha Srivastava)

  • rgw: Minor fixes to radosgw-admin commands for a role (pr#24730, Pritha Srivastava)

  • rgw: move all reshard config options out of legacy_config_options (pr#25356, J. Eric Ivancich)

  • rgw: move keystone secrets from ceph.conf to files (issue#36621, pr#24816, Matt Benjamin)

  • rgw: multiple es related fixes and improvements (issue#22877, issue#38028, issue#38030, issue#36092, pr#26106, Yehuda Sadeh, Abhishek Lekshmanan)

  • rgw: need to give a type in list constructor (pr#25161, Willem Jan Withagen)

  • rgw: new librgw_admin_us (pr#21439, Orit Wasserman, Matt Benjamin)

  • rgw: policy: fix NotAction, NotPricipal, NotResource does not take effect (pr#23625, xiangxiang)

  • rgw: policy: fix s3:x-amz-grant-read-acp keyword error (pr#23610, xiangxiang)

  • rgw: policy: modify some operation permission keyword (issue#24061, pr#20974, xiangxiang)

  • rgw: pub-sub (pr#23298, Yehuda Sadeh)

  • rgw: qa/suites/rgw/verify/tasks/cls_rgw: test cls_rgw (pr#22919, Sage Weil)

  • rgw: radogw-admin reshard status command should print text for reshard status (issue#23257, pr#20779, Orit Wasserman)

  • rgw: radosgw-admin: add mfa related command and options (pr#23416, Enming.Zhang)

  • rgw: radosgw-admin bucket rm … --purge-objects can hang (issue#38134, pr#26231, J. Eric Ivancich)

  • rgw: “radosgw-admin objects expire” always returns ok even if the process fails (issue#24592, pr#22635, Zhang Shaowen)

  • rgw: radosgw-admin: ‘sync error trim’ loops until complete (issue#24873, pr#23032, Casey Bodley)

  • rgw: radosgw-admin: translate reshard status codes (trivial) (issue#36486, pr#24638, Matt Benjamin)

  • rgw: RADOS::Obj::operate takes optional_yield (pr#25068, Casey Bodley)

  • rgw: rados tiering (issue#19510, pr#25774, yuliyang, Yehuda Sadeh, Zhang Shaowen)

  • rgw: raise debug level on redundant data sync error messages (issue#35830, pr#23981, Casey Bodley)

  • rgw: raise default rgw_curl_low_speed_time to 300 seconds (issue#27989, pr#23759, Casey Bodley)

  • rgw: refactor logging in gc and lc (pr#24530, Ali Maredia)

  • rgw: refactor PutObjProcessor stack (pr#24453, Casey Bodley)

  • rgw: reject invalid methods in validate_cors_rule_method (issue#24223, pr#22145, Jeegn Chen)

  • rgw: remove all traces of cls replica_log (pr#21680, Casey Bodley)

  • rgw: remove duplicated RGWRados::list_buckets_ helpers (pr#25240, Casey Bodley)

  • rgw: remove expired entries from the cache (issue#23379, pr#22410, Mark Kogan)

  • rgw: remove repetitive conditional statement in RGWHandler_REST_Obj_S3 (pr#24162, Zhang Shaowen)

  • rgw: remove rgw_aclparser.cc (issue#36665, pr#24866, Matt Benjamin)

  • rgw: remove the useless is_cors_op in RGWHandler_REST_Obj_S3 (pr#22114, Zhang Shaowen)

  • rgw: remove unused aio helper functions (pr#25239, Casey Bodley)

  • rgw: renew resharding locks to prevent expiration (issue#27219, issue#34307, pr#24406, Orit Wasserman, J. Eric Ivancich)

  • rgw: repair olh attributes that were broken by sync (issue#37792, pr#26157, Casey Bodley)

  • rgw: require --yes-i-really-mean-it to run radosgw-admin orphans find (issue#24146, pr#22036, Matt Benjamin)

  • rgw: reshard add: fail correctly on a non existant bucket (issue#36449, pr#24594, Abhishek Lekshmanan)

  • rgw: reshard clean-up and associated commits (pr#25142, J. Eric Ivancich)

  • rgw: reshard improvements (pr#25003, J. Eric Ivancich)

  • rgw: reshard stale instance cleanup (issue#24082, pr#24662, Abhishek Lekshmanan)

  • rgw: resolve bugs and clean up garbage collection code (issue#38454, pr#26601, J. Eric Ivancich)

  • rgw: resolve bug where marker was not advanced during garbage collection (issue#38408, pr#26545, J. Eric Ivancich)

  • rgw: return err_malformed_xml when MaxAgeSeconds is an invalid integer (issue#26957, pr#23626, Chang Liu)

  • rgw: Return tenant field in bucket_stats function (pr#24895, Volker Theile)

  • rgw: return valid Location element, PostObj (issue#22927, pr#20330, yuliyang)

  • rgw: return x-amz-version-id: null when delete obj in versioning suspended bucket (issue#35814, pr#23927, yuliyang)

  • rgw: Revert “rgw: lifcycle: don’t reject compound rules with empty prefix” (pr#26491, Matt Benjamin)

  • rgw: rgw-admin: add “--trim-delay-ms” introduction for ‘sync error trim’ (pr#23342, Enming.Zhang)

  • rgw: rgw-admin: fix data sync report for master zone (pr#23925, cfanz)

  • rgw: RGWAsyncGetBucketInstanceInfo does not access coroutine memory (issue#35812, pr#23987, Casey Bodley)

  • rgw: rgw/beast: drop privileges after binding ports (issue#36041, pr#24271, Paul Emmerich)

  • rgw: RGWBucket::link supports tenant (issue#22666, pr#23119, Casey Bodley)

  • rgw: rgw: change the way sysobj filters raw attributes, fix bucket sync state xattrs (issue#37281, pr#25123, Yehuda Sadeh)

  • rgw: rgw, cls: remove cls_statelog and rgw opstate tracking (pr#24059, Casey Bodley)

  • rgw: rgw_file: deep stat handling (issue#24915, pr#23038, Matt Benjamin)

  • rgw: rgw_file: not check max_objects when creating file (pr#24846, Tao Chen)

  • rgw: rgw_file: use correct secret key to check auth (pr#26130, MinSheng Lin)

  • rgw: rgw_file: user info never synced since librgw init (pr#25406, Tao Chen)

  • rgw: [rgw]: Fix help of radosgw-admin user info in case no uid (pr#25078, Marc Koderer)

  • rgw: rgwgc:process coredump in some special case (issue#23199, pr#25430, zhaokun)

  • rgw: rgw multisite: async rados requests don’t access coroutine memory (issue#35543, pr#23920, Casey Bodley)

  • rgw: rgw multisite: bucket sync transitions back to StateInit on OP_SYNCSTOP (issue#26895, pr#23574, Casey Bodley)

  • rgw: rgw multisite: enforce spawn_window for data full sync (issue#26897, pr#23534, Casey Bodley)

  • rgw: rgw-multisite: fix endless loop in RGWBucketShardIncrementalSyncCR (issue#24603, pr#22660, cfanz)

  • rgw: rgw multisite: incremental data sync uses truncated flag to detect end of listing (issue#26952, pr#23596, Casey Bodley)

  • rgw: rgw multisite: only update last_trim marker on ENODATA (issue#38075, pr#26190, Casey Bodley)

  • rgw: rgw multisite: uses local DataChangesLog to track active buckets for trim (issue#36034, pr#24221, Casey Bodley)

  • rgw: rgw/pubsub: add amqp push endpoint (pr#25866, Yuval Lifshitz)

  • rgw: rgw/pubsub: add pubsub tests (pr#26299, Yuval Lifshitz)

  • rgw: RGWRadosGetOmapKeysCR takes result by shared_ptr (issue#21154, pr#23634, Casey Bodley)

  • rgw: RGWRadosGetOmapKeysCR uses ‘more’ flag from omap_get_keys2() (pr#23401, Casey Bodley, Sage Weil)

  • rgw: remove duplicate include header files in rgw_rados.cc (pr#18578, Sibei Gao)

  • rgw: rgw_sync: drop ENOENT error logs from mdlog (pr#26971, Abhishek Lekshmanan)

  • rgw: Robustly notify (issue#24963, pr#23100, Adam C. Emerson)

  • rgw: s3: awsv4 drop special handling for x-amz-credential (issue#26965, pr#23652, Abhishek Lekshmanan)

  • rgw: sanitize customer encryption keys from log output in v4 auth (issue#37847, pr#25881, Casey Bodley)

  • rgw: scheduler (pr#26008, Casey Bodley, Abhishek Lekshmanan)

  • rgw: set cr state if aio_read err return in RGWCloneMetaLogCoroutine (issue#24566, pr#22617, Tianshan Qu)

  • rgw: set default objecter_inflight_ops = 24576 (issue#25109, pr#23242, Matt Benjamin)

  • rgw: should recode canonical_uri when caculate s3 v4 auth (issue#23587, pr#21286, yuliyang)

  • rgw: some fix for es sync (issue#23842, issue#23841, pr#21622, Tianshan Qu, Shang Ding)

  • rgw: support admin rest api get user info through user’s access-key (pr#22790, yuliyang)

  • rgw: support server-side encryption when SSL is terminated in a proxy (issue#27221, pr#24700, Casey Bodley)

  • rgw: Swift SLO size_bytes member is optional (issue#18936, pr#22967, Matt Benjamin)

  • rgw: Swift’s TempURL can handle temp_url_expires written in ISO8601 (issue#20795, pr#16658, Radoslaw Zarzynski)

  • rgw: sync module: avoid printing attrs of objects in log (issue#37646, pr#25541, Abhishek Lekshmanan)

  • rgw: test bi list (issue#24483, pr#21772, Orit Wasserman)

  • rgw: test/rgw: add ifdef for HAVE_BOOST_CONTEXT (pr#25744, Casey Bodley)

  • rgw,tests: qa: add test for https://github.com/ceph/ceph/pull/22790 (pr#23143, yuliyang)

  • rgw,tests: qa/rgw: add cls_lock/log/refcount/version tests to verify suite (pr#25381, Casey Bodley)

  • rgw,tests: qa/rgw: add missing import line (pr#25298, Shilpa Jagannath)

  • rgw,tests: qa/rgw: add radosgw-admin-rest task to singleton suite (pr#23145, Casey Bodley)

  • rgw,tests: qa/rgw: disable testing on ec-cache pools (issue#23965, pr#22126, Casey Bodley)

  • rgw,tests: qa/rgw: fix invalid syntax error in radosgw_admin_rest.py (issue#37440, pr#25305, Casey Bodley)

  • rgw,tests: qa/rgw: move ragweed upgrade test into upgrade/luminous-x (pr#21707, Casey Bodley)

  • rgw,tests: qa/rgw: override valgrind --max-threads for radosgw (issue#25214, pr#23372, Casey Bodley)

  • rgw,tests: qa/rgw: patch keystone requirements.txt (issue#23659, pr#23402, Casey Bodley)

  • rgw,tests: qa/rgw: reduce number of multisite log shards (pr#24011, Casey Bodley)

  • rgw,tests: qa/rgw: reorganize verify tasks (pr#22249, Casey Bodley)

  • rgw,tests: qa/rgw/tempest: either force os_type or select random distro (pr#25996, Yehuda Sadeh)

  • rgw,tests: test/rgw: fix for bucket checkpoints (issue#24212, pr#22124, Casey Bodley)

  • rgw,tests: test/rgw: fix race in test_rgw_reshard_wait (pr#26741, Casey Bodley)

  • rgw,tests: test/rgw: silence -Wsign-compare warnings (pr#26364, Kefu Chai)

  • rgw: The delete markers generated by object expiration should have owner attribute (issue#24568, pr#22619, Zhang Shaowen)

  • rgw: the error code returned by rgw is different from amz s3 when getting cors (issue#26964, pr#23646, ashitakasam)

  • rgw: thread DoutPrefixProvider into RGW::Auth_S3::authorize (pr#24409, Ali Maredia)

  • rgw,tools: ceph-dencoder: add RGWRealm and RGWPeriod support (pr#25057, yuliyang)

  • rgw,tools: cls: refcount: add obj_refcount to ceph-dencoder (pr#25441, Abhishek Lekshmanan)

  • rgw,tools: cls/rgw: ready rgw_usage_log_entry for extraction via ceph-dencoder (issue#34537, pr#22344, Vaibhav Bhembre)

  • rgw,tools: vstart: make beast as the default frontend for rgw (pr#26566, Abhishek Lekshmanan)

  • rgw,tools: vstart: rgw: disable the lc debug interval option (pr#25487, Abhishek Lekshmanan)

  • rgw,tools: vstart: set admin socket for RGW in conf (pr#23983, Abhishek Lekshmanan)

  • rgw: update cls_rgw.cc and cls_rgw_const.h (pr#24001, yuliyang)

  • rgw: update ObjectCacheInfo::time_added on overwrite (issue#24346, pr#22324, Casey Bodley)

  • rgw: update --url in usage and doc (pr#22100, Jos Collin)

  • rgw: use chunked encoding to get partial results out faster (issue#12713, pr#23940, Robin H. Johnson)

  • rgw: use coarse_real_clock for req_state::time (pr#21893, Casey Bodley)

  • rgw: use DoutPrefixProvider to add more context to log output (pr#21700, Casey Bodley)

  • rgw: use partial-order bucket listing in RGWLC, add configurable processing delay (issue#23956, pr#21755, Matt Benjamin)

  • rgw: User Policy (pr#21379, Pritha Srivastava)

  • rgw: user stats account for resharded buckets (pr#24595, Casey Bodley)

  • rgw: warn if zone doesn’t contain all zg’s placement targets (pr#22452, Abhishek Lekshmanan)

  • rgw: website routing rules num limit (pr#23429, yuliyang)

  • rgw: when exclusive lock fails due existing lock, log add’l info (issue#38171, pr#26272, J. Eric Ivancich)

  • rgw: zone service only provides const access to its data (pr#25412, Casey Bodley)

  • rocksdb: pick up a fix to be backward compatible (issue#25146, pr#25070, Kefu Chai)

  • script: build-integration-branch: avoid Unicode error (issue#24003, pr#21807, Nathan Cutler)

  • script/kubejacker: Add openSUSE based images (pr#24055, Sebastian Wagner)

  • scripts: backport-create-issue: complain about duplicates and support mimic (issue#24071, pr#21634, Nathan Cutler)

  • seastar: pickup fix for segfault in POSIX stack (pr#25861, Kefu Chai)

  • spec: add missing rbd mirror bootstrap directory (pr#24856, Sébastien Han)

  • src: balance std::hex and std::dec manipulators (pr#22287, Kefu Chai)

  • src/ceph.in: dev mode: add build path to beginning of PATH, not end (issue#24578, pr#22628, Dan Mick)

  • src: Eliminate new warnings in Fedora 28 (pr#21898, Adam C. Emerson)

  • test/crimson: fixes of unittest_seastar_echo (pr#26419, Yingxin Cheng, Kefu Chai)

  • test/fio: fix compiler failure (pr#22728, Jianpeng Ma)

  • test/fio: new option to control file preallocation (pr#23410, Igor Fedotov)

  • tests: Add hashinfo testing for dump command of ceph-objectstore-tool (issue#38053, pr#26158, David Zafman)

  • tests: add ubuntu 18.04 dockerfile (pr#25251, Kefu Chai)

  • tests: auth, test: fix building on ARMs after the NSS -> OpenSSL transition (pr#22129, Radoslaw Zarzynski)

  • tests: ceph_kvstorebench: include <errno.h> not asm-generic/errno.h (pr#25256, Kefu Chai)

  • tests: ceph-volume: functional tests, add libvirt customization (pr#25895, Jan Fajerski)

  • tests: do not check for invalid k/m combinations (issue#16500, pr#25046, Kefu Chai)

  • tests: Fixes for standalone tests (pr#22480, David Zafman)

  • tests: fix to check server_conn in MessengerTest.NameAddrTest (pr#23931, Yingxin)

  • tests: make ceph-admin-commands.sh log what it does (issue#37089, pr#25080, Nathan Cutler)

  • tests: make test_ceph_argparse.py pass on py3-only systems (issue#24816, pr#22922, Nathan Cutler)

  • tests: mgr/ansible: add install tox==2.9.1 (pr#26313, Kefu Chai)

  • tests: mgr/dashboard: Added additional breadcrumb and tab tests to Cluster menu (pr#26151, Nathan Weinberg)

  • tests: mgr/dashboard: Added additional breadcrumb tests to Cluster (pr#25010, Nathan Weinberg)

  • tests: mgr/dashboard: Added breadcrumb and tab tests to Pools menu (pr#25572, Nathan Weinberg)

  • tests: mgr/dashboard: Added breadcrumb tests to Block menu items (pr#25143, Nathan Weinberg)

  • tests: mgr/dashboard: Added breadcrumb tests to Filesystems menu (pr#26592, Nathan Weinberg)

  • tests: mgr/dashboard: Added NFS Ganesha suite to QA tests (pr#26510, Laura Paduano)

  • tests: mgr/dashboard: Added tab tests to Block menu items (pr#26243, Nathan Weinberg)

  • tests: mgr/dashboard: Add Jest Runner (pr#22031, Tiago Melo)

  • tests: mgr/dashboard: Add unit test case for controller/erasure_code_profile.py (pr#24789, Ranjitha G)

  • tests: mgr/dashboard: Add unit test for frontend api services (pr#22284, Tiago Melo)

  • tests: mgr/dashboard: Add unit tests for all frontend pipes (pr#22182, Tiago Melo)

  • tests: mgr/dashboard: Add unit test to the frontend services (pr#22244, Tiago Melo)

  • tests: mgr/dashboard: Fix a broken ECP controller test (pr#25363, Zack Cerza)

  • tests: mgr/dashboard: Fix PYTHONPATH for test runner (pr#25359, Zack Cerza)

  • tests: mgr/dashboard: Improve max-line-length tslint rule (pr#22279, Tiago Melo)

  • tests: mgr/dashboard: RbdMirroringService test suite fails in dev mode (issue#37841, pr#25865, Stephan Müller)

  • tests: mgr/dashboard: Small improvements for running teuthology tests (pr#25121, Zack Cerza)

  • tests: mgr/dashboard: updated API test (pr#25653, Alfonso Martínez)

  • tests: mgr/dashboard: updated API test to reflect changes in ModuleInfo (pr#25761, Kefu Chai)

  • tests: mgr/test_orchestrator: correct ceph-volume path (issue#37773, pr#25839, Kefu Chai)

  • tests: object errors found in be_select_auth_object() aren’t logged the same (issue#25108, pr#23376, David Zafman)

  • tests: osd/OSDMap: set pg_autoscale_mode with setting from conf (pr#25746, Kefu Chai)

  • tests: os/tests: fix garbageCollection test case from store_test suite (pr#23752, Igor Fedotov)

  • tests: os/tests: silence -Wsign-compare warning (pr#25072, Kefu Chai)

  • tests: qa: add librados3 to exclude_packages for ugprade tests (pr#25037, Kefu Chai)

  • tests: qa: add test that builds example librados programs (issue#35989, issue#15100, pr#23131, Nathan Cutler)

  • tests: qa/ceph-ansible: Set ceph_stable_release to mimic (issue#38231, pr#26328, Brad Hubbard)

  • tests: qa/distros: add openSUSE Leap 42.3 and 15.0 (pr#24380, Nathan Cutler)

  • tests: qa: Don’t use sudo when moving logs (pr#22763, David Zafman)

  • tests: qa: downgrade librados2,librbd1 for thrash-old-clients tests (issue#37618, pr#25463, Kefu Chai)

  • tests: qa: fix manager module paths (pr#23637, Noah Watkins, David Zafman)

  • tests/qa - fix mimic subset for nightlies (pr#21931, Yuri Weinstein)

  • tests: qa: fix test on “ceph fs set cephfs allow_new_snaps” (pr#21829, Kefu Chai)

  • tests: qa: fix upgrade tests and test_envlibrados_for_rocksdb.sh (pr#25106, Kefu Chai)

  • tests: qa: For teuthology copy logs to teuthology expected location (pr#22702, David Zafman)

  • tests: qa/mgr/dashboard: Fix type annotation error (pr#25235, Sebastian Wagner)

  • tests: qa/mon: fix cluster support for monmap bootstrap (issue#38115, pr#26205, Casey Bodley)

  • tests: qa/standalone: Minor test improvements (issue#35912, pr#24018, David Zafman)

  • tests: qa/standalone/scrub: When possible show side-by-side diff in addition to regular diff (pr#22727, David Zafman)

  • tests: qa/standalone: Standalone test corrections (issue#35982, pr#24088, David Zafman)

  • tests: qa/suites/rados/upgrade: remove stray link (pr#22460, Sage Weil)

  • 测试:qa/套件/rados/升级:设置 require-osd-release 为 nautilus (问题#37432, 提交#25314, Kefu Chai)

  • 测试:qa/套件/rados/验证:移除 random-distro$ (提交#22057, Kefu Chai)

  • 测试:qa/套件/升级/mimic-x:修复 rhel 运行 (提交#25781, Neha Ojha)

  • 测试:qa/任务/mgr:修复 test_pool.py (问题#24077, 提交#21943, Kefu Chai)

  • 测试:qa/任务/thrashosds-health.yaml:白名单慢请求 (问题#25104, 提交#23237, Neha Ojha)

  • 测试:qa/任务:更新 maven 的镜像链接 (提交#23944, Vasu Kulkarni)

  • 测试:qa/测试:添加过滤器以支持客户端升级测试的发行版测试 (提交#22096, Yuri Weinstein)

  • 测试:qa/测试 - 添加 mimic-p2p 套件 (提交#22726, Yuri Weinstein)

  • 测试:qa/测试:添加 mimic 运行,移除大型套件 (rados, rbd, 等) ru… (提交#21827, Yuri Weinstein)

  • 测试:qa/测试:添加 “-n 7” 以确保 mimic-x 在构建的主分支上运行 (提交#25038, Yuri Weinstein)

  • 测试:qa/测试:添加 rhel 7.6 (提交#25919, Yuri Weinstein)

  • 测试:qa/测试:在 ovh 中运行时修复卷大小 (提交#21961, Vasu Kulkarni)

  • 测试:qa/测试:将 ceph-ansible 测试移至 ansible 版本 2.7 (问题#37973, 提交#26068, Brad Hubbard)

  • 测试:qa/测试:从 ceph-deploy 中移除 ceph-disk 测试,并将所有测试默认设置为使用 ceph-volume (提交#22921, Vasu Kulkarni)

  • 测试:qa/升级:nautilus 的清理 (提交#23305, Nathan Cutler)

  • 测试:qa:使用 $TESTDIR 进行 mkfs 测试 (提交#22246, Kefu Chai)

  • 测试:qa:等待更长时间以使 osd 刷新 pg 统计 (问题#24321, 提交#22275, Kefu Chai)

  • 测试:qa/工作单元/ceph-disk:--no-mon-config (提交#21942, Kefu Chai)

  • 测试:qa/工作单元/mon/test_mon_config_key.py:提高大小限制 (问题#36260, 提交#24340, Kefu Chai)

  • 测试:qa/工作单元/rados/test_envlibrados_for_rocksdb:安装 g++ 而不是 g++-4.7 (提交#22103, Kefu Chai)

  • 测试:qa/工作单元/rados/test_librados_build.sh:从显式的 git 分支获取文件 (提交#25268, Nathan Cutler)

  • 测试 run-make-check:将 fs.aio-max-nr 增加到 1048576 (提交#23689, Kefu Chai)

  • 测试,常见:静音 GCC 警告 (提交#23692, Kefu Chai)

  • 测试/crimson:添加 dummy_auth 以测试异步回声 (提交#26783, Yingxin Cheng)

  • 测试/crimson:修复 test_alien_echo 的构建失败 (提交#26308, chunmei Liu)

  • 测试/crimson:修复 unittest_seastar_perfcounters 在 arm64 上的 FTBFS (提交#25647, Kefu Chai)

  • 测试/crimson:将 async-msgr 从 alien_echo 中拆分 (提交#26620, Yingxin Cheng)

  • 测试/dashboard:修复导入 dm.xmlsec.binding 时的段错误 (问题#37081, 提交#25139, Kefu Chai)

  • 测试:在 scrub 测试期间禁用重复请求命令测试 (提交#25675, David Zafman)

  • 测试/docker-test-helper.sh:将 “cp .git/HEAD” 移出循环 (提交#22978, Kefu Chai)

  • 测试/编码:修复 encoding/types.h 文件中的拼写错误 (提交#23332, TommyLike)

  • 测试/test/fio:以不同的方式传递配置参数到对象存储 (提交#23267, Igor Fedotov)

  • 测试:修复 test/crimson/test_config.cc 中的编译错误 (提交#23724, Yingxin)

  • 测试:修复 libc++ 在 Log.GarbleRecovery 中的崩溃 (提交#25135, Casey Bodley)

  • 测试/librados:修复 LibRadosList.ListObjectsNS (提交#22771, Kefu Chai)

  • 测试:限制等待强制回填/强制恢复发生的循环 (问题#38309, 提交#26416, David Zafman)

  • 测试:在 log-whitelist 中需要转义括号以用于 grep (提交#22074, David Zafman)

  • 测试:osd-backfill-stats.sh 修复多回填 OSD 的检查,跳过重新… (提交#26330, David Zafman)

  • 测试/test/pybind/test_rados.py:收集输出到 stdout 以用于 “bench” 命令 (提交#21957, Kefu Chai)

  • 测试:run-standalone.sh:将 LD_LIBRARY_PATH 指向 $(pwd)/lib (问题#38262, 提交#26371, David Zafman)

  • 测试/qa:尝试 $ 发行版混合 (提交#21895, Yuri Weinstein)

  • 测试:开始使用 GNU awk 并修复存档目录 (提交#23955, Willem Jan Withagen)

  • 测试:测试 strtol:添加解析十六进制数字的测试用例 (提交#21582, Jan Fajerski)

  • 测试:在测试中抑制核心转储 (提交#25311, Willem Jan Withagen)

  • 测试:在 FreeBSD 上切换到 GNU sed (提交#26318, Willem Jan Withagen)

  • 测试:修复 test_get_timeout_delays() (提交#22837, David Zafman)

  • 测试:使用一个应该在所有操作系统上都存在的文件 (提交#22428, David Zafman)

  • 测试:使用一个跨版本工作的工作模式 (问题#35845, 提交#24013, David Zafman)

  • 测试:使用 pids 而不是 jobspecs,后者是错误的 (问题#27056, 提交#23695, David Zafman)

  • 测试:wait_for_pg_stats() 在最后 13 秒后应该做另一个检查 (提交#22198, David Zafman)

  • 测试:白名单更正 (提交#22164, David Zafman)

  • 测试:将日志文件写入当前目录 (问题#36737, 提交#25704, Kefu Chai)

  • 测试,工具:ceph-objectstore-tool:转储 hashinfo (问题#37597, 提交#25483, David Zafman)

  • 测试:更新 Dockerfile 以支持 fc-29 (提交#26311, Kefu Chai)

  • 测试:升级/luminous-x:修复 final-workload 目录的顺序 (提交#23162, Nathan Cutler)

  • 测试:升级/luminous-x:白名单 REQUEST_SLOW 用于 rados_mon_thrash (问题#25051, 提交#23160, Nathan Cutler)

  • 测试:Wip 38027 38195: osd/osd-backfill-space.sh 失败 (问题#38027, 问题#38195, 提交#26290, David Zafman)

  • 工具:向对象存储工具添加 clear-data-digest 命令 (提交#25403, Li Yichao)

  • 工具:向 “rados” load-gen 添加 offset-align 选项 (提交#20683, Zengran Zhang)

  • 工具:backport-create-issue:限制速率以避免看起来像垃圾邮件发送者 (提交#24243, Nathan Cutler)

  • 工具:ceph-menv:mrun shell 环境 (提交#22132, Yehuda Sadeh)

  • 工具:ceph-objectstore-tool:允许目标级别作为第一个位置参数 (问题#35846, 提交#23989, David Zafman)

  • 工具, mgr:静音 clang 警告 (pr#23488, xiaomanh)

  • tools, mgr: silence clang warnings (提交#23430, Kefu Chai)

  • 工具:mstop.sh 允许在失败杀死进程后使用 kill -9 (提交#26680, Yuval Lifshitz)

  • 工具/rados:修复错误路径中的内存泄漏 (提交#25410, Li Wang)

  • 工具:脚本/kubejacker:包含 cls 库 (提交#23569, John Spray)

  • 工具:脚本:新的 ceph-backport.sh 脚本 (提交#22875, Nathan Cutler)

  • 工具:工具:ceph-authtool:在创建密钥环时报告正确的 caps 数量 (提交#23304, Nathan Cutler)

  • 工具:工具/ceph_kvstore_tool:在修复时不要打开 rocksdb (提交#25108, Kefu Chai)

  • 工具:工具/ceph_kvstore_tool:将 StoreTool 提取到 kvstore_tool.cc (提交#26041, Kefu Chai)

  • 工具:工具/ceph_kvstore_tool:将摘要输出移动到 print_summary (提交#26666, Brad Hubbard)

  • 工具:工具/rados:允许在池中的特定 pg 中列出对象 (提交#19041, Li Wang)

  • 工具:工具/rados:始终在 exit() 之前调用 rados.shutdown() (问题#36732, 提交#24990, Li Wang)

  • 工具:工具/rados:修正 bench 的读取偏移 (提交#23667, Xiaofei Cui)

  • 工具:工具/rados:修复目标吞吐量的单位 (提交#23683, Xiaofei Cui)

  • vstart:当 rbd 未构建时禁用 dashboard (提交#23336, Noah Watkins)

  • vstart.sh:修复 monmaptool 的参数生成 (问题#38174, 提交#26273, Yehuda Sadeh)

由 Ceph 基金会带给您

Ceph 文档是一个社区资源,由非盈利的 Ceph 基金会资助和托管Ceph Foundation. 如果您想支持这一点和我们的其他工作,请考虑加入现在加入.