注意
本文档适用于 Ceph 的开发版本。
Octopus
Octopus 是 Ceph 的第 15 个稳定版本。它以八肢头足纲的章鱼命名。
v15.2.17 Octopus
这是 Octopus 系列的第 17 个也是最后一个回溯版本。我们建议所有用户更新到此版本。
值得注意的变更
Octopus 将 SnapMapper 键格式从 <LEGACY_MAPPING_PREFIX><snapid>_<shardid>_<hobject_t::to_str()> 修改为 <MAPPING_PREFIX><pool>_<snapid>_<shardid>_<hobject_t::to_str()>。引入此更改时,94ebe0e 还引入了一个关键错误,该错误通过将旧键映射到 <MAPPING_PREFIX><poolid>_<snapid>_ 而没有对象唯一后缀,从而基本上销毁了旧键。此版本修复了转换。相关跟踪器:https://tracker.ceph.com/issues/5614
通过不带任何选项或位置参数调用 “rbd perf image iostat” 或 “rbd perf image iotop” 命令,将所有 RBD 池混合到一个视图中的功能得以恢复。在 v15.2.14 中,此类调用意外地仅限于默认池 (
rbd_default_pool)。运行 OpenStack Manila 导出原生 CephFS 的用户,如果将其 Ceph 集群从 Nautilus(或更早版本)升级到更高主要版本,则容易受到恶意用户的攻击(CVE-2022-0670: 原生 CephFS Manila 路径限制绕过)。该漏洞允许用户访问 CephFS 文件系统层次结构中的任意部分,而不是正确地限制在他们自己的子卷中。此漏洞是由于 Ceph Manager 中“volumes”插件的一个错误造成的。此插件负责管理 Ceph 文件系统子卷,OpenStack Manila 服务将其用作向 Manila 用户提供共享的一种方式。
此版本修复了该漏洞。担心可能受到影响的管理员应审核其集群中的 CephX 密钥,以确保正确的路径限制。
再次强调,此漏洞仅影响向用户提供原生 CephFS 访问的 OpenStack Manila 集群。
变更日志
admin/doc-requirements: 将 sphinx 提升到 4.4.0 (pr#45972, Kefu Chai)
回溯 qemu-iotests 修复以适应 centos stream 8 (pr#45206, Ken Dreyer, Ilya Dryomov)
捕获 __generate_command_map() 抛出的异常 (pr#45891, Nikhil Kshirsagar)
ceph-volume: 传递的设备有分区时中止 (pr#45147, Guillaume Abrioux)
ceph-volume: 修复清单中的 'KeyError' 错误 (pr#44883, Guillaume Abrioux)
ceph-volume: 修复 lvm list 中的标签字典输出 (pr#44768, Guillaume Abrioux)
ceph-volume: 在 rollback_osd() 中清除 osd (pr#44770, Guillaume Abrioux)
ceph/admin: s/master/main (pr#46219, Zac Dover)
cephadm: 在拉取时推断默认容器镜像 (pr#45570, Michael Fritch)
cephadm: 升级期间保留 authorized_keys 文件 (pr#45356, Michael Fritch)
client: 不要在 Inode::dump() 中两次转储 mds (pr#45162, Xue Yantao)
cls/rbd: GroupSnapshotNamespace 比较器违反排序规则 (pr#45076, Ilya Dryomov)
cls/rgw: rgw_dir_suggest_changes 检测到与完成的竞争 (pr#45902, Casey Bodley)
cmake: 构建 dpdk 时传递 RTE_DEVEL_BUILD=n (pr#45261, Kefu Chai)
common: 避免两次 pthread_mutex_unlock (pr#45465, Dai Zhiwei)
common: 用包装结构替换 BitVector::NoInitAllocator (pr#45180, Casey Bodley)
crush: 取消 up set size != pool size 的 upmaps (pr#43416, huangjun)
doc/dev: 更新 basic-workflow.rst (pr#46308, Zac Dover)
doc/start: intro.rst 中 s/3/three/ (pr#46328, Zac Dover)
doc/start: 更新 hardware-recs.rst 中的“memory” (pr#46451, Zac Dover)
修复 make check (pr#46230, Kefu Chai, Adam C. Emerson)
krbd: 未找到初始监视器地址时返回错误 (pr#45004, Burt Holzman)
librados: 在 pool_reverse_lookup() 中对 ENOENT 检查最新 osdmap (pr#45587, Ilya Dryomov)
librbd: 如果已经是锁所有者,则从 schedule_request_lock() 中退出 (pr#47160, Christopher Hoffman)
librbd: 修复 list_descendants() 中 ictx 的 use-after-free (pr#45000, Ilya Dryomov, Wang ShuaiChao)
librbd: 在 write-around 缓存中为 write_same() 遵守 FUA op 标志 (pr#44992, Ilya Dryomov)
librbd: readv/writev 修复 iovecs 长度计算溢出 (pr#45560, Jonas Pfefferle)
librbd: 跟踪完成的异步操作请求 (pr#45019, Mykola Golub)
librbd: 容量达到时取消链接最新的镜像快照,并提升容量 (pr#46592, Ilya Dryomov)
librbd: 在深度复制上更新不存在对象的进度 (pr#46912, Ilya Dryomov)
librgw: 使 rgw 文件句柄版本化 (pr#45496, Xuehan Xu)
mds: 在 start_files_to_reover() 中添加 heartbeat_reset() (pr#45157, Yongseok Oh)
mds: 在进入 rejoin_gather_finish 之前检查 rejoin_ack_gather (pr#45161, chencan)
mds: 响应链接请求后立即返回 (pr#44624, Xiubo Li)
mds: 确保我们在 cap 消息中发送 btime (pr#45164, Jeff Layton)
mds: 修复可能的 mds_lock 未锁定断言 (pr#45156, Xiubo Li)
mds: 修复 expire_recursive 中的段错误 (pr#45055, 胡玮文)
mds: 跟踪操作延迟时忽略未知客户端操作 (pr#44976, Venky Shankar)
mds: mds_oft_prefetch_dirfrags 默认设置为 false (pr#45015, Dan van der Ster)
mds: inode 入队后立即推进恢复队列 (pr#45158, "Yan, Zheng", Xiubo Li)
mds: 重置堆命令的返回值 (pr#45155, Xiubo Li)
mds: 重新集成时跳过目录大小检查 (pr#44668, Patrick Donnelly)
mgr/cephadm: 修复并改进 osd 耗尽 (pr#46645, Sage Weil)
mgr/cephadm: 尝试获取活动实例的 FQDN (pr#46787, Tatjana Dehler)
mgr/cephadm: 尝试获取配置文件的 FQDN (pr#45621, Tatjana Dehler)
mgr/dashboard: 配置报告时仪表板关闭遥测功能 (pr#45110, Sarthak0702, Aaryan Porwal)
mgr/dashboard: 修复“NullInjectorError: 没有 I18n 的提供者 (pr#45613, Nizamudeen A)
mgr/dashboard: 修复 Grafana OSD/主机面板 (pr#44924, Patrick Seidensal)
mgr/dashboard: UI 顶部的通知横幅具有固定高度 (pr#44763, Waad AlKhoury)
mgr/dashboard: 表格列隐藏修复 (issue#51119, pr#45726, Daniel Persson)
mgr/devicehealth: 修复时间差计算中缺少时区的问题 (pr#45287, Yaarit Hatuka)
mgr/prometheus: 为 Pools DF Prometheus mgr 模块添加 avail_raw 字段 (pr#45238, Konstantin Shalygin)
mgr/rbd_support: 在收集 LevelSpec 时将 pool_id 从 int 转换为 str (pr#45530, Ilya Dryomov)
mgr/rbd_support: 修复调度删除 (pr#45006, Sunny Kumar)
mgr/telemetry: 修复等待 mgr 预热的问题 (pr#45772, Yaarit Hatuka)
mgr/volumes: 少量卷插件回溯 (issue#51271, pr#44800, Kotresh HR, Venky Shankar, Jan Fajerski)
mgr/volumes: 修复使用 mode 创建子卷时的权限 (pr#43224, Kotresh HR)
mgr/volumes: 修复升级期间子卷发现的问题 (pr#47236, Kotresh HR)
mgr: 限制对 pg_num 的更改 (pr#44541, Sage Weil)
镜像快照调度和垃圾清除调度修复 (pr#46777, Ilya Dryomov)
mon/MonCommands.h: 修复 target_size_ratio 范围 (pr#45398, Kamoltat)
mon: 未找到设备时中止设备健康检查 (pr#44960, Benoît Knecht)
octopus rgw: 在 FIPS 启用时,修复执行 s3 多部分 PUT 时的段错误 (pr#46701, Mark Kogan)
octopus rgw: 在 fips 下,设置标志以允许在 select rgw ops 中使用 md5 (pr#44806, Mark Kogan)
os/bluestore: 始终在 AVL 近似匹配搜索中更新游标位置 (pr#46687, Mark Nelson)
osd/OSD: 将聚合的慢操作详细信息记录到集群日志中 (pr#45154, Prashant D)
osd/OSD: osd_fast_shutdown_notify_mon 不完全正确 (pr#45655, Nitzan Mordechai, Satoru Takeuchi)
osd/OSDMap: 如果 'require-osd-release' != current release,则添加健康警告 (pr#44260, Sridhar Seshasayee)
osd/OSDMapMapping: 修复虚假的线程池超时错误 (pr#44546, Sage Weil)
osd/PGLog.cc: 按条目数修剪重复项 (pr#46253, Nitzan Mordechai)
osd/PrimaryLogPG.cc: CEPH_OSD_OP_OMAPRMKEYRANGE 应标记 omap 脏 (pr#45593, Neha Ojha)
osd/SnapMapper: 修复 pacific 传统密钥转换并引入测试 (pr#47108, Manuel Lausch, Matan Breizman)
osd: 记录 PG Log 中 'dups' 条目的数量 (pr#46609, Radoslaw Zarzynski)
osd: 要求 osd_pg_max_concurrent_snap_trims > 0 (pr#45324, Dan van der Ster)
qa/rgw: 将失败的 tempest 测试添加到黑名单 (pr#45437, Casey Bodley)
qa/rgw: 为 rgw/hadoop-s3a 更新 apache-maven 镜像 (pr#45446, Casey Bodley)
qa/suites/rados/thrash-erasure-code-big/thrashers: 向 mapgap 和 pggrow 添加 osd max backfills 设置 (pr#46392, Laura Flores)
qa/suites: 清理 client-upgrade-octopus-pacific 测试 (pr#45334, Ilya Dryomov)
qa/tasks/qemu: 确保 block-rbd.so 已安装 (pr#45071, Ilya Dryomov)
qa/tasks: teuthology octopus 回溯 (pr#46149, Kefu Chai, Shraddha Agrawal)
qa/tests: 添加了 upgrade-clients/client-upgrade-octopus-quincy 测试 (pr#45282, Yuri Weinstein)
qa: 始终以十六进制格式化 pgid (pr#45159, Xiubo Li)
qa: 检查 ctx 中的 mounts 属性 (pr#45633, Jos Collin)
qa: 删除 .teuthology_branch 文件 (pr#46489, Jeff Layton)
radosgw-admin: 'reshard list' 不记录 ENOENT 错误 (pr#45452, Casey Bodley)
radosgw-admin: 如果没有 mdlog 条目,'sync status' 不会落后 (pr#45443, Casey Bodley)
radosgw-admin: 在只读管理操作中跳过 GC 初始化 (pr#45423, Mark Kogan)
rbd-fuse: librados 将从命令行过滤掉 -r 选项 (pr#46952, wanwencong)
rbd-mirror: 重启增量同步时不要修剪非主快照 (pr#46589, Ilya Dryomov)
rbd-mirror: 如果远程镜像不是主镜像,则通常跳过重播/重新同步 (pr#46812, Ilya Dryomov)
rbd-mirror: 使镜像正确检测池重播器是否需要重启 (pr#45169, Mykola Golub)
rbd-mirror: 删除错误的 completed_non_primary_snapshots_exist 检查 (pr#47117, Ilya Dryomov)
rbd-mirror: 在 ImageReplayer::stop() 中与飞行中的停止同步 (pr#45177, Ilya Dryomov)
rbd: 除非指定了命名空间,否则不要将空池名称设置为默认值 (pr#47142, Ilya Dryomov)
rbd: 在帮助输出中将可选位置参数标记为可选 (pr#45009, Ilya Dryomov, Jason Dillaman)
rbd: 识别 rxbounce map 选项 (pr#45001, Ilya Dryomov)
恢复“rocksdb: 不使用非零 recycle_log_file_num 设置” (pr#47053, Laura Flores)
恢复 #46253,添加工具:ceph-objectstore-tool 能够单独修剪 pg 日志重复项条目 (pr#46611, Radosław Zarzyński, Radoslaw Zarzynski)
rgw/amqp: 添加 default case 以抑制编译器警告 (pr#45479, Casey Bodley)
rgw: 在 PutObjRentention 中添加锁模式转换的条件 (pr#45441, wangzhong)
rgw: bucket chown 内存使用不当 (pr#45492, Mohammad Fatemipour)
rgw: 更改 ListRoles 响应中 xml 元素的顺序 (pr#45449, Casey Bodley)
rgw: cls_bucket_list_unordered() 在 is_truncated 为 true 时可能每次返回一个冗余条目 (pr#45458, Peng Zhang)
rgw: 文档 rgw_lc_debug_interval 配置选项 (pr#45454, J. Eric Ivancich)
rgw: 文档 S3 桶复制支持 (pr#45485, Matt Benjamin)
rgw: 将对象锁保留日期转储为 ISO 8601 格式 (pr#43656, Preben Berg)
rgw: 修复 RGWBucketList 内存泄漏(仅限 octopus) (pr#45283, Casey Bodley)
rgw: 修复启用 rgw com... 时 RGWBulkUploadOp 上传的 md5 不匹配问题 (pr#45433, yuliyang_yewu)
rgw: 修复 UserAsyncRefreshHandler::init_fetch 中的段错误 (pr#45412, Cory Snyder)
rgw: 使“bucket check --fix”正确修复 pool id (pr#45456, J. Eric Ivancich)
rgw: 仅当放置桶实例信息成功时才初始化桶索引 (pr#45481, Huber-ming)
rgw: 从 rgwx-bucket-instance 解析租户名称 (pr#45523, Casey Bodley)
rgw: 解决空有序桶列表结果以及 CLS 过滤 *和* 桶索引列表在非 ASCII 条目时产生不正确结果的问题 (pr#45088, J. Eric Ivancich)
rgw: 在连续的 complete-multipart 请求上返回 OK (pr#45488, Mark Kogan)
rgw: RGWCoroutine::set_sleeping() 检查空栈 (pr#46042, Or Friedmann, Casey Bodley)
rgw: RGWPostObj::execute() 可能丢失数据 (pr#45503, Lei Zhang)
rgw: 在 copyobject 中解析 copysource 之前进行 url_decode (issue#43259, pr#45431, Paul Reece)
rgw: 当使用 KMS 加密且密钥不存在时,我们应该... (pr#45462, wangyingbin)
rgwlc: 修复 lc 期间重分片时的段错误 (pr#46745, Mark Kogan)
rocksdb: 不使用非零 recycle_log_file_num 设置 (pr#45040, Igor Fedotov)
src/rgw: 修复格式错误的 url (pr#45460, Kalpesh Pandya)
test/bufferlist: 确保 rebuild_aligned_size_and_memory() 始终重建 (pr#46216, Radoslaw Zarzynski)
test/librbd: 添加测试以验证 diff_iterate 大小 (pr#45554, Christopher Hoffman)
test: 修复错误警报 (HitSetWrite) (pr#45320, Myoungwon Oh)
tools/rbd: 扩展选项 rbd_default_map_options 的设置位置 (pr#45182, Christopher Hoffman, Ilya Dryomov)
v15.2.16 Octopus
这是 Octopus 系列的第 16 个回溯版本。我们建议所有用户更新到此版本。
值得注意的变更
修复了读取租约逻辑,以防止 PG 在 OSD 重启后进入 WAIT 状态。
BlueStore 中的多项错误修复,包括修复了对象列表错误,该错误可能导致统计信息不匹配的 scrub 错误。
变更日志
修复 bluefs truncate() 中的数据损坏 (pr#44860, Adam Kupczyk)
Octopus: mds: osd op 请求超时时仅重新启动 mds 守护程序 (pr#43785, Xiubo Li)
admin/doc-requirements.txt: 将 Sphinx 固定在 3.5.4 版本 (pr#43758, Casey Bodley, Kefu Chai, Nizamudeen A, Varsha Rao)
回溯 diff-iterate include_parent 测试 (pr#44673, Ilya Dryomov)
ceph-volume: get_first_lv() 重构 (pr#43959, Guillaume Abrioux)
ceph-volume: 不要在 find_executable_on_host() 中使用 MultiLogger (pr#44766, Guillaume Abrioux)
ceph-volume: 修复导致 AttributeError 的拼写错误 (pr#43950, Taha Jahangir)
ceph-volume: 修复具有多个 PV 的 VG 的所需 db/wal 插槽大小计算错误的 bug (pr#43947, Guillaume Abrioux, Cory Snyder)
ceph-volume: 修复由 #43536 引起的回归问题 (pr#44757, Guillaume Abrioux)
ceph-volume: 遵守 osd_dmcrypt_key_size 选项 (pr#44974, Guillaume Abrioux)
ceph-volume: human_readable_size() 重构 (pr#44210, Guillaume Abrioux)
ceph-volume: 改进 mpath 设备支持 (pr#44791, Guillaume Abrioux)
ceph-volume: 使跳过 needs_root() 成为可能 (pr#44320, Guillaume Abrioux)
ceph-volume: 显示 RBD 设备不可用 (pr#44709, Michael Fritch)
ceph-volume: util/prepare 修复 osd_id_available() (pr#43952, Guillaume Abrioux)
cephadm/ceph-volume: 不在容器中使用 lvm 二进制文件 (pr#43953, Guillaume Abrioux)
cephadm: 修复 iscsi 客户端功能(允许 mgr <服务状态> 调用) (pr#43822, Juan Miguel Olmo Martínez)
cephfs: 客户端: 修复 root 用户的可执行访问检查 (pr#41295, Kotresh HR)
cls/journal: 计算 min_commit_position 时跳过已断开连接的客户端 (pr#44689, Mykola Golub)
common/PriorityCache: 子模块的低性能计数器优先级 (pr#44176, Igor Fedotov)
doc: 使用旧的 mistune (pr#44227, David Galloway)
doc: cephFS 挂载的先决条件修复 (pr#44271, Nikhilkumar Shelke)
librbd/object_map: 两个快照之间的 rbd diff 列出整个镜像内容 (pr#43806, Sunny Kumar)
librbd: diff-iterate 在 fast-diff 模式下报告不正确的偏移量 (pr#44548, Ilya Dryomov)
mds: 为 MClientSession 添加新标志 (pr#43252, Kotresh HR)
mds: PurgeQueue.cc 修复 32 位编译问题 (pr#44169, Duncan Bellamy)
mds: 在打开根目录时不要修剪游离的 dentries (pr#43816, Xiubo Li)
mds: 在处于 replay 状态时跳过被阻止客户端的日志记录 (pr#43842, Venky Shankar)
mgr/dashboard/api: 运行 pip 时设置 UTF-8 区域设置 (pr#43607, Kefu Chai)
mgr/dashboard: 所有 pyfakefs 必须固定在同一版本 (pr#44159, Rishabh Dave)
mgr/dashboard: 将 Cypress 升级到最新的稳定版本 (pr#44373, Alfonso Martínez)
mgr: 添加检查以防止 mgr 崩溃 (pr#43446, Aswin Toni)
mgr: 修复 MetadataUpdate::finish 的锁定 (pr#44720, Sage Weil)
mgr: 设置 debug_mgr=2/5(以便 INFO 默认进入 mgr 日志) (pr#42677, Sage Weil)
mon/MgrStatMonitor: 不用 service_map 垃圾邮件订阅者 (mgr) (pr#44722, Sage Weil)
mon/MgrStatMonitor: 忽略来自非活动 mgr 的 MMgrReport (pr#43861, Sage Weil)
mon/OSDMonitor: 如果统计信息不可用,则避免空指针解引用 (pr#44700, Josh Durgin)
mon: 阻止在关机期间建立新会话 (pr#44544, Sage Weil)
msg/async: 允许调整连接回收;修复 cephfs 测试 (pr#43310, Sage Weil, Gerald Yang)
msgr/async: 修复 unregister_conn() 中的不安全访问 (pr#43325, Sage Weil, Gerald Yang)
os/bluestore/AvlAllocator: 引入 bluestore_avl_alloc_ff_max_* 选项 (pr#43747, Kefu Chai, Mauricio Faria de Oliveira, Adam Kupczyk, Xue Yantao)
os/bluestore: _do_write_small 修复 head_pad (pr#43757, dheart)
os/bluestore: 避免过早释放 onode (pr#44724, Igor Fedotov)
os/bluestore: 限制 omap 命名方案升级事务 (pr#42958, Adam Kupczyk, Igor Fedotov)
os/bluestore: 修复丢失共享 blob 修复期间的额外错误 (pr#43887, Igor Fedotov)
os/bluestore: 修复修复期间写入无效偏移量的问题 (pr#43885, Igor Fedotov)
os/bluestore: 列出等于 pend 的 obj (pr#44978, Mykola Golub, Kefu Chai)
os/bluestore: 使共享 blob fsck 内存消耗大大降低 (pr#44614, Igor Fedotov)
os/bluestore: 删除不可解码共享 Blob 时使用正确的前缀 (pr#43883, Igor Fedotov)
osd/OSDMap.cc: 清理不存在 pg 的 pg_temp (pr#44097, Cory Snyder)
osd/PeeringState: 分离 history 的 pruub 和 pg 的 pruub (pr#44585, Sage Weil)
osd: 修复 'ceph osd stop <osd.nnn>' 不生效的问题 (pr#43962, tan changzhi)
osd: 修复 osd 重启后部分恢复变为整个对象恢复的问题 (pr#44165, Jianwei Zhang)
osd: 在每次对等状态激活时重新缓存 peer_bytes (pr#43438, Mykola Golub)
osd: 仅当 FillInVerifyExtent 成功时才设置 r (pr#44174, yanqiang-ux)
osdc: 在 BufferHead 中添加 set_error,当拆分时将 set_error 设置为 right (pr#44726, jiawd)
pybind/mgr/balancer: 定义 Plan.{dump,show}() (pr#43965, Kefu Chai)
qa/ceph-ansible: 提高 centos 的 OS 版本 (pr#43658, Brad Hubbard)
qa/ceph-ansible: 固定到最后一个兼容的稳定版本 (pr#43557, Brad Hubbard)
qa/distros: 删除过时的 kubic 发行版 (pr#43788, Sebastian Wagner)
qa/mgr/dashboard/test_pool: 不检查 HEALTH_OK (pr#43441, Ernesto Puerta)
qa/rgw: 修复 vault 令牌文件访问情况 (issue#51539, pr#43963, Marcus Watts)
qa/rgw: 提高 tempest 版本以解决依赖问题 (pr#43967, Casey Bodley)
qa/rgw: octopus 分支目标是 java_s3tests 的 ceph-octopus 分支 (pr#43810, Casey Bodley)
qa/run-tox-mgr-dashboard: 不要写入 /tmp/test_sanitize_password... (pr#44728, Kevin Zhao)
qa/run_xfstests_qemu.sh: 不运行任何测试时停止报告成功 (pr#44595, Ilya Dryomov)
qa/suites/rados/cephadm: 使用 centos 8.stream (pr#44929, Adam King, Sage Weil)
qa: 考虑 kclient “metrics” debugfs 文件的拆分 (pr#44270, Jeff Layton, Xiubo Li)
qa: 杂项 perf 套件修复 (pr#44254, Neha Ojha)
qa: 从支持的发行版中删除 centos8 (pr#44864, Casey Bodley, Sage Weil)
rbd-mirror: 修复镜像镜像删除 (pr#43663, Arthur Outhenin-Chalandre)
rbd-mirror: 修复基于快照的镜像删除传播中的竞争条件 (pr#44753, Ilya Dryomov)
rbd: 添加缺少的 switch 参数以供 get_command_spec() 识别 (pr#44741, Ilya Dryomov)
rgw/beast: 请求超时优化 (pr#43961, Mark Kogan, Casey Bodley)
rgw/rgw_rados: 使 RGW 请求 ID 不确定 (pr#43696, Cory Snyder)
rgw: 在调用 list_buckets() 之前清除 buckets (pr#43381, Nikhil Kshirsagar)
rgw: 禁用 rgw_file 中的预取以修复 3 倍读取放大 (pr#44170, Kajetan Janiak)
rgw: 修复 bi put 未使用正确的桶索引分片的问题 (pr#44167, J. Eric Ivancich)
rgw: 修复桶清除不完整多部分上传的问题 (pr#43863, J. Eric Ivancich)
rgw: 用户统计信息中“size_utilized”和“size_kb_utilized”字段显示 0 值 (pr#44172, J. Eric Ivancich)
rgwlc: 在桶删除时删除 lc 条目 (pr#44730, Matt Benjamin)
rpm, debian: 将 smartmontools 和 nvme-cli 移动到 ceph-base (pr#44177, Yaarit Hatuka)
v15.2.15 Octopus
这是 Octopus 系列的第 15 个回溯版本。我们建议所有用户更新到此版本。
值得注意的变更
osd_client_message_cap 的默认值已设置为 256,以通过限制最大未完成客户端请求数来提供更好的流量控制。
已添加一个新的 ceph-erasure-code-tool,以帮助手动从损坏的 PG 中恢复对象。
变更日志
auth,mon: 给出密钥时不要记录“无法找到密钥环”错误 (pr#43312, Ilya Dryomov)
ceph-monstore-tool: 使用足够大的 paxos/{first,last}_committed (issue#38219, pr#43263, Kefu Chai)
ceph-volume/tests: 销毁 osd 时重试 (pr#42547, Guillaume Abrioux)
ceph-volume: 禁用 blkid 调用的缓存 (pr#41115, Rafał Wądołowski)
ceph-volume: 修复批处理报告并遵守 ceph.conf 配置值 (pr#41715, Andrew Schoen)
ceph-volume: 修复 lvm activate --all --no-systemd (pr#43268, Dimitri Savineau)
ceph-volume: 修复 lvm activate 参数 (pr#43117, Dimitri Savineau)
ceph-volume: 修复不带 args 的 lvm migrate (pr#43111, Dimitri Savineau)
ceph-volume: 修复带有逻辑分区的原始列表 (pr#43088, Guillaume Abrioux, Dimitri Savineau)
ceph-volume: lvm batch: fast_allocations(): 避免 ZeroDivisionError (pr#42494, Jonas Zeiger)
ceph-volume: pvs --noheadings 替换 pvs --no-heading (pr#43077, FengJiankui)
ceph-volume: 从 deactivate help 中删除 --all ref (pr#43097, Dimitri Savineau)
ceph-volume: 支持 lvm migrate 的 no_systemd (pr#43092, Dimitri Savineau)
ceph-volume: 解决幻象 Atari 分区问题 (pr#42752, Blaine Gardner)
ceph.spec: selinux 脚本遵守 CEPH_AUTO_RESTART_ON_UPGRADE (pr#43234, Dan van der Ster)
cephadm: 添加线程标识到日志消息 (pr#43133, Michael Fritch)
cephadm: 默认使用 quay.io,而不是 docker.io (pr#42533, Sage Weil)
cephadm: 使用 quay,而不是 docker (pr#43094, Sage Weil, Juan Miguel Olmo Martínez)
cmake: 替换 boost 下载 url (pr#42694, Rafał Wądołowski)
cmake: s/Python_EXECUTABLE/Python3_EXECUTABLE/ (pr#43265, Michael Fritch)
common/buffer: 修复 rebuild_aligned_size_and_memory 中的 SIGABRT (pr#42975, Yin Congmin)
common/options: 将 osd_client_message_cap 设置为 256 (pr#42616, Mark Nelson)
doc/ceph-volume: 添加 lvm migrate/new-db/new-wal (pr#43090, Dimitri Savineau)
不持久化报告数据 (pr#42670, Brad Hubbard)
krbd: 逃逸 udev_enumerate_add_match_sysattr 值 (pr#42968, Ilya Dryomov)
mgr/cephadm: 如果指定,则将 --container-init 传递给 cephadm (pr#42666, Tim Serong)
mgr/dashboard: cephadm e2e 启动脚本: 添加 --expanded 选项 (pr#42794, Alfonso Martínez)
mgr/dashboard: Grafana 仪表板中已弃用的变量用法 (pr#43189, Patrick Seidensal)
mgr/dashboard: MTU 不匹配警告不正确 (pr#43186, Aashish Sharma)
mgr/dashboard: 列出桶时 stats=false 不起作用 (pr#42892, Avan Thakkar)
mgr/influx: 对未知主机名使用“N/A” (pr#43369, Kefu Chai)
mgr/prometheus: 修复度量类型从 gauge 到 counter 的转换 (pr#42674, Patrick Seidensal)
mon/OSDMonitor: 在 epoch_by_pg 计数中考虑 PG 合并 (pr#42837, Dan van der Ster)
mon/PGMap: 当不使用缓存分层时,在 ceph df detail 中删除 DIRTY 字段 (pr#42862, Deepika Upadhyay)
mon: 在 'ceph osd pool get' 中处理未知选项时返回 -EINVAL (pr#43266, Zhao Cuicui)
monitoring/grafana/cluster: 使用每个单位的最大值和限制值 (pr#42675, David Caro)
monitoring: 修复物理设备延迟单位 (pr#42676, Seena Fallah)
os/bluestore: 接受日志中不可解码的多块 bluefs 事务 (pr#43024, Igor Fedotov)
os/bluestore: 修复 bluefs migrate 命令 (pr#43140, Igor Fedotov)
os/bluestore: 修复转储 bluefs 日志时使用不完整的蓝鲸日志的问题 (pr#43008, Igor Fedotov)
osd/OSD: mkfs 需要等待事务完全完成 (pr#43418, Chen Fan)
pybind/rbd: 修复 mirror_image_get_status (pr#42971, Ilya Dryomov, Will Smith)
qa/mgr/dashboard: 添加额外等待以进行测试 (pr#43352, Ernesto Puerta)
qa/suites/rados: 使用 centos_8.3_container_tools_3.0.yaml (pr#43102, Sebastian Wagner)
qa/tests: 高级版本到 15.2.14 以匹配最新版本 (pr#42761, Yuri Weinstein)
qa/workunits/mon/test_mon_config_key: 使用 subprocess.run() 而不是 proc.communicate() (pr#42498, Kefu Chai)
rbd-mirror: 添加 perf 计数器到重播的快照 (pr#42986, Arthur Outhenin-Chalandre)
rbd-mirror: 修复 start_image_replayers 中潜在的异步操作跟踪器泄漏 (pr#42978, Mykola Golub)
rbd-mirror: 修复单向基于快照的镜像 (pr#43314, Ilya Dryomov)
rgw : 在 RGWCreateRole 中添加对租户提供的检查 (pr#43270, caolei)
rgw: 避免删除桶时无限循环 (issue#49206, pr#43272, Jeegn Chen)
rgw: 当对不存在的... 尝试 set/delete-bucket-website 时,按预期失败 (pr#43424, xiangrui meng)
rgw: 修复 sts 内存泄漏 (pr#43349, yuliyang_yewu)
rgw: 移除配额软阈值 (pr#43271, Zulai Wang)
rgw: 当版本化桶中删除的对象被移除时,添加额外的删除标记 (pr#43273, J. Eric Ivancich)
run-make-check.sh: 增加失败输出日志大小 (pr#42849, David Galloway)
tools/erasure-code: 用于编码/解码文件的新工具 (pr#43407, Mykola Golub)
v15.2.14 Octopus
这是 Octopus 系列的第 14 个回溯版本。我们建议所有用户更新到此版本。
值得注意的变更
RGW:现在可以为 Beast 前端指定 ssl 选项和密码。默认的 ssl 选项设置为“no_sslv2:no_sslv3:no_tlsv1:no_tlsv1_1”。如果您想恢复旧的行为,请在
rgw frontends配置中添加“ssl_options=”(空)。CephFS:旧集群(Jewel 之前)未使用 CephFS 的集群在 ceph-mon 存储中存在遗留数据结构。这些结构 Pacific 监视器无法理解。在 Octopus v15.2.14 中,监视器已学会刷新和修剪这些旧结构,为升级到 Pacific 或 Quincy 做准备。有关详细信息,请参阅 问题 51673 <https://tracker.ceph.com/issues/51673>。
ceph-mgr-modules-core debian 包不再推荐 ceph-mgr-rook。因为后者依赖于 python3-numpy,如果 python3-numpy 的版本低于 1.19,则无法在不同的 Python 子解释器中多次导入。由于 apt-get 默认安装 Recommends 包,ceph-mgr-rook 总是作为间接依赖项与 ceph-mgr debian 包一起安装。如果您的工作流程依赖此行为,您可能需要单独安装 ceph-mgr-rook。
BlueStore 中的多项错误修复,包括 Avl/Hybrid 分配器中意外 ENOSPC 错误的修复。
包括一个修复,该修复解决了 EC 池低于 _min_size_ 的恢复问题。
变更日志
如果没有其他地址可用,则绑定到环回地址 (pr#42478, Kefu Chai, Matthew Oliver)
bluestore: 为目录列表使用 string_view 并去除尾部斜杠 (pr#41757, Jonas Jelten, Kefu Chai)
ceph-volume/tests: 更新 tox 中的 ansible 环境变量 (pr#42491, Dimitri Savineau)
ceph-volume: 考虑 /dev/root 为已挂载 (pr#41584, David Caro)
ceph-volume: 实现 bluefs 卷迁移 (pr#42377, Igor Fedotov, Kefu Chai)
ceph: 打印帮助时忽略 BrokenPipeError (pr#41586, Ernesto Puerta)
cephadm: 修复 ceph 守护程序的 stderr-prefix 参数的转义/引用 (pr#40948, Michael Fritch, Sage Weil)
cephadm: 修复禁用 IPv6 时的 port_in_use 问题 (pr#41602, Patrick Seidensal)
cephfs: client: 添加通过 inode 号查找快照 inode 的功能 (pr#40768, Jeff Layton, Xiubo Li)
cls/rgw: 也在非 ascii 普通命名空间中查找普通条目 (pr#41775, Mykola Golub)
cmake: 如果是内部库,则构建静态库 (pr#39904, Kefu Chai)
crush/crush: 确保 alignof(crush_work_bucket) 为 1 (pr#41622, Kefu Chai)
debian/control: ceph-mgr-modules-core 不推荐 ceph-mgr-rook (pr#41878, Kefu Chai)
doc/rados/operations: s/max_misplaced/target_max_misplaced_ratio/ (pr#41624, Kefu Chai)
librbd: 清除时不要在第一个不可移除的镜像处停止 (pr#41663, Ilya Dryomov)
librbd: 全局配置覆盖不适用于正在使用的镜像 (pr#41763, Jason Dillaman)
make-dist: 如果脚本路径包含冒号,则拒绝运行 (pr#41087, Nathan Cutler)
mds: 对于 no-op 情况,避免 setxattr("ceph.dir.subvolume") 的日志记录开销 (pr#41996, Patrick Donnelly)
mds: completed_requests -> num_completed_requests 并转储 num_completed_flushes (pr#41625, Dan van der Ster)
mds: 修复 cpu_profiler asok 崩溃 (pr#41767, liu shi)
mds: 将 journaler 指针放在 mds_lock 下 (pr#41626, Xiubo Li)
MDSMonitor: 从 ceph 15.2.13 升级到 16.2.4 后监视器崩溃 (pr#42537, Patrick Donnelly)
mds: 拒绝 mds 目录的查找 ino 请求 (pr#40782, Xiubo Li, Patrick Donnelly)
mgr/DaemonServer.cc: 防止 mgr 因 pg_num/pgp_num 大幅增加触发的整数下溢而崩溃 (pr#41764, Cory Snyder)
mgr/DaemonServer: 跳过 pgp_num_actual 的冗余更新 (pr#42420, Dan van der Ster)
mgr/Dashboard: 从 hosts-overview Grafana 仪表板中删除错误元素 (pr#41649, Malcolm Holmes)
mgr/cephadm: 修复 prometheus 警报 (pr#41660, Paul Cuzner, Sage Weil, Patrick Seidensal)
mgr/dashboard: 添加可配置的 MOTD 或墙通知 (pr#42412, Volker Theile)
mgr/dashboard: 修复桶名称输入允许值中存在空格的问题 (pr#42241, Nizamudeen A)
mgr/dashboard: RGW 桶异步验证器性能增强和名称约束 (pr#42123, Nizamudeen A)
mgr/dashboard: 用户数据库迁移已取消 (pr#42142, Volker Theile)
mgr/dashboard: 在仪表板中禁用 NFSv3 支持 (pr#41199, Volker Theile)
mgr/dashboard: 修复 API 文档链接 (pr#41508, Avan Thakkar)
mgr/dashboard: 修复 OSD out 计数 (pr#42154, 胡玮文)
mgr/dashboard: 修复 OSDs 主机详细信息/概述 grafana 图表 (issue#49769, pr#41530, Alfonso Martínez, Michael Wodniok)
mgr/dashboard: 修复桶对象和大小计算 (pr#41647, Avan Thakkar)
mgr/dashboard: 修复右侧边栏导航图标不可点击的问题 (pr#42015, Aaryan Porwal)
mgr/dashboard: 使用 KCLI 运行 cephadm-backend e2e 测试 (pr#42243, Alfonso Martínez)
mgr/dashboard: 显示部分删除的 RBDs (pr#41887, Tatjana Dehler)
mgr/telemetry: 即使没有 ident 也传递排行榜标志 (pr#41870, Sage Weil)
mgr: 不加载禁用的模块 (pr#41617, Kefu Chai)
mon/MonClient: 容忍稍微过期的旋转密钥 (pr#41449, Ilya Dryomov)
mon/OSDMonitor: 即使 can_mark_down() 也删除过期的 failure_info (pr#41618, Kefu Chai)
mon: 在 mkfs monmap 之前加载 stashed map (pr#41621, Dan van der Ster)
os/bluestore: 移除重播日志和文件不一致的可能性 (pr#42374, Adam Kupczyk)
os/bluestore: 大量 omap 命名升级后压缩 db (pr#42375, Igor Fedotov)
os/bluestore: 修复修复期间错误删除 SharedBlob 记录的问题 (pr#42373, Igor Fedotov)
os/bluestore: 修复 Avl/Hybrid 分配器中意外的 ENOSPC 问题 (pr#41658, Igor Fedotov)
os/bluestore: 为 bluestore 的修复器引入多线程同步 (pr#41613, Igor Fedotov)
os/bluestore: 容忍分配器 init_[add/rm]_free() 的零长度 (pr#41612, Igor Fedotov)
osd/PG.cc: 处理 pgmeta 对象的移除 (pr#41623, Neha Ojha)
osd/PeeringState: 修复 acting_set_writeable min_size 检查 (pr#41609, Samuel Just)
osd/osd_type: 适当时使用 f->dump_unsigned() (pr#42257, Kefu Chai)
osd: write_trunc 时清除数据摘要 (pr#41620, Zengran Zhang)
osd: 修复 scrub 重新调度 bug (pr#41972, wencong wan)
osd: 将 snaptrim 消息记录到 dout (pr#42484, Arthur Outhenin-Chalandre)
osd: 将 down peers 从 peer_purged 中移出 (pr#42239, Mykola Golub)
pacific: pybind/ceph_volume_client: 空字符串上的 stat (pr#42161, Patrick Donnelly)
qa/*/test_envlibrados_for_rocksdb.sh: 安装 libarchive-3.3.3 (pr#42421, Neha Ojha)
qa/cephadm/upgrade: 为 cephadm 测试使用 v15.2.9 (pr#41568, Deepika Upadhyay)
qa/config/rados: 添加调度延迟测试参数 (pr#42180, Deepika Upadhyay)
qa/distros: 移动到支持的发行版的最新版本 (pr#41478, Josh Durgin, Yuri Weinstein, Deepika Upadhyay, Sage Weil, Kefu Chai, Patrick Donnelly, rakeshgm)
qa/suites/rados/perf: 固定到 18.04 (pr#41922, Neha Ojha)
qa/suites/rados: 为 thrasher 添加同时 scrub 功能 (pr#42422, Ronen Friedman)
qa/tasks/qemu: precise repos 已归档 (pr#41642, Ilya Dryomov)
qa/upgrade: 禁用 update_features test_notify 与旧客户端作为锁所有者 (pr#41511, Deepika Upadhyay)
qa/workunits/rbd: focal 使用 bionic 版本的 qemu-iotests (pr#42025, Ilya Dryomov)
rbd-mirror: 修复快照重播器关机时的段错误 (pr#41502, Arthur Outhenin-Chalandre)
rbd: 从 MONs 获取全局配置覆盖 (pr#41836, Ilya Dryomov, Jason Dillaman)
rgw : 为同步 url 添加空检查 (pr#41766, caolei)
rgw/amqp/kafka: 防止并发关机 (pr#40381, Yuval Lifshitz)
rgw/amqp/test: 修复 librabbitmq-0.11.0 的模拟原型 (pr#41418, Yuval Lifshitz)
rgw/notifications: 空时删除桶通知对象 (pr#41412, Yuval Lifshitz)
rgw/rgw_file: 修复 read() 和 readlink() 的返回值 (pr#41416, Dai zhiwei, luo rixin)
rgw/sts: read_obj_policy() 在 ENOENT 上查询 iam_user_policies (pr#41415, Casey Bodley)
rgw: 将 51674 回溯到 Octopus (pr#42347, Adam C. Emerson)
rgw: 改进电子邮件 ID 重用时的错误消息 (pr#41784, Ponnuvel Palaniyappan)
rgw: 允许 rgw-orphan-list 处理多个数据池 (pr#41417, J. Eric Ivancich)
rgw: 允许为 beast 前端设置 ssl 选项和密码 (pr#42368, Mykola Golub)
rgw: 在多对象删除中检查对象锁 (issue#47586, pr#41031, Mark Houghton)
rgw: 修复当标记与前缀匹配时桶对象列表的问题 (pr#41413, J. Eric Ivancich)
rgw: 修复与显式对象清单处理相关的段错误 (pr#41420, Mark Kogan)
rgw: 将 rgw_gc_max_objs 限制为 RGW_SHARDS_PRIME_1 (pr#40383, Rafał Wądołowski)
rgw: qa/tasks/barbican.py: 修复 year2021 问题 (pr#40385, Marcus Watts)
rgw: radoslist 不完整的多部分标记 (pr#40820, J. Eric Ivancich)
rgw: 在桶 chown 中需要桶名称 (pr#41765, Zulai Wang)
rgw: 发送配额设置的头信息 (pr#41419, Or Friedmann)
rpm: 在 ceph-immutable-object-cache 中删除对 $FIRST_ARG 的使用 (pr#42509, Nathan Cutler)
rpm: 三个 spec 文件清理 (pr#42440, Nathan Cutler, Franck Bui)
test: 提高 DecayCounter.steady 可接受误差 (pr#41619, Patrick Donnelly)
v15.2.13 Octopus
这是 Octopus 系列的第 13 个回溯版本。我们建议所有用户更新到此版本。
值得注意的变更
RADOS:监视器动态调整修剪速率的能力以及其他一些错误修复。
修复了一个长期存在的错误,该错误阻止了 32 位和 64 位客户端/服务器在 msgr v2 下的互操作性。特别是,在同一个集群中混合使用 armv7l (armhf) 和 x86_64 或 aarch64 服务器现在可以正常工作。
变更日志
blk/kernel: 修复 io_uring 得到 (4) Interrupted system call (pr#39899, Yanhu Cao)
ceph.spec.in: 在 IBM Power 和 Z 上启用 tcmalloc (pr#39487, Nathan Cutler, Yaakov Selkowitz)
cephadm: cephadm ls 在 SUSE 下游 alertmanager 容器中损坏 (pr#39802, Patrick Seidensal)
cephadm: 允许在所有 <_devices> drivegroup 部分中使用路径 (pr#40838, Juan Miguel Olmo Martínez)
cephadm: 在 systemd 单元中添加 docker.service 依赖项 (pr#39804, Sage Weil)
cephadm: 如果容器正在运行,则允许重新部署错误状态的守护程序 (pr#39717, Adam King)
cephadm: 修复使用 --apply-spec 和 --shh-user 时的失败 (pr#40737, Daniel Pivonka)
cephadm: 使用 --init 运行容器 (pr#39914, Michael Fritch, Sage Weil)
cephfs: 客户端: 只检查常规文件的池权限 (pr#40779, Xiubo Li)
cephfs: client: 唤醒前端位置等待者 (pr#40771, Xiubo Li)
client: 刷新缓冲区后触发 finish_cap_snap() (pr#40778, Xiubo Li)
cmake: 如果是内部库,则构建静态库 (pr#40789, Kefu Chai)
cmake: 全局定义 BOOST_ASIO_USE_TS_EXECUTOR_AS_DEFAULT (pr#40784, Kefu Chai)
common/buffer: 在调用 posix_memalign() 之前调整对齐方式 (pr#41247, Ilya Dryomov)
common/ipaddr: 允许在 lo 上绑定 (pr#39343, Thomas Goirand)
common/ipaddr: 跳过名为“lo”的环回接口并测试它 (pr#40424, Dan van der Ster)
common/mempool: 改进 mempool 分片选择 (pr#39978, singuliere, Adam Kupczyk)
common/options/global.yaml.in: 增加 bluestore_cache_trim_max_skip_pinned 的默认值 (pr#40919, Neha Ojha)
common/options: 默认 bluefs_buffered_io=true (pr#40392, Dan van der Ster)
common: 修复禁用和重新启用 clog_to_monitors 时断言失败的问题 (pr#39935, Gerald Yang)
common: 删除 log_early 配置选项 (pr#40550, Changcheng Liu)
crush/CrushLocation: 不在构造函数中打印日志消息 (pr#40791, Alex Wu)
crush/CrushWrapper: 在 update_item() 上更新 shadow trees (pr#39919, Sage Weil)
debian/ceph-common.postinst: 不 chown cephadm log dirs (pr#40275, Sage Weil)
doc/cephfs/nfs: 添加关于 cephadm NFS-Ganesha 守护进程端口的注释 (pr#40777, Varsha Rao)
doc/cephfs/nfs: 添加 rook pod 重启注释、导出和日志块示例 (pr#40766, Varsha Rao)
doc: snap-schedule 文档 (pr#40775, Jan Fajerski)
install-deps.sh: 删除不同版本的现有 ceph-libboost (pr#40286, Kefu Chai)
krbd: 确保设备节点在映射后可访问 (pr#39968, Ilya Dryomov)
librbd/api: 避免检索超过最大镜像镜像信息记录数 (pr#39964, Jason Dillaman)
librbd/io: 有条件地禁用移动优化 (pr#39958, Jason Dillaman)
librbd/io: 设置压缩提示时发送 alloc_hint (pr#40386, Jason Dillaman)
librbd/mirror/snapshot: 避免对未链接的对等方使用 UnlinkPeerRequest (pr#41302, Arthur Outhenin-Chalandre)
librbd: 允许重新启动中断的垃圾移动请求 (pr#40387, Jason Dillaman)
librbd: 明确禁用 writearound 缓存的预读 (pr#39962, Jason Dillaman)
librbd: 移除时拒绝释放独占锁 (pr#39966, Ilya Dryomov)
mds: 修复获取大型 dirfrag 的竞争条件 (pr#40774, Erqi Chen)
mds: 定期修剪 standby-replay 的缓存 (pr#40743, Xiubo Li, Patrick Donnelly)
mds: 更新了 recall 配置的默认值 (pr#40764, Patrick Donnelly)
mgr/PyModule: 将 mgr_module_path 放在 Py_GetPath() 之前 (pr#40534, Kefu Chai)
mgr/cephadm: 将 rgw-nfs 别名为 nfs (pr#40009, Michael Fritch)
mgr/cephadm: 在 SSH 连接错误时,建议 chmod 0600 (pr#40823, Sebastian Wagner)
mgr/dashboard: 在主机列表的 Label 列中添加徽章 (pr#40433, Nizamudeen A)
mgr/dashboard: 设备健康状态未在主机部分下显示 (pr#40495, Aashish Sharma)
mgr/dashboard: 修复了警报通知消息未定义的问题 (pr#40589, Nizamudeen A)
mgr/dashboard: 修复了用户管理角色克隆损坏的问题 (pr#40399, Nizamudeen A)
mgr/dashboard: OSD 放置文本无法读取 (pr#41124, Aashish Sharma)
mgr/dashboard: 移除冗余的 pytest 要求 (pr#40657, Kefu Chai)
mgr/dashboard: 从请求体中移除用户名和密码 (pr#41057, Nizamudeen A)
mgr/dashboard: 从 Manager Modules/dashboard,influx 中移除用户名、密码字段 (pr#40491, Aashish Sharma)
mgr/dashboard: 撤销只读用户对 Manager 模块的访问权限 (pr#40649, Nizamudeen A)
mgr/dashboard: 创建 RGW 用户时分割 tenant$user (pr#40297, Nizamudeen A)
mgr/dashboard: SMART 数据检索的附加日志记录 (pr#37972, Kiefer Chang, Patrick Seidensal)
mgr/dashboard: 允许从编排器获取最新的清单数据 (pr#41387, Kiefer Chang)
mgr/dashboard: 调试 nodeenv 挂起问题 (pr#40816, Ernesto Puerta)
mgr/dashboard: 文件系统池大小应使用存储统计信息 (pr#41020, Avan Thakkar)
mgr/dashboard: 修复 base-href: 恢复到以前的方法 (pr#41252, Avan Thakkar)
mgr/dashboard: 修复仪表盘实例 SSL 证书功能 (pr#40001, Avan Thakkar)
mgr/dashboard: 改进遥测选择加入提醒通知消息 (pr#40894, Waad Alkhoury)
mgr/dashboard: 通过 promtool 测试 Prometheus 规则 (pr#39987, Aashish Sharma, Kefu Chai)
mgr/progress: 确保进度保持在 [0,1] 之间 (pr#41311, Dan van der Ster)
mgr/rook: 添加时区信息 (pr#39716, Varsha Rao)
mgr/telemetry: 检查 'ident' 通道是否活跃 (pr#39922, Sage Weil, Yaarit Hatuka)
mgr/volumes: 在克隆中保留 suid guid 位 (pr#40268, Kotresh HR)
mgr: 修复 ActivePyModules::get_osdmap() 中的死锁 (pr#39341, peng jiaqi)
mgr: 放宽降级 PG 上的 OSD ok-to-stop 条件 (pr#39887, Xuehan Xu)
mgr: 更新 monmap 时更新 mon 元数据 (pr#39219, Kefu Chai)
mon/ConfigMap: 修复多余选项泄漏 (pr#40298, Sage Weil)
mon/MgrMonitor: 从 promote_standby() 填充 available_modules (pr#40757, Sage Weil)
mon/MonClient: 在 _reopen_session() 中重置 authenticate_err (pr#41017, Ilya Dryomov)
mon/OSDMonitor: 在宽限期后丢弃过时的 failure_info (pr#40558, Kefu Chai)
mon/OSDMonitor: 修复 {set,rm}-device-class 的安全/幂等性 (pr#40276, Sage Weil)
mon: 修改 trim 逻辑以动态更改 paxos_service_trim_max (pr#40699, Aishwarya Mathuria)
mon: 在提升 standby-replay 之前检查 mdsmap 是否可调整大小 (pr#40783, Patrick Donnelly)
monmaptool: 不要在无效地址上调用 set_port (pr#40758, Brad Hubbard, Kefu Chai)
mount.ceph: 为非旧版 ms_mode 选项收集 v2 地址 (pr#40763, Jeff Layton)
os/FileStore: 不将 split/merge 错误传播到 "create"/"remove" (pr#40988, Mykola Golub)
os/FileStore: 修复以正确处理 readdir 错误 (pr#41237, Misono Tomohiro)
os/bluestore/BlueFS: 不 _flush_range 已删除的文件 (pr#40793, weixinwei)
os/bluestore/BlueFS: 使用 iterator_impl::copy 而不是 bufferlist::c_str() 来避免 bufferlist 重建 (pr#39884, weixinwei)
os/bluestore: 使 Onode::put/get 对 split_cache 具有弹性 (pr#40441, Igor Fedotov, Adam Kupczyk)
os/bluestore: 默认情况下在 _open_super_meta 中更详细地输出 (pr#41061, Igor Fedotov)
osd/OSDMap: 空桶或 OSD 不是错误 (pr#39970, Brad Hubbard)
osd: 添加 osd_fast_shutdown_notify_mon 选项(默认 false)(issue#46978, pr#40013, Mauricio Faria de Oliveira)
osd: 通过原始空间利用率计算 OSD 的空间使用率 (pr#41112, Igor Fedotov)
osd: 不要多次转储 OSD (pr#40788, Xue Yantao)
osd: 不要断言飞行中的回填总是处于恢复列表中 (pr#41321, Mykola Golub)
osd: 修复发送 ping 时潜在的空指针解引用 (pr#40277, Mykola Golub)
osd: 将基本池 application_metadata 传播到分层 (pr#40274, Sage Weil)
packaging: 对不可变对象缓存守护程序要求 ceph-common (pr#40666, Ilya Dryomov)
pybind/ceph_argparse.py: 为 timeout 使用安全值 (pr#40476, Kefu Chai)
pybind/cephfs: DT_REG 和 DT_LNK 值错误 (pr#40770, Varsha Rao)
pybind/mgr/balancer/module.py: 在平衡之前将权重集分配给所有桶 (pr#40127, Neha Ojha)
pybind/mgr/dashboard: flake8 升级到 3.9.0 (pr#40492, Kefu Chai, Volker Theile)
qa/*/thrash_cache_writeback_proxy_none.yaml: 禁用写回覆盖测试 (pr#39578, Neha Ojha)
qa/ceph-ansible: 更新 ansible 版本和 ceph_stable_release (pr#40945, Brad Hubbard)
qa/suites/krbd: 解决新内核引起的近期问题 (pr#40065, Ilya Dryomov)
qa/suites/rados/cephadm/upgrade: 按发行版更改起始版本 (pr#40364, Sage Weil)
qa/suites/rados/cephadm: rm ubuntu_18.04_podman (pr#39949, Sebastian Wagner)
qa/suites/rados/singletone: 在注入 msgr 错误时将 MON_DOWN 列入白名单 (pr#40138, Sage Weil)
qa/tasks/mgr/test_progress.py: 移除对 _osd_in_out_completed_events_count() 的调用 (pr#40225, Kamoltat)
qa/tasks/mgr/test_progress: 修复 wait_until_equal (pr#39360, Kamoltat)
qa/tasks/vstart_runner.py: 启动最大所需 mgrs (pr#40792, Alfonso Martínez)
qa/tests: octopus 初始版本升级到 15.2.10 (pr#41228, Yuri Weinstein)
qa: 添加 blocklisting 的睡眠以使其生效 (pr#40773, Patrick Donnelly)
qa: 为 ffsb 工作负载提高 osd 心跳宽限期 (pr#40767, Patrick Donnelly)
qa: 在 tearDown 期间删除所有 fs (pr#40772, Patrick Donnelly)
qa: 对于最新的 kclient,它也将返回 EIO (pr#40765, Xiubo Li)
qa: krbd_blkroset.t: 更新独立的硬件和用户只读标志 (pr#40211, Ilya Dryomov)
rbd-mirror: 基于快照的镜像中的错误状态和崩溃 (pr#39961, Jason Dillaman)
rbd-mirror: 延迟更新快照镜像状态 (pr#39967, Jason Dillaman)
rbd-mirror: 修复注册 perf 计数器时的 UB 问题 (pr#40790, Arthur Outhenin-Chalandre)
rbd/bench: 包含使用的头文件 (pr#40388, Kefu Chai)
rgw/amqp: 修复 amqp 管理器初始化中的竞争条件 (pr#40382, Yuval Lifshitz)
rgw/http: 为 http 客户端添加超时 (pr#40384, Yuval Lifshitz)
rgw/notification: 支持 GetTopicAttributes API (pr#40812, Yuval Lifshitz)
rgw/notification: 触发任何用户更改的通知 (pr#40029, Yuval Lifshitz)
rgw: 使用 Swift 放置或获取大对象时使用正确的桶信息 (pr#40296, zhiming zhang, yupeng chen)
rgw: 在 forward_request 中添加 MD5 (pr#39758, caolei)
rgw: 允许 rgw-orphan-list 处理包含二进制数据的中间文件 (pr#39766, J. Eric Ivancich)
rgw: 捕获非整数异常 (pr#39746, caolei)
rgw: 在 rehard 锁争用期间,调整日志记录 (pr#41157, J. Eric Ivancich)
rgw: 修复 sts get_session_token duration 检查失败 (pr#39954, yuliyang_yewu)
rgw: 多站点: 修复单部分 MPU 对象 etag 识别错误问题 (pr#39611, Yang Honggang)
rgw: objectlock: 改进客户端错误消息 (pr#40755, Matt Benjamin)
rgw: 尝试复制没有密钥的加密对象时返回错误 (pr#40672, Ilsoo Byun)
rgw: 用于定位缺少 rados 组件的 rgw 对象的工具 (pr#39785, Michael Kidd, J. Eric Ivancich)
run-make-check.sh: 让 ctest 生成 XML 输出 (pr#40406, Kefu Chai)
src/global/signal_handler.h: 修复 alpine 的预处理器逻辑 (pr#39940, Duncan Bellamy)
test/rbd-mirror: 修复损坏的 ceph_test_rbd_mirror_random_write (pr#39965, Jason Dillaman)
test/rgw: test_datalog_autotrim 过滤掉新条目 (pr#40673, Casey Bodley)
test: 取消 noscrub *和* nodeep-scrub (pr#40278, Ronen Friedman)
test: 在 LibCephFS.ShutdownRace 中将线程数减少到 32 (pr#40776, Jeff Layton)
test: 使用 std::atomic<bool> 而不是 volatile 作为 cb_done 变量 (pr#40708, Jeff Layton)
tests: ceph_test_rados_api_watch_notify: 允许重新连接 (pr#40756, Brad Hubbard)
tools/cephfs: 不绑定到 public_addr (pr#40762, “Yan, Zheng”)
vstart.sh: 禁用 “auth_allow_insecure_global_id_reclaim” (pr#40958, Kefu Chai)
v15.2.12 章鱼
这是一个热修复版本,解决了许多安全问题和回归问题。我们建议所有用户更新到此版本。
更新日志
mgr/dashboard: fix base-href: revert it to previous approach (issue#50684, Avan Thakkar)
mgr/dashboard: fix cookie injection issue (CVE-2021-3509: Dashboard XSS via token cookie, Ernesto Puerta)
rgw: RGWSwiftWebsiteHandler::is_web_dir checks empty subdir_name (CVE-2021-3531: Swift API denial of service, Felix Huettner)
rgw: sanitize r in s3 CORSConfiguration’s ExposeHeader (CVE-2021-3524: HTTP header injects via CORS in RGW, Sergey Bobrov, Casey Bodley)
v15.2.11 章鱼
这是 Octopus 稳定系列的第 11 个错误修复版本。它解决了 Ceph 身份验证框架中的一个安全漏洞。
我们建议所有 Octopus 用户升级。
安全修复
此版本包含一个安全修复程序,可确保 global_id 值(集群中每个经过身份验证的客户端或守护程序都应唯一的数字值)在网络断开连接或票证续订后以安全方式回收。升级期间可能会出现两个新的健康警报,表明存在尚未修补相应修复程序的客户端或守护程序。
要在升级期间暂时静音不安全客户端的健康警报,您可能需要
ceph health mute AUTH_INSECURE_GLOBAL_ID_RECLAIM 1h ceph health mute AUTH_INSECURE_GLOBAL_ID_RECLAIM_ALLOWED 1h
有关详细信息,请参阅 CVE-2021-20288: Unauthorized global_id reuse in cephx。
v15.2.10 章鱼
这是 Octopus 系列的第 10 个回溯版本。我们建议所有用户更新到此版本。
显著更改
容器包含一个更新的 tcmalloc,它避免了 15.2.9 中出现的崩溃。有关详细信息,请参阅 issue#49618。
RADOS: BlueStore 处理 RocksDB 到 BlueFS 的大(>4GB)写入问题已修复。
从以前的 cephadm 版本升级时,systemctl 在尝试启动或重新启动监控容器时可能会挂起。(这是由 systemd 单元更改为使用
type=forking引起的。)升级后,请运行ceph orch redeploy nfs ceph orch redeploy iscsi ceph orch redeploy node-exporter ceph orch redeploy prometheus ceph orch redeploy grafana ceph orch redeploy alertmanager
更新日志
octopus: .github: 添加用于添加标签和里程碑的工作流 (pr#39890, Kefu Chai, Ernesto Puerta)
octopus: ceph-volume: 修复 is_lv 的用法 (pr#39220, Michał Nasiadka)
octopus: ceph-volume: 更新 batch.py (pr#39469, shenjiatong)
octopus: ceph-volume: 为 bytes_to_extents 添加一些灵活性 (pr#39271, Jan Fajerski)
octopus: ceph-volume: 从 drive-group 子命令传递 --filter-for-batch (pr#39523, Jan Fajerski)
octopus: cephadm: 删除 open_ports 中不必要的错误行 (pr#39633, Donggyu Park)
octopus: cephadm: 修复 'inspect' 和 'pull' (pr#39715, Sage Weil)
octopus: cephfs: pybind/ceph_volume_client: 将 auth-metadata 文件中的 'volumes' 键更新为 'subvolumes' (pr#39906, Kotresh HR)
octopus: cmake: boost>=1.74 将 BOOST_ASIO_USE_TS_EXECUTOR_AS_DEFAULT 添加到 radosgw (pr#39885, Casey Bodley)
octopus: librbd: 允许为基于快照的镜像禁用日志记录 (pr#39864, Mykola Golub)
octopus: librbd: 纠正增量深度复制对象映射不一致 (pr#39577, Mykola Golub, Jason Dillaman)
octopus: librbd: 如果因镜像禁用导致获取镜像状态失败,则不记录错误 (pr#39862, Mykola Golub)
octopus: librbd: 存储镜像快照状态时使用磁盘上的镜像名称 (pr#39866, Mykola Golub)
octopus: mgr/dashboard/monitoring: 由于 CVE-2020-13379 升级 Grafana 版本 (pr#39306, Alfonso Martínez)
octopus: mgr/dashboard: CLI 命令: 从文件中读取密码 (pr#39436, Ernesto Puerta, Alfonso Martínez, Juan Miguel Olmo Martínez)
octopus: mgr/dashboard: 修复 rgw 用户表单中不正确的验证 (pr#39027, Nizamudeen A)
octopus: mgr/dashboard: 修复 CephFS 每个会话根路径丢失的问题 (pr#39868, Yongseok Oh)
octopus: mgr/dashboard: 监控警报徽章包含被抑制的警报 (pr#39512, Aashish Sharma)
octopus: mgr/dashboard: 为 prometheus 和 alert manager 添加 ssl verify 选项 (pr#39872, Jean “henyxia” Wasilewski)
octopus: mgr/dashboard: 避免使用 document.write() (pr#39527, Avan Thakkar)
octopus: mgr/dashboard: 从文件中读取密码时删除 EOF (pr#40155, Alfonso Martínez)
octopus: mgr/dashboard: 修复 MTU 不匹配警报 (pr#39854, Aashish Sharma)
octopus: mgr/dashboard: 修复与 PyJWT 版本 >=2.0.0 相关的问题 (pr#39836, Alfonso Martínez)
octopus: mgr/dashboard: 修复 Provisioned/Total Provisioned 字段的工具提示 (pr#39645, Avan Thakkar)
octopus: mgr/dashboard: prometheus 警报: 为包丢失和错误添加一些余量 (pr#39507, Patrick Seidensal)
octopus: mgr/dashboard: 报告 mgr fsid (pr#39852, Ernesto Puerta)
octopus: mgr/dashboard: 设置安全标头 (pr#39627, Avan Thakkar)
octopus: mgr/dashboard: 如果某些节点的 MTU 与中位数不同,则触发警报 (pr#39103, Aashish Sharma)
octopus: mgr/dashboard: 最小化 Ceph 后端 API 测试的控制台日志跟踪 (pr#39545, Aashish Sharma)
octopus: mgr/rbd_support: 异步创建镜像快照 (pr#39376, Mykola Golub, Kefu Chai)
octopus: mgr/rbd_support: 镜像快照调度应跳过非主镜像 (pr#39863, Mykola Golub)
octopus: mgr/volume: 子卷 auth_id 管理和一些错误修复 (pr#39390, Rishabh Dave, Patrick Donnelly, Kotresh HR, Ramana Raja)
octopus: mgr/zabbix: 格式化 ceph.[{#POOL},percent_used 为 float (pr#39235, Kefu Chai)
octopus: os/bluestore: 添加检查 BlueFS 读取的选项 (pr#39754, Adam Kupczyk)
octopus: os/bluestore: 修复 BlueFS 的大(>4GB)读/写问题 (pr#39701, Jianpeng Ma, Igor Fedotov)
octopus: os/bluestore: 引入 bluestore_rocksdb_options_annex 配置参数… (pr#39325, Igor Fedotov)
octopus: qa/suites/rados/dashboard: 将 TELEMETRY_CHANGED 列入白名单 (pr#39704, Sage Weil)
octopus: qa/suites/upgrade: s/whitelist/ignorelist 用于 octopus 特定测试 (pr#40074, Deepika Upadhyay)
octopus: qa: 使用正常构建进行 valgrind (pr#39583, Sage Weil)
octopus: rbd-mirror: 在计时器线程中重置 update_status_task 指针 (pr#39867, Mykola Golub)
octopus: rgw: 修复分段重新上传对象名称中尾随的 null (pr#39277, Casey Bodley)
octopus: rgw: radosgw-admin: 阐明电子邮件地址已在使用中的错误 (pr#39662, Matthew Vernon)
octopus: whitelist -> ignorelist 仅用于 qa/* (pr#39534, Neha Ojha, Sage Weil)
qa/tests: 修复了分支条目 (pr#39819, Yuri Weinstein)
v15.2.9 章鱼
这是 Octopus 系列的第 9 个回溯版本。我们建议所有用户更新到此版本。
Notable Changes
MGR: progress 模块现在可以打开/关闭,使用命令:
ceph progress on和ceph progress off。OSD: PG 删除在此版本中进行了优化。
更新日志
octopus: 不要在 Ceph 日志文件中添加敏感信息 (pr#38620, Neha Ojha)
octopus: PendingReleaseNotes: mgr/pg_autoscaler (pr#39393, Kamoltat)
octopus: 恢复 "mgr/pg_autoscaler: 避免在有压力之前缩减" (pr#39560, Neha Ojha)
octopus: bluestore: 确保 bufferlist 重建后 mempool 分配相同 (pr#38429, Adam Kupczyk)
octopus: bluestore: 支持 flock 重试 (pr#37860, wanghongxu)
octopus: bluestore: 为压缩 blob 附加 csum (pr#37861, Igor Fedotov)
octopus: bluestore: 修复 collection_list_legacy 中 "end reached" 检查 (pr#38098, Mykola Golub)
octopus: bluestore: 为 fallback 分配器提供不同的名称 (pr#37794, Igor Fedotov)
octopus: build/ops: doc: 将 --use-feature=2020-resolver 传递给 pip (pr#37859, Kefu Chai)
octopus: ceph-volume: lvm/create.py: 修复帮助消息中的拼写错误 (pr#38425, ZhenLiu94)
octopus: cephadm: 不要让 sysctl 垃圾邮件日志文件 (pr#39020, Sebastian Wagner)
octopus: cephadm: 恢复 "spec: Podman (暂时) 在 suse 上需要 apparmor-abstractions" (pr#37766, Nathan Cutler)
octopus: cephadm: 各种属性如 'last_refresh' 不包含时区 (pr#39059, Volker Theile)
octopus: cephadm: 批量回溯一月 (1) (pr#38782, Ricardo Marques, Patrick Donnelly, Ken Dreyer, Paul Cuzner, Daniel-Pivonka, Juan Miguel Olmo Martínez, Volker Theile, Sebastian Wagner, Varsha Rao, Adam King, Patrick Seidensal, Michael Fritch, Dan Mick)
octopus: cephadm: 修复 rgw osd cap 标签 (pr#39170, Patrick Donnelly)
octopus: cephadm: 使 "ceph orch {restart|...}" 异步 (pr#39018, Sebastian Wagner)
octopus: cephadm: 静默 "Failed to evict container" 日志消息 (pr#39166, Sebastian Wagner, Sage Weil)
octopus: cephadm: 使用 apt-get 进行软件包安装/更新 (pr#39297, Michael Fritch)
octopus: cephfs: client: 添加 ceph.{cluster_fsid/client_id} vxattrs 支持 (pr#39000, Xiubo Li)
octopus: cephfs: client: 在 truncate 上检查 rdonly 文件句柄 (pr#38424, Patrick Donnelly)
octopus: cephfs: client: 不在 libcephfs 中使用 g_conf().get_val<>() (pr#38466, Xiubo Li)
octopus: cephfs: client: 确保从缓存 inode 获取目录链接计数时获取 Fs caps (pr#38949, Jeff Layton)
octopus: cephfs: client: 在 _read_sync 接近文件尾时增加文件位置 (pr#37989, Patrick Donnelly)
octopus: cephfs: client: 为 readdir_r_cb 中的目录设置 CEPH_STAT_RSTAT 掩码 (pr#38947, chencan)
octopus: cephfs: mds: dir->mark_new() 应该与 dir->mark_dirty() 一起使用 (pr#38352, “Yan, Zheng”)
octopus: cephfs: mds: 将 start_files_to_recover() 移动到 recovery_done (pr#37985, Simon Gao)
octopus: cephfs: osdc: 在 truncate/discard 上重新启动读取 (pr#37987, Patrick Donnelly)
octopus: cephfs: 在向 mds 发送 caps release 之前释放客户端 dentry_lease (pr#38349, Wei Qiaomiao)
octopus: client: 为多个 fs 转储客户端使用的 fs (pr#38551, Zhi Zhang)
octopus: cmake: 为 ceph-diff-sorted 添加空 RPATH (pr#38847, Nathan Cutler)
octopus: cmake: 为 Boost.Asio 用户定义 BOOST_ASIO_USE_TS_EXECUTOR_AS_DEFAULT (pr#38759, Kefu Chai)
octopus: cmake: 检测并使用 sigdescr_np()(如果可用)(pr#38951, David Disseldorp)
octopus: do_cmake.sh: fedora 33 版本使用 python-3.9 (pr#38943, Sunny Kumar)
octopus: doc: 文档化 MDS 缓存配置 (pr#38202, Patrick Donnelly)
octopus: global: 在子进程中重新扩展 conf meta (pr#38340, Xiubo Li)
octopus: install-deps.sh: 使 powertools repo 不区分大小写 (pr#38808, Brad Hubbard)
octopus: krbd: 添加 msgr2 支持(内核 5.11)(pr#39203, Ilya Dryomov)
octopus: librbd: 创建镜像时清除隐式启用的功能位 (pr#39122, Jason Dillaman)
octopus: librbd: 修复对象映射差异请求中的回归问题 (pr#38455, Mykola Golub, Jason Dillaman)
octopus: librbd: 移除池配置覆盖时更新隐藏的全局配置 (pr#38343, Jason Dillaman)
octopus: mds: 在 mds_sessions 中转储详细的 cap 信息 (pr#37362, Yanhu Cao)
octopus: mds: 提供替代方案以将 Cephfs 卷上 Cephfs 子卷快照总数增加到大于当前的 400 (pr#38553, “Yan, Zheng”)
octopus: mds: 通过 readdir 限制 cap 获取 (pr#38095, Kotresh HR)
octopus: mgr/ActivePyModules.cc: 在尝试获取锁之前始终释放 GIL (pr#38801, Cory Snyder)
octopus: mgr/balancer: 修复发送给 calc_pg_upmaps 的可用 pgs (pr#38337, Dan van der Ster)
octopus: mgr/cephadm: 修复主机刷新 (pr#39532, Sage Weil)
octopus: mgr/cephadm: 锁定 OSDRemovalQueue 的多线程访问 (pr#39019, Sebastian Wagner)
octopus: mgr/cephadm: 当 cephadm 守护程序处于 'error' 状态时,raise HEALTH_WARN (pr#39169, Sage Weil)
octopus: mgr/cephadm: 容忍没有 'hostname' 键的旧主机清单 (pr#39167, Sage Weil)
octopus: mgr/cephadm: 再次尝试调用 ceph-volume 而不带 --filter-for-batch (pr#39300, Sebastian Wagner)
octopus: mgr/crash: 序列化命令处理 (pr#38592, Boris Ranto)
octopus: mgr/dashboard: 添加 clay 插件支持 (pr#38489, Stephan Müller)
octopus: mgr/dashboard: 通过 Orchestrator 使用 ServiceSpec 创建 Ceph 服务 (pr#38888, Volker Theile)
octopus: mgr/dashboard: 在启用调试模式时在仪表盘中显示警告消息 (pr#38798, Volker Theile)
octopus: mgr/dashboard: 丢弃无效的 RGW 客户端实例,改进日志记录 (pr#38583, Volker Theile)
octopus: mgr/dashboard: 修复 CRUSH map viewer VirtualScroll (pr#38607, Avan Thakkar)
octopus: mgr/dashboard: 修复误导性 "Orchestrator is not available" 错误 (pr#38598, Nizamudeen A)
octopus: mgr/dashboard: 修复仪表盘日志 e2e 测试 (pr#38797, Nizamudeen A)
octopus: mgr/dashboard: 阻止表项在展开时被选中 (pr#37930, Nizamudeen A)
octopus: mgr/dashboard: RGW 用户表单正在验证禁用的字段 (pr#38594, Aashish Sharma)
octopus: mgr/dashboard: 10 次无效登录尝试后临时锁定用户 (pr#38810, Nizamudeen A)
octopus: mgr/dashboard: /rgw/status 端点不检查运行的服务 (pr#38770, Volker Theile)
octopus: mgr/dashboard: 更新内置 ssl 提供商错误 (pr#38508, Nizamudeen A)
octopus: mgr/dashboard: 使用安全 cookie 存储 JWT Token (pr#39120, Avan Thakkar, Aashish Sharma)
octopus: mgr/dashboard: 为 ng serve 添加 --ssl (pr#38973, Tatjana Dehler)
octopus: mgr/dashboard: 调整 Services 和 Daemons 的刷新间隔 (pr#38597, Kiefer Chang)
octopus: mgr/dashboard: 允许为 Orchestrator NFS 集群选择所有守护程序 (pr#38496, Kiefer Chang)
octopus: mgr/dashboard: 为单个 OSD 分配标志 (pr#38469, Tatjana Dehler)
octopus: mgr/dashboard: 在 NFS 导出编辑表单中禁用集群选择 (pr#37969, Kiefer Chang)
octopus: mgr/dashboard: 在服务表中显示放置列 (pr#38336, Volker Theile)
octopus: mgr/dashboard: 为 Grafana 浏览器用户启用不同的 URL (pr#38761, Patrick Seidensal)
octopus: mgr/dashboard: 修复客户端 IOPS 甜甜圈图的读/写比率 (pr#38867, Kiefer Chang)
octopus: mgr/dashboard: 移除 pyOpenSSL 版本锁定 (pr#38503, Kiefer Chang)
octopus: mgr/dashboard: test_standby* (tasks.mgr.test_dashboard.TestDashboard) 在本地失败 (pr#38526, Volker Theile)
octopus: mgr/pg_autoscaler: 避免在有压力之前缩减 (pr#39248, Kamoltat)
octopus: mgr/progress: 引入开启/关闭功能 (pr#39289, kamoltat)
octopus: mgr/prometheus: 修复使用率 >50% 时 'pool filling up' 问题 (pr#38593, Daniël Vos)
octopus: mgr/prometheus: 同步和回溯 prometheus 修复 (pr#38333, Paul Cuzner, Boris Ranto, Kefu Chai, Ken Dreyer)
octopus: mgr/rbd_support: 存储不带本地化前缀的全局调度 (pr#38342, Mykola Golub)
octopus: mgr/restful: 修复 _gather_osds() 中发生的 TypeError (issue#48488, pr#38595, Jerry Pu)
octopus: mgr/volumes: 添加每个子卷的垃圾桶 (pr#38612, Venky Shankar, Shyamsundar Ranganathan)
octopus: mgr/volumes: 实现子卷版本 v2 (pr#36803, Shyamsundar Ranganathan)
octopus: mgr: 修复因 PG 状态延迟导致的仪表盘/prometheus 故障 (pr#38596, Alexander Sushko)
octopus: mgr: 不要更新已退出的 osd 统计信息 (pr#38353, Zhi Zhang)
octopus: mon: paxos: 在析构函数中删除记录器 (pr#39161, Brad Hubbard)
octopus: mon: 验证 crush-failure-domain (pr#38347, Prashant Dhange)
octopus: monitoring: OSD 读取延迟使用 null y轴最小值 (pr#37960, Seena Fallah)
octopus: msg/async/ProtocolV2: 再次允许 rxbuf/txbuf 在测试中变大 (pr#38267, Ilya Dryomov)
octopus: ocf: 添加对 RBD 命名空间中映射图像的支持 (pr#39046, Jason Dillaman)
octopus: os/bluestore: 使用 fsck 检测并修复 "僵尸" 跨越 blob (pr#39256, Igor Fedotov)
octopus: os/bluestore: 修复大(>4GB)bluefs 读取问题 (pr#39253, Igor Fedotov)
octopus: os/bluestore: 修复 avl/hybrid 分配器不适当的 ENOSPC 问题 (pr#38474, Igor Fedotov)
octopus: os/bluestore: 修复提供给 claim_free_to_right() 调用的越界偏移量导致的段错误 (pr#38428, Igor Fedotov)
octopus: os/bluestore: 修复 onode 锁定等问题 (pr#39230, Adam Kupczyk, Igor Fedotov)
octopus: osd: 修复 bluestore 位图分配器使用提示计算错误的 last_pos (pr#38430, Xue Yantao)
octopus: osd: 优化 PG 删除 (part1) (pr#38477, Igor Fedotov)
octopus: pybind/cephfs: 修复 readlink() 的 C 字符串中缺少终止 NULL 字符的问题 (pr#38893, Tuan Hoang)
octopus: pybind/mgr/rbd_support: 延迟创建进度模块事件 (pr#38344, Jason Dillaman)
octopus: python-common/drivegroups: 避免从设备选择中删除 "rotational: 0" (issue#49014, pr#39171, Lukas Stockner)
octopus: python-common: 修复非 UTC 主机上的 test_datetime_to_str_2 (pr#39296, Sage Weil)
octopus: qa/cephadm: 向 smoke test 添加 yaml 输出 (pr#39168, Sebastian Wagner)
octopus: qa/mgr: mgr_test_case: raise SkipTest 而不是调用 skipTest() (pr#38165, Rishabh Dave)
octopus: qa/tasks/cephfs/nfs: 检查主机 IP 是否在集群信息输出中 (pr#39004, Varsha Rao)
octopus: qa/tasks/mgr/test_progress: 更新测试套件以检查特定的进度事件 (pr#38555, Kamoltat)
octopus: qa/tasks/vstart_runner: 如果 "create-cluster-only",则不拆除 test_path (pr#39540, Kefu Chai)
octopus: qa/workunits/rbd: 修复删除镜像对等体时的权限问题 (pr#38341, Jason Dillaman)
octopus: qa: 在 run_shell 中接受 timeout 参数 (pr#38550, Patrick Donnelly)
octopus: qa: 忽略被驱逐客户端警告 (pr#38422, Patrick Donnelly)
octopus: qa: 忽略 logrotate 状态重命名错误 (pr#37690, Patrick Donnelly)
octopus: qa: krbd_stable_pages_required.sh: 移动到 stable_writes 属性 (pr#39321, Ilya Dryomov)
octopus: qa: tox 故障 (pr#38626, Patrick Donnelly)
octopus: qa: 在删除之前卸载卷 (pr#38688, Patrick Donnelly)
octopus: rgw/multisite: 验证同步对象是否与源对象相同 (pr#38981, Prasad Krishnan, Casey Bodley)
octopus: rgw/rgw-admin: 修复缺少桶的 BucketInfo (pr#38184, Nick Janus, caolei)
octopus: rgw: S3 Put Bucket Policy 成功时应返回 204 (pr#38420, Matthew Oliver)
octopus: rgw: 将用户相关的 web token claims 添加到 ops 日志 (pr#38970, Pritha Srivastava)
octopus: rgw: 避免因溢出导致过期提前触发 (pr#38421, jiahuizeng)
octopus: rgw: cls/rgw/cls_rgw.cc: 修复多个最新版本问题 (pr#38086, Yang Honggang, Ruan Zitao)
octopus: rgw: cls/user: 为 reset stats 调用设置 from_index (pr#38821, Mykola Golub, Abhishek Lekshmanan)
octopus: rgw: 分发排他性放置的缓存 (pr#38971, Or Friedmann)
octopus: rgw: 修复 bucket limit 检查 fill_status 警告 (issue#40255, pr#38826, Paul Emmerich)
octopus: rgw: 修复服务 s3website 错误页面时无效有效载荷问题 (pr#38339, Ilsoo Byun)
octopus: rgw: 复制桶分片头时保留 syncstopped 标志 (pr#38338, Ilsoo Byun)
octopus: rgw: lc: 正确维度化 lc 分片索引向量 (pr#38824, Matt Benjamin)
octopus: rgw_file: 按字典顺序返回 common_prefixes (pr#38829, Matt Benjamin)
octopus: rpm,deb: 将 sudoers 文件模式更改为 440 (pr#38427, David Turner)
octopus: rpm: 在 SUSE 上要求 smartmontools (pr#38755, Nathan Cutler)
octopus: test/run-cli-tests: 从 github 使用 cram (pr#39071, Kefu Chai)
octopus: tests: qa/task/cephadm: 仅在 bootstrap_remote 上运行 cephadm (pr#38040, Kyr Shatskyy)
v15.2.8 章鱼
这是 Octopus 系列的第 8 个回溯版本。此版本修复了 CephFS 中的安全漏洞,并包含多项错误修复。我们建议用户更新到此版本。
值得注意的更改
CVE-2020-27781: OpenStack Manila 使用 ceph_volume_client.py 库允许租户访问任何 Ceph 凭据的密钥。(Kotresh Hiremath Ravishankar, Ramana Raja)
ceph-volume:
lvm batch子命令进行了重大重写。这解决了许多错误并改进了尺寸规范和计算以及幂等行为和磁盘更换过程的可用性。有关更详细的信息,请参阅 https://docs.ceph.net.cn/en/latest/ceph-volume/lvm/batch/。MON: 集群日志现在每
mon_health_to_clog_interval记录健康详情,已从 1 小时更改为 10 分钟。如果自上次已知健康摘要没有变化,则将跳过健康详情的日志记录。ceph df命令现在列出每个池中的 pg 数量。bluefs_preextend_wal_files选项已删除。现在可以使用
mon_host_override配置选项或--mon-host-override <ip>命令行开关指定 Ceph 工具和守护程序最初联系的监视器。这通常只应用于调试,并且仅影响与 Ceph 监视器集群的初始通信。
变更日志
pybind/ceph_volume_client: 禁止对现有 auth id 进行授权 (Kotresh Hiremath Ravishankar, Ramana Raja)
启用每个 RBD 镜像监控 (pr#37697, Patrick Seidensal)
[ceph-volume]: 移除对 get_devices() 的不必要调用 (pr#37412, Marc Gariepy)
bluestore: 修复 collection_list 排序 (pr#37048, Mykola Golub)
bluestore: mempool 更精细的粒度 + 添加缺少的结构体 (pr#37264, Deepika Upadhyay, Igor Fedotov, Adam Kupczyk)
bluestore: 移除预扩展 WAL 支持 (pr#37373, Igor Fedotov)
ceph-volume batch: 在 argparser 中拒绝分区 (pr#38280, Jan Fajerski)
ceph-volume inventory: 使 libstoragemgmt 数据检索可选 (pr#38299, Jan Fajerski)
ceph-volume: 添加 libstoragemgmt 支持 (pr#36852, Paul Cuzner, Satoru Takeuchi)
ceph-volume: 为 zap 添加 no-systemd 参数 (pr#37722, wanghongxu)
ceph-volume: 暂时避免使用格式字符串 (pr#37345, Jan Fajerski)
ceph-volume: 在简单激活中消耗 mount opt (pr#38014, Dimitri Savineau)
ceph-volume: 修复 filestore/dmcrypt 激活 (pr#38199, Guillaume Abrioux)
ceph-volume: 修复 journal size 参数不起作用 (pr#37344, wanghongxu)
ceph-volume: 修复带有完整 SSD 的 lvm batch auto (pr#38045, Dimitri Savineau, Guillaume Abrioux)
ceph-volume: 修复传统 osd 的简单激活 (pr#37194, Guillaume Abrioux)
ceph-volume: 实现 --log-level 标志 (pr#38426, Andrew Schoen)
ceph-volume: 主要的批处理重构 (pr#37520, Jan Fajerski, Joshua Schmid)
ceph-volume: prepare: 对隐式大小调整使用 *-slots 参数 (pr#38205, Jan Fajerski)
ceph-volume: 从文档和帮助文本中删除 dmcache 的提及 (pr#38047, Dimitri Savineau, Andrew Schoen)
ceph-volume: 获取锁失败时重试 (pr#36925, Sébastien Han)
ceph-volume: 简单扫描应忽略 tmpfs (pr#36953, Andrew Schoen)
ceph-volume: 支持 mpath 设备 (pr#36928, Jan Fajerski)
ceph.in: 忽略刷新 stdout 失败 (pr#37225, Dan van der Ster)
ceph.spec, debian: 添加 smartmontools, nvme-cli 依赖项 (pr#37257, Yaarit Hatuka)
cephadm 批量回溯十一月 (pr#38155, Ricardo Marques, Sebastian Wagner, Kyr Shatskyy, Dan Williams, Volker Theile, Varsha Rao, Tim Serong, Adam King, Dimitri Savineau, Patrick Seidensal, Dan Mick, Michael Fritch, Joshua Schmid)
cephadm 批量回溯九月 (1) (pr#36975, Stephan Müller, Matthew Oliver, Sebastian Wagner, Paul Cuzner, Adam King, Patrick Seidensal, Shraddha Agrawal, Michael Fritch, Dan Mick)
cephadm 批量回溯九月 (2) (pr#37436, Varsha Rao, Kiefer Chang, Patrick Donnelly, Sebastian Wagner, Kefu Chai, Guillaume Abrioux, Juan Miguel Olmo Martínez, Paul Cuzner, Volker Theile, Tim Serong, Zac Dover, Adam King, Michael Fritch, Joshua Schmid)
cephfs-journal-tool: 修复查找丢失对象时不正确的 read_offset (pr#37854, Xue Yantao)
cephfs: client: 修复目录 inode 无法调用 release callback (pr#37017, sepia-liu)
cephfs: client: 修复额外的 open ref 减少 (pr#37249, Xiubo Li)
cephfs: client: 修复 inode ll_ref 引用计数泄漏 (pr#37839, sepia-liu)
cephfs: client: 处理没有 Fs cap 的 readdir 回复 (pr#37370, “Yan, Zheng”)
cephfs: client: 使 Client::open() 将正确的 cap mask 传递给 path_walk (pr#37369, “Yan, Zheng”)
cephfs: client: 为线程安全使用非静态 dirent (pr#37351, Patrick Donnelly)
cephfs: libcephfs: 忽略恢复打开文件限制 (pr#37358, Xiubo Li)
cephfs: osdc/Journaler: 如果 onsafe 为 0,则不调用 onsafe->complete() (pr#37368, Xiubo Li)
common/admin_socket: 始终验证参数 (pr#37341, Kefu Chai)
compressor: 添加配置选项以指定 Zstd 压缩级别 (pr#37253, Bryan Stillwell)
core: include/encoding: 修复大端系统上浮点类型的编码/解码 (pr#37032, Ulrich Weigand)
debian: 为 ceph-mgr 添加缺少的 Python 依赖项 (pr#37422, Johannes M. Scheuermann)
doc/PendingReleaseNotes: 提及 bluefs_preextend_wal_files (pr#37549, Nathan Cutler)
doc/mgr/orchestrator: 在文档中添加与自定义容器相关的提示 (pr#37962, Volker Theile)
doc: cephfs: 改进 "ceph nfs cluster create" 和 "ceph fs volume create" 命令的文档 (pr#37691, Nathan Cutler)
doc: 启用 Read the Docs (pr#37201, Kefu Chai)
erasure-code: 为 aarch64 平台启用 isa-l EC (pr#37504, luo rixin, Hang Li)
krbd: 可选跳过等待 udev 事件 (pr#37285, Ilya Dryomov)
librbd: 确保在处理受限 IO 时持有线程池锁 (pr#37116, Jason Dillaman)
librbd: 处理 immutable-object-cache 的 DNE (pr#36860, Feng Hualong, Mykola Golub, Yin Congmin, Jason Dillaman)
librbd: 使用 migration abort 可能导致数据丢失 (pr#37164, Jason Dillaman)
mds/CInode: 优化仅由子树固定的检查 (pr#37248, Mark Nelson)
mds: 在 hit_session 中考虑关闭会话 (pr#37856, Dan van der Ster)
mds: 在获取 auth pins 和锁之前将请求添加到 batch_op (pr#37022, “Yan, Zheng”)
mds: 当客户端工作集合理时,不要引发 "client failing to respond to cap release" (pr#37353, Patrick Donnelly)
mds: 如果 dir 是 merge 的 basedir,则不提交 omap_rm_keys (pr#37034, “Yan, Zheng”, Chencan)
mds: 正常会话关闭后不恢复文件 (pr#37334, “Yan, Zheng”)
mds: 修复设置 forward_all_requests_to_auth 时的 "forward loop" (pr#37360, “Yan, Zheng”)
mds: 修复访问丢失父目录下的文件时挂起问题 (pr#37020, Zhi Zhang)
mds: 修复 kcephfs 解析 dirfrag 的 ndist 始终为 0 (pr#37357, Yanhu Cao)
mds: 修复 mds 转发请求 'no_available_op_found' (pr#37240, Yanhu Cao)
mds: 修复 MDCache::finish_rollback 中的 nullptr 解引用 (pr#37243, “Yan, Zheng”)
mds: 修复 purge_queue 的 _calculate_ops 不准确 (pr#37372, Yanhu Cao)
mds: 使 MDS_TRIM 的阈值可配置 (pr#36970, Paul Emmerich)
mds: 优化 dentry 加载的随机阈值查找 (pr#37247, Patrick Donnelly)
mds: 将 MDSGatherBuilder 放置在堆栈上 (pr#37354, Patrick Donnelly)
mds: 减少打开文件表预取 #37382 的内存使用量 (pr#37383, “Yan, Zheng”)
mds: 解决等待未提交片段时的 SIGSEGV 问题 (pr#37355, Patrick Donnelly)
mds: 恢复解码版本 (pr#37356, Jos Collin)
mds: 仅在 scrub 运行时向 ceph-mgr 发送 scrub 状态 (issue#45349, pr#36047, Kefu Chai, Venky Shankar)
mds: standy-replay mds 在 resta… 后仍处于 "resolve" 状态 (pr#37363, Wei Qiaomiao)
messages,mds: 修复大端系统上枚举类型的解码 (pr#36813, Ulrich Weigand)
mgr/dashboard/api: 将/创建 OSD 直方图移至单独的端点 (pr#37973, Aashish Sharma)
mgr/dashboard: 为遥测报告预览添加简短描述 (pr#37597, Nizamudeen A)
mgr/dashboard: 允许编辑已登录发起程序的 iSCSI 目标 (pr#37277, Tiago Melo)
mgr/dashboard: 点击外部时自动关闭表列下拉菜单 (pr#36862, Tiago Melo)
mgr/dashboard: 剪贴板复制在 Firefox 中不起作用 (pr#37493, Volker Theile)
mgr/dashboard: Datatable 捕获来自其他 datatables 的选择事件 (pr#36899, Volker Theile, Tiago Melo)
mgr/dashboard: 禁用 TLS 1.0 和 1.1 (pr#38331, Volker Theile)
mgr/dashboard: 在用户表单上禁用自动完成 (pr#36901, Volker Theile)
mgr/dashboard: 如果没有 python3-saml,则禁用 sso (pr#38405, Kevin Meijer)
mgr/dashboard: 禁用 read_only 模态框的表单输入 (pr#37239, Nizamudeen)
mgr/dashboard: 修复单元测试和 i18n 翻译中的错误 (pr#36991, Volker Theile)
mgr/dashboard: 修复 CrushMap viewer 项目垂直压缩问题 (pr#36871, Nizamudeen A)
mgr/dashboard: 修复主机详情 Grafana 仪表盘中的多对多问题 (pr#37299, Patrick Seidensal)
mgr/dashboard: 修复 npm 包的漏洞 (pr#36921, Tiago Melo)
mgr/dashboard: 如果 limit=0,则隐藏表操作输入字段 (pr#36872, Volker Theile)
mgr/dashboard: 如果不是由 Orchestrator 管理,则应禁用主机删除操作 (pr#36874, Volker Theile)
mgr/dashboard: 改进通知徽章 (pr#37090, Aashish Sharma)
mgr/dashboard: 登陆页面改进 (pr#37390, Tiago Melo, Alfonso Martínez)
mgr/dashboard: 合并 disable 和 disableDesc (pr#37763, Tiago Melo)
mgr/dashboard: 正确格式化 iSCSI 目标门户 (pr#36870, Volker Theile)
mgr/dashboard: 未指定 Content-Type 时 REST API 返回 500 (pr#37308, Avan Thakkar)
mgr/dashboard: 移除监控/警报数据表详情中无用的选项卡 (pr#36875, Volker Theile)
mgr/dashboard: 当复制大小为 1 时显示警告 (pr#37578, Sebastian Krah)
mgr/dashboard: 性能 '客户端读/写' 小部件显示不正确的写入值 (pr#38189, Volker Theile)
mgr/dashboard: 仅在必要时更新数据表 (pr#37331, Volker Theile)
mgr/dashboard: 使用管道而不是在模板中调用函数 (pr#38094, Volker Theile)
mgr/dashboard: cluster > manager modules (pr#37434, Avan Thakkar)
mgr/dashboard: 在选项卡集中显示设备健康信息 (pr#37784, Kiefer Chang)
mgr/dashboard: 修复在 Ganesha 表单中输入现有路径时出现的错误 (pr#37688, Kiefer Chang)
mgr/dashboard: 修复列出大量存储桶时的性能问题 (pr#37405, Alfonso Martínez)
mgr/dashboard: 修复某些 NFS-Ganesha 端点的安全范围 (pr#37450, Kiefer Chang)
mgr/dashboard: 修复 NFS 导出中导出 CephFS 路径 "/" 时出现的错误 (pr#37686, Kiefer Chang)
mgr/dashboard: 从 mgr 获取 rgw 守护进程区组名称 (pr#37620, Alfonso Martinez)
mgr/dashboard: 增加 Grafana iframe 高度以避免滚动条 (pr#37182, Ngwa Sedrick Meh)
mgr/dashboard: 如果显示遥测通知,非管理员用户成功登录 (pr#37452, Tatjana Dehler)
mgr/dashboard: 支持 Orchestrator 和用户定义的 Ganesha 集群 (pr#37885, Kiefer Chang)
mgr/dashboard: 表详情行溢出 (pr#37332, Aashish Sharma)
mgr/devicehealth: 即使集群中没有 OSD,也会创建 device_health_metrics 池 (pr#37533, Sunny Kumar)
mgr/insights: 测试环境需要 'six' (pr#38396, Brad Hubbard)
mgr/prometheus: 添加池压缩统计信息 (pr#37562, Paul Cuzner)
mgr/telemetry: 修复匿名化序列时设备 ID 分割问题 (pr#37302, Yaarit Hatuka)
mgr/volumes/nfs: 检查 orchestrator spec service_id 是否有效 (pr#37371, Varsha Rao)
mgr/volumes/nfs: 修复伪路径的错误消息 (pr#37855, Varsha Rao)
mgr/volumes: 使克隆线程数可配置 (pr#37671, Kotresh HR)
mgr/zabbix: 缩进 "zabbix config-show" 的输出 (pr#37128, Kefu Chai)
mgr: PyModuleRegistry::unregister_client() 可以无限期运行 (issue#47329, pr#37217, Venky Shankar)
mgr: 从 mon 接收 map 时不更新 pending service map epoch (pr#37180, Mykola Golub)
mon scrub 测试 (pr#38361, Brad Hubbard)
mon/MDSMonitor 不忽略 mds 的 down:dne 请求 (pr#37858, chencan)
mon/MDSMonitor: 用点分隔 mds 标识符和 mds 真实名称 (pr#37857, Zhi Zhang)
mon/MonMap: 修复 init_with_hosts 的无条件失败 (pr#37817, Nathan Cutler, Patrick Donnelly)
mon/PGMap: 在 ceph df 命令中为池添加 pg 计数 (pr#36945, Vikhyat Umrao)
mon: 在集群日志中定期记录 "ceph health detail" (pr#38345, Prashant Dhange)
mon: 删除 CephFS 及其池会导致 MON 崩溃 (pr#37256, Patrick Donnelly)
mon: 使 'mon stat' 也输出 json (pr#37705, Joao Eduardo Luis)
mon: 在 preprocess_… 中更一致地将 pgtemp 消息标记为 no_reply (pr#37347, Greg Farnum)
mon: 添加到 session_map 时设置 session_timeout (pr#37553, Ilya Dryomov)
mon: 将 mon 更新存储在 ceph 上下文中以供将来 MonMap 实例化 (pr#36705, Patrick Donnelly, Shyamsundar Ranganathan)
msg/async/ProtocolV2: 允许 rxbuf/txbuf 在测试中变大 (pr#37080, Ilya Dryomov)
os/bluestore: 默认启用更灵活的 bluefs 空间管理 (pr#37092, Igor Fedotov)
osd/osd-rep-recov-eio.sh: TEST_rados_repair_warning: 返回 1 (pr#37853, David Zafman)
osd: 在 chunk 之间检查 nosrub/nodeep-scrub,以避免竞争条件 (pr#38359, David Zafman)
osdc/ObjectCacher: 覆盖可能导致意外的读取请求回调 (pr#37674, Jason Dillaman)
osdc: 为 mons/osds 添加超时配置 (pr#37530, Patrick Donnelly)
prometheus: 正确分割 IPv6 地址的端口 (pr#36985, Matthew Oliver)
pybind/cephfs: 为不读取配置文件添加特殊值 (pr#37724, Kefu Chai)
pybind/cephfs: 修复 cephfs.pyx 引发的自定义异常 (pr#37350, Ramana Raja)
pybind/mgr/volumes: 添加全局锁调试 (pr#37366, Patrick Donnelly)
qa/*/mon/mon-last-epoch-clean.sh: 将 osd 标记为 out 而不是 down (pr#37349, Neha Ojha)
qa/cephfs: 添加 session_timeout 选项支持 (pr#37841, Xiubo Li)
qa/tasks/nfs: 测试使用 nfs 命令创建的导出挂载 (pr#37365, Varsha Rao)
qa/tasks/{ceph,ceph_manager}: 放弃 py2 支持 (pr#37863, Kefu Chai)
qa/tests: 添加 rhel 8.2 (pr#38287, Yuri Weinstein)
qa/tests: 仅在 rados/thrash-old-clients 中为旧客户端使用 bionic (pr#36931, Yuri Weinstein)
qa/workunits/mon: 修复了过大的池 PG 计数 (pr#37346, Jason Dillaman)
qa: 为 mgr 测试启用 debug_client (pr#37270, Brad Hubbard)
qa: 修复测试之间 fs 清理时的追溯 (pr#36713, Kotresh HR)
qa: 添加调试以用于 volumes 插件使用 libcephfs (pr#37352, Patrick Donnelly)
qa: 放弃 hammer 分支 qa 测试 (pr#37728, Neha Ojha, Deepika Upadhyay)
qa: 忽略预期的 mds 故障转移消息 (pr#37367, Patrick Donnelly)
rbd-mirror: 对等体设置仍可能竞争并导致对等体创建失败 (pr#37342, Jason Dillaman)
rbd: 在 krbd 符号链接中包含 RADOS 命名空间 (pr#37343, Ilya Dryomov)
rbd: journal: flush 和 append 回调之间可能存在竞争条件 (pr#37850, Jason Dillaman)
rbd: librbd: 禁用 object-map 时忽略 -ENOENT 错误 (pr#37852, Jason Dillaman)
rbd: librbd: 在评估挂起计数之前更新 AioCompletion 返回值 (pr#37851, Jason Dillaman)
rbd: 使通用选项覆盖 krbd 特定选项 (pr#37408, Ilya Dryomov)
rbd: rbd-nbd: 按镜像规范取消映射时不要忽略命名空间 (pr#37812, Mykola Golub)
rgw/gc: 修复 perf 计数器 'gc_retire_object' 递增问题 (pr#37847, Pritha Srivastava)
rgw/gc: 修复队列标记条件 (pr#37846, Pritha Srivastava)
rgw/rgw_file: 修复不正确的 lru 对象驱逐 (pr#37672, luo rixin)
rgw: 将桶名称添加到桶统计信息错误日志记录 (pr#37335, Seena Fallah)
rgw: 为 beast 添加请求超时 (pr#37809, Adam C. Emerson, Or Friedmann)
rgw: RGWObjVersionTracker 跟踪增量版本 (pr#37337, Casey Bodley)
rgw: Swift API 匿名访问应返回 401 (pr#37339, Matthew Oliver)
rgw: 添加用于在 rgw 中创建和管理 oidc 提供商实体以及用于 OpenID Connect 访问和 ID 令牌脱机验证的代码 (pr#37640, Pritha Srivastava, Casey Bodley)
rgw: 允许rgw-orphan-list记录rados对象位于命名空间中 (pr#37800, J. Eric Ivancich)
rgw: 在 RGWLifecycleConfiguration::dump() 中转储转换 (pr#36812, Shengming Zhang)
rgw: 在 GC 延迟期间,阻止新的 GC 入队 (pr#38249, Casey Bodley, J. Eric Ivancich)
rgw: 修复即使对象中只有一个标签与规则相同也返回过期头的问题 (pr#37807, Or Friedmann)
rgw: 修复有序和无序桶列表中的命名空间设置问题 (pr#37673, J. Eric Ivancich)
rgw: 修复用户统计信息的迭代递增问题 (pr#37779, Mark Kogan)
rgw: 修复:S3 API KeyCount 返回不正确 (pr#37849, 胡玮文)
rgw: 以级别 1 (原为 20) 记录resharding事件 (pr#36840, Or Friedmann)
rgw: radosgw-admin 在列出桶时应在内部进行分页 (pr#37803, J. Eric Ivancich)
rgw: radosgw-admin: 周期拉取命令不总是 raw_storage_op (pr#37336, Casey Bodley)
rgw: 在 s3 v4 认证的规范查询字符串中将“+”替换为“%20” (pr#37338, yuliyang_yewu)
rgw: rgw_file: 避免关闭时长时间的延迟 (pr#37551, Matt Benjamin)
rgw: s3: 标记桶加密为未实现 (pr#36691, Abhishek Lekshmanan)
rgw: 转发请求时对桶名进行URL编码 (pr#37340, caolei)
rgw: 在 rgw-orphan-list 的 teuthology 测试中使用 yum 而非 dnf (pr#37845, J. Eric Ivancich)
rpm,deb: 删除 /etc/sudoers.d/cephadm (pr#37401, Nathan Cutler)
run-make-check.sh: 如果构建失败则不运行测试 (pr#38294, Brad Hubbard)
systemd: 支持 AIO 节点平稳重启 (pr#37300, Wong Hoi Sing Edison)
test/librados: 修复校验和测试用例中的字节序错误 (pr#37604, Ulrich Weigand)
test/rbd-mirror: 存储池监视器注册错误可能导致竞争条件 (pr#37208, Jason Dillaman)
test/store_test: 为死亡测试使用“线程安全”样式 (pr#37819, Igor Fedotov)
tools/osdmaptool.cc: 增加 clean_temps 功能 (pr#37348, Neha Ojha)
tools/rados: 在“rados ls”的json输出期间定期刷新格式化器 (pr#37835, J. Eric Ivancich)
vstart.sh: 修复 fs set max_mds 错误 (pr#37837, Jinmyeong Lee)
v15.2.7章鱼
这是 Octopus 系列的第 7 个向后移植版本。此版本修复了 RGW 中的一个严重错误,该错误已导致在读取大型 RGW 对象(即,至少包含一个尾段的对象)的时间超过配置选项 `rgw_gc_obj_min_wait` 指定时间的一半时,数据丢失。此错误会导致读取对象的尾段被添加到 RGW 垃圾回收队列中,这反过来又会在一段时间后导致它们被删除。
变更日志
rgw: 在 GC 延迟期间,阻止新的 GC 入队 (issue#47866, pr#38249, Eric Ivancich, Casey Bodley)
v15.2.6 章鱼
这是 Octopus 系列的第 6 个向后移植版本。此版本修复了影响 Messenger v1 和 v2 的安全漏洞。我们建议用户更新到此版本。
值得注意的变更
CVE 2020-25660: Messenger v1 和 v2 丢失 CEPHX_V2 重放攻击保护 (Ilya Dryomov)
更新日志
mon/MonClient: 恢复 CEPHX_V2 授权器挑战 (Ilya Dryomov)
v15.2.5 章鱼
这是 Ceph Octopus 稳定版系列的第五个版本。此版本带来了一系列跨所有组件的修复。我们建议所有 Octopus 用户升级到此版本。
Notable Changes
CephFS: 现在可以使用目录上的新分布式和随机临时 pinning 扩展属性配置自动静态子树分区策略。有关更多信息,请参阅文档:https://docs.ceph.net.cn/docs/master/cephfs/multimds/
监视器现在有一个配置选项 `mon_osd_warn_num_repaired`,默认值为 10。如果任何 OSD 在存储数据中修复的 I/O 错误超过此数量,则会生成 `OSD_TOO_MANY_REPAIRS` 健康警告。
现在,当全局或每个存储池设置 noscrub 和/或 no deep-scrub 标志时,已禁用类型的计划擦洗将被中止。所有用户启动的擦洗都不会中断。
修复了健康集群中 osdmap 未被裁剪的问题 (issue#47297, pr#36981)
更新日志
bluestore,core: bluestore: blk:BlockDevice.cc: 使用 pending_aios 而不是 iovec size 作为 ios num (pr#36668, weixinwei)
bluestore,tests: test/store_test: 重构 bluestore 溢出测试 (pr#34943, Igor Fedotov)
bluestore,tests: tests: objectstore/store_test: 杀死 ExcessiveFragmentation 测试用例 (pr#36049, Igor Fedotov)
bluestore: bluestore: 针对超大 bluefs 日志的救援程序 (pr#36123, Adam Kupczyk)
bluestore: octopus:os/bluestore: 改进/修复 bluefs 统计信息报告 (pr#35748, Igor Fedotov)
bluestore: os/bluestore: 修复 bluefs 日志增长 (pr#36621, Adam Kupczyk, Jianpeng Ma)
bluestore: os/bluestore: 简化 Onode pin/unpin 逻辑 (pr#36795, Igor Fedotov)
build/ops: 恢复 “mgr/osd_support: 删除模块和所有痕迹” (pr#36973, Sebastian Wagner)
build/ops: ceph-iscsi: selinux 修复 (pr#36302, Mike Christie)
build/ops: mgr/dashboard/api: 减少守护进程日志量 (pr#36693, Ernesto Puerta)
ceph-volume: 在 raw 模式下添加 dmcrypt 支持 (pr#35830, Guillaume Abrioux)
ceph-volume: 添加 drive-group 子命令 (pr#36558, Jan Fajerski, Sebastian Wagner)
ceph-volume: 为运行 LVM 命令的新函数添加测试 (pr#36614, Rishabh Dave)
ceph-volume: 不在 api/lvm.py 中使用容器类 (pr#35879, Rishabh Dave, Guillaume Abrioux)
ceph-volume: 修复 lvm 功能测试 (pr#36409, Jan Fajerski)
ceph-volume: 处理批处理和显式场景的幂等性 (pr#35880, Andrew Schoen)
ceph-volume: 从 api/lvm.py 中移除容器类 (pr#36608, Rishabh Dave)
ceph-volume: 如果设备类型无效,则在库存中报告正确的拒绝原因 (pr#36410, Satoru Takeuchi)
ceph-volume: 在 python3 中运行 flake8 (pr#36588, Jan Fajerski)
cephfs,common: common: 在 fork 之前忽略 SIGHUP (issue#46269, pr#36195, Willem Jan Withagen, hzwuhongsong)
cephfs,core,mgr: mgr/status: 元数据异步获取 (pr#36630, Michael Fritch)
cephfs,core,rbd,rgw: librados: 添加 LIBRADOS_SUPPORTS_GETADDRS 支持 (pr#36643, Xiubo Li)
cephfs,mgr: mgr/volumes/nfs: 添加用于添加用户定义配置的接口 (pr#36635, Varsha Rao)
cephfs,mon: mon/MDSMonitor: 复制可能已删除的 MDS 信息 (pr#36035, Patrick Donnelly)
cephfs,pybind: pybind/ceph_volume_client: 修复 PEP-8 SyntaxWarning (pr#36100, Đặng Minh Dũng)
cephfs,tests: mgr/fs/volumes: 杂项修复 (pr#36327, Patrick Donnelly, Kotresh HR)
cephfs,tests: tests: 恢复 “恢复 “qa/suites/rados/mgr/tasks/module_selftest: 白名单… (issue#43943, pr#36042, Venky Shankar)
cephfs,tests: tests: qa/tasks/cephfs/cephfs_test_case.py: 在程序情况下跳过清理核心转储 (pr#36043, Xiubo Li)
cephfs,tests: tests: qa/tasks: 使 vstart_runner.py 中的 sh() 与 teuthology.orchestra.remote.sh 相同 (pr#36044, Jos Collin)
cephfs: 更新 nfs-ganesha 包需求文档回溯 (pr#36063, Varsha Rao)
cephfs: cephfs: 客户端: 修复大小为 0 的值 (NULL 值) 的 setxattr (pr#36045, Sidharth Anupkrishnan)
cephfs: cephfs: 客户端: 修复快照目录 atime (pr#36039, Luis Henriques)
cephfs: cephfs: 客户端: 在读取时复制数据之前释放 client_lock (pr#36046, Chencan)
cephfs: 客户端: 在快照中公开 ceph.quota.max_bytes xattr (pr#36403, Shyamsundar Ranganathan)
cephfs: 客户端: 引入客户端关机超时 (issue#44276, pr#35962, “Yan, Zheng”, Venky Shankar)
cephfs: mds/MDSRank: 修复 “unrecognized” 中的拼写错误 (pr#36197, Nathan Cutler)
cephfs: mds: 添加临时随机和分布式导出 pinning (pr#35759, Patrick Donnelly, Sidharth Anupkrishnan)
cephfs: mds: 修复发出 Fc 时文件锁状态 (pr#35842, Xiubo Li)
cephfs: mds: 在 EMetaBlob 重放中重置心跳 (pr#36040, Yanhu Cao)
cephfs: mgr/nfs: 检查伪路径是否为绝对路径 (pr#36299, Varsha Rao)
cephfs: mgr/nfs: 更新 ganesha 配置中的 MDCACHE 块以及关于 vstart 中 nfs-cephadm 的文档 (pr#36224, Varsha Rao)
cephfs: mgr/volumes: 弃用子卷快照的 protect/unprotect CLI 调用 (pr#36126, Shyamsundar Ranganathan)
cephfs: mgr/volumes: 修复 “ceph nfs export” 帮助消息 (pr#36220, Nathan Cutler)
cephfs: nfs 向后移植 (pr#35499, Jeff Layton, Varsha Rao, Ramana Raja, Kefu Chai)
common,core: common, osd: 添加 osd_scrub_max_preemptions 周围的健全性检查 (pr#36034, xie xingguo)
common,rbd,tools: rbd: immutable-object-cache: 修复启动时崩溃 (pr#36660, Jason Dillaman)
common,rbd: crush/CrushWrapper: 重建 crush map 后重建反向映射 (pr#36662, Jason Dillaman)
common: common: log: 修复日志时间戳精度无法设置为毫秒的问题 (pr#36048, Guan yunfei)
core,mgr: mgr: 如果 pg 被删除,则减少存储池统计信息 (pr#36667, Aleksei Gutikov)
core,rbd: osd/OSDCap: rbd 配置文件允许使用 “rbd_info” (pr#36414, Florian Florensa)
core,tools: tools/rados: 在导出或导入存储池时设置定位器密钥 (pr#36666, Iain Buclaw)
core: mon/OSDMonitor: 如果故障间隔超过阈值,则重置宽限期 (pr#35799, Sridhar Seshasayee)
core: mon/OSDMonitor: 仅在裁剪 osd… 时考虑 osd (pr#36981, Kefu Chai)
core: mon: 修复 conf “osd_objectstore” 为 filestore 时 “Error ERANGE” 消息 (pr#36665, wangyunqing)
core: monclient: 使用 mon_client_hunt_interval 安排首次心跳 (pr#36633, Mykola Golub)
core: osd/OSD.cc: 移除 bench 的 osd_lock (pr#36664, Neha Ojha, Adam Kupczyk)
core: osd/PG: 再次修复合并目标 history.same_interval_since (pr#36033, xie xingguo)
core: osd/PeeringState: 防止 peer 的 num_objects 变为负数 (pr#36663, xie xingguo)
core: osd/PrimaryLogPG: 如果是副本,则不填充观察者 (pr#36029, Ilya Dryomov)
core: osd: 取消进行中的擦洗 (非用户请求) (pr#36291, David Zafman)
core: osd: 将 osdspec_affinity 暴露给 osd_metadata (pr#35957, Joshua Schmid)
core: osd: 修复增量 osdmap crc 失败时 _committed_osd_maps 中的崩溃 (pr#36340, Neha Ojha, Dan van der Ster)
core: osd: 再次启用消息上限选项 (pr#35737, Neha Ojha, Josh Durgin)
core: osd: 唤醒分片的所有线程而不是一个线程 (pr#36032, Jianpeng Ma)
core: test: osd-backfill-stats.sh 使用 nobackfill 避免剩余部分中的竞争 (pr#36030, David Zafman)
doc: cephadm 批向后移植 (pr#36450, Varsha Rao, Ricardo Marques, Kiefer Chang, Matthew Oliver, Paul Cuzner, Kefu Chai, Daniel-Pivonka, Sebastian Wagner, Volker Theile, Adam King, Michael Fritch, Joshua Schmid)
doc: doc/mgr/crash: 在 rm 示例中添加缺失的命令 (pr#36690, Daniël Vos)
doc: doc/rados: 修复 osd_scrub_during_recovery 默认值 (pr#36661, Benoît Knecht)
doc: doc/rbd: 添加 rbd-target-gw 启用和启动 (pr#36416, Zac Dover)
doc: doc: PendingReleaseNotes: 15.2.5 的全新开始 (pr#35753, Nathan Cutler)
mgr,pybind: pybind/mgr/balancer: 使用 “==” 和 “!=” 比较字符串 (pr#36036, Kefu Chai)
mgr,pybind: pybind/mgr/pg_autoscaler/module.py: 如果 ev.pg_num== ev.pg_num_target,则不更新事件 (pr#36037, Neha Ojha)
mgr,rbd: mgr/prometheus: 自动发现 RBD 存储池以进行统计信息收集 (pr#36411, Jason Dillaman)
mgr/dashboard/api: 增加 API 健康超时 (pr#36562, Ernesto Puerta)
mgr/dashboard: 添加按钮将引导令牌复制到剪贴板 (pr#35796, Ishan Rai)
mgr/dashboard: 在 UI 中添加主机标签 (pr#35893, Volker Theile)
mgr/dashboard: 添加主机页面单元测试 (pr#36350, Volker Theile)
mgr/dashboard: 允许编辑具有活动会话的 iSCSI 目标 (pr#35997, Ricardo Marques)
mgr/dashboard: 始终使用快速 Angular 单元测试 (pr#36267, Stephan Müller)
mgr/dashboard: 配置健康页面中弹出窗口的溢出 (pr#36460, Tiago Melo)
mgr/dashboard: 在各种数据表中显示勾选图标而不是 true|false (pr#35892, Volker Theile)
mgr/dashboard: 显示用户当前的桶配额使用情况 (pr#35926, Ernesto Puerta, Avan Thakkar)
mgr/dashboard: 将文档链接提取到组件 (pr#36587, Tiago Melo)
mgr/dashboard: 修复主机属性(如标签)未返回的问题 (pr#36678, Kiefer Chang)
mgr/dashboard: 当密码过期日期很远时隐藏密码通知 (pr#35975, Tiago Melo)
mgr/dashboard: 改进 Summary 的订阅方法 (pr#35705, Tiago Melo)
mgr/dashboard: 存储池、OSD 和 RBD 镜像指标中的 Prometheus 查询错误 (pr#35885, Avan Thakkar)
mgr/dashboard: 重新启用 OSD 表自动刷新 (pr#36226, Kiefer Chang, Tiago Melo)
mgr/dashboard: 奇怪的 iSCSI 发现认证行为 (pr#36782, Volker Theile)
mgr/dashboard: RGW 用户表单中的最大桶字段应预填充 (pr#35795, Volker Theile)
mgr/dashboard: 无法编辑已登录的 iSCSI 客户端 (pr#36611, Ricardo Marques)
mgr/dashboard: 在存储池表单中使用正确的大小 (pr#35925, Stephan Müller)
mgr/dashboard: 在整个 UI 中使用相同的必填字段消息 (pr#36277, Volker Theile)
mgr/dashboard: 添加 API 团队到 CODEOWNERS (pr#36143, Ernesto Puerta)
mgr/dashboard: 允许在删除 OSD 时保留 OSD ID (pr#35766, Kiefer Chang)
mgr/dashboard: cpu 统计信息显示不正确 (pr#36322, Avan Thakkar)
mgr/dashboard: 嵌套详细信息中裁剪的操作菜单 (pr#35620, Avan Thakkar)
mgr/dashboard: 修复 RBD 配置表中 Source 列的国际化问题 (pr#35819, Kiefer Chang)
mgr/dashboard: 修复向后移植问题 #35926 (pr#36073, Ernesto Puerta)
mgr/dashboard: 修复存储池使用率计算 (pr#36137, Ernesto Puerta)
mgr/dashboard: 修复 rbdmirroring 下拉菜单 (pr#36382, Avan Thakkar)
mgr/dashboard: 修复删除 OSD 模态框中的回归问题 (pr#36419, Kiefer Chang)
mgr/dashboard: 修复 tasks.mgr.dashboard.test_rbd.RbdTest.test_move_image_to_trash 错误 (pr#36563, Kiefer Chang)
mgr/dashboard: 修复 UI API 端点 (pr#36160, Fabrizio D’Angelo)
mgr/dashboard: 修复 OSD 表单中的 wal/db 插槽控件 (pr#35883, Kiefer Chang)
mgr/dashboard: 增加 API 控制器中的 API 测试覆盖率 (pr#36260, Kefu Chai, Aashish Sharma)
mgr/dashboard: 成功登录后重定向到原始 URL (pr#36831, Avan Thakkar)
mgr/dashboard: 移除 “本周/月/年” 和 “今天” 时间戳 (pr#36789, Avan Thakkar)
mgr/dashboard: 移除 cdCopy2ClipboardButton `formatted` 属性 (pr#35889, Tatjana Dehler)
mgr/dashboard: 如果使用 SSO 登录,则删除密码字段,并修复确认密码中的错误消息 (pr#36689, Ishan Rai)
mgr/dashboard: 列过滤器下拉菜单右对齐 (pr#36369, Kiefer Chang)
mgr/dashboard: 遥测激活通知 (pr#35772, Tatjana Dehler)
mgr/dashboard: 等待健康状态清除的时间更长 (pr#36346, Tatjana Dehler)
mgr/k8sevents: 清理 kubernetes 事件 (pr#35684, Paul Cuzner)
mgr/prometheus: 改进缓存 (pr#35847, Patrick Seidensal)
mgr: 避免 MGR_MODULE_ERROR 的虚假警报 (pr#35995, Kefu Chai)
mgr: mgr/DaemonServer.cc: 使 fsid 上的 'config show' 生效 (pr#35793, Neha Ojha)
mgr: mgr/cephadm: 调整 Vagrantfile 以在 shaman 上使用 octopus 而不是 master 仓库 (pr#35988, Volker Theile)
mgr: mgr/diskprediction_local: 修复数组大小错误 (pr#36577, Benoît Knecht)
mgr: mgr/progress: 如果 _events 字典为空,则跳过 pg_summary 更新 (pr#36076, Manuel Lausch)
mgr: mgr/prometheus: 记录收集指标所需的时间 (pr#36581, Patrick Seidensal)
mgr: mgr: 在 mgr_module.py 中将缺失状态添加到 PG_STATES (pr#36786, Harley Gorrell)
mgr: mgr: 修复模块加载和通知之间的竞争条件 (pr#35794, Mykola Golub)
mgr: mon/PGMap: 不考虑更改的 pg 停滞 (pr#35958, Kefu Chai)
monitoring: 存储池填满警报损坏 (pr#35136, Volker Theile)
msgr: 新的 msgr2 crc 和安全模式 (msgr2.1) (pr#35720, Ilya Dryomov)
rbd,tests: tests/rbd_mirror: 修复测试关闭时的竞争条件 (pr#36657, Mykola Golub)
rbd: librbd: 全局和池级别配置覆盖需要镜像刷新才能应用 (pr#36638, Jason Dillaman)
rbd: librbd: 新的 'write_zeroes' API 方法以补充 `discard` API (pr#36247, Jason Dillaman)
rbd: librbd: 处理 API IO 完成时潜在的竞争条件 (pr#36331, Jason Dillaman)
rbd: mgr/dashboard: 使用 v1 RBD 镜像 (pr#35711, Ernesto Puerta)
rbd: rbd: librbd: 对齐 rbd_write_zeroes 声明 (pr#36717, Corey Bryant)
rbd: rbd: librbd: 如果观察者未注册,则不重新发送 async_complete (pr#36659, Mykola Golub)
rbd: rbd: librbd: 清空简单调度程序中所有排队的 IO 对象 (pr#36658, Jason Dillaman)
rbd: rbd: librbd: 禁用具有重叠飞行中写入的对象映射时发生竞争 (pr#36656, Jason Dillaman)
rbd: rbd: 识别 crush_location、read_from_replica 和 compression_hint 映射选项 (pr#36061, Ilya Dryomov)
rgw,tests: qa/tasks/ragweed: 始终设置 ragweed_repo (pr#36651, Kefu Chai)
rgw: rgw: lc: 修复未找到对象标签时的段错误 (pr#36085, yupeng chen, zhuo li)
rgw: 添加子用户到 OPA 请求 (pr#36023, Seena Fallah)
rgw: 为桶策略添加通配符子用户支持 (pr#36022, Seena Fallah)
rgw: 添加数据缓存和 CDN 功能 (pr#36646, Mark Kogan, Or Friedmann)
rgw: 在 unregistered_reqs 之前清空 reqs_change_state 队列 (pr#36650, Soumya Koduri)
rgw: 添加中止分段日期和规则 ID 头到初始化分段上传响应 (pr#36649, zhang Shaowen, zhangshaowen)
rgw: 添加访问日志到 beast 前端 (pr#36024, Mark Kogan)
rgw: 在桶reshard期间添加桶统计信息时,检查索引条目是否存在 (pr#36025, zhang Shaowen)
rgw: 添加负缓存到系统对象 (pr#36648, Or Friedmann)
rgw: 向 CopyObj 添加配额强制执行 (pr#36020, Casey Bodley)
rgw: 追加对象: 防止尾部被 GC (pr#36389, Abhishek Lekshmanan)
rgw: 用户拥有 >1000 个桶时,桶列表/统计信息会被截断 (pr#36019, J. Eric Ivancich)
rgw: cls/rgw: 在最后一次取消链接时保留 olh 条目的名称 (pr#36652, Casey Bodley)
rgw: cls/rgw_gc: 修复用于访问紧急数据映射的迭代器 (pr#36017, Pritha Srivastava)
rgw: 修复 boost::asio::async_write() 不返回错误的问题 (pr#36647, Mark Kogan)
rgw: 修复有序桶列表卡住的 bug (pr#35877, J. Eric Ivancich)
rgw: 修复双斜杠 (//) 导致网关崩溃的问题 (pr#36654, Theofilos Mouratidis)
rgw: 修复 swift stat 在帐户上循环的问题 (pr#36021, Marcus Watts)
rgw: 修复 RGWAsyncReadMDLogEntries 中的关机崩溃 (pr#36653, Casey Bodley)
rgw: 引入安全的 user-reset-stats (pr#36655, Yuval Lifshitz, Matt Benjamin)
rgw: lc: 在 RGWLC 中添加生命周期性能计数器 (pr#36018, Mark Kogan, Matt Benjamin)
rgw: 孤儿列表 teuthology 测试 & 完全限定域名问题 (pr#36027, J. Eric Ivancich)
rgw: 孤儿列表时间戳修复 (pr#35929, J. Eric Ivancich)
rgw: policy: 重用 eval_principal 评估策略主体 (pr#36636, Abhishek Lekshmanan)
rgw: radoslist 不完整分段上传修复标记进度 (pr#36028, J. Eric Ivancich)
rgw: rgw/iam: 纠正获取角色策略的结果 (pr#36645, Pritha Srivastava)
rgw: selinux: 允许 ceph_t amqp_port_t:tcp_socket (pr#36026, Kaleb S. KEITHLEY, Thomas Serlin)
rgw: 在存储关闭之前停止 Realm Reloader (pr#36644, Kefu Chai, Casey Bodley)
tools: tools: 向 ceph-objecstore-tool 添加 statfs 操作 (pr#35715, David Zafman)
v15.2.4 章鱼
这是 Ceph Octopus 稳定版系列的第四个版本。除了 RGW 中的安全修复,此版本还带来了所有组件的一系列修复。我们建议所有 Octopus 用户升级到此版本。
值得注意的更改
CVE-2020-10753: rgw: 清理 s3 CORSConfiguration's ExposeHeader 中的换行符 (William Bowling, Adam Mohammed, Casey Bodley)
Cephadm: 进行了许多小的可用性改进和错误修复
通过 Cephadm 部署的 Grafana 现在绑定到所有网络接口。
`cephadm check-host` 现在一次性打印所有检测到的问题。
Cephadm 现在在为 Grafana 生成 SSL 证书时调用 `ceph dashboard set-grafana-api-ssl-verify false`。
警报管理器现已正确指向 Ceph Dashboard
`cephadm adopt` 现在支持采用 Alertmanager
`ceph orch ps` 现在支持按服务名称过滤
`ceph orch host ls` 现在将不可访问的主机标记为离线。
Cephadm 现在可以部署 NFS Ganesha 服务。例如,要部署服务 ID 为 mynfs 的 NFS,它将使用 RADOS 存储池 nfs-ganesha 和命名空间 nfs-ns
ceph orch apply nfs mynfs nfs-ganesha nfs-ns
Cephadm: `ceph orch ls --export` 现在以 yaml 格式返回所有服务规范,可供 `ceph orch apply` 使用。此外,命令 `orch ps` 和 `orch ls` 现在支持 `--format yaml` 和 `--format json-pretty`。
Cephadm: `ceph orch apply osd` 支持 `--preview` 标志,该标志在部署 OSD 之前打印 OSD 规范的预览。这使得在应用之前验证规范的正确性成为可能。
RGW: 用于处理孤立对象的 `radosgw-admin` 子命令——`radosgw-admin orphans find`、`radosgw-admin orphans finish` 和 `radosgw-admin orphans list-jobs`——已被弃用。它们没有得到积极维护,并且它们将中间结果存储在集群上,这可能会填满一个几乎已满的集群。它们已被一个目前被认为是实验性工具的 `rgw-orphan-list` 取代。
RBD: 用于存储 rbd 垃圾清除计划的 rbd 存储池对象名称已从“rbd_trash_trash_purge_schedule”更改为“rbd_trash_purge_schedule”。已经开始使用 `rbd trash purge schedule` 功能并配置了每个存储池或命名空间计划的用户应在升级前将“rbd_trash_trash_purge_schedule”对象复制到“rbd_trash_purge_schedule”,并在之前配置了垃圾清除计划的每个 RBD 存储池和命名空间中使用以下命令删除“rbd_trash_purge_schedule”
rados -p <pool-name> [-N namespace] cp rbd_trash_trash_purge_schedule rbd_trash_purge_schedule rados -p <pool-name> [-N namespace] rm rbd_trash_trash_purge_schedule
或者使用任何其他便捷方式在升级后恢复计划。
更新日志
build/ops: 解决 rgw/multisite 测试运行中观察到的 SElinux 拒绝 (pr#34538, Kefu Chai, Kaleb S. Keithley)
ceph-volume: 在单个 lvchange 调用中添加和删除 lvm 标签 (pr#35452, Jan Fajerski)
ceph-volume: 添加 ceph.osdspec_affinity 标签 (pr#35134, Joshua Schmid)
cephadm: 批处理向后移植五月 (1) (pr#34893, Michael Fritch, Ricardo Marques, Matthew Oliver, Sebastian Wagner, Joshua Schmid, Zac Dover, Varsha Rao)
cephadm: 批处理向后移植五月 (2) (issue#45188, pr#35188, Michael Fritch, Sebastian Wagner, Kefu Chai, Georgios Kyratsas, Kiefer Chang, Joshua Schmid, Patrick Seidensal, Varsha Rao, Matthew Oliver, Zac Dover, Juan Miguel Olmo Martínez, Tim Serong, Alexey Miasoedov, Ricardo Marques, Satoru Takeuchi)
cephadm: 批处理向后移植六月 (1) (pr#35347, Sebastian Wagner, Zac Dover, Georgios Kyratsas, Kiefer Chang, Ricardo Marques, Patrick Seidensal, Patrick Donnelly, Joshua Schmid, Matthew Oliver, Varsha Rao, Juan Miguel Olmo Martínez, Michael Fritch)
cephadm: 批处理向后移植六月 (2) (pr#35475, Sebastian Wagner, Kiefer Chang, Joshua Schmid, Michael Fritch, shinhwagk, Kefu Chai, Juan Miguel Olmo Martínez, Daniel Pivonka)
cephfs: 允许带有连字符和句点的存储池名称 (pr#35251, Ramana Raja)
cephfs: bash_completion: 不自动完成过时和隐藏的命令 (pr#34996, Kotresh HR)
cephfs: cephfs-shell: 将 tox testenv 名称更改为 py3 (pr#34998, Kefu Chai, Varsha Rao, Aditya Srivastava)
cephfs: 客户端: 通过 libcephfs 暴露 Client::ll_register_callback (pr#35150, Jeff Layton)
cephfs: 客户端: 修复 Finisher 断言失败 (pr#34999, Xiubo Li)
cephfs: 客户端: 仅在刷新脏权限帽时设置 MClientCaps::FLAG_SYNC (pr#34997, Jeff Layton)
cephfs: fuse: 为 libfuse 重新添加 '-d' 选项 (pr#35449, Xiubo Li)
cephfs: mds: 处理清除队列中的黑名单错误 (pr#35148, Varsha Rao)
cephfs: mds: 在接收到 OP_FINISH 之前保留 ESlaveUpdate 日志事件 (pr#35253, songxinying)
cephfs: mds: 以请求开始锁定的顺序获取 xlock (pr#35252, “Yan, Zheng”)
cephfs: src/client/fuse_ll: 兼容 libfuse3.5 或更高版本 (pr#35450, Jeff Layton, Xiubo Li)
cephfs: vstart_runner: 在 mount() 结束时将 mounted 设置为 True (pr#35447, Rishabh Dave)
core: bluestore: 修复 bluefs_buffered_io = true 时大 (>2GB) 写入的问题 (pr#35446, Igor Fedotov)
core: bluestore: 引入混合分配器 (pr#35498, Igor Fedotov, Adam Kupczyk)
core: cls/queue: 修复列出条目时空标记的问题 (pr#35241, Pritha Srivastava, Yuval Lifshitz)
core: objecter: 不尝试从 EC 存储池的非主节点读取 (pr#35444, Ilya Dryomov)
core: osd: 添加 --osdspec-affinity 标志 (pr#35382, Joshua Schmid)
core: osd: 将“缺少增量映射”设置为调试日志消息 (pr#35442, Nathan Cutler)
core: osd: 在等待工作时防止 ShardedOpWQ suicide_grace 丢失 (pr#34881, Dan Hill)
core: rocksdb: 更新到 ceph-octopus-v5.8-1436 (pr#35036, Brad Hubbard)
doc: 删除过时的缓存层选项 (pr#35105, Nathan Cutler)
doc: mgr/dashboard: 添加故障排除指南 (pr#34947, Tatjana Dehler)
doc: rgw: 文档 'rgw gc max concurrent io' (pr#34987, Casey Bodley)
mds: mds 变为活动状态之前清理未提交的片段 (pr#35448, “Yan, Zheng”)
mds: 关闭时不要断言空 io 上下文列表 (pr#34509, “Yan, Zheng”)
mds: 解码 xattr map 时不要进行浅拷贝 (pr#35147, “Yan, Zheng”)
mds: 标记新文件的回溯擦洗失败为正常 (pr#35555, Milind Changire)
mgr/dashboard/grafana: 添加 rbd-image 详细信息仪表板 (pr#35247, Enno Gotthold)
mgr/dashboard: 用户组件的异步唯一用户名验证 (pr#34849, Nizamudeen)
mgr/dashboard: ECP 模态增强 (pr#35152, Stephan Müller)
mgr/dashboard: 修复 HomeTest 设置 (pr#35085, Tiago Melo)
mgr/dashboard: 修复 e2e chromium 二进制验证 (pr#35679, Tiago Melo)
mgr/dashboard: 修复 mgr-modules 中随机的 E2E 错误 (pr#35706, Tiago Melo)
mgr/dashboard: 修复更改密码后的重定向 (pr#35243, Tiago Melo)
mgr/dashboard: 防止存储池选择错误导致仪表板崩溃 (pr#35135, Stephan Müller)
mgr/dashboard: 提出的关于模态框 (pr#35291, Ngwa Sedrick Meh, Tiago Melo)
mgr/dashboard: 减少镜像页面中的请求 (pr#34992, Tiago Melo)
mgr/dashboard: 用 Cypress 替换 Protractor (pr#34910, Tiago Melo)
mgr/dashboard: 在主机页面显示标签 (pr#35517, Volker Theile)
mgr/dashboard: 在数据表内显示表详细信息 (pr#35270, Sebastian Krah)
mgr/dashboard: 添加遥测报告组件 (pr#34850, Tatjana Dehler)
mgr/dashboard: 在表中显示服务详细信息 (pr#35269, Kiefer Chang)
mgr/dashboard: 修复 chrome 和 firefox 中自动完成输入背景问题 (pr#35718, Ishan Rai)
mgr/dashboard: rgw 多站点同步性能的 grafana 面板 (pr#35693, Alfonso Martínez)
mgr/dashboard: 监控菜单项应指示正在触发的警报 (pr#34822, Tiago Melo, Volker Theile)
mgr/dashboard: 重新设计登录屏幕 (pr#35268, Ishan Rai)
mgr/dashboard: 删除主机列表表中服务名称后的空格 (pr#35531, Kiefer Chang)
mgr/dashboard: 替换硬编码的遥测 URL (pr#35231, Tatjana Dehler)
mgr/rbd_support: 重命名 “rbd_trash_trash_purge_schedule” oid (pr#35436, Nathan Cutler, Mykola Golub)
mgr/status: 修复 “ceph fs status” json 格式写入 stderr 的问题 (pr#34727, Kotresh HR)
mgr/test_orchestrator: 修复 _get_ceph_daemons() (pr#34979, Alfonso Martínez)
mgr/volumes: 添加快照信息命令 (pr#35670, Kotresh HR)
mgr/volumes: 创建具有独立 rados 命名空间的子卷 (pr#35671, Kotresh HR)
mgr/volumes: 修复子卷创建的幂等性 (pr#35256, Kotresh HR)
mgr: 同步 ClusterState 的 health 和 mon_status (pr#34995, Radoslaw Zarzynski)
monitoring: 修复 “10% OSDs down” 警报描述 (pr#35151, Benoît Knecht)
monitoring: 修复 RBD 详细信息仪表板中的一些问题 (pr#35463, Kiefer Chang)
rbd: librbd: 观察者在检测到黑名单后不应尝试重新观察 (pr#35439, Jason Dillaman)
rbd: librbd: 避免在持有其锁时完成 mirror:DisableRequest (pr#35126, Jason Dillaman)
rbd: librbd: 复制 API 默认不应继承 v1 镜像格式 (pr#35255, Jason Dillaman)
rbd: librbd: 使 rbd_read_from_replica_policy 实际生效 (pr#35438, Ilya Dryomov)
rbd: pybind: RBD.create() 方法的 'old_format' 参数现在默认为 False (pr#35435, Jason Dillaman)
rbd: rbd-mirror: 在关闭期间不要持有本地镜像日志指针的 (过时) 副本 (pr#35430, Jason Dillaman)
rbd: rbd-mirror: 在关闭时首先停止本地日志重放器 (pr#35440, Jason Dillaman, Mykola Golub)
rbd: rbd-mirror: 等待进行中的启动/停止/重启 (pr#35437, Mykola Golub)
rgw: 添加 “rgw-orphan-list” 工具和 “radosgw-admin bucket radoslist …” (pr#34991, J. Eric Ivancich)
rgw: amqp: 修复 “routable” 交付模式 (pr#35433, Yuval Lifshitz)
rgw: 匿名 swift 到不存在的对象应该返回 401 (pr#35120, Matthew Oliver)
rgw: 修复桶列表结束标记未始终正确设置的 bug (pr#34993, J. Eric Ivancich)
rgw: 修复 rgw 尝试获取匿名用户的问题 (pr#34988, Or Friedmann)
rgw: 修复一些列桶句柄泄漏 (pr#34985, Tianshan Qu)
rgw: gc: 在此之前清除 bufferlist 中的紧急数据 (pr#35434, Pritha Srivastava)
rgw: lc: 在 RGWLC 中启用线程并行性 (pr#35431, Matt Benjamin)
rgw: 通知: 修复通知中零大小的问题 (pr#34940, J. Eric Ivancich, Yuval Lifshitz)
rgw: 通知: 版本化桶中未发送版本 ID (pr#35254, Yuval Lifshitz)
rgw: radosgw-admin: 修复 'datalog list' 中的无限循环 (pr#34989, Casey Bodley)
rgw: url: 修复带有 vhosts 的 amqp url (pr#35432, Yuval Lifshitz)
tests: 将 qa/ 迁移到 Python3 (pr#35364, Kyr Shatskyy, Ilya Dryomov, Xiubo Li, Kefu Chai, Casey Bodley, Rishabh Dave, Patrick Donnelly, Sidharth Anupkrishnan, Michael Fritch)
v15.2.3 章鱼
这是 Ceph Octopus 稳定版系列的第三个错误修复版本。此版本主要解决了 v15.2.2 中潜在的 OSD 损坏问题。我们建议用户直接升级到 v15.2.3。对于运行 v15.2.2 的用户,请执行以下操作
ceph config set osd bluefs_preextend_wal_files false
Changelog
bluestore: 移除预扩展 WAL 支持 (issue#45613, Igor Fedotov, Neha Ojha)
v15.2.2 章鱼
这是 Ceph Octopus 稳定版系列的第二个错误修复版本。此版本带来了一系列跨所有组件的修复,并修补了一个安全漏洞。我们建议所有 Octopus 用户升级。
Notable Changes
CVE-2020-10736: 修复了监视器和管理器中的授权绕过漏洞 (Olle SegerDahl, Josh Durgin)
更新日志
bluestore,core: common/options: 再次默认禁用 bluefs_buffered_io (pr#34353, Mark Nelson)
bluestore: os/bluestore: 添加新设备时不要污染旧日志 (pr#34795, Yang Honggang)
bluestore: os/bluestore: 修复 'unused' 计算 (pr#34793, Igor Fedotov, xie xingguo)
bluestore: os/bluestore: 在扩展 DB/WAL 时以只读方式打开 DB (pr#34610, Adam Kupczyk, Igor Fedotov)
build/ops: rpm: 添加 python3-saml 作为安装依赖项 (pr#34474, Ernesto Puerta)
build/ops: rpm: 在 SUSE 特定 bcond 块中删除 “is_opensuse” 条件 (pr#34790, Nathan Cutler)
build/ops: spec: 解决 RPM 4.15.1 引起的一些警告 (pr#34526, Nathan Cutler)
ceph-volume/batch: 访问前检查 lvs 列表 (pr#34480, Jan Fajerski)
ceph-volume/batch: 当所有设备都被过滤时返回成功 (pr#34477, Jan Fajerski)
ceph-volume: 更新功能测试 deploy.yml 剧本 (pr#34886, Guillaume Abrioux)
cephadm: 修复 check_ip_port 以与 IPv6 配合使用 (pr#34350, Ricardo Marques)
cephadm: 更新使用的镜像 (pr#34686, Sebastian Wagner)
cephadm: ceph-volume: 禁止并发执行 (pr#34423, Sage Weil)
cephadm: rm-cluster 清理 /etc/ceph (pr#34299, Daniel-Pivonka)
cephfs,mgr: mgr/volumes: 添加获取子卷元数据的接口 (pr#34681, Kotresh HR)
cephfs,mgr: mgr: 强制从服务映射中清除正常的 ceph 实体 (issue#44677, pr#34800, Venky Shankar)
cephfs,tools: cephfs-journal-tool: 正确解析 --dry_run 参数 (pr#34804, Milind Changire)
cephfs,tools: tools/cephfs: 在构建文件目录项时添加 accounted_rstat/rstat (pr#34803, Xiubo Li)
cephfs: ceph-fuse: 链接到 libfuse3 并如果 libfuse < 3.0.0 则传递 -o big_writes 到 libfuse (pr#34769, Xiubo Li, “Yan, Zheng”, Kefu Chai)
cephfs: 客户端: 如果不需要文件写入,则重置 requested_max_size (pr#34766, “Yan, Zheng”)
cephfs: mds: 修复 ‘if there is lock cache on dir’ 检查 (pr#34273, “Yan, Zheng”)
cephfs: mon/FSCommands: 修复 'add_data_pool' 命令和 'fs new' 命令 (pr#34775, Ramana Raja)
cephfs: qa: 安装任务运行两次,双重展开导致致命错误 (pr#34912, Patrick Donnelly)
core,mon: mon/OSDMonitor: 即使 osd 已关闭也允许裁剪映射 (pr#34924, Joao Eduardo Luis)
core: ceph-object-corpus: 更新到 octopus (pr#34797, Josh Durgin)
core: mgr/DaemonServer: 为新守护进程(例如监视器)获取元数据 (pr#34416, Sage Weil)
core: mon/OSDMonitor: 始终在所有监视器上调整优先级缓存管理器内存 (pr#34917, Sridhar Seshasayee)
core: mon: 在 osd pool set size 上计算 min_size (pr#34528, Deepika Upadhyay)
core: osd/PeeringState: 不要修剪 pg 日志超过 last_update_ondisk (pr#34807, xie xingguo, Samuel Just)
core: osd/PrimaryLogPG: 修复 SPARSE_READ 统计信息 (pr#34809, Yan Jun)
devices/simple/scan: 修复日志语句中的字符串 (pr#34446, Jan Fajerski)
doc: cephadm: 批处理向后移植四月 (1) (pr#34554, Matthew Oliver, Sage Weil, Sebastian Wagner, Michael Fritch, Tim, Jeff Layton, Juan Miguel Olmo Martínez, Joshua Schmid)
doc: cephadm: 批处理向后移植四月 (2) (issue#45029, pr#34687, Maran Hidskes, Kiefer Chang, Matthew Oliver, Sebastian Wagner, Andreas Haase, Tim Serong, Zac Dover, Michael Fritch, Joshua Schmid)
doc: cephadm: 批处理向后移植四月 (3) (pr#34742, Sebastian Wagner, Dimitri Savineau, Michael Fritch)
doc: cephadm: 批处理向后移植三月 (pr#34438, Jan Fajerski, Sebastian Wagner, Daniel-Pivonka, Michael Fritch, Sage Weil)
doc: doc/releases/nautilus: 重启 OSD 使其绑定到 v2 地址 (pr#34523, Nathan Cutler)
mgr/dashboard: “Prometheus / All Alerts” 页面显示进度条 (pr#34631, Volker Theile)
mgr/dashboard: 修复 ServiceDetails 和 PoolDetails 单元测试 (pr#34760, Tiago Melo)
mgr/dashboard: 修复 iSCSI 的用户名和密码验证 (pr#34547, Tiago Melo)
mgr/dashboard: 改进 iSCSI CHAP 消息 (pr#34630, Ricardo Marques)
mgr/dashboard: 防止编辑控件时 iSCSI 目标重新创建 (pr#34548, Tiago Melo)
mgr/dashboard: RGW 自动刷新不工作 (pr#34739, Avan Thakkar)
mgr/dashboard: 修复损坏的 grafana 面板 (pr#34495, Kristoffer Grönlund)
mgr/dashboard: 更新 octopus 上的翻译 (pr#34309, Sebastian Krah)
mgr/dashboard: 添加 crush 规则测试套件 (pr#34211, Tatjana Dehler)
mgr/dashboard: 修复 API 测试以兼容 py3 (pr#34759, Kefu Chai, Laura Paduano, Alfonso Martínez)
mgr/dashboard: 修复与前端服务订阅相关的错误 (pr#34467, Alfonso Martínez)
mgr/dashboard: 修复 tasks.mgr.dashboard.test_rgw.RgwBucketTest.test_all (pr#34708, Alfonso Martínez)
mgr/dashboard: plugins/debug.py 中的 lint 错误 (pr#34625, Volker Theile)
mgr/dashboard: 缩短服务页面中 “Container ID” 和 “Container image ID” 的显示 (pr#34648, Volker Theile)
mgr/dashboard: 使用 FQDN 进行故障转移重定向 (pr#34498, Ernesto Puerta)
mgr: mgr/PyModule: 修复 handle_pyerror() 中缺失的回溯 (pr#34626, Tim Serong)
mgr: mgr/telegraf: 捕获 FileNotFoundError 异常 (pr#34629, Kefu Chai)
monitoring: 修复存储池容量不正确 (pr#34449, James Cheng)
monitoring: 磁盘和存储池填满预测警报错误触发 (pr#34395, Patrick Seidensal)
monitoring: 修复 Grafana % 百分比中的小数精度 (pr#34828, Ernesto Puerta)
monitoring: 根卷满警报触发误报 (pr#34418, Patrick Seidensal)
pybind,rbd: pybind/rbd: 确保镜像已打开才能执行操作 (pr#34425, Mykola Golub)
pybind,rbd: pybind/rbd: 修复未获取锁时,将输出 ImageNotFound 异常 (pr#34387, zhangdaolong)
qa/suites/rados/cephadm/upgrade: 从 v15.2.0 开始 (pr#34440, Sage Weil)
qa/tasks/cephadm: 添加 'roleless' 模式 (pr#34407, Sage Weil)
rbd,tests: tests: 更新 unmap.t 以适应表间距更改 (pr#34819, Ilya Dryomov)
rbd: rbd-mirror: 改进复制统计信息 (pr#34810, Mykola Golub, Jason Dillaman)
rbd: rbd: 在添加新对等体时忽略 tx-only 镜像对等体 (pr#34638, Jason Dillaman)
rgw: 当 GET 请求带有范围头时,禁用整个头对象的预取 (pr#34826, Or Friedmann)
rgw: pubsub 同步模块忽略 ERR_USER_EXIST (pr#34825, Casey Bodley)
rgw: radosgw-admin: 在桶统计命令中添加对 --bucket-id 的支持 (pr#34816, Vikhyat Umrao)
rgw: reshard: 从 reshard 队列中跳过陈旧的桶 ID 条目 (pr#34734, Abhishek Lekshmanan)
rgw: 无条件使用 DEFER_DROP_PRIVILEGES 标志 (pr#34731, Casey Bodley)
v15.2.1 章鱼
这是 Ceph Octopus 的第一个错误修复版本,我们建议所有 Octopus 用户升级。此版本修复了一个升级问题,并且还有 2 个安全修复
值得注意的更改
issue#44759: 修复了 luminous->nautilus->octopus 升级断言
CVE-2020-1759: 修复了 msgr V2 安全模式中的 nonce 重用
CVE-2020-1760: Fixed XSS due to RGW GetObject header-splitting
更新日志
build/ops: 修复 ceph_release 类型为 'stable' (pr#34194, Sage Weil)
build/ops: vstart_runner.py: 修复检查不存在路径是否已挂载时的 OSError (pr#34132, Alfonso Martínez)
cephadm: 添加 alertmanager adopt (pr#34157, Eric Jackson)
cephadm: 添加 alertmanager 示例 (pr#34158, Eric Jackson)
cephadm: 修复 “ceph mgr dump” 的截断输出 (pr#34258, Sebastian Wagner)
mgr/cephadm: 添加调试 ssh 故障时运行的示例 (pr#34153, Sebastian Wagner)
mgr/cephadm: DriveGroupSpec 需要支持/忽略 _unmanaged_ (pr#34185, Joshua Schmid)
mgr/cephadm: 将 grafana 绑定到所有接口 (pr#34191, Sage Weil)
mgr/cephadm: 修复 'orch ps --refresh' (pr#34190, Sage Weil)
mgr/cephadm: 修复指定版本时 'upgrade start' 消息 (pr#34186, Sage Weil)
mgr/cephadm: 在 prometheus 部署中包含警报 (pr#34155, Sage Weil)
mgr/cephadm: 将 alertmanager 指向所有 mgr/dashboard URL (pr#34154, Sage Weil)
mgr/cephadm: 通过编排器提供 nfs-ganesha (pr#34192, Michael Fritch)
mgr/dashboard: 检查缺失的 npm 解析 (pr#34202, Tiago Melo)
mgr/dashboard: NoRebalance 标志已添加到仪表板 (pr#33939, Nizamudeen)
mgr/dashboard: 更正编排器文档链接 (pr#34212, Tatjana Dehler)
mgr/dashboard: 不在用户创建 (CLI) 上失败 (pr#34280, Tatjana Dehler)
mgr/orch: 允许按 service_name 列出守护进程 (pr#34160, Kiefer Chang)
mgr/prometheus: ceph_pg_* 指标包含上次值,而不是所有报告状态的总和 (pr#34163, Jacek Suchenia)
mgr/rook: 闪烁的灯光 (pr#34199, Juan Miguel Olmo Martínez)
osd/PeeringState: 丢弃 mimic 断言 (pr#34204, Sage Weil)
osd/PeeringState: 修复挂起的 want_acting 与 osd 离线竞争 (pr#34123, xie xingguo)
pybind/mgr: 修复 config_notify 对默认值的处理 (pr#34178, Nathan Cutler)
rbd: librbd: 修复客户端向后兼容性问题 (issue#39450, issue#38834, pr#34323, Jason Dillaman)
tools: ceph-backport.sh: add deprecation warning (pr#34125, Nathan Cutler)
v15.2.0 Octopus
This is the first stable release of Ceph Octopus.
Major Changes from Nautilus
General
A new deployment tool called cephadm has been introduced that integrates Ceph daemon deployment and management via containers into the orchestration layer. For more information see Cephadm.
Health alerts can now be muted, either temporarily or permanently.
Health alerts are now raised for recent Ceph daemons crashes.
A simple ‘alerts’ module has been introduced to send email health alerts for clusters deployed without the benefit of an existing external monitoring infrastructure.
Packages are built for the following distributions
CentOS 8
CentOS 7 (partial--see below)
Ubuntu 18.04 (Bionic)
Debian Buster
Container image (based on CentOS 8)
Note that the dashboard, prometheus, and restful manager modules will not work on the CentOS 7 build due to Python 3 module dependencies that are missing in CentOS 7.
Besides this packages built by the community will also available for the following distros
Fedora (33/rawhide)
openSUSE (15.2, Tumbleweed)
仪表盘
The Ceph Dashboard has gained a lot of new features and functionality
UI Enhancements
New vertical navigation bar
New unified sidebar: better background task and events notification
Shows all progress mgr module notifications
Multi-select on tables to perform bulk operations
Dashboard user account security enhancements
Disabling/enabling existing user accounts
Clone an existing user role
Users can change their own password
Configurable password policies: Minimum password complexity/length requirements
Configurable password expiration
Change password after first login
New and enhanced management of Ceph features/services
OSD/device management
List all disks associated with an OSD
Add support for blinking enclosure LEDs via the orchestrator
List all hosts known by the orchestrator
List all disks and their properties attached to a node
Display disk health information (health prediction and SMART data)
Deploy new OSDs on new disks/hosts
Display and allow sorting by an OSD’s default device class in the OSD table
Explicitly set/change the device class of an OSD, display and sort OSDs by device class
Pool management
Viewing and setting pool quotas
Define and change per-pool PG autoscaling mode
RGW management enhancements
Enable bucket versioning
Enable MFA support
Select placement target on bucket creation
CephFS management enhancements
CephFS client eviction
CephFS snapshot management
CephFS quota management
Browse CephFS directory
iSCSI management enhancements
Show iSCSI GW status on landing page
Prevent deletion of IQNs with open sessions
Display iSCSI “logged in” info
Prometheus alert management
List configured Prometheus alerts
RADOS
Objects can now be brought in sync during recovery by copying only the modified portion of the object, reducing tail latencies during recovery.
Ceph will allow recovery below min_size for Erasure coded pools, wherever possible.
The PG autoscaler feature introduced in Nautilus is enabled for new pools by default, allowing new clusters to autotune pg num without any user intervention. The default values for new pools and RGW/CephFS metadata pools have also been adjusted to perform well for most users.
BlueStore has received several improvements and performance updates, including improved accounting for “omap” (key/value) object data by pool, improved cache memory management, and a reduced allocation unit size for SSD devices. (Note that by default, the first time each OSD starts after upgrading to octopus it will trigger a conversion that may take from a few minutes to a few hours, depending on the amount of stored “omap” data.)
Snapshot trimming metadata is now managed in a more efficient and scalable fashion.
RBD block storage
Mirroring now supports a new snapshot-based mode that no longer requires the journaling feature and its related impacts in exchange for the loss of point-in-time consistency (it remains crash consistent).
Clone operations now preserve the sparseness of the underlying RBD image.
The trash feature has been improved to (optionally) automatically move old parent images to the trash when their children are all deleted or flattened.
The trash can be configured to automatically purge on a defined schedule.
Images can be online re-sparsified to reduce the usage of zeroed extents.
The
rbd-nbdtool has been improved to use more modern kernel interfaces.Caching has been improved to be more efficient and performant.
rbd-mirrorautomatically adjusts its per-image memory usage based upon its memory target.A new persistent read-only caching daemon is available to offload reads from shared parent images.
RGW object storage
New Multisite Sync Policy primitives for per-bucket replication. (EXPERIMENTAL)
S3 feature support
Bucket Replication (EXPERIMENTAL)
Bucket Notifications via HTTP/S, AMQP and Kafka
Bucket Tagging
Object Lock
Public Access Block for buckets
Bucket sharding
Significantly improved listing performance on buckets with many shards.
Dynamic resharding prefers prime shard counts for improved distribution.
Raised the default number of bucket shards to 11.
Added HashiCorp Vault Integration for SSE-KMS.
Added Keystone token cache for S3 requests.
CephFS distributed file system
Inline data support in CephFS has been deprecated and will likely be removed in a future release.
MDS daemons can now be assigned to manage a particular file system via the new
mds_join_fsoption.MDS now aggressively asks idle clients to trim caps which improves stability when file system load changes.
The mgr volumes plugin has received numerous improvements to support CephFS via CSI, including snapshots and cloning.
cephfs-shell has had numerous incremental improvements and bug fixes.
Upgrading from Mimic or Nautilus
注意
您可以使用 ceph versions 命令监控每个阶段的升级进度,该命令将告诉您每种类型的守护程序正在运行的 ceph 版本。
说明
确保您的集群稳定且健康(没有 down 或正在恢复的 OSD)。(可选,但推荐。)
在升级期间设置
noout标志。(可选,但推荐。)# ceph osd set noout
通过安装新包并重新启动监视器守护程序来升级监视器。例如,在每个监视器主机上,
# systemctl restart ceph-mon.target
Once all monitors are up, verify that the monitor upgrade is complete by looking for the
octopusstring in the mon map. The command# ceph mon dump | grep min_mon_release
应报告
min_mon_release 15 (octopus)如果找不到,则意味着一个或多个监视器尚未升级和重新启动和/或仲裁不包括所有监视器。
通过安装新包并重新启动所有管理器守护程序来升级
ceph-mgr守护程序。例如,在每个管理器主机上,# systemctl restart ceph-mgr.target
通过检查
ceph -s来验证ceph-mgr守护程序是否正在运行# ceph -s ... services: mon: 3 daemons, quorum foo,bar,baz mgr: foo(active), standbys: bar, baz ...
通过安装新包并重新启动所有 OSD 主机上的 ceph-osd 守护程序来升级所有 OSD
# systemctl restart ceph-osd.target
Note that the first time each OSD starts, it will do a format conversion to improve the accounting for “omap” data. This may take a few minutes to as much as a few hours (for an HDD with lots of omap data). You can disable this automatic conversion with
# ceph config set osd bluestore_fsck_quick_fix_on_mount false
您可以使用
ceph versions或ceph osd versions命令监控 OSD 升级进度# ceph osd versions { "ceph version 13.2.5 (...) mimic (stable)": 12, "ceph version 15.2.0 (...) octopus (stable)": 22, }
升级所有 CephFS MDS 守护程序。对于每个 CephFS 文件系统:
将排名数减少到 1。(如果您计划稍后恢复,请先记下原始 MDS 守护程序数。)
# ceph status # ceph fs set <fs_name> max_mds 1
通过定期检查状态等待集群停用任何非零排名:
# ceph status
在适当的主机上使用以下命令使所有 standby MDS 守护程序离线:
# systemctl stop ceph-mds@<daemon_name>
确认只有一个 MDS 在线并且是您的 FS 的排名 0:
# ceph status
通过安装新软件包并重新启动守护程序来升级最后剩下的 MDS 守护程序:
# systemctl restart ceph-mds.target
重新启动所有已离线的 standby MDS 守护程序:
# systemctl start ceph-mds.target
恢复卷的
max_mds原始值:# ceph fs set <fs_name> max_mds <original_max_mds>
通过升级包并重新启动所有主机上的守护程序来升级所有 radosgw 守护程序
# systemctl restart ceph-radosgw.target
Complete the upgrade by disallowing pre-Octopus OSDs and enabling all new Octopus-only functionality
# ceph osd require-osd-release octopus
如果您在开始时设置了
noout,请务必使用以下命令将其清除:# ceph osd unset noout
使用
ceph health验证集群是否健康。如果您的 CRUSH tunables 早于 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”存储桶将解锁一些最近的功能,例如在 Luminous 中添加的 crush-compat balancer 模式。
If you are upgrading from Mimic, or did not already do so when you upgraded to Nautlius, we recommended you enable the new v2 network protocol, issue the following command
ceph mon enable-msgr2这将指示所有绑定到旧默认端口 6789 以用于传统 v1 协议的监视器也绑定到新的 3300 v2 协议端口。要查看是否所有监视器都已更新,
ceph mon dump并验证每个监视器都列出了
v2:和v1:地址。Consider enabling the telemetry module to send anonymized usage statistics and crash information to the Ceph upstream developers. To see what would be reported (without actually sending any information to anyone),
ceph mgr module enable telemetry ceph telemetry show
如果您对报告的数据感到满意,可以选择自动报告高级集群元数据,使用
ceph telemetry onFor more information about the telemetry module, see the documentation.
Upgrading from pre-Mimic releases (like Luminous)
You must first upgrade to Mimic (13.2.z) or Nautilus (14.2.z) before upgrading to Octopus.
Upgrade compatibility notes
Starting with Octopus, there is now a separate repository directory for each version on download.ceph.com (e.g.,
rpm-15.2.0anddebian-15.2.0). The traditional package directory that is named after the release (e.g.,rpm-octopusanddebian-octopus) is now a symlink to the most recently bug fix version for that release. We no longer generate a single repository that combines all bug fix versions for a single named release.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_ops” and “objecter_inflight_op_bytes” parameters by the old “num_rados_handles” to get the same throttle behavior.
Ceph now packages python bindings for python3.6 instead of python3.4, because python3 in EL7/EL8 is now using python3.6 as the native python3. see the announcement for more details on the background of this change.
librbd now uses a write-around cache policy be default, replacing the previous write-back cache policy default. This cache policy allows librbd to immediately complete write IOs while they are still in-flight to the OSDs. Subsequent flush requests will ensure all in-flight write IOs are completed prior to completing. The librbd cache policy can be controlled via a new “rbd_cache_policy” configuration option.
librbd now includes a simple IO scheduler which attempts to batch together multiple IOs against the same backing RBD data block object. The librbd IO scheduler policy can be controlled via a new “rbd_io_scheduler” configuration option.
RGW: 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.
RGW: Bucket naming restrictions have changed and likely to cause InvalidBucketName errors. We recommend to set
rgw_relaxed_s3_bucket_namesoption to true as a workaround.In the Zabbix Mgr Module there was a typo in the key being send to Zabbix for PGs in backfill_wait state. The key that was sent was ‘wait_backfill’ and the correct name is ‘backfill_wait’. Update your Zabbix template accordingly so that it accepts the new key being send to Zabbix.
zabbix plugin for ceph manager now includes osd and pool discovery. Update of zabbix_template.xml is needed to receive per-pool (read/write throughput, diskspace usage) and per-osd (latency, status, pgs) statistics
The format of all date + time stamps has been modified to fully conform to ISO 8601. The old format (
YYYY-MM-DD HH:MM:SS.ssssss) excluded theTseparator between the date and time and was rendered using the local time zone without any explicit indication. The new format includes the separator as well as a+nnnnor-nnnnsuffix to indicate the time zone, or aZsuffix if the time is UTC. For example,2019-04-26T18:40:06.225953+0100.Any code or scripts that was previously parsing date and/or time values from the JSON or XML structure CLI output should be checked to ensure it can handle ISO 8601 conformant values. Any code parsing date or time values from the unstructured human-readable output should be modified to parse the structured output instead, as the human-readable output may change without notice.
The
bluestore_no_per_pool_stats_toleranceconfig option has been replaced withbluestore_fsck_error_on_no_per_pool_stats(default: false). The overall default behavior has not changed: fsck will warn but not fail on legacy stores, and repair will convert to per-pool stats.The disaster-recovery related ‘ceph mon sync force’ command has been replaced with ‘ceph daemon <…> sync_force’.
The
osd_recovery_max_activeoption now hasosd_recovery_max_active_hddandosd_recovery_max_active_ssdvariants, each with different default values for HDD and SSD-backed OSDs, respectively. By defaultosd_recovery_max_activenow defaults to zero, which means that the OSD will conditionally use the HDD or SSD option values. Administrators who have customized this value may want to consider whether they have set this to a value similar to the new defaults (3 for HDDs and 10 for SSDs) and, if so, remove the option from their configuration entirely.monitors now have a ceph osd info command that will provide information on all osds, or provided osds, thus simplifying the process of having to parse osd dump for the same information.
The structured output of
ceph statusorceph -sis now more concise, particularly the mgrmap and monmap sections, and the structure of the osdmap section has been cleaned up.A health warning is now generated if the average osd heartbeat ping time exceeds a configurable threshold for any of the intervals computed. The OSD computes 1 minute, 5 minute and 15 minute intervals with average, minimum and maximum values. New configuration option
mon_warn_on_slow_ping_ratiospecifies a percentage ofosd_heartbeat_graceto determine the threshold. A value of zero disables the warning. New configuration optionmon_warn_on_slow_ping_timespecified in milliseconds over-rides the computed value, causes a warning when OSD heartbeat pings take longer than the specified amount. New admin commandceph daemon mgr.# dump_osd_network [threshold]command will list all connections with a ping time longer than the specified threshold or value determined by the config options, for the average for any of the 3 intervals. New admin commandceph daemon osd.# dump_osd_network [threshold]will do the same but only including heartbeats initiated by the specified OSD.Inline data support for CephFS has been deprecated. When setting the flag, users will see a warning to that effect, and enabling it now requires the
--yes-i-really-really-mean-itflag. If the MDS is started on a filesystem that has it enabled, a health warning is generated. Support for this feature will be removed in a future release.ceph {set,unset} fullis not supported anymore. We have been usingfullandnearfullflags in OSD map for tracking the fullness status of a cluster back since the Hammer release, if the OSD map is markedfullall write operations will be blocked until this flag is removed. In the Infernalis release and Linux kernel 4.7 client, we introduced the per-pool full/nearfull flags to track the status for a finer-grained control, so the clients will hold the write operations if either the cluster-widefullflag or the per-poolfullflag is set. This was a compromise, as we needed to support the cluster with and without per-poolfullflags support. But this practically defeated the purpose of introducing the per-pool flags. So, in the Mimic release, the new flags finally took the place of their cluster-wide counterparts, as the monitor started removing these two flags from OSD map. So the clients of Infernalis and up can benefit from this change, as they won’t be blocked by the full pools which they are not writing to. In this release,ceph {set,unset} fullis now considered as an invalid command. And the clients will continue honoring both the cluster-wide and per-pool flags to be backward compatible with pre-infernalis clusters.The telemetry module now reports more information.
First, there is a new ‘device’ channel, enabled by default, that will report anonymized hard disk and SSD health metrics to telemetry.ceph.com in order to build and improve device failure prediction algorithms. If you are not comfortable sharing device metrics, you can disable that channel first before re-opting-in
ceph config set mgr mgr/telemetry/channel_device falseSecond, we now report more information about CephFS file systems, including
MDS 守护进程数量(总数和每个文件系统)
启用了哪些功能(或曾经启用)
数据池数量
大致文件系统年龄(创建年份 + 月份)
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
监视器是否使用 IPv4 或 IPv6 地址
是否启用了 RADOS 缓存层(以及哪种模式)
池是 replicated 还是 erasure coded,以及使用了哪个 erasure code profile plugin 和参数
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
存在多少 RGW 守护进程、zone 和 zonegroup;使用了哪些 RGW frontend
有关 CRUSH map 的聚合统计信息,例如使用了哪些算法、bucket 有多大、定义了多少规则以及使用了哪些 tunables
If you had telemetry enabled, you will need to re-opt-in with
ceph telemetry on您可以先使用以下命令查看将报告的确切信息
$ ceph telemetry show # see everything $ ceph telemetry show basic # basic cluster info (including all of the new info)
Following invalid settings now are not tolerated anymore for the command ceph osd erasure-code-profile set xxx. * invalid m for “reed_sol_r6_op” erasure technique * invalid m and invalid w for “liber8tion” erasure technique
New OSD daemon command dump_recovery_reservations which reveals the recovery locks held (in_progress) and waiting in priority queues.
New OSD daemon command dump_scrub_reservations which reveals the scrub reservations that are held for local (primary) and remote (replica) PGs.
Previously,
ceph tell mgr ...could be used to call commands implemented by mgr modules. This is no longer supported. Since Luminous, usingtellhas not been necessary: those same commands are also accessible without thetell mgrportion (e.g.,ceph tell mgr influx foois the same asceph influx foo.ceph tell mgr ...will now call admin commands--the same set of commands accessible viaceph daemon ...when you are logged into the appropriate host.The
ceph tellandceph daemoncommands have been unified, such that all such commands are accessible via either interface. Note that ceph-mgr tell commands are accessible via eitherceph tell mgr ...orceph tell mgr.<id> ..., and it is only possible to send tell commands to the active daemon (the standbys do not accept incoming connections over the network).Ceph will now issue a health warning if a RADOS pool as a
pg_numvalue that is not a power of two. This can be fixed by adjusting the pool to a nearby power of twoceph 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 falseThe format of MDSs in
ceph fs dumphas changed.The
mds_cache_sizeconfig option is completely removed. Since Luminous, themds_cache_memory_limitconfig option has been preferred to configure the MDS’s cache limits.The
pg_autoscale_modeis now set toonby default for newly created pools, which means that Ceph will automatically manage the number of PGs. To change this behavior, or to learn more about PG autoscaling, see Autoscaling placement groups. Note that existing pools in upgraded clusters will still be set towarnby default.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 autoscalewarnmode to avoid data movement during the upgradeceph osd pool set <pool-name> pg_autoscale_mode warnThe
upmap_max_iterationsconfig option of mgr/balancer has been renamed toupmap_max_optimizationsto better match its behaviour.mClockClientQueueandmClockClassQueueOpQueue implementations have been removed in favor of of a singlemClockSchedulerimplementation of a simpler OSD interface. Accordingly, theosd_op_queue_mclock*family of config options has been removed in favor of theosd_mclock_scheduler*family of options.The config subsystem now searches dot (‘.’) delimited prefixes for options. That means for an entity like
client.foo.bar, its overall configuration will be a combination of the global options,client,client.foo, andclient.foo.bar. Previously, only global,client, andclient.foo.baroptions would apply. This change may affect the configuration for clients that include a.in their name.MDS default cache memory limit is now 4GB.
The behaviour of the
-oargument 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.In certain rare cases, OSDs would self-classify themselves as type ‘nvme’ instead of ‘hdd’ or ‘ssd’. This appears to be limited to cases where BlueStore was deployed with older versions of ceph-disk, or manually without ceph-volume and LVM. Going forward, the OSD will limit itself to only ‘hdd’ and ‘ssd’ (or whatever device class the user manually specifies).
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 an 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.
The configuration value
osd_calc_pg_upmaps_max_stddevused for upmap balancing has been removed. Instead use the mgr balancer configupmap_max_deviationwhich now is an integer number of PGs of deviation from the target PGs per OSD. This can be set with a command likeceph config set mgr mgr/balancer/upmap_max_deviation 2. The defaultupmap_max_deviationis 1. 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 one of the racks. In those cases, the configuration value can be increased.MDS daemons can now be assigned to manage a particular file system via the new
mds_join_fsoption. The monitors will try to use only MDS for a file system with mds_join_fs equal to the file system name (strong affinity). Monitors may also deliberately failover an active MDS to a standby when the cluster is otherwise healthy if the standby has stronger affinity.RGW Multisite: A new fine grained bucket-granularity policy configuration system has been introduced and it supersedes the previous coarse zone sync configuration (specifically the
sync_fromandsync_from_allfields in the zonegroup configuration. New configuration should only be configured after all relevant zones in the zonegroup have been upgraded.RGW S3: Support has been added for BlockPublicAccess set of APIs at a bucket level, currently blocking/ignoring public acls & policies are supported. User/Account level APIs are planned to be added in the future
RGW: The default number of bucket index shards for new buckets was raised from 1 to 11 to increase the amount of write throughput for small buckets and delay the onset of dynamic resharding. This change only affects new deployments/zones. To change this default value on existing deployments, use
radosgw-admin zonegroup modify --bucket-index-max-shards=11. If the zonegroup is part of a realm, the change must be committed withradosgw-admin period update --commit- otherwise the change will take effect after radosgws are restarted.
Changelog
.gitignore: add more stuff (pr#29568, Volker Theile)
async/dpdk: fix compile errors from ceph::mutex update (pr#30066, yehu)
bluestore,build/ops,common,rgw: Enable _GLIBCXX_ASSERTIONS and fix unittest problems (pr#32387, Samuel Just)
bluestore,cephfs,common,core,mgr,mon,rbd,rgw: src/: s/Mutex/ceph::mutex/ (pr#29113, Kefu Chai)
bluestore,common,core,mgr,rbd: common/RefCountedObj: cleanup con/des (pr#29672, Patrick Donnelly)
bluestore,common,core,rgw: common, \*: kill the bl::last_p member. Use iterator instead (pr#32831, Radoslaw Zarzynski)
bluestore,common: os/bluestore: s/align_down/p2align/ (pr#29379, Kefu Chai)
bluestore,core: common/options: Set bluestore min_alloc size to 4K (pr#30698, Mark Nelson)
bluestore,core: common/options: Set concurrent bluestore rocksdb compactions to 2 (pr#29027, Mark Nelson)
bluestore,core: mon,osd: only use new per-pool usage stats once \*all\* osds are reporting (pr#28978, Sage Weil)
bluestore,core: os/bluestore,mon: segregate omap keys by pool; report via df (pr#29292, Sage Weil)
bluestore,core: os/bluestore/BlueFS: explicit check for too-granular allocations (pr#33027, Sage Weil)
bluestore,core: os/bluestore/bluefs_types: consolidate contiguous extents (pr#28821, Sage Weil)
bluestore,core: os/bluestore/KernelDevice: fix RW_IO_MAX constant (pr#29577, Sage Weil)
bluestore,core: os/bluestore: do not set osd_memory_target default from cgroup limit (pr#29581, Sage Weil)
bluestore,core: os/bluestore: drop (semi-broken) nvme automatic class (pr#31796, Sage Weil)
bluestore,core: os/bluestore: expand lttng tracepoints, improve fio_ceph_objectstore backend (pr#29674, Samuel Just)
bluestore,core: os/bluestore: Keep separate onode cache pinned list (pr#30964, Mark Nelson)
bluestore,core: os/bluestore: prefix omap of temp objects by real pool (pr#29717, xie xingguo)
bluestore,core: os/bluestore: Unify on preadv for io_uring and future refactor (pr#28025, Mark Nelson)
bluestore,core: os/bluestore: v.2 framework for more intelligent DB space usage (pr#29687, Igor Fedotov)
bluestore,mgr,rgw: rgw,bluestore: fixes to address failures from check-generated.sh (pr#29862, Kefu Chai)
bluestore,mon: os/bluestore: create the tail when first set FLAG_OMAP (pr#27627, Tao Ning)
bluestore,tools: os/bluestore/bluestore-tool: minor fixes around migrate (pr#28651, Igor Fedotov)
bluestore,tools: tools/ceph-objectstore-tool: implement onode metadata dump (pr#27869, Igor Fedotov)
bluestore,tools: tools/ceph-objectstore-tool: introduce list-slow-omap command (pr#27985, Igor Fedotov)
bluestore: BlueFS: prevent BlueFS::dirty_files from being leaked when syncing metadata (pr#30631, Xuehan Xu)
bluestore: bluestore/allocator: Ageing test for bluestore allocators (pr#22574, Adam Kupczyk)
bluestore: bluestore/bdev: initialize size when creating object (pr#29968, Willem Jan Withagen)
bluestore: bluestore/bluefs: make accounting resiliant to unlock() (pr#32584, Adam Kupczyk)
bluestore: common/options.cc: change default value of bluestore_fsck_on_mount_deep to false (pr#29408, Neha Ojha)
bluestore: common/options: bluestore 64k min_alloc_size for HDD (pr#32809, Sage Weil)
bluestore: NVMEDevice: Remove the unnecessary aio_wait in sync read (pr#33597, Ziye Yang)
bluestore: NVMEDevice: Split the read I/O if the io size is large (pr#32647, Ziye Yang)
bluestore: os/bluestore/Blue(FS|Store): uint64_t alloc_size (pr#32484, Bernd Zeimetz)
bluestore: os/bluestore/BlueFS: clear newly allocated space for WAL logs (pr#30549, Adam Kupczyk)
bluestore: os/bluestore/BlueFS: fixed printing stats (pr#33235, Adam Kupczyk)
bluestore: os/bluestore/BlueFS: less verbose about alloc adjustments (pr#33512, Sage Weil)
bluestore: os/bluestore/BlueFS: Move bluefs alloc size initialization log message to log level 1 (pr#29822, Vikhyat Umrao)
bluestore: os/bluestore/BlueFS: replace flush_log with sync_metadata (pr#32563, Jianpeng Ma)
bluestore: os/bluestore/BlueFS: use 64K alloc_size on the shared device (pr#29537, Sage Weil, Neha Ojha)
bluestore: os/bluestore/BlueStore.cc: set priorities for compression stats (pr#31959, Neha Ojha)
bluestore: os/bluestore/spdk: Fix the overflow error of parsing spdk coremask (pr#32440, Hu Ye, Chunsong Feng, luo rixin)
bluestore: os/bluestore: Actually wait until completion in write_sync (pr#26909, Vitaliy Filippov)
bluestore: os/bluestore: add bluestore_bluefs_max_free; smooth space balancing a bit (pr#30231, xie xingguo)
bluestore: os/bluestore: add slow op detection for collection_listing (issue#40741, pr#29085, Igor Fedotov)
bluestore: os/bluestore: allocate Task on stack (pr#33358, Jun Su)
bluestore: os/bluestore: apply garbage collection against excessive blob count growth (pr#28229, Igor Fedotov)
bluestore: os/bluestore: AVL-tree & extent - based space allocator (pr#30897, Adam Kupczyk, xie xingguo, Kefu Chai)
bluestore: os/bluestore: avoid length overflow in extents returned by Stupid (issue#40703, pr#28945, Igor Fedotov)
bluestore: os/bluestore: avoid race between split_cache and get/put pin/unpin (pr#32665, Sage Weil)
bluestore: os/bluestore: avoid unnecessary notify (pr#29345, Jianpeng Ma)
bluestore: os/bluestore: be more verbose doing bluefs log replay (pr#27615, Igor Fedotov)
bluestore: os/bluestore: bluefs_preextend_wal_files=true (pr#28322, Sage Weil)
bluestore: os/bluestore: call fault_range prior to looking for blob to reuse (pr#27444, Igor Fedotov)
bluestore: os/bluestore: check bluefs allocations on log replay (pr#31513, Igor Fedotov)
bluestore: os/bluestore: check return value of func _open_db_and_around (pr#27477, Jianpeng Ma)
bluestore: os/bluestore: cleanup around allocator calls (pr#29068, Igor Fedotov)
bluestore: os/bluestore: cleanups (pr#30737, Kefu Chai)
bluestore: os/bluestore: consolidate extents from the same device only (pr#31621, Igor Fedotov)
bluestore: os/bluestore: correctly measure deferred writes into new blobs (issue#38816, pr#27789, Sage Weil)
bluestore: os/bluestore: deferred IO notify and locking optimization (pr#29522, Jianpeng Ma)
bluestore: os/bluestore: do not check osd_max_object_size in _open_path() (pr#26176, Igor Fedotov)
bluestore: os/bluestore: do not mark per_pool_omap updated unless we fixed it (pr#31167, Sage Weil)
bluestore: os/bluestore: dont round_up_to in apply_for_bitset_range (pr#31903, Jianpeng Ma)
bluestore: os/bluestore: dump onode before no available blob id abort (pr#27911, Igor Fedotov)
bluestore: os/bluestore: dump onode that has too many spanning blobs (pr#28010, Igor Fedotov)
bluestore: os/bluestore: fix >2GB writes (pr#27871, Sage Weil, kungf)
bluestore: os/bluestore: fix bitmap allocator issues (pr#26939, Igor Fedotov)
bluestore: os/bluestore: fix duplicate allocations in bmap allocator (issue#40080, pr#28496, Igor Fedotov)
bluestore: os/bluestore: fix duplicative and misleading debug in KernelDevice::open() (pr#28630, Radoslaw Zarzynski)
bluestore: os/bluestore: fix for FreeBSD iocb structure (pr#27458, Willem Jan Withagen)
bluestore: os/bluestore: fix invalid stray shared blob detection in fsck (pr#30616, Igor Fedotov)
bluestore: os/bluestore: fix missing discard in BlueStore::_kv_sync_thread (pr#27843, Junhui Tang)
bluestore: os/bluestore: fix origin reference in logging slow ops (pr#27951, Igor Fedotov)
bluestore: os/bluestore: fix out-of-bound access in bmap allocator (pr#27691, Igor Fedotov)
bluestore: os/bluestore: fix per-pool omap repair (pr#32925, Igor Fedotov)
bluestore: os/bluestore: fix space balancing overflow (pr#30255, xie xingguo)
bluestore: os/bluestore: fix wakeup bug (pr#31931, Jianpeng Ma)
bluestore: os/bluestore: introduce legacy statfs and dev size mismatch alerts (pr#27519, Sage Weil, Igor Fedotov)
bluestore: os/bluestore: introduce new io_uring IO engine (pr#27392, Roman Penyaev)
bluestore: os/bluestore: its better to erase spanning blob once (pr#29238, Xiangyang Yu)
bluestore: os/bluestore: load OSD all compression settings unconditionally (issue#40480, pr#28688, Igor Fedotov)
bluestore: os/bluestore: log allocation stats on a daily basis (pr#33565, Igor Fedotov)
bluestore: os/bluestore: memorize layout of BlueFS on management (pr#30593, Radoslaw Zarzynski)
bluestore: os/bluestore: Merge deferred_finisher and finisher (pr#29623, Jianpeng Ma)
bluestore: os/bluestore: minor improvements/cleanup around allocator (pr#29738, Igor Fedotov)
bluestore: os/bluestore: more aggressive deferred submit when onode trim skipping (issue#21531, pr#25697, Zengran Zhang)
bluestore: os/bluestore: more smart allocator dump when lacking space for bluefs (issue#40623, pr#28845, Igor Fedotov)
bluestore: os/bluestore: new bluestore_debug_enforce_settings option (pr#27132, Igor Fedotov)
bluestore: os/bluestore: no need protected by OpSequencer::qlock (pr#29488, Jianpeng Ma)
bluestore: os/bluestore: no need to add tail length (revert PR#29185) (pr#29465, Xiangyang Yu)
bluestore: os/bluestore: print correctly info (pr#29939, Jianpeng Ma)
bluestore: os/bluestore: print error if spdk_nvme_ns_cmd_writev() fails (pr#31932, NancySu05)
bluestore: os/bluestore: proper locking for BlueFS prefetching (pr#29012, Igor Fedotov)
bluestore: os/bluestore: reduce wakeups (pr#29130, Jianpeng Ma)
bluestore: os/bluestore: Refactor Bluestore Caches (pr#28597, Mark Nelson)
bluestore: os/bluestore: remove unused arg to _get_deferred_op() (issue#40918, pr#29320, Sage Weil)
bluestore: os/bluestore: remove unused _tune_cache_size() method declaration (pr#29393, Igor Fedotov)
bluestore: os/bluestore: restore and fix bug with onode cache pinning (pr#31778, Josh Durgin)
bluestore: os/bluestore: revert cache pinned list (pr#31180, Sage Weil)
bluestore: os/bluestore: set STATE_KV_SUBMITTED properly (pr#30753, Igor Fedotov)
bluestore: os/bluestore: show device name in osd metadata output (pr#28107, Igor Fedotov)
bluestore: os/bluestore: silence StupidAllocator reorder warning (pr#29866, Jos Collin)
bluestore: os/bluestore: simplify multithreaded shallow fsck (pr#31473, Igor Fedotov)
bluestore: os/bluestore: simplify per-pool-stat config options (pr#30350, Sage Weil, Igor Fedotov)
bluestore: os/bluestore: support RocksDB prefetch in buffered read mode (issue#36482, pr#27782, Igor Fedotov)
bluestore: os/bluestore: tiny tracepoints improvement (pr#31669, Adam Kupczyk)
bluestore: os/bluestore: upgrade legacy omap to per-pool format automatically (pr#32758, Igor Fedotov)
bluestore: os/bluestore: verify disk layout of BlueFS (issue#25098, pr#30109, Radoslaw Zarzynski)
bluestore: os/bluestore:fix two calculation bugs (pr#29185, Xiangyang Yu)
bluestore: os/ceph-bluestore-tool: bluefs-bdev-expand asserts if no WAL (pr#27445, Igor Fedotov)
bluestore: os/objectstore: add new op OP_CREATE for create a new object (pr#26251, Jianpeng Ma)
bluestore: Revert os/bluestore: add kv_drain_preceding_waiters indicate drain_preceding. (pr#31503, Sage Weil)
bluestore: test/fio: handle nullptr when parsing throttle params (pr#31681, Igor Fedotov)
bluestore: [bluestore][tools] Inspect allocations in bluestore (pr#29425, Adam Kupczyk)
build(deps): bump lodash from 4.17.11 to 4.17.13 in /src/pybind/mgr/dashboard/frontend (pr#29192, dependabot[bot])
build/ops,cephfs,common,core,rbd: Fix big-endian handling (pr#30079, Ulrich Weigand)
build/ops,cephfs: mgr/ssh: make mds add work (pr#31059, Sage Weil)
build/ops,common,core: common, include: bump the version of ceph::buffers C++ API (pr#33373, Radoslaw Zarzynski)
build/ops,common,mgr: python-common: Python common package (pr#28915, Kefu Chai, Sebastian Wagner)
build/ops,common,rgw: rgw, common, build: drop NSS support (pr#27834, Radoslaw Zarzynski)
build/ops,core,rbd: Windows support [part 1] (pr#31981, Lucian Petrut, Alin Gabriel Serdean)
build/ops,core: ceph-crash: use client.crash[.host] to post, and provsion keys via mgr/ssh + ceph-daemon (pr#30734, Sage Weil)
build/ops,core: debian: fix ceph-mgr-modules-core files (pr#33468, Sage Weil)
build/ops,core: os/bluestore: fix pmem osd build problem (pr#28761, Peterson, Scott, Li, Xiaoyan)
build/ops,core: qa: stop testing on 16.04 xenial (pr#28943, Sage Weil)
build/ops,mgr: mgr/diskprediction_local: Replaced old models and updated predictor (pr#29437, Karanraj Chauhan)
build/ops,mgr: systemd: ceph-mgr: set MemoryDenyWriteExecute to false (issue#39628, pr#28023, Ricardo Dias)
build/ops,pybind: cmake, pybind: fix build on armhf (pr#28843, Kefu Chai)
build/ops,rbd: rpm,deb: fix python dateutil module dependency (pr#33624, Mykola Golub)
build/ops,rgw: build/rgw: unittest_rgw_dmclock_scheduler does not need Boost_LIBRARIES (pr#27466, Willem Jan Withagen)
build/ops,rgw: install-deps.sh, cmake: use boost 1.72 on bionic (pr#32391, Kefu Chai)
build/ops,tests: ceph-daemon: a few fixes; functional test (pr#31094, Sage Weil)
build/ops,tests: googletest: pick up change to suppress CMP0048 warning (pr#29471, Kefu Chai)
build/ops,tests: install-deps.sh,deb,rpm: move python-saml deps into debian/control anxe2x80xa6 (pr#29840, Kefu Chai)
build/ops,tools: src/script/credits.sh - switch to bash (pr#32736, Kai Wagner)
build/ops,tools: vstart: Now all OSDs are starting in parallel. Use --no-parallel to revert to sequential (pr#31732, Adam Kupczyk)
build/ops: .github/stale.yml: warn at 60, close at 90; adjust message (pr#24744, Lenz Grimmer, Sage Weil)
build/ops: admin/build-doc: keep-going when finding warnings (pr#27050, Abhishek Lekshmanan)
build/ops: build-doc: allow building docs on fedora 30 (pr#30136, Yuval Lifshitz)
build/ops: build-integration-branch: s/prefix/postfix/ (pr#32303, Kefu Chai)
build/ops: build: add static analysis targets (pr#31579, Yuval Lifshitz)
build/ops: build: FreeBSD does not have /etc/os-release (pr#26731, Willem Jan Withagen)
build/ops: ceph-daemon: a couple fixes (pr#31060, Sage Weil)
build/ops: ceph-daemon: add a logrotate.d file for each cluster (pr#30882, Sage Weil)
build/ops: ceph-daemon: deploy ceph daemons with podman and systemd (pr#30603, Sage Weil)
build/ops: ceph-daemon: fix logrotate su line (pr#31823, Sage Weil)
build/ops: ceph-daemon: misc improvements (pr#30826, Sage Weil)
build/ops: ceph-daemon: use /usr/bin/python, not /usr/bin/env python (pr#31318, Sage Weil)
build/ops: ceph.spec.in: add missing python-yaml dependency for mgr-k8sevents (pr#31178, Kefu Chai)
build/ops: ceph.spec.in: add runtime deps for mgr-diskprediction-cloud (pr#32232, Kefu Chai)
build/ops: ceph.spec.in: always depends on python3.6-pyOpenSSL (pr#32317, Kefu Chai)
build/ops: ceph.spec.in: Drop systemd BuildRequires in case of building for SUSE (pr#28884, Dominique Leuenberger)
build/ops: ceph.spec.in: enable amqp_endpoint on RHEL8 by default (pr#31143, Brad Hubbard)
build/ops: ceph.spec.in: fix Cython package dependency for Fedora (pr#30590, Jeff Layton)
build/ops: ceph.spec.in: fix make check deps for centos8 (pr#32798, Alfonso Martxc3xadnez)
build/ops: ceph.spec.in: fix python coverage dependency for non-rhel distros (pr#33361, Kiefer Chang)
build/ops: ceph.spec.in: fix python3 dependencies in centos7 (pr#32775, liushi)
build/ops: ceph.spec.in: grafana-dashboards package depends on grafana (pr#28228, Jan Fajerski)
build/ops: ceph.spec.in: move distro-conditional deps to dedicated section (pr#32080, Nathan Cutler)
build/ops: ceph.spec.in: package prometheus default alerts for SUSE (pr#27996, Jan Fajerski)
build/ops: ceph.spec.in: pin to gcc-c++-8.2.1 (pr#28859, Kefu Chai)
build/ops: ceph.spec.in: re-enable make check deps for el8 (pr#32412, Kefu Chai)
build/ops: ceph.spec.in: reserve more memory per build jo (pr#30126, Dan van der Ster)
build/ops: ceph.spec.in: s/pkgversion/version_nodots/ (pr#30036, Kefu Chai)
build/ops: ceph.spec.in: use g++ >= 8.3.1-3.1 (pr#30088, Kefu Chai)
build/ops: ceph.spec.in: Use pkgconfig() style BuildRequires for udev/libudev-devel (pr#32933, Dominique Leuenberger)
build/ops: ceph.spec.in: use python3 to bytecompile .py files (pr#32608, Kefu Chai)
build/ops: ceph.spec: Recommend (but do not require) podman (pr#33221, Sage Weil)
build/ops: ceph_release: octopus rc 15.1.0 (pr#32623, Sage Weil)
build/ops: cmake,crimson: pick up latest seastar (pr#27088, Kefu Chai)
build/ops: cmake,run-make-check.sh: disable SPDK by default (pr#29728, Kefu Chai)
build/ops: cmake/Boost: Fix python3 version (pr#32344, Kotresh HR)
build/ops: cmake/FindRocksDB: fix IMPORTED_LOCATION for ROCKSDB_LIBRARIES (pr#26813, dudengke)
build/ops: cmake/modules/GetGitRevisionDescription: update to work with git-worktree (pr#30772, Sage Weil)
build/ops: cmake/modules: replace ; with in compile flags (pr#28339, Kefu Chai)
build/ops: CMakeLists: add std::move warnings in gcc9 (pr#27569, Patrick Donnelly)
build/ops: crimson: clang related cleanups (pr#33680, Kefu Chai)
build/ops: crimson: fix build seastar with dpdk (pr#31426, Yingxin Cheng)
build/ops: deb,rpm,doc: s/plugin/module/ (pr#33435, Kefu Chai)
build/ops: debian/: use ceph-osd for packaging crimson-osd (pr#28535, Kefu Chai)
build/ops: debian/control: add python-routes dependency for dashboard (pr#28835, Paul Emmerich)
build/ops: debian/control: Build-Depends on g++ (pr#30410, Kefu Chai)
build/ops: debian/control: fix Build-Depends (pr#29913, Kefu Chai)
build/ops: debian/radosgw.install: correct path to libradosgw.so\* (pr#32539, Kefu Chai)
build/ops: debian/rules: run dh_python2 with ceph-daemon (pr#31313, Kefu Chai)
build/ops: debian: modules-core replaces and breaks older ceph-mgr (pr#33501, Kefu Chai)
build/ops: debian: remove dup ceph-fuse line (pr#28788, huangjun)
build/ops: dmclock: pick up change to use specified C++ settings if any (pr#30113, Kefu Chai)
build/ops: do_cmake.sh: Add a heading to the minimal config (pr#28776, Brad Hubbard)
build/ops: do_cmake.sh: Add CEPH_GIT_DIR (pr#30863, Matthew Oliver)
build/ops: do_cmake.sh: bail out if something goes wrong (pr#33016, Kefu Chai)
build/ops: do_cmake.sh: enable amqp and rdma for EL8 (pr#30974, Kefu Chai)
build/ops: do_cmake.sh: optionally specify build dir with $BUILD_DIR env var (pr#29786, Yuval Lifshitz)
build/ops: do_cmake.sh: remove -DCMAKE_BUILD_TYPE=Debug from cmake options (pr#30250, Kefu Chai)
build/ops: do_cmake.sh: use bash (issue#39981, pr#28181, Nathan Cutler)
build/ops: do_cmake: Warn user about slow debug performance only for not set (pr#31113, Junyoung, Sung)
build/ops: do_freebsd.sh: update build scripts to resemble Jenkins scripts (pr#29400, Willem Jan Withagen)
build/ops: dpdk: drop dpdk submodule (issue#24032, pr#33001, Kefu Chai)
build/ops: fix build fail related to PYTHON_EXECUTABLE variable (pr#30199, Ilsoo Byun)
build/ops: github: display phrase for signed-off check (pr#29890, Ernesto Puerta)
build/ops: install-dep,rpm: use devtools-8 on amd64 (issue#38892, pr#27134, Kefu Chai)
build/ops: install-deps, rpm: use python_provide macro and cleanups (pr#30830, Kefu Chai)
build/ops: install-deps,rpm,do_cmake: build on RHEL/CentOS 8 (pr#30630, Kefu Chai)
build/ops: install-deps.sh,src: drop python2 support (pr#31525, Kefu Chai)
build/ops: install-deps.sh: Actually set gpgcheck to false (pr#33591, Brad Hubbard)
build/ops: install-deps.sh: add EPEL repo for non-x86_64 archs as well (pr#30557, Kefu Chai, Nathan Cutler)
build/ops: install-deps.sh: add kens copr repo for el8 build (pr#32324, Kefu Chai)
build/ops: install-deps.sh: add option to skip prebuilt boost-\* pkgs installation (pr#27776, Jun He)
build/ops: install-deps.sh: add support for Ubuntu Disco Dingo (pr#30405, Patrick Seidensal)
build/ops: install-deps.sh: download wheel using pip wheel (pr#29903, Kefu Chai)
build/ops: install-deps.sh: enable PowerTool repo for EL8 (pr#30656, Kefu Chai)
build/ops: install-deps.sh: fix typo for krb5 on FreeBSD (pr#28269, Thomas Johnson)
build/ops: install-deps.sh: install binutils 2.28 for xenial (pr#31601, Kefu Chai)
build/ops: install-deps.sh: install libboost-test for seastar (pr#28015, Kefu Chai)
build/ops: install-deps.sh: install python2-{virtualenv,devel} on SUSE if needed (pr#32153, Nathan Cutler)
build/ops: install-deps.sh: install \*rpm-macros (issue#39164, pr#27524, Kefu Chai)
build/ops: install-deps.sh: install python\*-devel for python\*rpm-macros (pr#30190, Kefu Chai)
build/ops: install-deps.sh: only prepare wheels for make check (pr#29912, Kefu Chai)
build/ops: install-deps.sh: use chacra for cmake repo (pr#29475, Kefu Chai)
build/ops: install-deps.sh: Use dnf for rhel/centos 8 (pr#31144, Brad Hubbard)
build/ops: install-deps.sh: use gcc-8 on xenial and trusty (pr#28094, Kefu Chai)
build/ops: install-deps.sh: use GCC-9 on bionic (pr#28454, Kefu Chai)
build/ops: install-deps.sh: use sepia/lab-extra/8 (pr#31238, Kefu Chai)
build/ops: install-deps: do not install if rpm already installed (pr#30612, Kefu Chai)
build/ops: install-deps: enable homebrew repos for RHEL8 (pr#33905, Kefu Chai, Dan Mick)
build/ops: install-deps: revert 47d4351d (pr#30122, Kefu Chai)
build/ops: make patch build dependency explicit (issue#40175, pr#28414, Nathan Cutler)
build/ops: make perf_async_msgr link jemalloc/tcmalloc (pr#28039, Jianpeng Ma)
build/ops: make-dist: Bump Node.js to v10.18.1 (pr#33059, Tiago Melo)
build/ops: make-dist: default to no dashboard frontend build parallelism (pr#32037, Nathan Cutler)
build/ops: make-dist: drop Python 2/3 autoselect (pr#27792, Nathan Cutler)
build/ops: make-dist: set version number only once (pr#26281, Nathan Cutler)
build/ops: mgr/dashboard: Prevent angular of getting stuck during installation (pr#29929, Tiago Melo)
build/ops: mgr/rook: Make use of rook-client-python when talking to Rook (pr#29427, Sebastian Wagner)
build/ops: pybind/mgr/CMakeLists: exclude tox.ini, requirements.txt from install (pr#31577, Sage Weil)
build/ops: pybind/mgr: Exclude tests/ (pr#31671, Sebastian Wagner)
build/ops: pybind/mgr: Rename orchestrator_cli to orchestrator (pr#32817, Sebastian Wagner)
build/ops: qa/tasks/ceph_deploy: do not rely on ceph-create-keys (pr#29002, Sage Weil)
build/ops: Revert dpdk: drop dpdk submodule (pr#32992, David Galloway)
build/ops: rpm,cmake: use specified python3 version if any (pr#27358, Kefu Chai)
build/ops: rpm,deb: package always-enabled plugins in a separated package (pr#33422, Kefu Chai)
build/ops: rpm,deb: python-requests is not needed for ceph-common (pr#30420, luo.runbing)
build/ops: rpm,debian,install-deps: package crimson-osd (pr#28428, Kefu Chai)
build/ops: rpm,etc/sysconfig: remove SuSEfirewall2 support (issue#40738, pr#28957, Matthias Gerstner)
build/ops: rpm/cephadm: move HOMEDIR to /var/lib and make scriptlets idempotent on SUSE (pr#32212, Nathan Cutler)
build/ops: rpm: add cmake_verbose_logging switch (pr#32805, Nathan Cutler)
build/ops: rpm: add Provides: python3-\* for python packages and cleanup (pr#27468, Kefu Chai)
build/ops: rpm: add rpm-build to SUSE-specific make check deps (pr#32083, Nathan Cutler)
build/ops: rpm: always build ceph-test package (pr#29685, Nathan Cutler)
build/ops: rpm: define weak_deps for el8 (pr#33229, Kefu Chai)
build/ops: rpm: Disable LTO in spec when being used (issue#39974, pr#28170, Martin Lixc5xa1ka)
build/ops: rpm: drop vim-specific header (pr#32331, Nathan Cutler)
build/ops: rpm: enable devtoolset-8 on aarch64 also (issue#38892, pr#27333, Kefu Chai)
build/ops: rpm: fdupes in SUSE builds to conform with packaging guidelines (issue#40973, pr#29346, Nathan Cutler)
build/ops: rpm: fix rhel <= 7 conditional (pr#27045, Nathan Cutler)
build/ops: rpm: fix up a specfile syntax error (pr#33066, Greg Farnum)
build/ops: rpm: have pybind RPMs provide/obsolete their python2 predecessors (issue#40099, pr#28352, Nathan Cutler)
build/ops: rpm: immutable-object-cache related changes (pr#27150, Kefu Chai)
build/ops: rpm: improve ceph-mgr plugin package summaries (issue#40974, pr#29347, Nathan Cutler)
build/ops: rpm: make librados2, libcephfs2 own (create) /etc/ceph (pr#30975, Nathan Cutler)
build/ops: rpm: 将 librgw lttng SOs 放入 librgw-devel 包中(issue#40975, pr#29349, Nathan Cutler)
build/ops: rpm: 在 SLE 上不构建 ceph-resource-agents(pr#27046, Nathan Cutler)
build/ops: rpm: 放松 centos 构建的 selinux 策略版本(pr#32700, Boris Ranto)
build/ops: rpm: s/devtoolset-7/devtoolset-8/ (pr#27183, Kefu Chai)
build/ops: rpm: 使用 python 3.6 作为默认的 python3(pr#27417, Kefu Chai)
build/ops: rpm: 默认在 RHEL7 上使用 python3.4(pr#27407, Kefu Chai)
build/ops: rpm: 在 fedora 也使用 Recommends(pr#26819, Kefu Chai)
build/ops: 以一小时超时运行 npm ci(pr#28994, Nathan Cutler)
build/ops: run-make-check.sh: 提取 run-make.sh(pr#30184, Kefu Chai)
build/ops: run-make-check.sh: 使用绝对路径运行 sudo(pr#29753, Kefu Chai)
build/ops: run-make-check.sh: 按需 WITH_SEASTAR(pr#33723, Kefu Chai)
build/ops: script,doc: 添加 gen-corpus.sh(pr#28950, Kefu Chai)
build/ops: script/build-integration-branch: 添加用法(pr#32293, Sebastian Wagner)
build/ops: script/run-make.sh: 不要两次传递 cmake 选项(pr#30318, Kefu Chai)
build/ops: script/run_tox.sh: 不要覆盖构建目录(pr#29925, Sebastian Wagner)
build/ops: script: 删除 dep-report.sh(pr#29296, Kefu Chai)
build/ops: scripts: ceph_dump_log.py(pr#21729, Brad Hubbard)
build/ops: seastar: 采用添加 pthread 链接的更改(pr#33453, Kefu Chai)
build/ops: spec, debian: cephadm 需要 lvm2(pr#32323, Sebastian Wagner)
build/ops: spec,debian: ceph-mgr-ssh 依赖 openssh{-client{s}}(pr#31806, Sebastian Wagner)
build/ops: spec: 添加缺失的 python3-pyyaml(pr#33387, Sebastian Wagner)
build/ops: spec: Podman(暂时)在 suse 上需要 apparmor-abstractions(pr#33850, Sebastian Wagner)
build/ops: src/CMakeLists: 从 git describe version 中移除前导 v(pr#31387, Sage Weil)
build/ops: test/fio: 升级到 fio-3.15(pr#31544, Igor Fedotov)
build/ops: test: 只有 WITH_BLUESTORE 才编译 ceph_test_bmap_alloc_replay(pr#31306, Willem Jan Withagen)
build/ops: vstart: 移除重复选项 -N(pr#31917, Kotresh HR)
ceph-crash: 使用 ceph-crash 作为日志名称(pr#30989, Kefu Chai)
ceph-daemon -> cephadm, mgr/ssh -> mgr/cephadm(pr#32193, Sage Weil)
ceph-daemon,mgr/ssh: 添加 check-host(pr#31795, Sage Weil)
ceph-daemon: -v|--verbose, 而不是 -d|--debug(pr#31583, Sage Weil)
ceph-daemon: 更多 py2 兼容性修改(pr#31264, Sage Weil)
ceph-daemon: 添加额外的调试日志(pr#31837, Michael Fritch)
ceph-daemon: 添加基本的 mypy 支持(pr#31609, Thomas Bechtold)
ceph-daemon: 在引导启动时添加显式拉取(pr#31478, Sage Weil)
ceph-daemon: 添加更多类型提示(pr#31631, Thomas Bechtold)
ceph-daemon: 添加 osd 创建测试(pr#31679, Michael Fritch)
ceph-daemon: 添加独立的 `adopt` 测试(pr#31486, Michael Fritch)
ceph-daemon: 为 `adopt` 命令添加 `--base-dir` 参数(pr#31487, Michael Fritch)
ceph-daemon: 为 `ls` 命令添加 `--legacy-dir` 参数(pr#31585, Michael Fritch)
ceph-daemon: 允许环境变量用于设置使用的镜像(pr#31913, Thomas Bechtold)
ceph-daemon: 在公钥字符串前添加换行符(pr#31788, Ricardo Dias)
ceph-daemon: 当存在旧目录且 ceph 未安装时,执行 rm-cluster(pr#31499, Sage Weil)
ceph-daemon: bootstrap: 使 --output-* 参数可选(pr#31695, Sage Weil)
ceph-daemon: ceph/daemon-base:latest-master-devel(pr#31507, Sage Weil)
ceph-daemon: 退出时清理临时文件(pr#32052, Michael Fritch)
ceph-daemon: 将 SUDO 和 ARGS 合并到一个变量中(pr#32138, Michael Fritch)
ceph-daemon: 为新守护进程配置 firewalld(pr#31869, Sage Weil)
ceph-daemon: 整合 NamedTemporaryFile 逻辑(pr#31908, Michael Fritch)
ceph-daemon: 如果 ~/.ssh 不存在则创建(pr#31315, Kefu Chai)
ceph-daemon: 为 shell + enter 自定义 bash 提示符(pr#31498, Sage Weil)
ceph-daemon: 除非是交互式 shell,否则不传递 -it(pr#31181, Sage Weil)
ceph-daemon: 不重新标记系统目录(pr#31321, Sage Weil)
ceph-daemon: 在 chown 期间不解引用符号链接(pr#32137, Michael Fritch)
ceph-daemon: 引导期间启用仪表板(pr#31464, Sage Weil)
ceph-daemon: 修复引导时临时 monmap 文件的所有权(pr#32097, Sage Weil)
ceph-daemon: 修复 extract_uid_gid(pr#31832, Sage Weil)
ceph-daemon: 修复 firewalld 错误情况(pr#32096, Sage Weil)
ceph-daemon: 修复 python2 上符号链接的处理(pr#31838, Michael Fritch)
ceph-daemon: 修复 os.mkdir 调用(pr#31320, Sage Weil)
ceph-daemon: 修复 pod 停止(pr#32157, Sage Weil)
ceph-daemon: 修复提示符(pr#31603, Sage Weil)
ceph-daemon: 修复独立的 `adopt` OSD 测试(pr#31772, Sage Weil, Michael Fritch)
ceph-daemon: 修复 `ls` 命令期间的追溯(pr#31439, Michael Fritch)
ceph-daemon: 修复旧版 `ls` 的版本字段(pr#31443, Michael Fritch)
ceph-daemon: 修复 `systemctl is-enabled` 布尔值(pr#31870, Michael Fritch)
ceph-daemon: 为某些命令推断 fsid(pr#31702, Michael Fritch)
ceph-daemon: logs 命令(pr#31575, Sage Weil)
ceph-daemon: 改善 /var/run/ceph 行为(pr#31141, Sage Weil)
ceph-daemon: 使 infer_fsid 在 /var/lib/ceph 不存在时正常工作(pr#31831, Sage Weil)
ceph-daemon: 减少 ls 日志噪音(pr#31448, Sage Weil)
ceph-daemon: 使 mon 容器具有特权(pr#31476, Sage Weil)
ceph-daemon: 使 ps1 成为原始字符串(pr#31540, Michael Fritch)
ceph-daemon: 加快 rm-cluster 速度(pr#31538, Sage Weil)
ceph-daemon: 使 rm-cluster 处理失败的单元清理(pr#31365, Sage Weil)
ceph-daemon: 将 ceph-daemon 可执行文件移到自己的目录(pr#31467, Thomas Bechtold)
ceph-daemon: 更好的错误信息(pr#31886, Sage Weil, Michael Fritch)
ceph-daemon: 只在 __main__ 作用域中运行(pr#31458, Thomas Bechtold)
ceph-daemon: 仅当 /var/run/ceph/$fsid 存在时才设置(pr#31341, Sage Weil)
ceph-daemon: 仅当崩溃目录挂载点存在时才设置(pr#31130, Sage Weil)
ceph-daemon: py2 兼容性(pr#31168, Sage Weil)
ceph-daemon: py2: 容忍配置键名之前的空格(pr#32098, Sage Weil)
ceph-daemon: 当 CephContainer.run() 失败时引发 RuntimeError(pr#31328, Michael Fritch)
ceph-daemon: 在 adopt 期间移除数据目录(pr#31437, Michael Fritch)
ceph-daemon: 移除 prepare-host(pr#32108, Sage Weil)
ceph-daemon: 将 podman 变量替换为 container(pr#31618, Dimitri Savineau)
ceph-daemon: 相对于文件开头进行查找(pr#31892, Michael Fritch)
ceph-daemon: 引导期间设置 container_image(pr#31445, Sage Weil)
ceph-daemon: 设置 ssh 公钥身份(pr#31500, Sage Weil)
ceph-daemon: 若干 fsid 推断修复(pr#31798, Sage Weil)
ceph-daemon: 切换默认镜像(pr#31463, Sage Weil)
ceph-daemon: 在 `adopt` 期间卸载 osd 数据目录(pr#31477, Michael Fritch)
ceph-daemon: 引导期间使用 client.admin 密钥环(pr#31270, Sage Weil)
ceph-daemon: 使用 `-e` 而不是 `--env`(pr#31614, Michael Fritch)
ceph-daemon: 使用 `shutil.move` 移动日志文件(pr#31331, Michael Fritch)
ceph-daemon: `imp` 模块 DeprecationWarning(pr#32161, Michael Fritch)
ceph-mon: 显式设置时保留 v1 地址类型(pr#31765, Ricardo Dias)
ceph-object-corpus: forward_incompat pg_missing_item and pg_missing_t(pr#28034, lishuhao)
ceph-volume simple: 当类型文件不存在时更好的检测(pr#29386, Alfredo Deza)
ceph-volume zap 总是跳过 block.db,保留它们(issue#40664, pr#28998, Alfredo Deza)
ceph-volume pytest 更改后断言错误(issue#40665, pr#28866, Alfredo Deza)
ceph-volume lvm.zap 修复 db 分区的清理(issue#40664, pr#28267, Dominik Csapak)
ceph-volume tests 在 tox 中添加睡眠,以在启动后等待慢速 OSD(issue#40619, pr#28836, Alfredo Deza)
ceph-volume tests 从功能测试中移除 xenial(pr#31159, Alfredo Deza)
ceph-volume tests 为 Debian 设置非交互式标志(pr#29804, Alfredo Deza)
ceph-volume-zfs: 添加 inventory 命令(pr#30995, Willem Jan Withagen)
ceph-volume/batch: 在非交互模式下对过滤设备失败(pr#31978, Jan Fajerski)
ceph-volume/lvm/activate.py: 澄清错误信息:fsid 指的是 osd_fsid(pr#32351, Yaniv Kaul)
ceph-volume/test: patch VolumeGroups(pr#31979, Jan Fajerski)
ceph-volume: 将 Cephs 设备 ID 添加到库存中(pr#31072, Sebastian Wagner)
ceph-volume: 为 raw 模式添加 db 和 wal 支持(pr#32828, Sxc3xa9bastien Han)
ceph-volume: 添加方法以将过滤器传递给 pvs、vgs 和 lvs 命令(pr#32242, Rishabh Dave)
ceph-volume: 为分区添加适当的 size 属性(pr#31492, Jan Fajerski)
ceph-volume: 添加 raw (--bluestore) 模式(pr#32095, Sage Weil)
ceph-volume: 为 prepare 添加 sizing 参数(pr#32235, Jan Fajerski)
ceph-volume: 添加实用函数(pr#27282, Mohamad Gebai)
ceph-volume: 允许在任何地方使用原始块设备(pr#31410, Jan Fajerski)
ceph-volume: 允许跳过 restorecon 调用(pr#31421, Alfredo Deza)
ceph-volume: api/lvm: 检查 LV 列表是否为空(pr#30101, Rishabh Dave)
ceph-volume: 假设所有包含 mimic 的分支都使用 msgrV1(pr#31592, Jan Fajerski)
ceph-volume: 避免在没有 LV 的 VG 上调用 zap_lv(pr#33283, Jan Fajerski)
ceph-volume: 批量 bluestore 修复 create_lvs 调用(pr#32929, Jan Fajerski)
ceph-volume: 批量确保设备列表不相交(pr#27754, Jan Fajerski)
ceph-volume: 检查我们是否在 selinux 环境中运行(pr#31809, Jan Fajerski)
ceph-volume: 检查我们是否在 selinux 环境中运行,现在也支持 py2(pr#31814, Jan Fajerski)
ceph-volume: 在 lvm list 中解引用符号链接(pr#32525, Benoxc3xaet Knecht)
ceph-volume: 如果缺少 PARTLABEL,则检测 ceph-disk osd(issue#40917, pr#29401, Jan Fajerski)
ceph-volume: 尝试移除 crypt mapper 时不失败(pr#30490, Guillaume Abrioux)
ceph-volume: 不要将设备列表保留为集合(pr#29683, Jan Fajerski)
ceph-volume: 在 zap filestore 时不要两次移除 vg(pr#33332, Jan Fajerski)
ceph-volume: 不要在简单测试中尝试测试 lvm zap(pr#29659, Jan Fajerski)
ceph-volume: 在库存中更细粒度的可用性概念(pr#32634, Jan Fajerski)
ceph-volume: 修复批量功能测试,幂等测试必须检查 sxe2x80xa6(pr#29684, Jan Fajerski)
ceph-volume: 修复设备单元测试,模拟 has_bluestore_label(pr#32655, Jan Fajerski)
ceph-volume: 修复 has_bluestore_label() 函数(pr#33074, Guillaume Abrioux)
ceph-volume: 修复 lvm 批处理的 is_ceph_device(pr#33223, Jan Fajerski, Dimitri Savineau)
ceph-volume: 修复 lvm list(pr#33077, Guillaume Abrioux)
ceph-volume: 修复回归并在 lvm list 中改进输出(pr#33112, Jan Fajerski)
ceph-volume: 修复重定向时 stderr 解码/编码失败(pr#30274, Alfredo Deza)
ceph-volume: 修复整数溢出(pr#32106, dongdong tao)
ceph-volume: 修复 pytest 引发的警告(pr#30422, Rishabh Dave)
ceph-volume: 导入 mock.mock 而不是 unittest.mock (py2)(pr#31816, Jan Fajerski)
ceph-volume: 在 lsblk 中查找旋转数据(pr#26957, Andrew Schoen)
ceph-volume: lvm: get_device_vgs() 根据提供的前缀过滤(pr#33478, Jan Fajerski, Yehuda Sadeh)
ceph-volume: 使 get_devices fs 位置独立(pr#31574, Jan Fajerski)
ceph-volume: `simple scan` 子命令帮助的次要清理(pr#31821, Michael Fritch)
ceph-volume: 与 class Volumess 使用相关的次要优化(pr#29665, Rishabh Dave)
ceph-volume: 模拟调用与 lvm 相关的二进制文件(pr#31197, Jan Fajerski)
ceph-volume: 永远不要记录到 stdout,改用 stderr(pr#29547, Jan Fajerski)
ceph-volume: 将 --ssh-config 传递给 pytest 以在连接时解析主机(issue#40063, pr#28294, Alfredo Deza)
ceph-volume: 将 journal_size 作为 Size 而不是字符串传递(pr#33320, Jan Fajerski)
ceph-volume: 在测试运行前预安装 python-apt 及其变体(pr#30115, Alfredo Deza)
ceph-volume: 将大多数日志消息打印到 stderr(issue#38548, pr#27675, Jan Fajerski)
ceph-volume: PVolumes.filter 不应清除自身(pr#30703, Rishabh Dave)
ceph-volume: 重新排列 api/lvm.py(pr#30867, Rishabh Dave)
ceph-volume: 重构 listing.py(pr#31700, Rishabh Dave)
ceph-volume: 在库存中拒绝小于 5GB 的磁盘(issue#40776, pr#29041, Jan Fajerski)
ceph-volume: 恢复 --no-tmpfs 更改(pr#30788, Sage Weil)
ceph-volume: 抑制 ceph-bluestore-tool 故障(pr#33371, Sxc3xa9bastien Han)
ceph-volume: 如果 OSD 已创建,则跳过创建(pr#33086, Guillaume Abrioux)
ceph-volume: 在 simple scan json 输出中去除 _dmcrypt 后缀(pr#33079, Jan Fajerski)
ceph-volume: systemd 修复日志消息中的拼写错误(pr#30497, Manu Zurmxc3xbchl)
ceph-volume: terminal: 写入 stdout 时编码 unicode(pr#27148, Alfredo Deza, Kefu Chai)
ceph-volume: 使用 centos8 进行功能测试(pr#33174, Jan Fajerski)
ceph-volume: 如果使用 db-devices 且 >1 osds_per_device,则使用正确的范围(pr#32177, Fabian Niepelt)
ceph-volume: dd 命令使用 fsync(pr#31479, Rishabh Dave)
ceph-volume: 在 has_common_vg 中使用 get_device_vgs(pr#33246, Jan Fajerski)
ceph-volume: 使用 python3 兼容的 print(pr#30790, Kyr Shatskyy)
ceph-volume: 使用 Device.rotational 属性而不是 sys_api(pr#28060, Andrew Schoen)
ceph-volume: 报告成功时使用 OSD 标识符(pr#29762, Alfredo Deza)
ceph-volume: util: 在 $PATH 中查找可执行文件(pr#31787, Shyukri Shyukriev)
ceph-volume: util: 使用正确的参数替换(pr#28448, Shyukri Shyukriev)
ceph-volume: VolumeGroups.filter 不应清除自身(pr#30707, Rishabh Dave)
ceph-volume: 测试时禁用仪表板(pr#29387, Andrew Schoen)
ceph.in: 如果找不到 libasan,则禁用 ASAN(pr#28247, Kefu Chai)
ceph.in: 即使不需要,也不预加载 asan(pr#28703, Kefu Chai)
ceph.in: 如果找到 libasan,则不预加载(pr#28275, Kefu Chai)
ceph.in: 在交互模式下打印解码输出(pr#33099, Jun Su)
cephadm: --cap-add=SYS_PTRACE(pr#33442, Sage Weil)
cephadm: 添加部署 grafana 容器的能力(pr#32491, Paul Cuzner)
cephadm: 添加指定超时时间的能力(pr#32049, Michael Fritch)
cephadm: 添加 alertmanager 部署功能(pr#32949, Sage Weil, Paul Cuzner)
cephadm: 添加 assert foo is not None 用于 mypy 检查(pr#33876, Kefu Chai)
cephadm: 添加 grafana adopt(pr#33746, Eric Jackson)
cephadm: 添加锁定(pr#32334, Sage Weil)
cephadm: 添加 nfs-ganesha 部署(pr#33064, Michael Fritch)
cephadm: 添加 prepare-host(pr#33374, Sage Weil)
cephadm: 添加 prometheus adopt(pr#33438, Eric Jackson)
cephadm: 添加重新配置服务操作(pr#32281, Sage Weil)
cephadm: 添加 start/stop 钩子和容器启动时的 c-v activate(pr#32158, Sage Weil)
cephadm: 添加 Zypper 打包器 (openSUSE/SLES)(pr#33461, Kristoffer Grxc3xb6nlund)
cephadm: 添加 `--retry` 参数(pr#33342, Michael Fritch)
cephadm: 添加 {add,rm}-repo 命令(pr#33062, Sage Weil)
cephadm: add-repo: 添加 --version(pr#33961, Sage Weil)
cephadm: adopt 修复(pr#32995, Sage Weil)
cephadm: 允许多次调用 get_parm()(pr#33437, Sage Weil)
cephadm: 允许在引导步骤中跳过 prepare_host(pr#33504, Kiefer Chang)
cephadm: 允许用户在引导期间提供其仪表板证书(pr#33472, Daniel-Pivonka)
cephadm: 也返回 JSON 解码错误(pr#33433, Sebastian Wagner)
cephadm: bootstrap: 避免生成的密码中重复字符(pr#32332, Sage Weil)
cephadm: bootstrap: 默认部署监控堆栈(pr#33936, Sage Weil)
cephadm: bootstrap: 关于遥测的提示(pr#33517, Sage Weil)
cephadm: bootstrap: 等待 mgr 在启用模块后重启(pr#33857, Sage Weil)
cephadm: bootstrap: 警告 fqdn 主机名(pr#33042, Sage Weil)
cephadm: 检查两个 chrony 服务名称(pr#33369, Sage Weil)
cephadm: 检查 ntp.service 和 ntpd.service(pr#32302, Sage Weil)
cephadm: 清理 systemd 单元和 ceph-crash 关闭行为(pr#32685, Sage Weil)
cephadm: 修复端口开放检测中的 ipv6 支持(pr#32286, Paul Cuzner)
cephadm: 根据需要创建 /var/run/ceph/$fsid(pr#32390, Sage Weil)
cephadm: 暂时禁用 node-exporter cpu/memory 限制(pr#33133, Sage Weil)
cephadm: 丢弃容器 ID 上的 sha256: 前缀(pr#32300, Sage Weil)
cephadm: 对 filestore OSD 报错(pr#33395, Sage Weil)
cephadm: 修复收养安全检查(pr#33445, Sage Weil)
cephadm: 修复 ceph 版本探测(pr#33136, Sage Weil)
cephadm: 修复容器清理(pr#32282, Sage Weil)
cephadm: 修复日期时间正则表达式以捕获最多 6 位数字(pr#33932, Michael Fritch)
cephadm: 修复部署崩溃,当没有 `args.fsid` 时(pr#33248, Michael Fritch)
cephadm: 修复 `command_check_host()` 中的错误处理(pr#33048, Guillaume Abrioux)
cephadm: 修复获取密钥环以部署守护进程时失败(pr#33679, Kiefer Chang)
cephadm: 修复 bootstrap --mgr-id 的帮助消息(pr#32640, Sage Weil)
cephadm: 修复 inspect-image(pr#33109, Sage Weil)
cephadm: 修复日志默认值(pr#32641, Sage Weil)
cephadm: 修复非 ceph 组件的镜像检查期间的名称参数解析(pr#33114, Daniel-Pivonka)
cephadm: 修复 Py3 ConfigParser 弃用警告(pr#32218, Michael Fritch)
cephadm: 修复 tox DeprecationWarning(pr#32753, Michael Fritch)
cephadm: 修复 v1/v2 ip/addrv 处理;显式检查绑定到 ip:port(pr#32392, Sage Weil)
cephadm: 修复 `alertmanager not implemented yet`(pr#33694, Patrick Seidensal)
cephadm: 标记仪表板用户更改密码(pr#32990, Daniel-Pivonka)
cephadm: 进一步简化 mon 设置(pr#33952, Sage Weil)
cephadm: 实现 install 命令(pr#33979, Sage Weil)
cephadm: 改进崩溃代理容器的处理(pr#33189, Sage Weil)
cephadm: 在单元名称中包含守护进程/单元 ID(pr#32970, Sage Weil)
cephadm: 推断 ceph 镜像(pr#33829, Sage Weil, Ricardo Marques)
cephadm: 按名称推断 fsid(pr#32795, Michael Fritch)
cephadm: 单元文件中的 KillMode=none(pr#33162, Sage Weil)
cephadm: 移除有状态守护进程时保留备份(pr#33973, Sage Weil)
cephadm: 使 add-repo --release 和 --version 独立(pr#34034, Sage Weil)
cephadm: 合并 `--config-and-keyring` 和 `--config-json` 参数(pr#33870, Michael Fritch)
cephadm: 杂项升级修复(pr#32794, Sage Weil)
cephadm: 对 ceph-volume deactivate 没有 --no-systemd 参数(pr#32886, Sage Weil)
cephadm: 仅推断 shell、run、inspect-image、pull、ceph-volume 的镜像(pr#34030, Sage Weil)
cephadm: podman inspect: 镜像字段名为 `ImageID`(pr#32616, Sebastian Wagner)
cephadm: prepare-host: 除非需要,否则不创建 Packager(pr#33443, Sage Weil)
cephadm: pull: 从版本字符串中去除换行符(pr#33446, Sage Weil)
cephadm: python3 shebang(pr#32378, Sage Weil)
cephadm: 重新引入 `podman logs` 命令(pr#33089, Michael Fritch)
cephadm: 如果设置了 io.ceph.version 标签,则从其中读取 ceph 版本(pr#32982, Kristoffer Grxc3xb6nlund)
cephadm: 重构,准备其他收养(pr#33672, Eric Jackson)
cephadm: 重新标记 /etc/ganesha 挂载点(pr#34098, Sage Weil)
cephadm: 移除孤儿守护进程(pr#33830, Sage Weil)
cephadm: 移除 `logs` 命令(pr#32752, Michael Fritch)
cephadm: 重命名 tox 测试 ceph-daemon -> cephadm(pr#32353, Michael Fritch)
cephadm: 报告停止的守护进程的镜像名称(pr#33190, Sage Weil)
cephadm: 报告 grafana prom 等的版本(pr#33804, Sage Weil)
cephadm: shell: 允许 -e(pr#33191, Sage Weil)
cephadm: shell: 如果存在,默认使用 /etc/ceph 中的配置和密钥环(pr#33793, Sage Weil)
cephadm: shell: 不要两次绑定 ceph.conf(pr#32425, Sage Weil)
cephadm: shell: 将 .bash_history 保存在 /var/log/ceph/$fsid 中(pr#33519, Sage Weil)
cephadm: 当端口被占用时显示上下文消息(pr#32560, Michael Fritch)
cephadm: 简化 Monitoring.components 结构(pr#32977, Michael Fritch)
cephadm: 执行绑定检查时使用 SO_REUSEADDR(pr#32712, Sage Weil)
cephadm: 精简引导过程(pr#33980, Sage Weil)
cephadm: 支持部署 node-exporter(pr#32340, Paul Cuzner)
cephadm: 支持部署 prometheus 容器(pr#32198, Sebastian Wagner, Paul Cuzner)
cephadm: 将 grafana 镜像切换到 ceph 仓库(pr#34082, Paul Cuzner)
cephadm: 原子更新 unit.*(pr#33895, Sage Weil)
cephadm: 为非 ceph 组件使用适当的默认镜像(pr#33069, Sage Weil)
cephadm: 使用 spec 在每台主机上部署 crash(pr#33658, Sage Weil)
cephadm: 在进入期间使用 `sh` 而不是 `bash`(pr#33822, Michael Fritch)
cephadm: 等待更长时间才能启动(pr#33216, Sage Weil)
cephfs,common,core: global: 为 Ceph 守护进程禁用 THP(pr#31582, Patrick Donnelly, Mark Nelson)
cephfs,common,rbd: common/config_proxy: 访问可变容器时持有锁(pr#29809, Jason Dillaman)
cephfs,common: common/secret.c: 修复重新挂载时的密钥解析(pr#28148, Luis Henriques)
cephfs,common: osdc: 应该在等待前释放 rwlock(pr#29686, Kefu Chai)
cephfs,core: mds/MDSDaemon: 修复 asok exit 和 respawn 命令(pr#32251, Sage Weil)
cephfs,core: msg/async: 在适当的 EventCenter 中执行 v2 重置(pr#30717, Radoslaw Zarzynski)
cephfs,core: qa/suites/rados/mgr/tasks/module_selftest: 将 mgr 客户端列入黑名单,并将其重新列入白名单(issue#40867, pr#29169, Sage Weil)
cephfs,core: qa/suites/upgrade: 更多 octopus 修复(pr#32853, Sage Weil)
cephfs,core: qa: 在 scrub 错误时记录警告(pr#32739, Patrick Donnelly)
cephfs,core: src/: 定义 ceph_release_t 并使用它(pr#27855, Kefu Chai)
cephfs,mgr,mon: mon/MDSMonitor: 强制 mds_join_fs 集群亲和性(pr#33194, Patrick Donnelly)
cephfs,mgr,mon: mon/MgrMonitor: 在故障转移期间将 ceph-mgr 的上一个实例列入黑名单(pr#31797, Patrick Donnelly)
cephfs,mgr,pybind: mgr/prometheus: 导出 standby mds 元数据(pr#29996, lei01.liu)
cephfs,mgr,pybind: mgr/volumes: 次要增强和修复(issue#40429, pr#28706, Ramana Raja)
cephfs,mgr: mds/MDSRank: 向 mgr 报告状态为 mds ID,而不是 rank(pr#31231, Patrick Donnelly, Sage Weil)
cephfs,mgr: mgr/volume: ceph cephfs metadata pool pg_num_min 和 bias(pr#27374, Sage Weil)
cephfs,mgr: mgr/volumes: 在插件关闭时清理 libcephfs 句柄(issue#42299, pr#30890, Venky Shankar)
cephfs,mgr: pybind/mgr/volumes: 使用 py3 items 迭代器(pr#31986, Patrick Donnelly)
cephfs,mgr: qa: 使用 skipTest 方法而不是异常(pr#27761, Patrick Donnelly)
cephfs,mon: mon/MDSMonitor: 清理 check_subs(pr#32308, Patrick Donnelly)
cephfs,mon: mon/MDSMonitor: 处理 standby 已经没有 fscid 的情况(pr#32585, Patrick Donnelly)
cephfs,pybind: libcephfs: 添加缺失的 ceph_getaddrs() 声明(pr#32629, Kefu Chai)
cephfs,pybind: mgr/volumes: 添加 `ceph fs subvolumegroup getpath` 命令(issue#40617, pr#29103, Ramana Raja)
cephfs,pybind: mgr/volumes: 将 FS 客户端挂载的 uid/gid 设置为 0/0(issue#40927, pr#29355, Ramana Raja)
cephfs,pybind: pybind/cephfs: 添加 cephfs python API removexattr()(pr#30641, bingyi zhang)
cephfs,pybind: pybind/cephfs: 添加 listxattr(pr#32804, Varsha Rao)
cephfs,rbd,tests: qa/tasks: 丢弃对象继承(pr#29843, Jos Collin)
cephfs,rbd: osdc: 使用 decltype(auto) 而不是尾部返回类型(pr#29931, Yao Zongyou)
cephfs,tests: cephfs-shell: teuthology 测试(issue#39526, pr#27872, Milind Changire)
cephfs,tests: mgr/volumes: fs subvolume resize 命令(pr#30054, Jos Collin)
cephfs,tests: qa/cephfs: 添加 ACL 测试(pr#29421, Rishabh Dave)
cephfs,tests: qa/cephfs: 更改 centos8 上的 xfstests-dev 依赖(pr#32524, Rishabh Dave)
cephfs,tests: qa/cephfs: 不在 RHEL 7 上测试 kclient(pr#32582, Rishabh Dave)
cephfs,tests: qa/cephfs: 更新 RHEL 8 的 xfstests-dev 依赖(pr#33427, Rishabh Dave)
cephfs,tests: qa/suites/powercycle: 安装构建 xfstest 的构建依赖(pr#33874, Kefu Chai)
cephfs,tests: qa/tasks/cephfs/fuse_mount: 使用 python3(pr#32339, Sage Weil)
cephfs,tests: qa/tasks: 在 do_thrash() 中添加异常(pr#29067, Jos Collin)
cephfs,tests: qa/tasks: DaemonWatchdog 扩展(issue#10369, issue#11314, pr#28378, Jos Collin)
cephfs,tests: qa/tasks: 修复不重新引发的异常(pr#30201, Jos Collin)
cephfs,tests: qa/tasks: 修复注释中的拼写错误(pr#29759, Jos Collin)
cephfs,tests: qa/tasks: 改进 vstart_runner.py 和 mount.py(pr#27481, Rishabh Dave)
cephfs,tests: qa/tasks: vstart_runner.py 中升级命令参数检查(pr#28198, Rishabh Dave)
cephfs,tests: qa/tests: 减少 `kcephfs` 的作业数量(pr#27328, Yuri Weinstein)
cephfs,tests: qa/tests: 减少 `kcephfs` 的作业数量(pr#27165, Yuri Weinstein)
cephfs,tests: qa/vstart_runner.py: 使 run() 接口与 teuthology 的 run 相同(pr#33263, Rishabh Dave)
cephfs,tests: qa: 在调试消息中记录超时(pr#32162, Patrick Donnelly)
cephfs,tests: qa: 在守护进程角色中为每个集群停止 DaemonWatchdog(pr#29821, Patrick Donnelly)
cephfs,tests: qa: 运行升级套件时测试 fs:upgrade(pr#31206, Patrick Donnelly)
cephfs,tests: test: 如果尚未定义,则定义 ALLPERMS(pr#30726, Kefu Chai)
cephfs,tests: test_cephfs_shell: 修复 test_du_works_for_hardlinks(pr#32168, Rishabh Dave)
cephfs,tests: test_cephfs_shell: 为 run_cephfs_shell_cmd() 初始化 stderr(pr#31626, Rishabh Dave)
cephfs,tests: test_sessionmap: 使用 teuthology.misc 中的 sudo_write_file()(pr#29123, Rishabh Dave)
cephfs,tools: cephfs-journal-tool: 修复崩溃和用法(pr#32452, Xiubo Li)
cephfs,tools: mount.ceph: 修复不正确的选项解析(pr#33197, Xiubo Li)
cephfs,tools: vstart.sh: 突出显示 stray conf 的存在(pr#31403, Milind Changire)
cephfs: client: 更精确的 CEPH_CLIENT_CAPS_PENDING_CAPSNAP(pr#28685, Yan, Zheng)
cephfs: mds: 更改 mds 撤销过期 caps 的方式(issue#17854, pr#26737, Yan, Zheng, Rishabh Dave)
cephfs: mds: 修复重新播放开放会话的角落情况(pr#28456, Yan, Zheng)
cephfs: 添加使用 rook 部署 cephfs-nfs 集群的文档(pr#30914, Varsha Rao)
cephfs: 允许 mount.ceph 从 ceph 配置和密钥环获取挂载信息(pr#29817, Jeff Layton)
cephfs: 避免 client_caps 被错误插入(pr#29304, XiaoGuoDong2019)
cephfs: ceph-mds: 倾倒 ceph_file_layout, InodeStoreBase, frag_infxe2x80xa6 的所有信息(pr#28874, simon gao)
cephfs: ceph-mds: 设置 ceph_mds cpu 亲和性(pr#31712, qilianghong)
cephfs: cephfs pybind: 在 cephfs pybind 中添加 lseek() 函数(pr#27688, Xiaowei Chu)
cephfs: cephfs-shell: 添加 setxattr, getxattr 和 listxattr 命令(pr#32570, Varsha Rao)
cephfs: cephfs-shell: 为无效的 ls 命令添加错误消息(pr#28652, Varsha Rao)
cephfs: cephfs-shell: 添加配额管理(issue#39165, pr#27483, Milind Changire)
cephfs: cephfs-shell: 添加快照管理(issue#38681, pr#27467, Milind Changire)
cephfs: cephfs-shell: 添加 stat 命令(pr#27753, Varsha Rao)
cephfs: cephfs-shell: 添加用于 flake8 测试的 tox(pr#28239, Varsha Rao)
cephfs: cephfs-shell: 删除非空目录时更好的投诉信息(issue#40864, pr#30341, Shen Hang)
cephfs: cephfs-shell: 在 lcd 中捕获 OSError 异常(issue#40243, pr#28473, Varsha Rao)
cephfs: cephfs-shell: 不带参数的 cd 必须将 CWD 更改为根目录(issue#40476, pr#28793, Rishabh Dave)
cephfs: cephfs-shell: 与 read_ceph_conf() 相关的更改(pr#32347, Rishabh Dave)
cephfs: cephfs-shell: stderr 和 stdout 消息的更改(pr#30365, Rishabh Dave)
cephfs: cephfs-shell: 将路径类型从字符串转换为字节(pr#29552, Varsha Rao)
cephfs: cephfs-shell: du 应该忽略非目录文件(issue#40371, pr#28560, Rishabh Dave, Varsha Rao)
cephfs: cephfs-shell: 修复 df 命令错误(pr#27894, Varsha Rao)
cephfs: cephfs-shell: 修复 flake8 空行和缩进错误(pr#29149, Varsha Rao)
cephfs: cephfs-shell: 修复 ls 命令列出的隐藏文件和目录(pr#27266, Varsha Rao)
cephfs: cephfs-shell: 修复 lls 命令错误(issue#40244, pr#28475, Varsha Rao)
cephfs: cephfs-shell: 修复 ls -l(pr#32801, Kotresh HR)
cephfs: cephfs-shell: 修复 mkdir 相对路径错误(pr#27822, Varsha Rao)
cephfs: cephfs-shell: 修复多个 flake8 错误(pr#28080, Varsha Rao)
cephfs: cephfs-shell: 修复多个 flake8 错误(pr#28433, Varsha Rao)
cephfs: cephfs-shell: 修复多个 flake8 错误(pr#29374, Varsha Rao)
cephfs: cephfs-shell: 修复 onecmd TypeError(pr#29554, Varsha Rao)
cephfs: cephfs-shell: 修复错误消息打印到 stdout(pr#28447, Varsha Rao)
cephfs: cephfs-shell: 修复 rmdir -p 问题并添加 rmdir 测试(pr#31633, Varsha Rao)
cephfs: cephfs-shell: 修复 ls 命令的字符串解码(issue#39404, pr#27716, Milind Changire)
cephfs: cephfs-shell: 修复 poutput() 中的 TypeError(pr#28906, Varsha Rao)
cephfs: cephfs-shell: 修复挂载的拼写错误(pr#28718, Varsha Rao)
cephfs: cephfs-shell: 修复文件路径不必要的 to_bytes 用法(issue#40455, pr#28663, Patrick Donnelly)
cephfs: cephfs-shell: 修复各种追溯(issue#38743, issue#38739, issue#38741, issue#38740, pr#27235, Milind Changire)
cephfs: cephfs-shell: 使其兼容 cmd2 0.9.13 版本之后的版本(pr#30585, Rishabh Dave)
cephfs: cephfs-shell: 使每个命令在失败时设置返回值(pr#32213, Rishabh Dave)
cephfs: cephfs-shell: 当找不到 conf 文件时打印有用的消息(pr#31460, Rishabh Dave)
cephfs: cephfs-shell: python 版本修复(issue#40418, pr#28638, Patrick Donnelly)
cephfs: cephfs-shell: 从 ceph.conf 读取选项(pr#29964, Rishabh Dave)
cephfs: cephfs-shell: 重新排列代码以方便使用(pr#31629, Rishabh Dave)
cephfs: cephfs-shell: 移除传递给 setxattr() 的额外长度参数(pr#30802, Varsha Rao)
cephfs: cephfs-shell: 移除对属性 decode 的 str 对象引用(pr#27345, Varsha Rao)
cephfs: cephfs-shell: 移除 do_rm() 中未定义的变量文件(pr#28710, Varsha Rao)
cephfs: cephfs-shell: 错误时返回非零值(pr#30657, Rishabh Dave)
cephfs: cephfs-shell: 为 put 和 get 命令重写帮助文本(pr#30297, Rishabh Dave)
cephfs: cephfs-shell: 使用 colorama 模块而不是 colorize(pr#27427, Varsha Rao)
cephfs: ceph_volume_client: 将字符串转换为字节对象(issue#40369, issue#40800, pr#28557, Rishabh Dave)
cephfs: ceph_volume_client: 在使用 d_name 之前解码(issue#39406, pr#28196, Rishabh Dave)
cephfs: client: 添加 client_fs 挂载选项支持(pr#33506, Xiubo Li)
cephfs: client: 在更改目录前添加 is_dir() 检查(pr#32637, Varsha Rao)
cephfs: client: 在 lseek 中添加 SEEK_HOLE 和 SEEK_DATA 的处理(pr#30416, Shen Hang)
cephfs: client: 在 cephfs.pyx 中添加 stx_btime 和 stx_version(pr#30206, huanwen ren)
cephfs: client: 当 cap != in->auth_cap 时添加警告(pr#30402, Shen Hang)
cephfs: client: 通过调用 lseek 函数避免长度溢出(pr#29626, wenpengLi)
cephfs: Client: 将 ll_ref 从 int32 提升到 uint64_t(pr#29136, Xiaoxi CHEN)
cephfs: client: 目录大小始终为零导致 is_quota_bytes_approaching 失效(pr#26104, guoyong)
cephfs: client: 禁止在运行时更改 fuse_default_permissions 选项(pr#32315, Zhi Zhang)
cephfs: client: 不向 listxattr 报告任何 vxattrs(pr#29339, Jeff Layton)
cephfs: client: 修复 ll_lookup_inode 中错误的错误处理(issue#40085, pr#28324, Jeff Layton)
cephfs: client: 修复 lseek SEEK_HOLE / SEEK_DATA 中错误的错误处理(pr#33480, Jeff Layton)
cephfs: client: 修复 dir.rctime 和 snap.btime vxattr 值(pr#28116, David Disseldorp)
cephfs: client: 修复 fuse 客户端因其与 mds 的不良会话 PipeConnection 而挂起(issue#39305, pr#27482, Guan yunfei)
cephfs: client: 修复 lazyio_synchronize() 以更新文件大小(pr#29705, Sidharth Anupkrishnan)
cephfs: client: 修复 alpine linux 上缺少 consts SEEK_DATA 和 SEEK_HOLE 的问题(pr#33104, Stefan Bischoff)
cephfs: client: nfs-ganesha 与 cephfs 客户端,移除目录报告非空(issue#40746, pr#29005, Peng Xie)
cephfs: client: 优化不同配额根目录下的重命名操作(issue#39715, pr#28077, Zhi Zhang)
cephfs: client: 移除 Inode.dir_contacts 字段并优雅地处理 llseek 的错误 whence 值(pr#30580, Jeff Layton)
cephfs: client: 移除未使用的变量(pr#31509, su_nan@inspur.com)
cephfs: client: 当 unsafe reqs 已被丢弃时,同步文件返回 -EIO(issue#40877, pr#29167, simon gao)
cephfs: client: 将 snapdirs 链接计数设置为 1(pr#28545, Yan, Zheng)
cephfs: client: 当 fuse 版本 >= 2.9 时支持 fallocate()(issue#40615, pr#28831, huanwen ren)
cephfs: Client: 移除 llref=0 的 inode 的 dentry(issue#40960, pr#29321, Xiaoxi CHEN)
cephfs: client: _readdir_cache_cb() 可能使用已清除的 readdir_cache(issue#41148, pr#29526, huanwen ren)
cephfs: clientxefxbcx9aEINVAL 可能在偏移量为 0 时返回(pr#30312, wenpengLi)
cephfs: 使用 vstart 部署 ganesha 守护进程(pr#31527, Varsha Rao)
cephfs: 将快照创建时间暴露为新的 ceph.snap.btime vxattr(pr#27077, David Disseldorp)
cephfs: include: 修复 interval_set const_iterator 调用运算符类型(pr#32185, Patrick Donnelly)
cephfs: libcephfs: 添加 LazyIO 的测试(issue#40283, pr#28834, Sidharth Anupkrishnan)
cephfs: mds: 清理写入不安全 inode 的数据(pr#30969, simon gao)
cephfs: mds: 优化函数 get_dirfrags_under,以加快处理包含数千万个文件的目录(pr#31123, simon gao)
cephfs: mds,mon: 弃用 CephFS inline_data 支持(pr#29824, Jeff Layton)
cephfs: mds/client: inode 号委托(pr#31817, Jeff Layton)
cephfs: mds/FSMap: 修复 adjust_standby_fscid(pr#32709, Sage Weil)
cephfs: mds/OpenFileTable: 将 MAX_ITEMS_PER_OBJ 与 osd_deep_scrub_large_omap_object_key_threshold 匹配(pr#31232, Vikhyat Umrao)
cephfs: mds/server:mds: 丢弃来自不存在会话的重新连接消息(issue#39026, pr#27256, Shen Hang)
cephfs: messages: 使 CephFS 消息安全(pr#31330, Patrick Donnelly)
cephfs: mgr / volume: 重构 [sub]volume(issue#39969, pr#28082, Venky Shankar)
cephfs: mgr / volumes: 子卷的后台清除队列 (issue#40036, pr#28003, Patrick Donnelly, Venky Shankar)
cephfs: mgr/dashboard: CephFS 类字符串问题 (pr#29353, Volker Theile)
cephfs: mgr/volume: 调整参数传递到 ServiceSpec (pr#33687, Joshua Schmid)
cephfs: mgr/volumes: 添加 mypy 支持 (pr#33674, Michael Fritch)
cephfs: mgr/volumes: 检查 uid/gid 中的字符串值 (pr#31961, Jos Collin)
cephfs: mgr/volumes: 清理早期清除作业实现遗留物 (pr#30886, Venky Shankar)
cephfs: mgr/volumes: 文件系统创建错误时清理 (pr#32459, Jos Collin)
cephfs: mgr/volumes: 从快照克隆 (issue#24880, pr#32030, Venky Shankar)
cephfs: mgr/volumes: 将字符串转换为字节对象 (issue#39750, pr#28380, Rishabh Dave)
cephfs: mgr/volumes: 删除未使用的 size (pr#30185, Jos Collin)
cephfs: mgr/volumes: 删除未使用的变量 vol_name (pr#31780, Joshua Schmid)
cephfs: mgr/volumes: 带有快照的子卷移除失败 (issue#43645, pr#32696, Venky Shankar)
cephfs: mgr/volumes: 获取回收站和克隆条目而不阻塞卷访问 (issue#44207, pr#33413, Venky Shankar)
cephfs: mgr/volumes: 修复错误消息 (issue#40014, pr#28407, Ramana Raja)
cephfs: mgr/volumes: 修复不正确的快照路径创建 (pr#30654, Ramana Raja)
cephfs: mgr/volumes: 修复放置默认值 (pr#33476, Sage Weil)
cephfs: mgr/volumes: 修复带配额的子卷创建 (issue#40152, pr#28384, Ramana Raja)
cephfs: mgr/volumes: 文件系统子卷调整大小 inf 命令 (pr#31157, Jos Collin)
cephfs: mgr/volumes: 使用重试处理清除线程中的异常 (issue#41218, issue#41219, pr#29735, Venky Shankar)
cephfs: mgr/volumes: 改进卷删除过程 (pr#31762, Joshua Schmid)
cephfs: mgr/volumes: 列出文件系统子卷、子卷组及其快照 (pr#30476, Jos Collin)
cephfs: mgr/volumes: 小修复 (pr#29760, Ramana Raja)
cephfs: mgr/volumes: 防止负子卷大小 (pr#30058, Jos Collin)
cephfs: mgr/volumes: fs volume rm 命令的保护 (pr#30407, Jos Collin)
cephfs: mgr/volumes: 重构目录句柄清理 (pr#30887, Jos Collin)
cephfs: mgr/volumes: 移除过期子卷模块 (pr#32645, Venky Shankar)
cephfs: mgr/volumes: 返回字符串类型到 ceph-manager (pr#30451, Venky Shankar)
cephfs: mgr/volumes: 同步克隆子卷的 inode 属性 (issue#43965, pr#33120, Venky Shankar)
cephfs: mgr/volumes: 用于子卷创建和子卷组创建命令的 uid, gid (pr#30336, Jos Collin)
cephfs: mgr/volumes: 异步线程异常时注销作业 (issue#44293, pr#33547, Venky Shankar)
cephfs: mgr/volumes: 版本化子卷配置 (pr#31763, Venky Shankar)
cephfs: mon,mds: 将 mds 守护进程映射到特定文件系统 (pr#32015, Sage Weil)
cephfs: mon/MDSMonitor: 使用 stringstream 而不是 dout 进行 mds 修复 (issue#40472, pr#28683, Zhi Zhang)
cephfs: mon/MDSMonitor: 使用默认 EC 数据池创建文件系统时发出警告 (pr#31494, Patrick Donnelly)
cephfs: mount.ceph.c: 不将 nofail 传递给内核 (pr#26992, Kenneth Waegeman)
cephfs: mount.ceph: 当没有 mds 启动或集群滞后时给出提示信息 (pr#32164, Xiubo Li)
cephfs: mount.ceph: 新的挂载选项别名 -- 将 fs= 选项转换为 mds_namespace= (pr#33491, Xiubo Li)
cephfs: mount.ceph: 正确处理 -o strictatime (pr#29518, Jeff Layton)
cephfs: mount.ceph: 移除 name= 选项大小的任意限制 (pr#32706, Jeff Layton)
cephfs: mount: 修复密钥环获取密钥失败时的调试日志 (pr#33499, Xiubo Li)
cephfs: octopus: 添加文件系统子卷克隆取消 (issue#44208, pr#34018, Venky Shankar)
cephfs: osdc/objecter: 修复科学格式的 last_sent 并为 ops 添加 age (pr#29818, Varsha Rao)
cephfs: 传播 ll_releasedir 错误 (pr#32548, David Disseldorp)
cephfs: pybind / cephfs: 移除 LibCephFS.chown 中的静态类型 (issue#42923, pr#31756, Venky Shankar)
cephfs: pybind/cephfs: 修改错误消息 (pr#28628, Varsha Rao)
cephfs: pybind/mgr: 添加 cephfs 子卷模块 (issue#39610, pr#27594, Ramana Raja)
cephfs: pybind/test_volume_client: 正确打印 python 版本 (issue#40184, pr#28221, Lianne)
cephfs: qa/cephfs: 修复 test_evict_client (pr#28411, Yan, Zheng)
cephfs: qa/cephfs: 使 filelock_interrupt.py 与 python3 兼容 (pr#32741, Yan, Zheng)
cephfs: qa/cephfs: 被列入黑名单后自动重新连接的测试用例 (pr#31200, Yan, Zheng)
cephfs: qa/suites/fs/multifs/tasks/failover.yaml: 禁用 RECENT_CRASH (pr#29363, Sage Weil)
cephfs: qa/suites/fs: 文件系统的 mon_thrash 测试 (issue#17309, pr#27073, Jos Collin)
cephfs: qa/tasks/cephfs: os.write 接受字节,而不是字符串 (pr#32359, Sage Weil)
cephfs: qa/tasks: 为文件系统卷添加剩余测试 (pr#31884, Jos Collin)
cephfs: qa/tasks: 更好地处理 thrasher 名称和 __init__ 调用 (pr#31207, Jos Collin)
cephfs: qa/tasks: 在 umount_wait 中检查文件系统是否已挂载 (pr#30553, Jos Collin)
cephfs: qa/tasks: 修复 AttributeError: 无法设置属性 (pr#31428, Jos Collin)
cephfs: qa/tasks: 升级 vstart_runner.py 中对 -c sudo 选项的检查 (issue#39385, pr#28199, Rishabh Dave)
cephfs: qa/vstart_runner.py: 添加更多选项 (pr#29906, Rishabh Dave)
cephfs: qa: 添加调试失败的 osd-release 设置 (pr#29715, Patrick Donnelly)
cephfs: qa: 添加从旧版卷升级的升级测试 (pr#33636, Patrick Donnelly)
cephfs: qa: 允许客户端挂载完全重置 (issue#42213, pr#30986, Venky Shankar)
cephfs: qa: 在 test_version_splitting 中避免子树重复 (pr#33078, Patrick Donnelly)
cephfs: qa: 构建 v5.4 内核 (pr#32763, Patrick Donnelly)
cephfs: qa: 将会话映射测试与简单消息器解耦 (issue#38803, pr#27415, Patrick Donnelly)
cephfs: qa: 为 fs:verify 定义 centos 版本 (pr#32535, Patrick Donnelly)
cephfs: qa: 检测 RHEL8 以进行 yum 包安装 (pr#32507, Patrick Donnelly)
cephfs: qa: 不检查新 data_isolated 卷的 pg 计数 (pr#31095, Patrick Donnelly)
cephfs: qa: 修复格式错误的套件配置 (pr#29431, Patrick Donnelly)
cephfs: qa: 修复输出检查,使其对调试不敏感 (pr#32163, Patrick Donnelly)
cephfs: qa: 修复测试内核分支链接 (pr#32854, Patrick Donnelly)
cephfs: qa: 修复各种 py3 cephfs qa 错误 (pr#32467, Patrick Donnelly)
cephfs: qa: 修复各种 py3 cephfs qa 错误 x2 (pr#32533, Patrick Donnelly)
cephfs: qa: fs 忽略 ceph.dir.pin: 旧内核客户端 getfattr 测试中没有此类属性错误 (pr#27377, Sidharth Anupkrishnan)
cephfs: qa: fs/升级测试修复和 Octopus/Nautilus 的 cephfs 功能位更新 (issue#39078, issue#39077, issue#39020, pr#27303, Patrick Donnelly)
cephfs: qa: 使 kclient 测试使用新的 mount.ceph 功能 (pr#30462, Jeff Layton)
cephfs: qa: 忽略预期的 MDS_CLIENT_LATE_RELEASE 警告 (issue#40968, pr#29338, Patrick Donnelly)
cephfs: qa: 忽略 multimds 快照测试的 RECENT_CRASH (pr#29911, Patrick Donnelly)
cephfs: qa: 忽略 ffsb 工作单元的慢操作 (pr#32668, Patrick Donnelly)
cephfs: qa: 忽略用于死缓存删除的修剪缓存项 (pr#32644, Patrick Donnelly)
cephfs: qa: 为 xfstests 安装一些依赖项 (pr#32478, Patrick Donnelly)
cephfs: qa: 仅在测试之间重启 MDS (pr#32532, Patrick Donnelly)
cephfs: qa: 移除对简单消息器的要求 (issue#39079, pr#27301, Patrick Donnelly)
cephfs: qa: 重命名 kcephfs 发行版覆盖 (pr#32639, Patrick Donnelly)
cephfs: qa: 保存 MDS 时代屏障 (pr#32642, Patrick Donnelly)
cephfs: qa: 重置 kclient 后短暂睡眠 (pr#29388, Patrick Donnelly)
cephfs: qa: 在 multimds 中指定随机发行版 (pr#33080, Patrick Donnelly)
cephfs: qa: 在 logrotate 期间容忍 ECONNRESET 错误代码 (issue#41800, pr#30809, Venky Shankar)
cephfs: qa: 更新 kclient 测试到 RHEL 7.6 (pr#26662, Patrick Donnelly)
cephfs: qa: 编译 fsync-tester.c 时使用 -D_GNU_SOURCE (pr#32480, Patrick Donnelly)
cephfs: qa: 使用 hard_reset 重启 kclient (issue#37681, pr#28825, Patrick Donnelly)
cephfs: qa: 使用 mimic-O 升级过程 (pr#27731, Patrick Donnelly)
cephfs: qa: 为 CephFS 池使用小的默认 pg 计数 (pr#30816, Patrick Donnelly)
cephfs: qa: 移除 MDS 后等待其恢复 (issue#40967, pr#29336, Patrick Donnelly)
cephfs: qa: 将 cephfs-data-scan 的“恢复日志错误”列入白名单 (pr#30971, Yan, Zheng)
cephfs: qa: 在 Mimic 部署期间将 TOO_FEW_PGS 列入白名单 (pr#31063, Patrick Donnelly)
cephfs: Resolve a memory leak in cephfs/Resetter.cc (pr#29302, XiaoGuoDong2019)
cephfs: src/common: 修复 cephfs-shell 的 echo 选项的帮助文本 (pr#33285, Rishabh Dave)
cephfs: stop: 清理卸载 cephFS 卷 (pr#32024, Kotresh HR)
cephfs: test/{fs,cephfs}: 使 libcephfs 和 cephfs 在 FreeBSD 上编译 (pr#30505, Willem Jan Withagen)
cephfs: test: 扩展 fs subvolume 测试以覆盖新接口 (issue#39949, pr#27856, Venky Shankar)
cephfs: test: 使用不同的子卷/组/快照名称 (issue#42646, pr#31418, Venky Shankar)
cephfs: test_volumes: 修复 _verify_clone_attrs 调用 (pr#33788, Ramana Raja)
cephfs: test_volume_client: 仅为 python 版本声明一个默认值 (issue#40460, pr#28194, Rishabh Dave)
cephfs: test_volume_client: 修复 test_put_object_versioned() (issue#39405, issue#39510, pr#28692, Rishabh Dave)
cephfs: test_volume_client: 简化 test_get_authorized_ids() (pr#28171, Rishabh Dave)
cephfs: tools/cephfs: 使 cephfs-data-scan scan_links 首先修复 dentrys (pr#31680, Yan, Zheng)
cephfs: Trivial comment and cleanup fixes for cephfs (pr#27199, Jeff Layton)
cephfs: vstart: 为 vstart_environment.sh 添加 cephfs-shell 的别名 (pr#27437, Jeff Layton)
cephfs: vstart: 生成适合于 source 的环境脚本 (pr#27198, Jeff Layton)
cephfs: vstart_runner: 允许将其与内核挂载一起使用 (pr#30463, Jeff Layton)
ceph_argparse: increment matchcnt on kwargs (pr#33004, Matthew Oliver)
检查 rdma 配置并修复一些逻辑问题 (pr#28344, Changcheng Liu)
client/Client : Fix sign compare compiler warning (pr#30719, Prashant D)
cls/queue: 修复紧急数据中的数据损坏 (pr#33686, Yuval Lifshitz)
cmake: support parallel build for rocksd (pr#31781, Deepika Upadhyay)
cmake: add add_tox_test() (pr#29446, Kefu Chai)
cmake: add cython_cephfs to vstart target (pr#28876, Kefu Chai)
cmake: Add dpdk numa support (pr#31841, Chunsong Feng, Hu Ye)
cmake: Allow cephfs and ceph-mds to be build when building on FreeBSD (pr#30494, Willem Jan Withagen)
cmake: avoid rebuilding extensions, and using python-config (pr#28920, Kefu Chai)
cmake: boost fixes for ARM 32 bit (pr#25729, Daniel Glaser)
cmake: bump libceph-common SO version for compliance (pr#30976, Nathan Cutler)
cmake: check for MAJOR.MINOR version of python3 (pr#27383, Kefu Chai, Boris Ranto)
cmake: check for unaligned access (pr#28936, Kefu Chai)
cmake: check version of librdkafka (pr#32237, Kefu Chai)
cmake: cleanups (pr#28252, Kefu Chai)
cmake: cleanups (pr#33500, Kefu Chai)
cmake: compile crimson-auth with crimson::cflags (pr#33296, Kefu Chai)
cmake: dashboard: enable frontend on arm64 (pr#30958, Kefu Chai)
cmake: define mgr_cap_obj library when WITH_MGR=OFF (pr#31326, Casey Bodley)
cmake: detect librt for POSIX time functions (pr#31543, Kefu Chai)
cmake: detect linker support (pr#30781, Kefu Chai)
cmake: Do a debug build by default (pr#30799, Brad Hubbard)
cmake: do not assume ${CMAKE_GENERATOR} == make (pr#27089, Kefu Chai)
cmake: do not include ${CMAKE_SOURCE_DIR}/src/fmt/include (pr#31761, Kefu Chai)
cmake: do not include global_context.cc multiple times (pr#32607, Kefu Chai)
cmake: do not link against unused libs (pr#33247, Kefu Chai)
cmake: do not use CMP0074 unless it is supported (pr#31958, Kefu Chai)
cmake: do not use CMP0093 unless it is supported (pr#31960, Kefu Chai)
cmake: exclude unittest_alloc_aging from all (pr#33466, Kefu Chai)
cmake: Fix build against ncurses with separate libtinfo (pr#27443, Lars Wendler)
cmake: Fix unaligned check on big-endian systems (pr#30362, Ulrich Weigand)
cmake: fix WITH_UBSAN (pr#28725, Casey Bodley)
cmake: Improve test for 16-byte atomic support on IBM Z (pr#32802, Ulrich Weigand)
cmake: let vstart depend on radosgwd (pr#32564, Kefu Chai)
cmake: link ceph-fuse against librt (pr#31531, Yong Wang)
cmake: move crimson-crush to crimson/ (pr#33481, Kefu Chai)
cmake: one run_tox.sh to rule them all (pr#29457, Kefu Chai)
cmake: pass arguments to crimson tests (pr#30655, Kefu Chai)
cmake: pmem/pmdk changes to cmake (pr#28802, Scott Peterson, Xiaoyan Li)
cmake: remove cython 0.29s subinterpreter check during install (pr#27067, Tim Serong)
cmake: Removed unittest_alloc_aging from make check (pr#33397, Adam Kupczyk)
cmake: require CMake v3.10.2 (pr#29291, Kefu Chai)
cmake: require RocksDB 5.14 or higher (pr#29930, Ilsoo Byun)
cmake: revert librados_tp.so version from 3 to 2 (issue#39291, pr#27593, Nathan Cutler)
cmake: rewrite Findgenl to support components argument (pr#28460, Kefu Chai)
cmake: s/bortli_libs/brotli_libs/ (pr#30374, Kefu Chai)
cmake: selectively rewrite install rpath (pr#30028, Kefu Chai)
cmake: set empty INSTALL_RPATH on crypto shared libs (issue#40398, pr#28593, Nathan Cutler)
cmake: set empty RPATH for some test executables (pr#29922, Nathan Cutler)
cmake: set empty-string RPATH for ceph-osd (issue#40295, pr#28508, Nathan Cutler)
cmake: should expose ${C-ARES_BINARY_DIR} from c-ares (pr#33256, Kefu Chai)
cmake: silence messages when cppcheck/IWYU is not found (pr#32140, Kefu Chai)
cmake: support Seastar_DPDK=ON option (pr#31110, Kefu Chai)
cmake: Test for 16-byte atomic support on IBM Z (pr#30638, Ulrich Weigand)
cmake: update FindBoost.cmake (pr#29396, Willem Jan Withagen)
cmake: update FindBoost.cmake for 1.71 (pr#31317, Willem Jan Withagen)
cmake: Update pmdk version to 1.7 (pr#32693, Yin, Congmin)
cmake: update SPDK to build with GCC-9 (pr#28507, Kefu Chai)
cmake: use BUILD_ALWAYS for rebuilding external project (pr#28984, Kefu Chai)
cmake: use GNU linker on FreeBSD (pr#30621, Willem Jan Withagen)
cmake: use latest FindPython\*.cmake (pr#29100, Kefu Chai)
cmake: use python2 by default (pr#29148, Kefu Chai)
cmake: use StdFilesystem::filesystem instead of stdc++fs (pr#27149, Willem Jan Withagen)
cmake: workaround of false alarm from ubsan (pr#27094, Kefu Chai)
CMakeLists.txt: fix typo in error message (pr#28795, Kefu Chai)
codeowners: Add ceph2.py to @ceph/orchestrators (pr#32131, Sebastian Wagner)
common,core,mon: src/: drop cct from cmd_getval() (pr#33010, Kefu Chai)
common,core: common, auth: use boost::spirit to parse ceph.conf, escape quotes in exported auths (issue#22227, pr#28634, Kefu Chai, Gu Zhongyan)
common,core: common,mgr,osd: pass string_view as name (pr#33167, Kefu Chai)
common,core: common,osd: add hash algorithms for dedup fingerprint (pr#28254, Myoungwon Oh)
common,core: include/cpp-btree: use the same type when allocate/deallocate (pr#33638, Kefu Chai)
common,core: message,mgr: drop MessageFactory and friends and use ref_t<> in mgr (pr#27592, Patrick Donnelly, Kefu Chai)
common,core: Remove dependence on using namespace: Build of common through osdc/Objecter.cc (pr#27255, Adam C. Emerson)
common,mgr: vstart.sh: set prometheus port for each mgr (pr#33698, Alfonso Martxc3xadnez)
common,mon: common/options: make mon_clean_pg_upmaps_per_chunk unsigned (pr#28509, Kefu Chai)
common,rbd: common/ceph_context: avoid unnecessary wait during service thread shutdown (pr#30947, Jason Dillaman)
common,rgw: common/Formatter: escape printed buffer in XMLFormatter::dump_format_va() (issue#38121, pr#26220, ashitakasam)
common,rgw: rgw/OutputDataSocket: actually discard data on full buffer (issue#40178, pr#28415, Matt Benjamin)
common,tests: python-common: Add mypy testing (pr#31071, Sebastian Wagner)
common,tests: test/test_mempool: test accounting for btree_map (pr#33621, Adam Kupczyk)
common,tools: src/common: add rabin chunking for dedup (pr#26730, Myoungwon Oh, Hsuan-Heng, Wu)
common,tools: vstart.sh: enable creating multiple OSDs backed by spdk backend (pr#27841, Richael Zhuang)
common,tools: vstart.sh: enable nfs-ganesha mgmt. in dashboard (pr#33691, Alfonso Martxc3xadnez)
common/config_values: set seastar logging level per that of ceph (pr#28792, Kefu Chai)
common/options: remove unused ms_msgr2\_{sign,encrypt}_messages (pr#31818, Ilya Dryomov)
common: crimson/osd: add --mkkey support (pr#28534, Kefu Chai)
common: .gitignore: ignore /src/python-common/build (pr#32967, Alfonso Martxc3xadnez)
common: add --log-early command line option (pr#27419, Sage Weil)
common: add bool log_to_file option (pr#27044, Sage Weil)
common: add comment about pod memory requests/limits (pr#29331, Patrick Donnelly)
common: add iterator-based string splitter (pr#33696, Casey Bodley)
common: add ref header (pr#29119, Patrick Donnelly)
common: auth/cephx: always initialize local variables (pr#31154, Kefu Chai)
common: auth/krb: fix Kerberos compile error (issue#39948, pr#28113, huangjun)
common: avoid use of size_t in options (pr#28277, James Page)
common: blobhash.h: remove extra [[fallthrough]] (pr#28270, Thomas Johnson)
common: blobhash: do not use cast for unaligned access (pr#28099, Kefu Chai)
common: buffer, denc: more constness (pr#27767, Kefu Chai)
common: buffer,crypto,tools: extract digest methods out of bufferlist (pr#28486, Kefu Chai)
common: buffer.h: remove list::iterator_impl::advance(size_t) (pr#28278, Kefu Chai)
common: ceph.in: use sys._exit when we dont shut down (pr#33950, Sage Weil)
common: ceph_argparse: put args from env before existing ones (pr#33243, Kefu Chai)
common: Clang requires a default constructor, but it can be empty (issue#39561, pr#27844, Willem Jan Withagen)
common: clean up CLUSTER_CREATE and CREATE options (pr#31584, Sage Weil)
common: common,crimson: fixes to compile with clang and libc++ (pr#32485, Kefu Chai)
common: common,crimson: supporting admin-socket commands (pr#32174, Ronen Friedman, Kefu Chai)
common: common,log: use ISO 8601 datetime format (pr#27799, Sage Weil, Casey Bodley)
common: common,os: address string truncated warnings from GCC-9 (pr#28289, Kefu Chai)
common: common/admin_socket: Added printing of error message (pr#33380, Adam Kupczyk)
common: common/bl: carry the bufferlist::_carriage over std::moves (pr#32937, Radoslaw Zarzynski)
common: common/bl: fix memory corruption in bufferlist::claim_append() (pr#32823, Radoslaw Zarzynski)
common: common/bl: fix the dangling last_p issue (pr#32702, Radoslaw Zarzynski)
common: common/bloom_filter: Fix endian issues (pr#30527, Ulrich Weigand)
common: common/ceph_time: tolerate mono time going backwards (pr#33699, Sage Weil)
common: common/config: cleanups (pr#33362, Jianpeng Ma)
common: common/config: fix lack of normalize_key_name() apply (pr#33558, Igor Fedotov)
common: common/config: Remove unused code (pr#28940, Jianpeng Ma)
common: common/Finisher: remove some lock acquisitions (pr#29495, Igor Fedotov)
common: common/options: change default erasure-code-profile to k=2 m=2 (pr#27656, Sage Weil)
common: common/pick_address.cc: silence GCC warning (pr#32025, Kefu Chai)
common: common/secret.c: dont pass uninitialized stack data to the kernel (pr#30675, Ilya Dryomov)
common: common/thread: Fix race condition in make_named_thread (pr#31057, Adam C. Emerson)
common: common/util: use ifstream to read from /proc files (pr#32630, Kefu Chai)
common: common/WorkQueue: narrow ThreadPool::_lock in func worker (pr#22411, Jianpeng Ma)
common: crimson, common: introduce ceph::atomic and apply it on bufferlist (pr#32766, Radoslaw Zarzynski)
common: crimson, common: RefCountedObj doesnt use atomics in Seastar builds (pr#28085, Radoslaw Zarzynski)
common: crimson/osd: implement readable/lease related methods (pr#30639, Kefu Chai)
common: crimson/osd: Message has non-null ref to SocketConnection now (pr#30124, Radoslaw Zarzynski)
common: crimson: cleanups (pr#33797, Kefu Chai)
common: crimson: cleanups for clang build (pr#32605, Kefu Chai)
common: Cycles: Add support for IBM Z (pr#30874, Ulrich Weigand)
common: default pg_autoscale_mode=on for new pools (pr#30112, Sage Weil)
common: default pg_autoscale_mode=on for new pools (pr#30475, Sage Weil)
common: denc: fix build error by calling global snprintf (pr#27572, Changcheng Liu)
common: denc: slightly optimize container_base::bound_encode (pr#24636, Radoslaw Zarzynski, Kefu Chai)
common: denc: support enums wider than 8 bits (pr#33673, Casey Bodley)
common: dmclock: pick up fix to replace uint (pr#28829, Kefu Chai)
common: drop sharing of buffer::raw outside bufferlist (pr#32806, Radoslaw Zarzynski)
common: encode for std::list<T> doesnt use bl::copy_in() anymore (pr#32785, Radoslaw Zarzynski)
common: FIPS: audit and switch some memset & bzero users (pr#31692, Radoslaw Zarzynski)
common: Fix 44373 and make a couple cleanups in ceph::timer (pr#33771, Adam C. Emerson)
common: fix clang build failures, and clean up warnings (pr#26701, Adam C. Emerson)
common: fix clang compile errors from cython_modules (pr#33056, Mark Kogan)
common: fix compat of strerror_r (pr#30279, luo.runbing)
common: fix deadlocky inflight op visiting in OpTracker (pr#32364, Radoslaw Zarzynski)
common: fix missing <stdio.h> include (pr#31209, Willem Jan Withagen)
common: fix parse_env nullptr deref (pr#28159, Patrick Donnelly)
common: Fix the error handling logic in get_device_id (pr#30636, Difan Zhang)
common: fix typo in rgw_user_max_buckets option long description (pr#31571, Alfonso Martxc3xadnez)
common: give lockdeps group name to OpenSSLs mutexes (issue#40698, pr#28987, Radoslaw Zarzynski)
common: global/global_context: always add \0 after strncpy() (pr#28365, Kefu Chai)
common: global/global_init: do first transport connection after setuid() (pr#28012, Roman Penyaev)
common: global/pidfile: pass string_view instead of ConfigProxy to pidfile_wrxe2x80xa6 (pr#27975, Kefu Chai)
common: handle return value from read(2) (pr#32192, Patrick Donnelly)
common: include, common: make ceph::bufferlist 32 bytes long on x86 (pr#32934, Radoslaw Zarzynski)
common: include/buffer: add operator+=() for list::iterator (pr#33003, Kefu Chai)
common: include/cpp-btree: drop btree::dump() (pr#32692, Kefu Chai)
common: include/interval_set: rename some types (pr#32415, Kefu Chai)
common: include: switch mempool.h to ceph::atomic (pr#33034, Radoslaw Zarzynski)
common: json: JSONDecoder::err inherits from std::runtime_error (pr#27957, Casey Bodley)
common: make cluster_network work (pr#27811, Jianpeng Ma)
common: messages: MOSDPGCreate2 doesnt assume using namespace std (pr#28342, Radoslaw Zarzynski)
common: messages: remove MNop (pr#27585, Kefu Chai)
common: mgr/test_orchestrator: Add dummy data (pr#32182, Sebastian Wagner, Volker Theile)
common: move gen_rand_alphanumeric() helpers into common (pr#31567, Casey Bodley)
common: move xattr -> os/filestore/os_xattr (pr#32219, David Disseldorp)
common: msg/Message: remove unused local variables (pr#29155, Kefu Chai)
common: msg/msg_types: use inet_ntop(3) to render IP addresses (pr#26987, Sage Weil)
common: no need to include ceph_assert.h (pr#28255, Kefu Chai)
common: octopus (pr#27009, Sage Weil)
common: optimize check_utf8 (pr#27628, Yibo Cai)
common: optimize encode_utf8 (pr#27807, Yibo Cai)
common: OutputDataSocket retakes mutex on error path (issue#40188, pr#28431, Casey Bodley)
common: preforker: remove useless code (pr#31714, Xiubo Li)
common: python-common: Add drive selection (pr#31021, Sebastian Wagner)
common: python-common: add py.typed (PEP 561) (pr#33236, Sebastian Wagner)
common: python-common: Add small Readme (pr#30587, Sebastian Wagner)
common: python-common: avoid using setup_requires in setup.py (pr#31222, Sebastian Wagner)
common: python-common: enable lint in tox tests (pr#31068, Kiefer Chang)
common: python-common: Fix typo in device type (pr#31758, Volker Theile)
common: python-common: Make Drive Group filter by AND, instead of OR (pr#33625, Sage Weil, Sebastian Wagner)
common: python-common: Make DriveGroupSpec a sub type of ServiceSpec (pr#33817, Sebastian Wagner)
common: random: added a deduction guide to make using the function obxe2x80xa6 (pr#30224, Jesse Williamson)
common: remove dead code in {safe,mutable}_item_history (pr#32698, Radoslaw Zarzynski)
common: remove unused _STR and STRINGIFY macro (pr#29605, Yao Zongyou)
common: rename image to container_image (pr#30800, Sage Weil)
common: Revert Merge pull request #33673 from cbodley/wip-denc-enum (pr#33832, Sage Weil)
common: selinux: Allow ceph to setsched (pr#33404, Brad Hubbard)
common: skip interfaces starting with lo in find_ipv{4,6}_in_subnet() (pr#32420, Jiawei Li)
common: sort best-matched commond by req argument count (issue#40292, pr#28510, Chang Liu)
common: src/: remove execute permissions on nine source files (pr#28781, J. Eric Ivancich)
common: start logging for non-global_init users (pr#27352, Sage Weil)
common: systemd: Wait 5 seconds before attempting a restart of an OSD (pr#31550, Wido den Hollander)
common: use of malloc.h is deprecated (pr#29397, Willem Jan Withagen)
common: zstd: upgrade to v1.4.0 (pr#28656, Dan van der Ster)
core,mgr,tools: osd,tools: Balancer fixes without all of the calc_pg_upmaps() rewrites (pr#31774, David Zafman)
core,mgr: mgr/ActivePyModules: drop GIL to register/unregister clients (pr#33464, Sage Weil)
core,mgr: mgr/alerts: simple module to send health alerts (pr#30738, Sage Weil)
core,mgr: mgr/DaemonServer: warn when we reject reports (pr#31471, Sage Weil)
core,mgr: mgr/pg_autoscaler: add pg_autoscale_bias pool property and apply it to pg_num selection (pr#27154, Sage Weil)
core,mgr: mgr/prometheus: report per-pool pg states (pr#32370, Aleksei Zakharov)
core,mgr: mgr/telemetry: add report_timestamp to sent reports (pr#27571, Dan Mick)
core,mgr: mgr/telemetry: catch exception during requests.put (pr#33070, Sage Weil)
core,mgr: mgr/telemetry: obscure entity_name with a salt (pr#29330, Sage Weil)
core,mgr: osd,mon,mgr: report /dev/disk/by-path paths for devices (pr#32261, Sage Weil)
core,mon: mon,osd: use get_req<> instead of static_cast<>(get_req()) (pr#30023, Kefu Chai)
core,mon: mon/AuthMonitor: fix initial creation of rotating keys (issue#40634, pr#28850, Sage Weil)
core,mon: mon/MonClient: add proper SRV priority support (pr#27126, Kefu Chai)
core,mon: mon/Monitor.cc: fix condition that checks for unrecognized auth mode (pr#30015, Neha Ojha)
core,mon: mon/Monitor.cc: print min_mon_release correctly (pr#27107, Neha Ojha)
core,mon: mon/OSDMonitor: clean up removed_snap keys (pr#30518, Sage Weil)
core,mon: mon/OSDMonitor: expand iec_options for osd pool set (pr#31196, Sage Weil)
core,mon: mon/OSDMonitor: Use generic priority cache tuner for mon caches (issue#40870, pr#28227, Sridhar Seshasayee)
core,pybind: pybind/ceph_argparse: avoid int overflow (pr#33101, Kefu Chai)
core,pybind: pybind/rados: fix set_omap() crash on py3 (pr#29096, Sage Weil)
core,pybind: pybind/rados: fixed Python3 string conversion issue on get_fsid (issue#38381, pr#26514, Jason Dillaman)
core,rbd: common/config: use string_view for keys (pr#27097, Kefu Chai)
core,rbd: osd/OSDCap: rbd profile permits use of rbd_info (issue#39973, pr#28253, songweibin)
core,rbd: osd/PrimaryLogPG: do not append outdata to TMAPUP ops (pr#30457, Jason Dillaman)
core,rgw,tests: librados,test,rgw: cleanups to deprecate safe_cb related functions (pr#31045, Kefu Chai)
core,tests: ceph_test_cls_hello: set RETURNVEC on the expected EINVAL request (pr#33708, Sage Weil)
core,tests: ceph_test_rados_api\_{watch_notify,misc}: tolerate some timeouts (pr#34011, Sage Weil)
core,tests: Improvements to standalone tests (pr#27279, David Zafman)
core,tests: kv_store_bench: fix teuthology_tests() return value (pr#30293, luo rixin)
core,tests: mon.test: improve validation and add a test for osd pool create (pr#30538, Kefu Chai)
core,tests: qa/objectstore: test with reduced value of osd_memory_target (pr#27083, Neha Ojha)
core,tests: qa/standalone/ceph-helpers: more osd debug (issue#40666, pr#28867, Sage Weil)
core,tests: qa/standalone/misc/ok-to-stop: improve test (pr#32738, Sage Weil)
core,tests: qa/standalone/mon/health-mute.sh: misc fixes (pr#29744, Sage Weil)
core,tests: qa/standalone/osd/osd-backfill-recovery-log.sh: fix TEST_backfill_log\_[1, 2] (pr#32851, Neha Ojha)
core,tests: qa/standalone/scrub/osd-scrub-snaps: snapmapper omap is now m (pr#29774, Sage Weil)
core,tests: qa/standalone/scrub/osd-scrub-test: wait longer for update (pr#33809, Sage Weil)
core,tests: qa/suites/rados/multimon: whitelist SLOW_OPS while thrashing mons (pr#29121, Sage Weil)
core,tests: qa/suites/rados/perf: run on ubuntu (pr#32355, Sage Weil)
core,tests: qa/suites/rados/rest: run restful test on el8 (pr#32920, Sage Weil)
core,tests: qa/suites/rados/singleton-bluestore/cephtool: whitelist MON_DOWN (pr#33645, Sage Weil)
core,tests: qa/suites/rados/singleton/all/lost-unfound\*: whitelist SLOW_OPS (pr#32958, Sage Weil)
core,tests: qa/suites/rados/singleton/all/recovery-preemption: fix pg log length (pr#32898, Sage Weil)
core,tests: qa/suites/rados/singleton/all/thrash-eio: whitelist slow request (pr#33497, Sage Weil, Sridhar Seshasayee)
core,tests: qa/suites/rados/thrash-old-clients: exclude ceph-daemon on nautilus installs (pr#30817, Sage Weil)
core,tests: qa/suites/rados/thrash-old-clients: rejigger v1 vs v2 settings (pr#27249, Sage Weil)
core,tests: qa/suites/rados/thrash-old-clients: tolerate MON_DOWN (pr#30577, Sage Weil)
core,tests: qa/suites/rados/thrash-old-clients: use cephadm (pr#32377, Sage Weil)
core,tests: qa/suites/rados/thrash: force normal pg log length with cache tiering (issue#38358, issue#24320, pr#28658, Sage Weil)
core,tests: qa/suites/rados/thrash: increase async and partial recovery test coverage (pr#30699, Neha Ojha)
core,tests: qa/suites/rados/valgrind-leaks: independently verify we detect leaks on mon, osd, mgr (pr#32946, Sage Weil)
core,tests: qa/suites/rados/verify/tasks/mon_recovery: whitelist SLOW_OPS (pr#33644, Sage Weil)
core,tests: qa/suites/rados/verify: debug monc = 20 (pr#32968, Sage Weil)
core,tests: qa/suites/rados/verify: debug_ms = 1 (pr#33871, Sage Weil)
core,tests: qa/suites/rados: move cephadm_orchestrator to el8 (pr#32407, Sage Weil)
core,tests: qa/suites/upgrade/mimic-x-singleton: suppress TOO_FEW_PGS warning (pr#31054, Sage Weil)
core,tests: qa/suites/upgrade: fix mimic-x-singleton (pr#32719, Sage Weil)
core,tests: qa/suites/upgrade: misc fixes for octopus (pr#32750, Sage Weil, Josh Durgin)
core,tests: qa/tasks/cbt: run stop-all.sh while shutting down (pr#31171, Sage Weil)
core,tests: qa/tasks/ceph: restart: stop osd, mark down, then start (pr#30196, Sage Weil)
core,tests: qa/tasks/ceph_manager: add --log-early to raw_cluster_cmd (pr#32989, Sage Weil)
core,tests: qa/tasks/ceph_manager: enable ceph-objectstore-tool via cephadm (pr#32411, Sage Weil)
core,tests: qa/tasks/ceph_manager: fix ceph-objectstore-tool incantations (pr#32701, Sage Weil)
core,tests: qa/tasks/ceph_manager: fix chmod on log dir during pg export copy (pr#32943, Sage Weil)
core,tests: qa/tasks/ceph_manager: fix post-osd-kill pg peered check (pr#32737, Sage Weil)
core,tests: qa/tasks/ceph_manager: make is\_{clean,recovered,active_or_down} less racy (pr#28969, Sage Weil)
core,tests: qa/tasks/mon_thrash: sync force requires some force flags (pr#30361, Sage Weil)
core,tests: qa/tasks/radosbench: fix usage of -O (pr#33744, Sage Weil)
core,tests: qa/tasks/thrashosds-health: disable osd_max_markdown behavior (pr#33601, Sage Weil)
core,tests: qa/workunits/cephtool/test.sh: delete test_erasure pool (pr#33188, Sage Weil)
core,tests: qa/workunits/rados/test_crash.sh: suppress core files (pr#32724, Sage Weil)
core,tests: qa: add basic omap testing capability (pr#29120, Neha Ojha)
core,tests: remove ceph_test_rados_watch_notify (pr#34044, Sage Weil)
core,tests: test/CMakeLists: disable memstore make check test (pr#33473, Sage Weil)
core,tests: test/librados: dont release handler if set_pg_num failed (pr#32112, huangjun)
core,tests: test/osd/safe-to-destroy.sh: fix typo (pr#27651, Sage Weil)
core,tests: test/pybind/test_rados.py: test test_aio_remove (pr#31003, Zhang Jiao)
core,tests: test/unittest_lockdep: do not start extra threads (pr#32772, Kefu Chai)
core,tests: test: Bump sleep time for slower machines (pr#29494, David Zafman)
core,tests: test: Make sure that extra scheduled scrubs dont confuse test (issue#40078, pr#28302, David Zafman)
core,tests: tests/osd: fix typo in unittest_osdmap (pr#29790, huangjun)
core,tests: tools/rados: use num ops instead of num objs for tracking outstanding IO (pr#29734, Albert H Chen)
core,tests: unittest_lockdep: avoid any threads for death test (pr#32765, Sage Weil)
core,tools: ceph-objectstore-tool cant remove head with bad snapset (pr#29919, David Zafman)
core,tools: ceph.in: check ceph-conf returncode (pr#30695, Dimitri Savineau)
core,tools: src/tools/ceph-dedup-tool: Fix chunk scru (pr#28765, Myoungwon Oh)
core: ceph.in: only preload asan library for Debug build (pr#27190, Kefu Chai)
core: osd/ClassHandler: cleanups (pr#28363, Kefu Chai)
core: osd: add hdd, ssd and hybrid variants for osd_snap_trim_sleep (pr#28772, Neha Ojha)
core: osdc/Objecter: use unique_ptr<OSDMap> for Objecter::osdmap (issue#38403, pr#28397, Kefu Chai)
core: Add structures for tracking in progress operations (pr#28395, Samuel Just)
core: auth: treat mgr the same as mon when selecting auth mode (pr#33226, Yehuda Sadeh)
core: backfill_toofull seen on cluster where the most full OSD is at 1% (pr#29857, David Zafman)
core: ceph,pybind/mgr: a few py3 fixes (pr#32187, Sage Weil)
core: ceph-objectstore-tool: better error message if pgid and object do not match (pr#30501, Sage Weil)
core: ceph.in: Fix name retval is not defined error (pr#33516, Varsha Rao)
core: ceph.in: improve control-c handling (pr#33352, Sage Weil)
core: ceph.in: only shut down rados on clean exit (pr#33825, Sage Weil)
core: client: fix FTBFS due to bl::iterator::advance() (pr#33085, Radoslaw Zarzynski)
core: cls_hello: fix typo (pr#32976, Sage Weil)
core: common,mon,osd: unify ceph tell and ceph daemon command sets (pr#30217, Sage Weil)
core: common,tools,crush,test: misc converity & klocwork fixes (pr#29316, songweibin)
core: common/admin_socket: Increase socket timeouts (pr#31623, Brad Hubbard)
core: common/assert: include ceph_abort_msg(arg) arg in log output (pr#27732, Sage Weil)
core: common/blkdev: fix some problems with smart scraping (pr#28848, Sage Weil)
core: common/blkdev: get_device_id: behave if model is lvm and id_model_enc isnt there (pr#27156, Sage Weil)
core: common/blkdev: handle devices with ID_MODEL as LVM PV … but valid ID_MODEL_ENC (pr#27020, Sage Weil)
core: common/condition_variable_debug: do not assert() if sloppy (pr#29854, Kefu Chai)
core: common/config: behave when both POD_MEMORY_REQUEST and POD_MEMORY_LIMIT are set (pr#29511, Sage Weil)
core: common/config: less noise about configs from mon we cant apply (pr#31988, Sage Weil)
core: common/config: parse --default-$option as a default value (pr#27169, Sage Weil)
core: common/config: update values when they are removed via mon (pr#32091, Sage Weil)
core: common/kv/rocksdb: Fixed async compations (pr#26786, Adam Kupczyk)
core: common/options.cc: Lower the default value of osd_deep_scrub_large_omap_object_key_threshold (pr#28782, Neha Ojha)
core: common/options.cc: make rocksdb_delete_range_threshold very high (pr#33439, Neha Ojha)
core: common/options: allow osd_pool_default_pg_autoscale_mode to update a runtime (pr#27821, Sage Weil)
core: common/options: annotate some options; enable some runtime updates (pr#27655, Sage Weil)
core: common/options: decrease the default max_omap_entries_per_request (pr#31506, Yan Jun)
core: common/options: make secure mode non-experimental, and prefer/require it for mons (pr#27012, Sage Weil)
core: common/options: update mon_crush_min_required_version=hammer (pr#27568, Sage Weil)
core: common/PriorityCache: fix over-aggressive assert when mem limited (pr#27763, Mark Nelson)
core: common/PriorityCache: Implement a Cache Manager (pr#27381, Mark Nelson)
core: common/TextTable,mgr: standardize on 2 spaces between table columns (pr#33138, Sage Weil)
core: common/util: 处理 /proc/cpuinfo 中的长行(issue#38296, pr#27707, Sage Weil)
core: compressor/lz4: 解决 liblz4 1.8.2 版本之前的错误(pr#33584, Sage Weil, Dan van der Ster)
core: crimson, osd: 添加对 Ceph 类的支持,第 1 部分(pr#29651, Radoslaw Zarzynski)
core: crimson/osd: OSD 启动时将其添加到 CRUSH(pr#28689, Kefu Chai)
core: crush/CrushCompiler: 修复 __replacement_assert(issue#39174, pr#27506, Brad Hubbard)
core: crush/CrushWrapper.cc: 修复符号比较编译器警告(pr#31184, Prashant D)
core: crush/CrushWrapper: 处理空权重向量(pr#32673, Kefu Chai)
core: dencoder: 包含一些遗漏的类型(pr#27804, Greg Farnum)
core: dmclock 服务器端重构(pr#30650, Samuel Just)
core: examples/librados: 修复 hello_world.cc 中的 bufferlist::copy()(pr#33075, Radoslaw Zarzynski)
core: 将对等逻辑提取到一个模块中,用于 crimson(pr#27874, Samuel Just, sjust@redhat.com)
core: feature: 网络 ping 时间长的健康警告,添加 dump_osd_network 以获取报告(issue#40640, pr#28755, David Zafman)
core: Feature: 自动修复的改进(issue#38616, pr#26942, David Zafman)
core: global: 确保在早期参数处理之前解码 CEPH_ARGS(pr#32830, Jason Dillaman)
core: global: 在崩溃转储中明确指出 EIO 事件(pr#27386, Sage Weil)
core: include,os: 使 ceph_le 成员私有(pr#30526, Ulrich Weigand)
core: include/ceph_features: 修复拼写错误(pr#27353, Sage Weil)
core: include/cpp-btree: 清理(pr#32443, Kefu Chai)
core: init-ceph: 在重新发送 $signal 之前等待更长时间(pr#27308, Kefu Chai)
core: kv/KeyValueDB: 修复 estimate_prefix_size()(pr#29842, Adam Kupczyk)
core: kv/RocksDBStore: 在调用 DeleteRange 之前添加最小键限制(pr#31442, Mark Nelson)
core: kv/RocksDBStore: 使选项:compaction_threads/disableWAL/flusher_txe2x80xa6(pr#32453, Jianpeng Ma)
core: kv/RocksDBStore: 告诉 rocksdb 将模式设置为 0600,而不是 0644(pr#30679, Sage Weil)
core: kv: 修复关机与异步 compaction(pr#32619, Sage Weil)
core: kv: 使删除范围可选,基于键的数量(pr#27317, Zengran Zhang)
core: librados,osd,mon: 移除 CEPH_OSDMAP_FULL 的痕迹(pr#30614, Kefu Chai)
core: 使 scrub 和 recovery 之间的保留信息转储保持一致(pr#30192, David Zafman)
core: messages,osd: 移除 MPGStats::had_map_for(pr#27026, Kefu Chai)
core: messages: #include 必要的头文件(pr#27590, Kefu Chai)
core: mgr/balancer: 在 balancer ls 输出中对池名称进行排序(pr#32424, Sage Weil)
core: mgr/balancer: 容忍目标权重映射之外的 pgs(pr#34014, Sage Weil)
core: mgr/cephadm: 对散乱服务或主机的健康警报(pr#32754, Sage Weil)
core: mgr/crash: 处理已发布的崩溃没有回溯的情况(pr#31643, Sage Weil)
core: mgr/crash: 提高对最近崩溃的警告并进行其他改进(pr#29034, Sage Weil)
core: mgr/DaemonServer: 修复 EC 池的 OSD ok-to-stop(pr#32046, Sage Weil)
core: mgr/DaemonServer: 修复 pg 合并检查(pr#34067, Sage Weil)
core: mgr/DaemonServer: 防止 pgp_num 减少超过 pg_num 合并(issue#38786, pr#27473, Sage Weil)
core: mgr/devicehealth: 修复遥测在 48xe2x80xa6 后停止发送设备报告的问题(pr#32903, Yaarit Hatuka)
core: mgr/diskprediction_cloud: 服务不可用(issue#40478, pr#28687, Rick Chen)
core: mgr/diskprediction_local: 提前导入 scipy 以修复自测死锁(pr#32102, Sage Weil)
core: mgr/diskprediction_local: 在预测(和自测)期间的一些调试输出(pr#31572, Sage Weil)
core: mgr/MgrClient: 修复打开条件(pr#31256, Sage Weil)
core: mgr/MgrClient: 修复打开条件修复(pr#31422, Sage Weil)
core: mgr/MgrClient: 修复 tell mgr.x …(pr#31989, Sage Weil)
core: mgr/pg_autoscaler: 如果池消失,则完成事件(pr#30819, Sage Weil)
core: mgr/pg_autoscaler: 默认 pg_num[_min] = 16(pr#31636, Sage Weil)
core: mgr/pg_autoscaler: 默认 pg_num[_min] = 32(pr#32788, Neha Ojha)
core: mgr/pg_autoscaler: 修复除零错误(pr#33402, Sage Weil)
core: mgr/pg_autoscaler: 仅在设置目标时生成 target_* 健康警告(pr#31638, Sage Weil)
core: mgr/progress: 如果 pgs 消失(由于竞态 pg 合并),则正常运行(issue#38157, pr#27546, Sage Weil)
core: mgr/progress: 修复持续时间字符串(pr#34045, Sage Weil)
core: mgr/progress: progress clear 命令应清除 ceph -s 中的事件(pr#33400, Sage Weil)
core: mgr/telemetry: 添加更多遥测数据(pr#31226, Sage Weil)
core: mgr/telemetry: 包含 pg_autoscaler 和 balancer 状态(pr#30871, Sage Weil)
core: mgr/telemetry: 通过每主机 POST 将设备遥测数据发送到设备端点(pr#31225, Sage Weil)
core: mgr/telemetry: 仅分割 entity_name 一次(处理带有点的 ID)(pr#33094, Dan Mick)
core: 杂项丢失修复(pr#27599, Xinze Chi, Greg Farnum, linbing, shangfufei)
core: mon, osd: 并行 clean_pg_upmaps(issue#40104, pr#28373, xie xingguo)
core: mon,msg/async: 修复 mon 到 mon 认证(pr#27823, Sage Weil)
core: mon,osd: 添加 dead_epoch, --dead 标志到 osd down(pr#29221, Sage Weil)
core: mon,osd: 在 CRUSH 节点上添加 no{out,down,in,out} 标志(pr#27563, Sage Weil)
core: mon,osd: 废弃 forward 和 readforward 缓存模式(pr#28944, Sage Weil)
core: mon,osd: 跟踪创建 pgs 的历史和 past_intervals(pr#27696, Sage Weil)
core: mon,osd: 各种 octopus 功能位(pr#27141, Sage Weil)
core: mon/ConfigMap: 搜索嵌套部分(pr#31327, Sage Weil)
core: mon/ConfigMonitor: 修复 NO_MON_UPDATE 设置的处理(pr#32726, Sage Weil)
core: mon/ConfigMonitor: 仅在是领导者时才提出(pr#32975, Sage Weil)
core: mon/ConfigMonitor: 所有全局配置选项都带有 global/ 前缀(pr#32786, Sage Weil)
core: mon/LogMonitor: 添加 mon_cluster_log_to_file 布尔选项(pr#27343, Sage Weil)
core: mon/MgrMonitor: 修复指定无效格式器时的空指针解引用(pr#29089, Sage Weil)
core: mon/MgrMonitor: 使 mgr fail 在没有参数时也能工作(pr#33997, Sage Weil)
core: mon/MgrStatMonitor: 确保初始服务映射只有一个副本(issue#38839, pr#27101, Sage Weil)
core: mon/MonClient: 不解引用 auth_supported.end()(pr#27196, Kefu Chai)
core: mon/MonClient: 向下线监视器发送命令时出现 ENXIO(pr#29090, Sage Weil, Greg Farnum)
core: mon/MonClient: 以与 ping 不同的调度发送日志到 mon(pr#33732, Sage Weil)
core: mon/MonClient: 如果客户端不支持 CEPHX_V2 挑战,则跳过(pr#30523, Sage Weil)
core: mon/Monitor: 转发的 tell 命令失败(pr#33542, Sage Weil)
core: mon/MonMap: 当我们有仅 v2 的地址时,编码(更多)有效的兼容 monmap(pr#31472, Sage Weil)
core: mon/MonmapMonitor: 清理 monmap 中空的创建时间戳(issue#39085, pr#27327, Sage Weil)
core: mon/OSDMonitor.cc: 添加对象和字节的当前数量(pr#18694, Shinobu Kinjo)
core: mon/OSDMonitor.cc: 关于 min_size 的更好错误消息(pr#29184, Neha Ojha)
core: mon/OSDMonitor: 接受 osd pool create 的 autoscale_mode 参数(pr#33092, Sage Weil)
core: mon/OSDMonitor: 在池设置大小命令中添加对 crush 规则大小的检查(pr#30723, Vikhyat Umrao)
core: mon/OSDMonitor: 允许 osd pool set pgp_num_actual(pr#27010, Sage Weil)
core: mon/OSDMonitor: 当 require_osd_release < N 时允许 pg_num 增加(issue#39570, pr#27928, Sage Weil)
core: mon/OSDMonitor: 如果未使用 rocksdb,则不更新 mon 缓存设置(pr#32473, Sridhar Seshasayee)
core: mon/OSDMonitor: 修复格式错误 ceph osd stat --format json(pr#31399, Zheng Yin)
core: mon/OSDMonitor: 如果没有 rocksd,则内存自动调优禁用自身(pr#32044, Sage Weil)
core: mon/OSDMonitor: 容忍重复的 MRemoveSnaps 消息(issue#40774, pr#29051, Sage Weil)
core: mon/PGMap.h: 在 dump_osd_stats 中禁用网络统计(pr#32406, Neha Ojha, David Zafman)
core: mon/PGMap: 在 df human output 中删除缩进(pr#30848, Sage Weil)
core: mon/PGMap: 修复 >32bit pg 状态的摘要显示(pr#33137, Sage Weil)
core: mon/PGMap: pg ls[-\*] 输出也使用 NONE(pr#32048, Sage Weil)
core: mon/Session: 仅索引 osd id >= 0(pr#32764, Sage Weil)
core: 更多 PeeringState 和相关清理,以方便在 crimson 中使用(pr#28048, Samuel Just)
core: msg,auth: 将 msg/async V1 实现迁移到新的 Auth{Server,Client} 接口(pr#27566, Sage Weil)
core: msg/async/frames_v2.h: 修复警告(pr#27464, Sage Weil)
core: msg/async/ProtocolV2: 修复 register_lossy_clients 修复中的拼写错误(pr#33559, Sage Weil)
core: msg/async/ProtocolV[12]: 添加 ms_learn_addr_from_peer(pr#27341, Sage Weil)
core: msg/async: requeue_sent 时清除 payload(pr#30211, Jianpeng Ma)
core: msg/async: 优化(pr#26531, Jianpeng Ma)
core: msg/auth: 处理解码错误而不是抛出异常(pr#31052, Sage Weil)
core: msg/DispatchQueue: 为 local_delivery 设置节流时间戳(pr#31137, Brad Hubbard)
core: msg/Policy: 限制未注册的匿名连接到 mon(pr#33163, Sage Weil)
core: msg/Policy: 使 stateless_server 默认再次为匿名(pr#33633, Sage Weil)
core: objclass, osd: 清理 cls-host 接口。将 ClassHandler 转换为单例(pr#29322, Radoslaw Zarzynski)
core: object_stat_sum_t 如果给定旧版本,则解码损坏(issue#39284, issue#39281, pr#27564, David Zafman)
core: os, osd: readv(pr#30061, xie xingguo)
core: os/bluestore: 为 osd 内存特定选项添加配置观察者(pr#29606, Sridhar Seshasayee)
core: os/filestore: 确保预分割中有足够的叶子(issue#39390, pr#27689, Jeegn Chen)
core: os/Transaction: 在操作中转储 alloc 提示标志(pr#28881, Zengran Zhang)
core: os: 移除 KineticStore(pr#30653, Kefu Chai)
core: osd,crimson: 使用 make_message 创建消息(pr#30412, Kefu Chai)
core: osd,messages: 为 crimson-osd 做准备的更改(pr#27003, Kefu Chai)
core: osd,mon: 移除 pg_pool_t::removed_snaps(pr#28330, Sage Weil)
core: osd/ECTransaction,ReplicatedBackend: create op 在 octopus 中是新的(pr#29092, Sage Weil)
core: osd/MissingLoc, PeeringState: 在 purge_strays() 中从 missing loc 中移除 osd(pr#30119, Neha Ojha)
core: osd/MissingLoc.cc: 不仅依赖 missing_loc_sources(pr#30226, Neha Ojha)
core: osd/OSD.cc: 使 osd bench 描述与参数一致(issue#39006, pr#27600, Neha Ojha)
core: osd/osd: 为 set_numa_affinty 添加错误日志(pr#30870, luo rixin)
core: osd/OSD: 自动将心跳会话标记为过期并将其关闭(issue#40586, pr#28752, xie xingguo)
core: osd/OSD: 从不同子树中选择更多心跳对等体(pr#33037, xie xingguo)
core: osd/OSD: 增强 osd numa 亲和性兼容性(pr#31274, Dai zhiwei)
core: osd/OSD: 如果卡在启动阶段,则保持与 mon 同步(pr#28404, xie xingguo)
core: osd/OSD: 将慢操作/类型记录到集群日志中(pr#33328, Sridhar Seshasayee)
core: osd/OSD: 仅唤醒空 pqueue(pr#28832, Jianpeng Ma)
core: osd/OSD: 防止下线 OSD 立即重新加入集群(pr#33039, xie xingguo)
core: osd/osd: 重构 get_iface_numa_node(pr#31965, Dai zhiwei, luo rixin)
core: osd/OSD: 移除未使用的 func enqueue_peering_evt_front(pr#32496, Jianpeng Ma)
core: osd/OSD: 移除未使用的参数 osdmap_lock_name(pr#32514, Jianpeng Ma)
core: osd/OSDCap: 检查空命名空间(issue#40835, pr#29146, Brad Hubbard)
core: osd/OSDMap.cc: 在 osd stat 的 json 输出中添加更多信息(pr#30344, Shen Hang)
core: osd/OSDMap.cc: 不向 lderr 输出 over/underfull 消息(pr#31542, Neha Ojha)
core: osd/OSDMap: 将 zone 添加到默认 crush map(pr#27070, Sage Weil)
core: osd/OSDMap: calc_pg_upmaps - 将优化限制为仅原始池(issue#38897, pr#27142, xie xingguo)
core: osd/OSDMap: 仅在尝试 upmap 时考虑 overfull osds(pr#32368, xie xingguo)
core: osd/OSDMap: 不信任部分简化的 pg_upmap_item(pr#30576, xie xingguo)
core: osd/OSDMap: 修复 calc_pg_role(pr#32132, Sage Weil)
core: osd/OSDMap: 非 2 的幂 pg_num 的健康警报(pr#30525, Sage Weil)
core: osd/OSDMap: 将 get_out_osds 替换为 get_out_existing_osds(issue#39154, pr#27663, Brad Hubbard)
core: osd/OSDMap: 如果池配置为大小 1,则显示健康警告(pr#31416, Sridhar Seshasayee)
core: osd/OSDMap: 停止仅为旧客户端编码具有 >8 位宽状态的 osd_state(pr#33814, xie xingguo)
core: osd/osd_types: 提高一些编码版本(pr#29923, xie xingguo)
core: osd/osd_types: 移除 last_backfill_bitwise 成员(pr#28766, Sage Weil)
core: osd/osd_types: 修复 {omap,hitset_bytes}_stats_invalid 在 split/merge 上的处理(pr#30479, Sage Weil)
core: osd/osd_types: inc-recovery - 为 lost_revert 添加特殊处理程序(pr#29893, xie xingguo)
core: osd/osd_types: pool_stat_t::dump - 修复 num_store_stats 字段(issue#39340, pr#27633, xie xingguo)
core: osd/PeeringState.cc: 不让 num_objects 变为负数(pr#32305, Neha Ojha)
core: osd/PeeringState.cc: 在发现所有缺失时跳过 peer_purged(pr#32195, Neha Ojha)
core: osd/PeeringState.h: 修复 PG 卡在 WaitActingChange 的问题(pr#29669, chen qiuzhang)
core: osd/PeeringState.h: get_num_missing() 应该报告 num_missing()(pr#30414, Neha Ojha)
core: osd/PeeringState.h: 在 WaitLocalBackfillReserved 中忽略 RemoteBackfillReserved(pr#33525, Neha Ojha)
core: osd/PeeringState: 基于特性而不是 require_osd_release 检查租约支持(pr#30721, Sage Weil)
core: osd/PeeringState: 在退出 Started 时清除 LAGGY 和 WAIT 状态(pr#31864, Sage Weil)
core: osd/PeeringState: 禁用读取租约,直到 require_osd_release >= octopus(pr#30692, Sage Weil)
core: osd/PeeringState: 不抱怨被最老纪元限制的 past_intervals(pr#29747, Sage Weil)
core: osd/PeeringState: 不将 up 从 acting_recovery_backfill 中排除(pr#31703, xie xingguo)
core: osd/PeeringState: 在 PG 激活之前不开始续订租约(pr#33129, Sage Weil)
core: osd/PeeringState: 修复合并目标的错误历史(pr#29835, xie xingguo)
core: osd/PeeringState: 分割后子 PG 上的 on_new_interval(pr#29780, Sage Weil)
core: osd/PeeringState: recover_got - 为空日志添加特殊处理程序(pr#30503, xie xingguo)
core: osd/PeeringState: 要求 SERVER_OCTOPUS 响应 RenewLease(pr#33339, Neha Ojha)
core: osd/PeeringState: 如果 release >= octopus,则发送 pg_info2(pr#30836, Kefu Chai)
core: osd/PeeringState: 在 backfilling 之前将 async_recovery_targets 转换为 acting(pr#32202, xie xingguo)
core: osd/PG: 将 PG 添加到大 omap 日志消息中(pr#30682, Brad Hubbard)
core: osd/PG: 必要时调整制造合并目标的 pg 历史记录(issue#38623, pr#26822, Sage Weil)
core: osd/PG: 当 last_update 不增加时,清理 fastinfo 键(pr#32615, Sage Weil, Kefu Chai)
core: osd/PG: 当 OSD 对等且 PG 降级时发现缺失对象(pr#27288, Jonas Jelten)
core: osd/PG: 当没有连接时,不泄漏集群消息(pr#32897, Sage Weil)
core: osd/PG: 如果 PG 在解除阻塞时未激活,则不排队 scrub(issue#40451, pr#28660, Sage Weil)
core: osd/PG: 在 nautilus 之前不使用 approx_missing_objects(pr#27798, Neha Ojha)
core: osd/PG: 修复 PG 删除时 pgmeta 类似对象的清理;禁止空对象名称(pr#27929, Sage Weil)
core: osd/PG: 修复分割时 last_complete 重新计算(issue#26958, pr#27702, xie xingguo)
core: osd/PG: 修复 _finish_recovery 与 repair 竞争(pr#30059, xie xingguo)
core: osd/PG: 引入 all_missing_unfound 帮助程序(issue#38784, issue#38931, pr#27205, xie xingguo)
core: osd/PG: 将下线对等体从 peer_purged 中移出(issue#38931, pr#27182, xie xingguo)
core: osd/PG: 将 } 移动到正确位置(pr#27204, xie xingguo)
core: osd/PG: 移除未使用代码(pr#30930, Jianpeng Ma)
core: osd/PG: 重新启动 undersized PG 的对等连接,当任何下线的散乱对等体恢复时(pr#33106, xie xingguo, Yan Jun)
core: osd/PG: 当 append_log() 期间 !transaction_applied 时跳过 rollforward(issue#36739, pr#26996, Neha Ojha)
core: osd/PG: 警告似乎比它想传达的更严重(pr#27509, Zengran Zhang)
core: osd/PG: 使用 emplace() 在原地构造新元素(pr#27124, Zengran Zhang)
core: osd/PGLog.h: 在决定回滚之前打印 olog_can_rollback_to(issue#38894, issue#21174, pr#27105, Neha Ojha)
core: osd/PGLog: 对等完成后为副本持久化 num_objects_missing(pr#30466, xie xingguo)
core: osd/PGLog: 保留 original_crt 以检查可回滚性(issue#36739, pr#27200, Neha Ojha)
core: osd/PGLog: 当恢复对象失败时重置 log.complete_to(pr#30533, Tao Ning)
core: osd/PGStateUtils: 初始化 NamedState::enter_time(pr#33813, Jianpeng Ma)
core: osd/PrimaryLogPG: 始终对已启动的恢复操作使用严格的优先级排序(pr#30632, xie xingguo)
core: osd/PrimaryLogPG: 避免在 finish_degrxe2x80xa6 中访问已销毁的引用(pr#29663, Tao Ning)
core: osd/PrimaryLogPG: 在 interval 更改时取消正在进行的 manifest 操作;修复与 scrub 的竞争(pr#29985, xie xingguo)
core: osd/PrimaryLogPG: do_op - 不两次创建头部对象(pr#28785, xie xingguo)
core: osd/PrimaryLogPG: finish_copyfrom - 必要时弄脏 omap(pr#29729, xie xingguo)
core: osd/PrimaryLogPG: 修复 write_full 的脏范围(pr#29726, xie xingguo)
core: osd/PrimaryLogPG: 修复警告(pr#30716, Sage Weil)
core: osd/PrimaryLogPG: 在重复回复中包含 op_returns(pr#30640, Sage Weil)
core: osd/PrimaryLogPG: 删除过时的 ondisk_{read,write}_lock 注释(pr#29719, xie xingguo)
core: osd/PrimaryLogPG: 更多 constness(pr#28786, Kefu Chai)
core: osd/PrimaryLogPG: 移除未使用的父 pgls-filter(pr#29675, Radoslaw Zarzynski, Kefu Chai)
core: osd/PrimaryLogPG: 简单调试消息(pr#32444, Jianpeng Ma)
core: osd/PrimaryLogPG: 在 backfill scan_range 期间跳过不存在的 obcs(pr#30715, Sage Weil)
core: osd/PrimaryLogPG: 当 write op 隐式截断对象时更新 oi.size(pr#30085, xie xingguo)
core: osd/PrimaryLogPG: 对 hit_set 对象使用旧版时间戳渲染(pr#33117, Sage Weil)
core: osd/ReplicatedBackend: 在启用 crc 之前检查 data_included 是否为空(pr#29621, xie xingguo)
core: osd/scheduler/OpSchedulerItem: 将 backoffs 作为客户端操作调度(pr#32382, Samuel Just)
core: osd/SnapMapper: 转换后移除 pre-octopus snapmapper 键(pr#30368, Sage Weil)
core: osd/SnapMirror: 无需每个纪元记录 purged_snaps(pr#31866, Sage Weil)
core: OSD: 将 n.cookie 修改为 op.notify.cookie(pr#29418, yangjun)
core: osdc/Objecter: 始终在 strncpy() 后添加 \0 (`pr#27286, Kefu Chai)
core: osdc/Objecter: Boost.Asio (我反对!)(pr#16715, Adam C. Emerson)
core: osdc/Objecter: 调试暂停/解除暂停转换(pr#32850, Sage Weil)
core: osdc/Objecter: 修复 handle_osd_map 中的 OSDMap 泄漏(issue#20491, pr#28242, Sage Weil)
core: osdc/Objecter: 仅在 respects_full() 时暂停(pr#33020, Sage Weil)
core: osdc/Objecter: pg-映射缓存(pr#28487, xie xingguo)
core: osdc/Objecter: _calc_target - 内联 spgid(pr#28570, xie xingguo)
core: osdc: 修复正确命名空间中缺失的 :(pr#29472, Willem Jan Withagen)
core: pybind/ceph_argparse: 改进 ceph -h 语法(pr#30431, Sage Weil)
core: pybind/mgr/mgr_module: 修复 standby 模块日志选项(pr#33639, Sage Weil)
core: pybind/mgr/mgr_util: 修复漂亮时间增量(pr#33794, Sage Weil)
core: pybind/mgr/\*: 修复 config_notify 对默认值的处理(pr#32755, Sage Weil)
core: qa/distros: 添加 rhel/centos 8.1(pr#33026, Sage Weil)
core: qa/distros: centos 7.6; 更新 centos 和 ubuntu 最新符号链接(pr#27349, Sage Weil)
core: qa/standalone/mon/osd-create-pool: 修复 utf-8 grep LANG(pr#32711, Sage Weil)
core: qa/standalone/osd/divergent-priors: 为 bug 41816 添加重现器(pr#30506, Sage Weil)
core: qa/standalone/osd/osd-bench: 调试 bluestore(pr#32961, Sage Weil)
core: qa/standalone/osd/osd-markdown: 修复重复命令禁用(issue#38359, pr#27499, Sage Weil)
core: qa/standalone/scrub/osd-scrub-snaps: 移除 removed_snaps 更改的杂项修复(issue#40725, pr#29003, Sage Weil)
core: qa/standalone: python -> python3(pr#32383, Sage Weil)
core: qa/suites/rados/multimon/tasks/mon_clock_with_skews: 禁用 ntpd 等(pr#33184, Sage Weil)
core: qa/suites/rados/multimon: 修复故障(issue#40112, pr#28353, Sage Weil)
core: qa/suites/rados/singleton-nomsgr/all/balancer: 白名单 PG_AVAILABILITY(pr#31747, Sage Weil)
core: qa/suites/rados/singleton/all/ec-lost-unfound: 无 rbd 池(pr#30596, Sage Weil)
core: qa/suites/rados/thrash-old-clients: centos -> ubuntu(pr#32356, Sage Weil)
core: qa/suites/rados/thrash-old-clients: 跳过 TestClsRbd.mirror 测试(pr#31745, Sage Weil)
core: qa/suites/rados/thrash: 调试 monc(pr#32885, Sage Weil)
core: qa/suites/upgrade/nautilus-x: 杂项更新(pr#27138, Sage Weil)
core: qa/suites/upgrade/\*-x-singleton: 启用 bluestore 调试设置(pr#27786, Sage Weil)
core: qa/suites/upgrade: 所有升级到 octopus 仅在 ubuntu 上(pr#32275, Sage Weil)
core: qa/suits/rados/basic/tasks/rados_api_tests: pgs 可能降级(pr#30627, Sage Weil)
core: qa/tasks/ceph2: teuthology 任务以启动 ceph-daemon+ssh 集群(pr#31502, Sage Weil)
core: qa/tasks/ceph: 仅对未 scrubbing 的 pgs 重新请求 scrub(pr#32988, Sage Weil)
core: qa/tasks/ceph_manager: 修复 thrash_pg_upmap_items 在没有池时的问题(pr#29144, Sage Weil)
core: qa/tasks/ceph_manager: 使 upmap thrasher 在没有池/pgs 时正常运行(pr#29069, Sage Weil)
core: qa/tasks/ceph_manager: 从 all_active_or_peered() 中移除竞争(pr#29498, Sage Weil)
core: qa/tasks/ceph_manager: 在 minsize 测试中,在断言干净之前等待干净(pr#29109, Sage Weil)
core: qa/workunits/rados/test_large_omap_detection: py3-ify(pr#32405, Sage Weil)
core: qa: 在注入 msgr 故障时增加 mon tell 重试次数(pr#30872, Sage Weil)
core: qa: 更多关于 removed_snaps 更改集的修复(issue#40674, pr#28901, Sage Weil)
core: qa: 在 ubuntu 上运行各种测试(pr#32278, Sage Weil)
core: rados bench: 修复已完成操作的延迟检查(pr#32928, Jianshen Liu)
core: Revert common: default pg_autoscale_mode=on for new pools(pr#30440, David Zafman)
core: Revert crush: 移除无效的 upmap 项(pr#32017, David Zafman)
core: Revert Merge pull request #16715 from adamemerson/wip-I-Object!(pr#31790, Sage Weil)
core: Revert test: librados startup/shutdown racer test(pr#31092, Sage Weil)
core: rgw/rgw_tools: 修复 osd pool set json 语法(pr#27967, Sage Weil)
core: rocksdb: 默认启用 rocksdb_rmrange=true(pr#29323, Sage Weil)
core: rocksdb: 更新到 v6.1.2(pr#29026, Mark Nelson)
core: sample.ceph.conf: 更正 filestore merge threshold 的默认值(pr#28653, zhang Shaowen)
core: selinux: 允许 ceph 读取 udev d(pr#29071, Boris Ranto)
core: src/: 清理字节序处理(pr#30409, Ulrich Weigand)
core: src/dmclock: 引入 indirect_intrusive_heap 的修复(pr#32380, Samuel Just)
core: src/osd: 添加 tier-flush op(pr#28778, Myoungwon Oh)
core: test: 添加基于 librados 的启动/关闭竞争测试(pr#30552, Jeff Layton)
core: tools/rados: 在 rados 连接后调用 pool_lookup()(pr#30413, Vikhyat Umrao)
core: tools/rados: 防止 put 操作在 --offset=0 时重新创建对象(pr#31230, Adam Kupczyk)
core: tools/rados: 取消屏蔽 -o 以恢复原始行为(pr#31310, Brad Hubbard)
core: Wip lazy omap test(pr#28070, Brad Hubbard)
crimon/osd: 服务读取请求(pr#26697, Kefu Chai)
Crimson 构建修复(pr#33345, Samuel Just)
crimson, common: 为 crimson 添加短暂的 ObjectContext 状态(pr#31202, Samuel Just)
crimson,auth: 修复 crimson-osd 的 FTBFS 并修复 v1/v2 认证(pr#27809, Kefu Chai, Yingxin Cheng)
crimson,osd: 性能修复(pr#28071, Kefu Chai, Radoslaw Zarzynski)
crimson/common/errorator.h: 添加 handle_error() 方法(pr#31856, Radoslaw Zarzynski)
crimson/common/errorator.h: 简化复合 safe_then() 变体(pr#31918, Radoslaw Zarzynski)
crimson/common: 对 seastar::do_with() 更友好(pr#33199, Kefu Chai)
crimson/common: 移除未使用的文件 .#log.cc(pr#28828, Changcheng Liu)
crimson/mon: 修复 v1 认证(pr#28041, Kefu Chai)
crimson/mon: 使用 shared_future 等待 MauthReply(pr#30366, chunmei Liu)
crimson/net: v2 故障转移测试中的 bug 修复(pr#29882, Yingxin Cheng)
crimson/net: messenger 的清理和修复(pr#29057, Yingxin Cheng)
crimson/net: 提取 do_write_dispatch_sweep()(pr#27428, Yingxin Cheng)
crimson/net: 实现抢占式关机/关闭(pr#28682, Yingxin Cheng)
crimson/net: 改进写入路径中的批处理(pr#27788, Yingxin Cheng)
crimson/net: v2 协议的无损策略(pr#29378, Yingxin Cheng)
crimson/net: ProtocolV2 的有损连接(pr#26710, Yingxin Cheng)
crimson/net: v1 读取路径中的杂项修复(pr#27837, Yingxin Cheng)
crimson/net: 优先使用 <fmt/chrono.h> 而不是 <fmt/time.h>(pr#27831, Kefu Chai)
crimson/net: 防止重用已发送的消息(pr#28890, Yingxin Cheng)
crimson/net: 使用 logger().info() 打印 tx/rx 消息(pr#28798, Kefu Chai)
crimson/net: 移除冗余的 std::move()(pr#28317, Kefu Chai)
crimson/net: v2 竞争测试、停滞测试和错误修复(pr#30313, Yingxin Cheng)
crimson/os: 如果 mkfs 时 fsid 文件存在,则不失败(pr#27006, chunmei Liu, Kefu Chai)
crimson/os: 使用 pg coll 而不是 meta coll 初始化 PG(pr#33084, Kefu Chai)
crimson/os: Object::read() 返回 bufferlist 而不是从不使用的 errcode(pr#30380, Radoslaw Zarzynski)
crimson/osd/osd_operation.h: 清理重复检查(pr#31859, Radoslaw Zarzynski)
crimson/osd/pg: read_state 的 start_operation, schedule_event_on_commit(pr#28771, Samuel Just)
crimson/osd/pg_meta: 使用初始化列表传递 set<>(pr#28461, Kefu Chai)
crimson/osd: 在不支持的对象存储类型上中止(pr#28790, Kefu Chai)
crimson/osd: 添加 --help-seastar 命令行选项(pr#28794, Kefu Chai)
crimson/osd: 为 PG 对等添加最小状态机(pr#27071, Kefu Chai)
crimson/osd: 添加 pgls 支持(pr#30433, Kefu Chai)
crimson/osd: 在 PGBackend 中缓存 object_info 和 snapset(pr#27310, Kefu Chai)
crimson/osd: 在停止引擎之前调用 at_exit()(pr#27177, Kefu Chai)
crimson/osd: mkfs 后调用 engine().exit(0)(pr#27061, Kefu Chai)
crimson/osd: 调用其成员函数时捕获观察者(pr#33425, Kefu Chai)
crimson/osd: 清理(pr#30736, Kefu Chai)
crimson/osd: 合并 msgrs 的初始化代码(pr#27426, Kefu Chai)
crimson/osd: 在 main.cc 中创建 msgrs(pr#27066, Kefu Chai)
crimson/osd: crimson/osd: 不加载 fullmap.0(pr#27004, chunmei Liu, Kefu Chai)
crimson/osd: 区分 write 和 writefull(pr#28959, Kefu Chai)
crimson/osd: 不将 whoami 添加为 hb 对等体并进行清理(pr#27307, Kefu Chai)
crimson/osd: 扩展 OpsExecuter 以处理 op 效果(pr#30310, Radoslaw Zarzynski)
crimson/osd: 修复 df771861 破坏的构建(pr#28053, chunmei Liu)
crimson/osd: 修复 create_watch_info() 中的 Clang 构建(pr#33350, Radoslaw Zarzynski)
crimson/osd: 实现复制写入(pr#29076, Kefu Chai)
crimson/osd: 用更多信息初始化 PG(pr#27064, Kefu Chai)
crimson/osd: 降低 i/o 路径上的调试级别(pr#27338, Kefu Chai)
crimson/osd: 杂项修复和清理(pr#33528, Yingxin Cheng)
crimson/osd: OSD 重启能力的一些杂项修复(pr#33595, Yingxin Cheng)
crimson/osd: 正确分区参数(pr#27211, Kefu Chai)
crimson/osd: 将未知参数传递给 ConfigProxy::parse_args()(pr#27062, Kefu Chai)
crimson/osd: 移除不需要的捕获 - pg.cc(pr#33349, Ronen Friedman)
crimson/osd: 向 mgr 报告 pg_stats(pr#27065, Kefu Chai)
crimson/osd: 应该处理 pg_lease 消息(pr#30834, Kefu Chai)
crimson/osd: 以正确顺序关闭服务(pr#27987, Kefu Chai)
crimson/osd: 一些清理(pr#28402, Kefu Chai)
crimson/osd: osd 启动时支持写入 pid_file(pr#27413, chunmei Liu)
crimson/osd: 在 PG::on_activate_complete() 中更新 peering_state(pr#28747, Kefu Chai)
crimson/osd: 使用单 pg 对等操作(pr#30372, Kefu Chai)
crimson/thread: 泛化 Task 以使其适用于 func 返回 void(pr#32742, Kefu Chai)
crimson/{net,mon,osd}: 杂项日志更改(pr#27099, Kefu Chai)
crimson/{osd,heartbeat}: 允许 heartbeat 访问 authorizer(pr#27059, Kefu Chai)
crimson/{osd,mon}: 发送复制操作时降低日志级别(pr#30957, Kefu Chai)
crimson: 添加编辑器属性头文件(pr#33408, Kefu Chai)
crimson: 添加 FuturizedStore 以封装 CyanStore(pr#28358, chunmei Liu)
crimson: 在 common/errorator.h 中添加缺失的 include(pr#32490, Radoslaw Zarzynski)
crimson: 添加对基本写入路径的支持(pr#27873, Radoslaw Zarzynski)
crimson: 添加对 watch / notify 的支持,第 1 部分(pr#32679, Radoslaw Zarzynski)
crimson: 引入 ceph::errorator 及其首次应用(pr#30387, Radoslaw Zarzynski)
crimson: CLANG 相关修复 errorator.h(pr#32488, Ronen Friedman, Radoslaw Zarzynski)
crimson: 清理和重构 asok(pr#33357, Kefu Chai)
crimson: 为 v2 msgr 启用 cephx(pr#27514, Kefu Chai)
crimson: 修复 GCC-10 的构建(pr#33233, Kefu Chai)
crimson: 修复 crimson pg coll 使用错误(pr#33076, Chunmei Liu)
crimson: 修复非变量的 lambda 捕获(pr#32494, Ronen Friedman)
crimson: CyanStores 成员函数和 Collection 的未来化(pr#29470, Kefu Chai, chunmei Liu)
crimson: 正确处理 MOSDPGQuery2(pr#30399, Kefu Chai)
crimson: 使 seastar::do_with() 成为 errorated future 的朋友(pr#32175, Radoslaw Zarzynski)
crimson: 将 AuthServer 的 dummy 实现移动到 DummyAuth(pr#27452, Kefu Chai)
crimson: 将 os/cyan\_\* 移动到 os/cyanstore/\*(pr#31874, Kefu Chai)
crimson: 将 Connection\* 传递给 Dispatch::ms_dispatch()(pr#27690, Yingxin Cheng, Kefu Chai)
crimson: 获取更改以修复 --cpuset 支持并进行清理(pr#33250, Kefu Chai)
crimson: 从 lambda 中移除一些属性(pr#32604, Ronen Friedman)
crimson: 如果可能,在前台运行,消除警告(pr#30474, Samuel Just, Kefu Chai)
crimson: 将命名空间名称中的 s/ceph/crimson/(pr#31069, Kefu Chai)
crimson: 服务来自 fio 的基本 RBD 流量(pr#30339, Radoslaw Zarzynski)
crimson: 解决 crimson-osds 创建的 pgs 卡在未知状态的问题(pr#33780, Xuehan Xu)
crimson: 在停止 messenger 之前停止 osd(pr#31904, Kefu Chai)
crimson: 支持 pgnls 和 delete op(pr#28079, Kefu Chai)
crimson: 当对等体获得认证时更新 osd(pr#27416, Kefu Chai)
crimson: mkfs 时使用给定的 osd_fsid(pr#28800, Kefu Chai)
crimson:: 添加 alien blue store(pr#31041, Samuel Just, Chunmei Liu, Kefu Chai)
crush: 添加 root_bucket 以识别 underfull 存储桶(issue#38826, pr#27068, huangjun)
crush: 移除无效的 upmap 项(pr#31131, huangjun)
crush: 移除无效的 upmap 项(pr#32099, huangjun)
crush: weight-sets、osd_crush_update_weight_set 选项和测试的各种修复(pr#26955, Sage Weil)
dashboard/services: 修复 lint 错误(pr#30289, Willem Jan Withagen)
deb,rpm: 切换到 python 3(pr#32252, Sage Weil, Alfredo Deza)
debian: 添加 python3-jsonpatch 作为依赖项(pr#33298, Sebastian Wagner)
denc: 允许 DencDumper 转储 OOB 缓冲区(pr#27704, Kefu Chai)
doc/bootstrap: 修复默认的 --keyring 目标(pr#32643, Yaarit Hatuka)
doc/foundation: 修复 amihan(pr#32999, Sage Weil)
doc: .organizationmap: Wido 42on -> 42on(pr#32260, Sage Weil)
doc: 添加去重文档(pr#28462, Myoungwon Oh)
doc: 添加 vstart_runner.py 的文档(pr#29907, Rishabh Dave)
doc: 添加关于分布式 cephfs 元数据缓存的新文档(pr#30265, Jeff Layton)
doc: 添加关于 CephFS 动态元数据管理的新文档(pr#30348, Sidharth Anupkrishnan)
doc: 添加 RGW swift 认证说明(pr#31309, Matthew Oliver)
doc: 添加 ceph fs 卷和子卷文档(pr#30381, Ramana Raja)
doc: 添加 CephFS Octopus 发布说明(pr#33450, Patrick Donnelly)
doc: 添加 nautilus 的变更日志(pr#27048, Abhishek Lekshmanan)
doc: 将 chrony 添加到 Ubuntu 18.04 预检清单中(pr#31948, Zac Dover)
doc: 为运行时客户端配置添加 config help/get/set 部分(issue#41688, pr#32117, Venky Shankar)
doc: 添加 Dashboard Octopus 发布说明(pr#33555, Lenz Grimmer)
doc: 添加 fuse_disable_pagecache 的描述(pr#31902, Yan, Zheng)
doc: 添加关于将旧版本 CephFS 客户端列入黑名单的文档(issue#39130, pr#27412, Patrick Donnelly)
doc: 添加 cephfs lazyio 文档(issue#38729, pr#26976, Yan, Zheng)
doc: 添加使用 teuthology 运行测试的指南(pr#32114, Rishabh Dave)
doc: 将 mds map 添加到 ceph 监视器资产列表中(pr#32631, Zac Dover)
doc: 添加 doc/man/8/rbd.rst 中缺失的单词 than(pr#31022, Drunkard Zhang)
doc: 添加引导密钥环中缺失的 mgr cap(pr#27201, Bryan Stillwell)
doc: 添加 build-doc 缺失的 virtualenv(pr#31896, Rodrigo Severo)
doc: 添加执行 cephfs-shell 的说明(pr#27369, Varsha Rao)
doc: 添加 Golang 的包(issue#38730, pr#26937, Irek Fasikhov)
doc: 将 Python 2 添加到 Ubuntu 18.04 安装中(pr#31947, Zac Dover)
doc: 添加 13.2.5 mimic 的发布说明(pr#26913, Abhishek Lekshmanan)
doc: 添加 v13.2.6 mimic 的发布说明(pr#28385, Abhishek Lekshmanan)
doc: 添加 sphinx_autodoc_typehints 扩展(pr#33577, Sebastian Wagner)
doc: 在 cephfs-shell 中添加 stat 命令用法(pr#28236, Varsha Rao)
doc: 在 cephfs-shell 中添加快捷方式命令用法(pr#27373, Varsha Rao)
doc: 添加警告,根目录不能被碎片化(pr#28354, Nathan Fish)
doc: 添加 Ceph 社区日历链接(pr#31475, Zac Dover)
doc: 添加了一个备注,pg_num 始终使用 2 的幂(pr#31541, Thomas Schneider)
doc: 在需要的地方添加了一个“is”(pr#32374, Zac Dover)
doc: 添加了仪表板功能,改进了措辞(pr#27997, Lenz Grimmer)
doc: 添加了关于创建 RESTful API 用户的部分(pr#26016, James McClune)
doc: 将清晰的入门指南添加到 index.rst(pr#32531, Zac Dover)
doc: 添加美国中西部镜像到文档(pr#25099, Mike Perez)
doc: 添加 cmake 构建选项以选择性跳过某些组件(pr#31066, Deepika Upadhyay)
doc: 针对 octopus 中 mon_status 的更改进行调整(pr#33703, Nathan Cutler)
doc: admin,doc/_ext/ceph_releases.py: 使用 yaml.safe_load()(pr#28463, Kefu Chai)
doc: admin/build-doc: 始终安装 python3-* 作为构建依赖项(pr#32481, Kefu Chai)
doc: admin/build-doc: 不使用系统 site-packages(pr#32285, Sage Weil)
doc: admin/build-doc: 修复 doxygen 拼写错误(pr#32572, Varsha Rao)
doc: admin/build-doc: 使用 python3(pr#29528, Kefu Chai)
doc: admin/doc-requirements.txt: 提高 Sphinx 和 breathe 版本(pr#32301, Kefu Chai)
doc: admin/serve-doc: 切换到仅 python3(pr#33596, Brad Hubbard)
doc: 始终通过 HTTPS 加载资源(pr#29544, Tiago Melo)
doc: ceph-monstore-tool: 更正存储 mgr_command_descs 的键(pr#33172, Kefu Chai)
doc: cephfs: 在 posix.rst 中添加 fsync 错误报告部分(issue#24641, pr#28300, Jeff Layton)
doc: 将大小写从 apis 更改为 APIs(pr#33664, Deepika Upadhyay)
doc: 澄清 fs 和 kcephfs 套件之间的区别(pr#32144, Rishabh Dave)
doc: 澄清优先级使用(pr#32191, Yuri Weinstein)
doc: 澄清 rbd fancy striping 的支持(pr#32176, Ilya Dryomov)
doc: 清理 CephFS 登陆页面(pr#30542, Milind Changire)
doc: coding-style: 更新链接并修复拼写错误(pr#33128, Ponnuvel Palaniyappan)
doc: common/admin_socket: 为 call 和 call_async 添加 doxygen(pr#32547, Adam Kupczyk)
doc: common/hobject: 文档中公式的错误调用(pr#28366, Albert)
doc: config-ref: 添加关于当前调度器设置的说明(pr#27243, Abhishek Lekshmanan)
doc: 更正示例以使用 vstart 启动集群(pr#26816, Changcheng Liu)
doc: 在 rados/operations/cache-tiering.rst 中涵盖更多缓存模式(issue#14153, pr#17614, Nathan Cutler)
doc: mon_health_to_clog\_\* 的默认值被翻转(pr#29867, James McClune)
doc: 描述 metadata_heap 清理(issue#18174, pr#26915, Dan van der Ster)
doc: 描述恢复和回填的优先级(issue#39011, pr#27941, David Zafman)
doc: doc : 修复大小写(pr#27379, Servesha Dudhgaonkar)
doc: doc, qa: 移除无效选项 mon_pg_warn_max_per_osd(pr#30787, zhang daolong)
doc: doc,admin: 修复内置搜索(pr#33592, Kefu Chai)
doc: doc/architecture.rst: 修复 EC 部分的拼写错误(pr#33241, Nag Pavan Chilakam)
doc: doc/bootstrap.rst: 修复githus网址 (pr#31086, Alexandre Bruyelles)
doc: doc/bootstrap: 为引导添加mds和rgw步骤 (pr#33088, Sage Weil)
doc: doc/ceph-fuse: 描述-n选项 (pr#30911, Rishabh Dave)
doc: doc/ceph-fuse: 在ceph-fuse手册页中提及-k选项 (pr#30561, Rishabh Dave)
doc: doc/ceph-kvstore-tool: 添加stats命令的描述 (pr#29990, Josh Durgin, Adam Kupczyk)
doc: doc/ceph-volume: zfs/inventory和zfs/api的初始文档 (pr#31252, Willem Jan Withagen)
doc: doc/cephadm/administration: 澄清日志收集 (pr#33627, Nathan Cutler)
doc: doc/cephadm: 调整配置设置的语法 (pr#33600, Joshua Schmid)
doc: doc/cephadm: 大量清理cephadm文档 (pr#33981, Sage Weil)
doc: doc/cephadm: 故障排除 (pr#33460, Sebastian Wagner)
doc: doc/cephfs/client-auth: 描述和示例不一致 (pr#32762, Ilya Dryomov)
doc: doc/cephfs/disaster-recovery-experts: 添加scrub链接和scrub_path注释 (pr#32124, Varsha Rao)
doc: doc/cephfs: 添加cephfs io路径的文档 (pr#30369, Yan, Zheng)
doc: doc/cephfs: 纠正mds状态的描述错误 (issue#41893, pr#30427, Xiao Guodong)
doc: doc/cephfs: 改进添加/删除MDS部分 (issue#39620, pr#28700, Patrick Donnelly)
doc: doc/cephfs: 将最佳实践建议迁移到相关文档 (pr#32522, Rishabh Dave)
doc: doc/cleanup: 删除repo-access.rst (pr#32276, Nathan Cutler)
doc: doc/corpus: 更新以适应从autotools到cmake的更改 (pr#27552, Kefu Chai)
doc: doc/dev/corpus.rst: 更正说明 (pr#27741, Kefu Chai)
doc: doc/dev/corpus.rst: 微调 (pr#28877, Kefu Chai)
doc: doc/dev/crimson.rst: 记录CBT测试 (pr#30290, Kefu Chai)
doc: doc/dev/crimson: 调整compare.py的选项 (pr#30453, Kefu Chai)
doc: doc/dev/developer_guide/index.rst: 为入门添加YouTube参考 (pr#29712, Neha Ojha)
doc: doc/dev/developer_guide/index.rst: 添加YouTube参考 (pr#29033, Neha Ojha)
doc: doc/dev/developer_guide: 修复标题级别 (pr#30428, Nathan Cutler)
doc: doc/dev/developer_guide: 删除网址 (pr#29183, gabriellasroman)
doc: doc/dev/kubernetes: 更新 (pr#28081, Sebastian Wagner)
doc: doc/dev/osd_internals/async_recovery: 更新成本计算 (pr#28036, Neha Ojha)
doc: doc/dev: 添加crimson.rst (pr#28674, Kefu Chai)
doc: doc/dev: 添加teuthology优先级建议 (pr#30308, Patrick Donnelly)
doc: doc/developer: 修复开发邮件列表地址 (pr#32442, Willem Jan Withagen)
doc: doc/drivegroups: 为DriveGroups添加文档,并附带过多示例 (pr#33044, Joshua Schmid)
doc: doc/foundation: 在此处添加ceph基金会信息 (pr#31955, Sage Weil)
doc: doc/foundation: 添加cloudbase和vexxhost (pr#32013, Sage Weil)
doc: doc/foundation: 添加Samsung Electronics (pr#33518, Sage Weil)
doc: doc/governance: 添加cbodey (pr#27708, Sage Weil)
doc: doc/index: 暂时从首页删除快速入门 (pr#33207, Sage Weil)
doc: doc/install/containers: 添加容器和分支的摘要 (pr#31465, Sage Weil)
doc: doc/install/containers: 注意vX.Y.Z[-YYYYMMDD]标签 (pr#31975, Sage Weil)
doc: doc/install/manual-deployment: 将密钥环文件所有者更改为ceph (pr#31452, Jeffrey Chu)
doc: doc/install/upgrading-ceph: Ubuntu说明中的systemctl (pr#32595, Rodrigo Severo)
doc: doc/install: 重新思考安装文档的安装方法顺序 (pr#33890, Zac Dover, Sebastian Wagner)
doc: doc/man/ceph: 记录ceph配置 (pr#30645, Kefu Chai)
doc: doc/man: 改进bluefs-bdev-expand选项 (pr#32590, Kefu Chai)
doc: doc/mgr/ansible.rst: 修复拼写错误 (pr#28827, Lan Liu)
doc: doc/mgr/cephadm: 记录采用过程 (pr#33459, Sage Weil)
doc: doc/mgr/orchestrator.rst: 更新当前实现状态 (pr#33410, Kai Wagner)
doc: doc/mgr/orchestrator: 添加Cephfs (pr#33574, Sebastian Wagner)
doc: doc/mgr/orchestrator_cli: Rook orch支持mon更新 (issue#39137, pr#27431, Sebastian Wagner)
doc: doc/mgr/telemetry: 添加设备通道详细信息 (pr#33113, Yaarit Hatuka)
doc: doc/mgr/telemetry: 更新默认间隔 (pr#31008, Tim Serong)
doc: doc/mgr: 增强放置规范 (pr#33924, Sebastian Wagner)
doc: doc/orchestrator: 修复损坏的要点 (issue#39094, pr#27121, Sebastian Wagner)
doc: doc/orchestrator: 修复Orchestrator CLI文档中的各种问题 (pr#31353, Volker Theile)
doc: doc/orchestrator: 同步状态与实际情况 (pr#30281, Sebastian Wagner)
doc: doc/orchestrator: 更新rgw创建 (pr#33540, Yehuda Sadeh)
doc: doc/rados/api/python: 添加mon_command的文档 (pr#26934, Sebastian Wagner)
doc: doc/rados/configuration/osd-config-ref.rst: 记录osd_delete_sleep (pr#28775, Neha Ojha)
doc: doc/rados/configuration: 修复mon-lookup-dns中的拼写错误 (pr#27362, Vanush Misha Paturyan)
doc: doc/rados/configuration: 修复osd-config-ref.rst中的拼写错误 (pr#28805, Lan Liu)
doc: doc/rados/configuration: 更新以与ConfUtils更改同步 (pr#28753, Kefu Chai)
doc: doc/rados/deployment/ceph-deploy-mon: 修复拼写错误 (pr#31164, Kefu Chai)
doc: doc/rados/operations/crush-map-edits: 重新编译并设置说明 (pr#32451, Rodrigo Severo)
doc: doc/rados/operations/devices: 记录设备故障预测 (pr#27472, Sage Weil)
doc: doc/rados/operations/erasure-code.rst: 允许恢复到min_size以下 (pr#28750, Greg Farnum, Neha Ojha)
doc: doc/rados/operations: 在OSD替换工作流程中添加safe-to-destroy检查 (pr#28491, Sage Weil)
doc: doc/rados/operations: crush_rule是一个名称 (pr#29367, Kefu Chai)
doc: doc/rados/operations: 记录BLUEFS_SPILLOVER (pr#27316, Sage Weil)
doc: doc/rados/operations: min_size适用于EC (pr#33543, Brad Hubbard)
doc: doc/rados/operations: OSD_OUT_OF_ORDER_FULL完整性顺序错误 (pr#31588, Tsung-Ju Lii)
doc: doc/rados: Bluestore更好的block.db大小建议 (pr#32226, Neha Ojha)
doc: doc/rados: 纠正clay代码文档中的一些拼写错误 (pr#29889, Myna)
doc: doc/rados: 更新osd_min_pg_log_entries并添加osd_max_pg_log_entries (pr#32790, Neha Ojha)
doc: doc/radosgw/admin:修复如何修改子用户信息 (pr#29839, Feng Hualong)
doc: doc/radosgw/compression.rst: 修复拼写错误 (pr#28749, hydro-)
doc: doc/radosgw/config-ref: 解释gc设置的段落 (pr#32367, Kai Wagner)
doc: doc/radosgw/multisite-sync-policy.rst: 修复拼写错误 (pr#33230, Liu Lan)
doc: doc/radosgw: 修复拼写错误 (pr#30642, Liu Lan)
doc: doc/radosgw: 使用当前S3 PHP客户端更新文档示例 (pr#25985, Laurent VOULLEMIER)
doc: doc/rbd/rbd-cloudstack: 更新磁盘提供URL到新文档 (pr#27713, Kefu Chai)
doc: doc/rbd: 记录新的基于快照的镜像功能 (pr#33561, Jason Dillaman)
doc: doc/rbd: 修复小拼写错误 (pr#33689, songweibin)
doc: doc/rbd: 初始kubernetes / ceph-csi集成文档 (pr#29429, Jason Dillaman)
doc: doc/rbd: 重新组织顶级并添加实时迁移文档 (issue#40486, pr#29135, Jason Dillaman)
doc: doc/rbd: 完善rbd/libvirt用法 (pr#32273, Changcheng Liu)
doc: doc/rbd: s/guess/xml/ for codeblock lexer (pr#30953, Kefu Chai)
doc: doc/rbd: 简化libvirt用法 (pr#32142, Changcheng Liu)
doc: doc/rbd: 更新RBD功能的krbd版本支持 (issue#40802, pr#29083, Jason Dillaman)
doc: doc/release/nautilus: 14.2.2更改重做 (pr#29145, Sage Weil)
doc: doc/release/octopus: 关于升级时间的注意事项 (pr#33401, Sage Weil)
doc: doc/releases/nautilus,PendingReleaseNotes: 合并遥测注意事项 (pr#32160, Sage Weil)
doc: doc/releases/nautilus.rst: 修复检查min_compat_client的命令 (pr#28526, Osama Elswah)
doc: doc/releases/nautilus.rst: 删除多余的\* (pr#32577, Servesha Dudhgaonkar)
doc: doc/releases/nautilus: 升级指南中纠正systemctl命令 (pr#27773, Teeranai Kormongkolkul)
doc: doc/releases/nautilus: v14.2.0的最终说明 (pr#27019, Sage Weil)
doc: doc/releases/nautilus: 修复配置更新步骤 (pr#27495, Sage Weil)
doc: doc/releases/nautilus: 修复发行说明(crash->device) (pr#32148, Sage Weil)
doc: doc/releases/octopus.rst: 添加关于min_size以下ec恢复的说明 (pr#34092, Neha Ojha)
doc: doc/releases/octopus.rst: 格式调整 (pr#33971, Kefu Chai)
doc: doc/releases/octopus.rst: 格式调整 (pr#33987, Kefu Chai)
doc: doc/releases/octopus: 添加额外的RBD改进 (pr#34032, Jason Dillaman)
doc: doc/releases/schedule.rst: 添加14.2.3、14.2.4、15.0.0并删除dumpling (pr#30430, Nathan Cutler)
doc: doc/releases: 从顶级目录访问主要发行版页面 (pr#30598, Nathan Cutler)
doc: doc/releases: 添加14.2.8到发行时间线 (pr#33721, Nathan Cutler)
doc: doc/releases: 添加mimic v13.2.7到发行时间线 (pr#31872, Nathan Cutler)
doc: doc/releases: 添加mimic v13.2.7的发行说明 (pr#31777, Nathan Cutler)
doc: doc/releases: 添加mimic v13.2.8的发行说明 (pr#32040, Nathan Cutler)
doc: doc/releases: 添加nautilus v14.2.5的发行说明 (pr#31970, Nathan Cutler)
doc: doc/releases: Ceph Nautilus v14.2.4 发行说明 (pr#30429, Nathan Cutler)
doc: doc/releases: octopus草稿说明 (pr#33043, Sage Weil)
doc: doc/releases: Octopus还不稳定 (pr#33729, Nathan Cutler)
doc: doc/releases: 更新为12个月周期 (pr#28864, Sage Weil)
doc: doc/rgw: 添加多站点重分片的设计文档 (pr#33539, Casey Bodley)
doc: doc/rgw: 为s3 PUT Bucket api记录CreateBucketConfiguration (issue#39597, pr#27977, Casey Bodley)
doc: doc/rgw: 记录realm pull而非period pull的使用 (issue#39655, pr#28052, Casey Bodley)
doc: doc/rgw: 修复boto s3扩展文档的断链 (pr#32740, Casey Bodley)
doc: doc/rgw: 更新civetweb rgw_frontends配置示例 (pr#27054, Casey Bodley)
doc: doc/start/documenting-ceph.rst: 提出更好的文档建议 (pr#30273, Neha Ojha)
doc: doc/start/hardware-recommendations.rst: 微调 (pr#30837, Amrita Sakthivel)
doc: doc/_templates/page.html: 重定向到etherpad (pr#32197, Neha Ojha)
doc: Doc: 将Nautilus 14.2.2添加到日程和发行版 (issue#40988, pr#29362, JuanJose Galvez)
doc: Doc: 更新发布日程 (pr#28466, Torben Hxc3xb8rup)
doc: docs: 修复rgw_ldap_dnattr用户名token (pr#27964, Thomas Kriechbaumer)
doc: docs: 改进rgw ldap认证选项 (pr#28157, Thomas Kriechbaumer)
doc: docs: rgw: 修复桶操作拼写:ListBucketMultipartUploads (pr#28885, Thomas Kriechbaumer)
doc: docs: 更新au.ceph.com维护者,更新README.md (pr#32814, Matthew Taylor)
doc: 在子树迁移期间记录导出过程 (pr#30751, Sidharth Anupkrishnan)
doc: 记录mds日志事件类型 (issue#42190, pr#30749, Venky Shankar)
doc: 记录mds日志记录 (issue#41783, pr#30396, Venky Shankar)
doc: 记录rbd mirror image enable命令的mode参数 (pr#32735, Mykola Golub)
doc: 记录journal reset的rank选项 (pr#31201, Patrick Donnelly)
doc: 记录新的--addv参数 (issue#40568, pr#28819, Luca Castoro)
doc: Documentation: 为ceph-volume.rst添加缺少的ceph-volume lvm batch参数 (pr#29081, Andreas Krebs)
doc: Documentation: Centos ceph-deploys python依赖项 (pr#32591, Clxc3xa9ment Hampaxc3xaf)
doc: documentation: 更新Dashboard功能,改进流程 (pr#33919, Lenz Grimmer)
doc: 删除并更新故障排除 (pr#28900, Jos Collin)
doc: 强调require-osd-release nautilus的重要性 (pr#32587, Zac Dover)
doc: 修复命令中的拼写错误 (pr#32230, taeuk_kim)
doc: 修复balancer文档中的拼写错误 (pr#30210, Francois Deppierraz)
doc: 修复mds状态图中的引导转换 (pr#27685, Patrick Donnelly)
doc: 修复搜索页面中的错误并对releases.json使用相对地址 (pr#33423, Kefu Chai)
doc: 修复新的ceph-devel邮件列表 (pr#29492, David Zafman)
doc: 修复FUSE扩展 (pr#30473, Sidharth Anupkrishnan)
doc: 修复CephFS入门 (pr#32457, Jos Collin)
doc: 修复developer_guide中的链接 (pr#32728, Rishabh Dave)
doc: 修复LRC文档 (pr#27106, Danny Al-Gaaf)
doc: 修复设置pg autoscale mode的参数 (pr#27422, Changcheng Liu)
doc: 修复rbd命名空间文档 (pr#29445, Ricardo Marques)
doc: 修复pg状态和自动修复配置选项 (issue#38896, pr#27143, David Zafman)
doc: 修复拼写错误 (pr#28888, Jos Collin)
doc: 修复doc/radosgw/layout.rst中的拼写错误 (pr#29932, ypdai)
doc: 修复自动伸缩pg数量的拼写错误 (pr#31065, Changcheng Liu)
doc: 修复拼写错误 (pr#30583, Michael Prokop)
doc: 修复urls (pr#29300, Jos Collin)
doc: 修复多站点文档中--read-only参数值错误 (pr#28655, Chenjiong Deng)
doc: 修复Swift Settings部分中的断链 (pr#28774, James McClune)
doc: 修复nautilus发行版页面中的断链 (pr#28074, James McClune)
doc: 修复Graphviz的断链引用 (pr#32021, James McClune)
doc: 修复大小写 (pr#27397, Servesha Dudhgaonkar)
doc: 修复遥测模块参考链接 (pr#27624, James McClune)
doc: 修复领导名称中的拼写错误 (pr#27396, Servesha Dudhgaonkar)
doc: 修复基于osd_devices名称的OSD节点标签 (pr#23312, Siyu Sun)
doc: 修复ceph dashboard命令的拼写错误 (pr#30292, Fabian Bonk)
doc: 隐藏Ceph Internals的页面内容 (pr#31046, Milind Changire)
doc: 改进ceph-backport.sh注释块 (pr#28042, Nathan Cutler)
doc: 改进开发指南文档 (pr#30435, Rishabh Dave)
doc: 改进mount.ceph手册页 (pr#31024, Rishabh Dave)
doc: 改进dashboard代理配置部分 (pr#27581, Lenz Grimmer)
doc: 指明提交标题的命令式语气 (pr#29509, Patrick Donnelly)
doc: 使ceph-dashboard需要grafana仪表盘 (pr#28997, Boris Ranto)
doc: mds-config-ref: 更新mds_log_max_segments值 (pr#29412, Konstantin Shalygin)
doc: 在rados手册页中提及--namespace选项 (pr#31871, Nathan Cutler)
doc: mgr/dashboard: 添加前端代码文档 (issue#36243, pr#27433, Ernesto Puerta)
doc: mgr/dashboard: 使用ApiController用法记录UiApiController (pr#29819, Stephan Mxc3xbcller)
doc: mgr/dashboard: 扩展端到端测试编写部分(describe vs it) (pr#29707, Adam King, Rafael Quintero)
doc: mgr/dashboard: 修复hacking.rst (pr#27222, Ernesto Puerta)
doc: mgr/dashboard: 修复HACKING.rst的链接格式 (pr#28897, Ernesto Puerta)
doc: mgr/dashboard: 修复HACKING.rst中的拼写错误 (pr#30847, Ernesto Puerta)
doc: mgr/orchestrator: 为接口添加错误处理 (pr#26404, Sebastian Wagner)
doc: mgr/orchestrator: 修复禁用编排器的问题 (issue#40779, pr#29042, Sebastian Wagner)
doc: mgr/orchestrator_cli: 更新README中的文档链接 (pr#31731, Varsha Rao)
doc: mgr/ssh: HACKING.rst: 添加Understanding AsyncCompletion (pr#31967, Sebastian Wagner)
doc: mgr/ssh: 更新ssh-orch引导指南(Vagrantfile & docs) (pr#31457, Joshua Schmid)
doc: mgr/telemetry: 在选择退出时强制--license (pr#33747, Yaarit Hatuka)
doc: mount.ceph中的小修复 (pr#32748, Rishabh Dave)
doc: 杂项拼写修复 (pr#27202, Bryan Stillwell)
doc: 修改自然主题 (pr#32312, Brad Hubbard)
doc: mon/OSDMonitor: 修复带单位后缀的池集target_size_bytes (等) (pr#30701, Prashant D)
doc: 挂载CephFS子目录和持久挂载清理 (pr#32498, Jos Collin)
doc: 将ceph-deploy文档移至doc/install/ceph-deploy (pr#33953, Sebastian Wagner)
doc: 将cephadm文件移至其自己的目录 (pr#33551, Alexandra Settle, Sebastian Wagner)
doc: 将开发指南移至其自己的子目录 (pr#27159, Nathan Cutler)
doc: nautilus 14.2.2发行说明,第三版 (pr#29171, Nathan Cutler)
doc: Nautilus mailmaps (pr#27092, Abhishek Lekshmanan)
doc: 明确指出profile rbd允许黑名单 (pr#28296, Matthew Vernon)
doc: allow_standby_replay的过时条目 (pr#31897, Rodrigo Severo)
doc: operations: 纠正逗号分隔符 (pr#29644, Anthony DAtri)
doc: operations: 改进reweight-by-utilization (pr#27657, Anthony DAtri)
doc: PendingReleaseNotes: 14.2.1关于crush所需版本的说明 (pr#27649, Sage Weil)
doc: PendingReleaseNotes: 修复拼写错误 (pr#31853, Sage Weil)
doc: PendingReleaseNotes: 关于python3.6更改的说明 (issue#39164, pr#27490, Kefu Chai)
doc: pg_num应始终是2的幂 (pr#29364, Lars Marowsky-Bree, Kai Wagner)
doc: 加密和压缩的QAT加速 (pr#26967, Qiaowei Ren)
doc: quick-rbd.rst去重 (pr#32965, Tim)
doc: RBD排他锁 (pr#31893, Florian Haas)
doc: README.md: 删除过时的cmake先决条件 (pr#32751, Kefu Chai)
doc: release note: 为已合并代码添加待发布说明 (pr#32041, David Zafman)
doc: 14.2.1的发行说明 (pr#27793, Abhishek Lekshmanan)
doc: Luminous v12.2.13的发行说明 (pr#33030, Nathan Cutler)
doc: nautilus 14.2.2的发行说明 (pr#29011, Sage Weil, Nathan Cutler)
doc: Nautilus 14.2.7的发行说明 (pr#33031, Nathan Cutler)
doc: v14.2.3 nautilus的发行说明 (pr#29973, Abhishek Lekshmanan)
doc: v14.2.6的发行说明 (pr#32551, Abhishek Lekshmanan)
doc: releases/luminous: 12.2.12的发行说明 (pr#27553, Abhishek Lekshmanan)
doc: releases: 14.2.3 dashboard说明 (pr#30145, Abhishek Lekshmanan)
doc: releases: v14.2.8发行说明 (pr#33670, Abhishek Lekshmanan)
doc: 将LGPL-2.1代码重新授权为LGPL-2.1或LGPL-3.0 (pr#22446, Sage Weil)
doc: 从硬件建议中删除生产集群示例 (pr#32670, Zac Dover)
doc: 删除kernel.pid_max的建议 (pr#27965, Ben England)
doc: 删除对过时scrub命令的引用 (pr#32508, Patrick Donnelly)
doc: 删除CephFS-Hadoop说明 (pr#32980, Greg Farnum)
doc: 删除Keystone文档中对OpenStack Kilo的引用 (pr#27203, James McClune)
doc: 删除kube-helm安装说明 (pr#32009, Zac Dover)
doc: 重新组织CephFS登录页面和ToC (pr#32038, Patrick Donnelly)
doc: Revert doc: 搜索结果链接不添加后缀 (pr#33562, Jason Dillaman)
doc: rgw/pubsub: 为master zone添加S3兼容API (pr#28971, Yuval Lifshitz)
doc: rgw/pubsub: 澄清pubsub zone配置 (pr#27493, Yuval Lifshitz)
doc: rgw/pubsub: 修复topic arn。租户支持多站点测试 (pr#27671, Yuval Lifshitz)
doc: rgw: 修复OPA的user_id名称错误 (pr#31972, Seena Fallah)
doc: s/achieve/achieves/ (修复动词不一致) (pr#32036, Zac Dover)
doc: script/ceph-backport.sh: 添加故障排除说明 (pr#29948, Nathan Cutler)
doc: 设置ceph_perf_msgr_server参数 (pr#29847, Changcheng Liu)
doc: 展示如何在触发作业前计数作业 (pr#32145, Rishabh Dave)
doc: 展示Jenkins命令 (pr#29423, Ernesto Puerta)
doc: 小幅更新SubmittingPatches-backports (pr#31163, Laura Paduano)
doc: 拆分SubmittingPatches.rst (issue#20953, pr#30705, Nathan Cutler)
doc: 更改utilization的拼写 (pr#32537, Bryan Stillwell)
doc: tools/rados: 在帮助中添加--pgid (pr#30383, Vikhyat Umrao)
doc: doc/dev/dev_cluster_deployement.rst中的拼写错误修复: s/hostanme/hostname/ (pr#31515, Drunkard Zhang)
doc: 更新--force标志以更精确 (pr#32343, Jos Collin)
doc: 更新添加MDS (pr#32291, Jos Collin)
doc: 更新和改进使用fuse/kernel文档进行挂载 (pr#30754, Rishabh Dave)
doc: 更新bluestore缓存设置并澄清数据分数 (issue#39522, pr#27859, Jan Fajerski)
doc: 更新ceph ansible iscsi信息 (pr#28665, Mike Christie)
doc: 更新ceph-deploy文档从dumpling到nautilus (pr#30269, Danny Abukalam)
doc: 更新ceph-iscsi最低版本 (pr#29195, Ricardo Marques)
doc: 更新介绍页中的CephFS概述 (pr#30014, Patrick Donnelly)
doc: 更新CephFS快速入门文档 (pr#30406, Rishabh Dave)
doc: 更新bootstrap.rst中的命令 (pr#31800, Zac Dover)
doc: 更新默认容器镜像 (pr#33974, Sage Weil)
doc: 更新LazyIO方法lazyio_synchronize()和lazyio_propagate()的文档 (pr#29711, Sidharth Anupkrishnan)
doc: 更新关于MANY_OBJECTS_PER_PG警告的文档 (pr#27403, Vangelis Tasoulas)
doc: 更新使用kcephfs的文档 (pr#30626, Jeff Layton)
doc: 更新erasure-code-profile.rst (pr#33707, Guillaume Abrioux)
doc: 更新Red Hat文档的链接 (pr#27976, Yaniv Kaul)
doc: 更新ceph pg dump的--format标志的格式列表 (pr#32373, Zac Dover)
doc: 更新邮件列表 (pr#31666, hrchu)
doc: 更新mondb恢复脚本 (pr#28515, Hannes von Haugwitz)
doc: 更新mount CephFS索引 (pr#28955, Jos Collin)
doc: 更新python-rtsli和tcmu-runner最低版本 (pr#28494, Ricardo Marques)
doc: 更新使用CephFS的要求 (pr#30251, Varsha Rao)
doc: 更新osd添加 (pr#31244, Changcheng Liu)
doc: 更新zone bucket和straw2添加 (pr#31177, Changcheng Liu)
doc: 更新Zabbix模板参考 (pr#33661, Mathijs Smit)
doc: 更新ceph监视器配置选项 (pr#29982, James McClune)
doc: 更新dashboard iSCSI配置,添加标签 (pr#27074, Lenz Grimmer)
doc: 更新OpenStack rbd文档 (pr#28979, James McClune)
doc: 更新OS建议和发行版列表 (pr#28643, Kai Wagner)
doc: 更新到Sepia la的链接 (pr#28780, Varsha Rao)
doc: 在发行说明中使用子部分表示组件 (pr#33940, Kefu Chai)
doc: 使用console lexer渲染命令行会话 (pr#32141, Kefu Chai)
do_cmake.sh: fedora-32 (rawhide) 使用python-3.8构建 (pr#32474, Kaleb S. Keithley)
errorator: 改进通用错误处理程序 (pr#33344, Samuel Just)
github/codeowners: 添加编排器团队 (pr#31441, Sebastian Wagner)
github: 将ceph-volume添加到jenkins命令列表 (pr#31191, Sebastian Wagner)
include/config-h.in.cmake: 删除HAVE_XIO (pr#28465, Kefu Chai)
include/utime: 不要将sec转换为time_t (pr#27861, Kefu Chai)
include: buffer_raw.h: 版权时间修复 (pr#28481, Changcheng Liu)
install-deps.sh: 删除失败的错误捕获 (pr#29403, Ernesto Puerta)
将PeeringState集成到crimson,修复相关错误 (pr#28180, Samuel Just)
krbd: 废除显式内存管理及其他清理工作 (pr#31919, Ilya Dryomov)
librados: 允许将标志传递给操作同步API (pr#33536, Yuval Lifshitz)
librados: 修复getxattr和getxattrs中的内存泄漏 (pr#32183, Adam Kupczyk)
librados: 将缓冲区释放函数移动到内联命名空间 (issue#39972, pr#28167, Jason Dillaman)
librados: 优先使用reinterpret_cast而不是c风格的cast (pr#33038, Kefu Chai)
librbd: 添加引用计数 (pr#30397, Mahati Chamarthy, Venky Shankar)
librbd: 添加snap_get_name和snap_get_id方法API (pr#31280, Zheng Yin)
librbd: 为PoolMetadata头文件添加缺少的<string>包含 (pr#32614, Kaleb S. Keithley)
librbd: 调整validate_striping()中的else-if条件 (pr#30053, mxdInspur)
librbd: 始终初始化局部变量 (pr#31311, Kefu Chai)
librbd: 移除镜像时始终尝试获取排他锁 (pr#29775, Mykola Golub)
librbd: 异步打开/关闭应在发出回调之前释放ImageCtx (issue#39031, pr#27682, Jason Dillaman)
librbd: 在深度复制期间避免解引用空容器 (issue#40368, pr#28559, Jason Dillaman)
librbd: 数据池移除后表现更优雅 (pr#29613, Mykola Golub)
librbd: 将次要版本提高以匹配octopus (pr#32402, Jason Dillaman)
librbd: 清理未使用的变量 (pr#30019, mxdInspur)
librbd: 克隆写时复制操作应保留稀疏性 (pr#27999, Mykola Golub)
librbd: copyup读取统计信息错误地绑定到子项 (pr#27757, Jason Dillaman)
librbd: 延迟事件套接字完成,直到回调发出后 (pr#33994, Jason Dillaman)
librbd: 快速diff的diff迭代现在正确地包含父项 (pr#32403, Jason Dillaman)
librbd: 默认禁用零拷贝写入 (pr#31794, Jason Dillaman)
librbd: 仅当读取交叉时才分派延迟请求 (pr#27446, Mykola Golub)
librbd: 不允许深度复制正在迁移的镜像 (pr#27194, Mykola Golub)
librbd: 在调整大小期间,不要在增长对象映射之前解除IO阻塞 (issue#39952, pr#28295, Jason Dillaman)
librbd: 如果ImageCtx被销毁,不要使用complete_external_callback (pr#29263, Mykola Golub)
librbd: 在mirror::GetInfoRequest状态机中不调用refresh (pr#32734, Mykola Golub)
librbd: 在镜像启用时明确指定模式 (pr#32217, Mykola Golub)
librbd: 特性转换位掩码和字符串API (pr#31188, Zheng Yin)
librbd: 提前完成写请求 (pr#32113, Li, Xiaoyan)
librbd: 修复损坏的组快照处理 (pr#33448, Jason Dillaman)
librbd: 修复freebsd上的构建问题 (pr#32938, Mykola Golub)
librbd: 修复object-map/fast-diff特性互锁问题 (issue#39521, pr#28051, Jason Dillaman)
librbd: 修复潜在的竞争条件 (pr#33563, Mahati Chamarthy)
librbd: 修复因重复RPC消息导致的潜在快照删除失败 (pr#32760, Mykola Golub)
librbd: 修复rbd_features_to_string输出 (pr#31006, Zheng Yin)
librbd: 修复rbd_open_by_id, rbd_open_by_id_read_only (pr#32105, yangjun)
librbd: 修复快照镜像模式提升的一些边缘情况 (pr#32567, Mykola Golub)
librbd: 修复deep_copy::ObjectCopyRequest::compute_read_ops中的拼写错误 (pr#27049, Mykola Golub)
librbd: 修复与copyup相关的几个竞争条件 (issue#39021, pr#27357, Jason Dillaman)
librbd: 如果黑名单被禁用,强制重新获取锁 (pr#30955, luo.runbing)
librbd: 实现重叠IO的排序 (pr#28952, Mahati Chamarthy)
librbd: 改进日志性能以匹配预期降级 (issue#40072, pr#28539, Jason Dillaman)
librbd: 改进对平衡和本地化读取的支持 (pr#33493, Zheng Yin)
librbd: 内部锁的初始合并 (pr#27756, Jason Dillaman)
librbd: 引入新的默认写回缓存策略 (pr#27229, Jason Dillaman)
librbd: 在取消简单io调度器计时器任务时泄漏 (pr#27755, Mykola Golub)
librbd: 在默认命名空间中查找镜像对等体 (pr#32338, Mykola Golub)
librbd: 在默认命名空间中查找池元数据 (pr#27151, Mykola Golub)
librbd: 使flush由QOS限流器排队 (pr#26931, Mykola Golub)
librbd: 镜像启用/禁用应启用/禁用日志记录 (pr#28553, Mykola Golub)
librbd: 优化镜像复制状态机以使用fast-diff (pr#33867, Jason Dillaman)
librbd: 可选地在移除时将父镜像移至回收站 (pr#27521, Mykola Golub)
librbd: 防止并发AIO回调到外部客户端 (issue#40417, pr#28743, Jason Dillaman)
librbd: 移除librbd/Utils.h中重复的AsyncOpTracker (pr#29653, Xiaoyan Li)
librbd: 移除命名空间时移除池对象 (pr#32401, Jason Dillaman)
librbd: 共享只读缓存钩子 (pr#27285, Dehao Shang, Yuan Zhou)
librbd: 消除-Wunused-variable警告 (pr#27513, David Disseldorp)
librbd: 对象调度器层的简单调度器插件 (pr#26675, Mykola Golub)
librbd: 在copyup期间快照对象映射可能变得不一致 (issue#39435, pr#27724, Ilya Dryomov)
librbd: 支持OSD的压缩分配提示 (pr#32687, Jason Dillaman)
librbd: 支持EC数据池镜像稀疏化 (pr#27268, Mykola Golub)
librbd: 通过C API支持零拷贝写入 (pr#27895, Jason Dillaman)
librbd: 垃圾箱移动对正在迁移的镜像返回EBUSY而不是EINVAL (pr#27136, Mykola Golub)
librbd: 调整深度复制以避免在同步完成之前创建最后一个快照 (pr#33097, Jason Dillaman)
librbd: 调整以增加IOPS并减少CPU使用率 (pr#28044, Jason Dillaman)
librbd: 为aligned boost::lockfree::queue使用自定义分配器 (issue#39703, pr#28093, Jason Dillaman)
librbd: v1克隆仅限于同一命名空间 (pr#30711, Jason Dillaman)
librbd: 当从镜像快照解除对等体时,在所有命名空间中执行 (pr#32463, Mykola Golub)
librbd: 将所有快照API函数从internal.cc移到api/Snapshot.cc (pr#31589, Zheng Yin)
log: log_to_file=false时避免记录任何内容 (pr#27133, Sage Weil)
log: 修复store_statfs日志行 (pr#28564, Mohamad Gebai)
log: 如果t为空,直接返回 (pr#31243, Xiubo Li)
log: 在最近事件转储中打印pthread ID / 名称映射 (pr#32354, Radoslaw Zarzynski)
lvm deactivate命令 (pr#32179, Jan Fajerski)
mds: 添加配置单个客户端会话的命令 (issue#40811, pr#29104, Yan, Zheng)
mds: 添加配置以要求转发到auth MDS (pr#29995, simon gao)
mds: 添加可配置的快照限制 (pr#30710, Milind Changire)
mds: 为MDSRank的完成器添加perf计数器 (pr#29377, simon gao)
mds: 为openfiletable添加perf计数器 (pr#33363, Milind Changire)
mds: 将scrub_info_t添加到内存池 (pr#33180, Jun Su)
mds: 一次性回答所有针对同一inode的待处理getattr/lookup (issue#36608, pr#24794, Patrick Donnelly, Xuehan Xu)
mds: 通过MDSRank应用配置更改 (pr#28951, Patrick Donnelly)
mds: 异步目录操作支持 (pr#27866, Yan, Zheng)
mds: 异步dirop支持 (pr#32816, Yan, Zheng)
mds: 在颁发caps时避免检查会话连接特性 (pr#26881, Yan, Zheng)
mds: 在目录碎片化期间避免从loner撤销Fsx (pr#26817, Yan, Zheng)
mds: mds重启后避免一次发送过多osd请求 (issue#40028, pr#27436, simon gao)
mds: 当某些客户端无法推进最旧的客户端/刷新tid时,ceph health detail输出更好 (issue#39266, pr#27537, Shen Hang)
mds: 如果mkdir导致目录过大,检查目录碎片以分割目录 (pr#27480, Erqi Chen)
mds: 重命名后检查目录分割 (issue#38994, pr#27214, Shen Hang)
mds: 澄清注释 (pr#31401, Patrick Donnelly)
mds: 当standby replay mds trim日志段时清理截断inodes (pr#28686, Yan, Zheng)
mds: 分割快照inode时清理不必要的client_snap_caps (issue#39987, pr#28190, Yan, Zheng)
mds: mds重启后完成所有重放操作 (issue#40784, pr#29059, Shen Hang)
mds: 将不必要的std::list使用转换为std::vector (pr#26895, Patrick Donnelly)
mds: 计算日志中剩余的purge队列项目 (issue#40121, pr#28376, Zhi Zhang)
mds: 延迟导出pin值超过max rank id的目录 (issue#40603, pr#28804, Zhi Zhang)
mds: 在ceph状态中显示scrub状态 (pr#28855, Venky Shankar)
mds: 不在MDS的MClientSession中包含metric_spec (pr#32659, Patrick Donnelly)
mds: 不将元数据添加到会话关闭消息 (pr#32318, Yan, Zheng)
mds: 如果客户端没有待处理的capsnap,则不标记cap NEEDSNAPFLUSH (pr#28551, Yan, Zheng)
mds: 如果子树太大或太多,则不打印子树 (pr#26056, Rishabh Dave)
mds: mds只读时,getattr不以-EROFS响应 (pr#32676, Yan, Zheng)
mds: 在删除缓存时驱动cap recall (pr#30389, Patrick Donnelly)
mds: 只有当另一个客户端需要其caps时才逐出无响应的客户端 (issue#17854, pr#22645, Rishabh Dave)
mds: 在完成器中执行PurgeQueue on_error处理程序 (pr#29064, Yan, Zheng)
mds: 修复OpenFileTable的assert(omap_num_objs <= MAX_OBJECTS) (pr#32020, Yan, Zheng)
mds: 修复批量getattr/lookup的bug (pr#32268, Yan, Zheng)
mds: 修复Locker::acquire_locks()中的wrlock检查 (pr#33005, Yan, Zheng)
mds: 修复Locker::file_update_finish中的无限循环 (pr#29902, Yan, Zheng)
mds: 修复InoTable::force_consume_to() (pr#29411, Yan, Zheng)
mds: 修复mdr->dn[0].back()的无效访问 (pr#31534, Yan, Zheng)
mds: 修复Server::apply_blacklist()中的会话是否在黑名单检查 (issue#40061, pr#28293, Yan, Zheng)
mds: 修复MDCache.h重排编译器警告 (pr#31409, Varsha Rao)
mds: 修复Server::handle_client_link()中的空指针解引用 (pr#32722, Yan, Zheng)
mds: 修复stale->resume循环后撤销caps的问题 (pr#31662, Yan, Zheng)
mds: 修复SnapRealm::resolve_snapname用于长名称 (pr#27511, Yan, Zheng)
mds: 修复Migrater中的use-after-free (pr#33291, Yan, Zheng)
mds: 处理坏的清除队列项目编码 (pr#33449, Yan, Zheng)
mds: 处理黑名单中的ceph_assert (pr#33662, Milind Changire)
mds: 将默认缓存内存限制增加到4G (pr#32042, Patrick Donnelly)
mds: 使用conf初始化cap_revoke_eviction_timeout (issue#38844, pr#26970, simon gao)
mds: 在init()中稍后初始化monc (pr#31715, Xiubo Li)
mds: 在关闭期间只删除MDSIOContextBase (pr#33538, Patrick Donnelly)
mds: 在客户端元数据中维护客户端提供的度量标志 (pr#32201, Venky Shankar)
mds: 使mds-mds按消息版本化 (issue#12107, pr#20160, dongdong tao)
mds: 使MDSIOContextBase在关闭时自行删除 (pr#29752, Xuehan Xu)
mds: 当删除的文件不存在时,mds返回-5(EIO)错误 (pr#30403, huanwen ren)
mds: 将一些MDCache成员初始化移动到头文件 (pr#29543, Patrick Donnelly)
mds: 在scrub路径时冻结目录上不assert (pr#30835, Zhi Zhang)
mds: 在拒绝客户端时注意客户端特性 (pr#32505, Patrick Donnelly)
mds: 废弃mds_cache_size (pr#31729, Patrick Donnelly, Ramana Raja)
mds: 优化函数fragset_t::simplify,提高合并碎片的效率 (pr#31595, simon gao)
mds: 以格式转储输出锁状态 (issue#39645, pr#27717, Zhi Zhang)
mds: 将适当的MutationImpl::LockOp传递给Locker::wrlock_start() (pr#33719, Yan, Zheng)
mds: 异步目录操作支持的准备工作 (pr#30972, Yan, Zheng)
mds: 在逐出客户端时正确评估不稳定锁 (pr#31548, Yan, Zheng)
mds: 从静止会话中召回caps (pr#28702, Patrick Donnelly)
mds: 只有在添加到FSMap后才向mgr注册 (pr#31400, Patrick Donnelly)
mds: 拒绝无会话消息 (pr#29594, Xiao Guodong)
mds: 修剪后释放空闲堆页面 (pr#31793, Patrick Donnelly)
mds: 重新设置balancer/migrator的调试消息级别 (pr#33471, Patrick Donnelly)
mds: 移除死的get_commands代码 (pr#33390, Patrick Donnelly)
mds: 移除对balance amount的重复检查 (pr#27087, Zhi Zhang)
mds: 移除 StrayManager::advance_delayed() 中多余的错误 (issue#38679, pr#27051, Yan, Zheng)
mds: 删除跳过逐出唯一客户端的代码 (pr#28642, Yan, Zheng)
mds: 删除不正确的注释 (pr#31775, Xiubo Li)
mds: 删除不必要的调试警告 (pr#31898, Patrick Donnelly)
mds: 删除未使用的 CDir 成员 (pr#33227, Jun Su)
mds: 重新组织 Anchor 头文件中的类成员 (pr#30090, Varsha Rao)
mds: 重新组织 Capability 头文件中的类成员 (pr#29166, Varsha Rao)
mds: 重新组织 CDir 头文件中的类成员 (pr#28860, Varsha Rao)
mds: 重新组织 CInode 头文件中的类成员 (pr#29066, Varsha Rao)
mds: 重新组织 DamageTable 头文件中的类成员 (pr#29569, Varsha Rao)
mds: 重新组织 FSMap 头文件中的类成员 (pr#29572, Varsha Rao)
mds: 重新组织 FSMapUser 头文件中的类成员 (pr#29574, Varsha Rao)
mds: 重新组织 InoTable 头文件中的类成员 (pr#29883, Varsha Rao)
mds: 重新组织 JournalPointer 头文件中的类成员 (pr#29888, Varsha Rao)
mds: 重新组织 LocalLock 头文件中的类成员 (pr#30143, Varsha Rao)
mds: 重新组织 Locker 头文件中的类成员 (pr#30164, Varsha Rao)
mds: 重新组织 LogEvent 头文件中的类成员 (pr#30205, Varsha Rao)
mds: 重新组织 LogSegment 头文件中的类成员 (pr#30202, Varsha Rao)
mds: 重新组织 MDBalancer 头文件中的类成员 (pr#30559, Varsha Rao)
mds: 重新组织 MDCache 头文件中的类成员 (pr#30745, Varsha Rao)
mds: 重新组织 MDLog 头文件中的类成员 (pr#30744, Varsha Rao)
mds: 重新组织 MDSAuthCaps 头文件中的类成员 (pr#30915, Varsha Rao)
mds: 重新组织 MDSCacheObject 头文件中的类成员 (pr#30938, Varsha Rao)
mds: 重新组织 MDSDaemon 头文件中的类成员 (pr#30990, Varsha Rao)
mds: 重新组织 MDSMap 头文件中的类成员 (pr#31118, Varsha Rao)
mds: 重新组织 MDSRank 头文件中的类成员 (pr#31120, Varsha Rao)
mds: 重新组织 MDSTable 头文件中的类成员 (pr#31122, Varsha Rao)
mds: 重新组织 MDSTableClient 头文件中的类成员 (pr#31115, Varsha Rao)
mds: 重新组织 MDSTableServer 头文件中的类成员 (pr#31250, Varsha Rao)
mds: 重新组织 Migrator 头文件中的类成员 (pr#31253, Varsha Rao)
mds: 重新组织 OpenFileTable 头文件中的类成员 (pr#31597, Varsha Rao)
mds: 重新组织 PurgeQueue 头文件中的类成员 (pr#31596, Varsha Rao)
mds: 重新组织 RecoveryQueue 头文件中的类成员 (pr#31635, Varsha Rao)
mds: 重新组织 ScatterLock 头文件中的类成员 (pr#31716, Varsha Rao)
mds: 重新组织 ScrubHeader 头文件中的类成员 (pr#31717, Varsha Rao)
mds: 重新组织 ScrubStack 头文件中的类成员 (pr#31718, Varsha Rao)
mds: 重新组织 Server 头文件中的类成员 (pr#31719, Varsha Rao)
mds: 重新组织 SessionMap 头文件中的类成员 (pr#32320, Varsha Rao)
mds: 重新组织 SimpleLock 头文件中的类成员 (pr#32322, Varsha Rao)
mds: 重新组织 SnapClient 头文件中的类成员 (pr#32326, Varsha Rao)
mds: 重新组织 SnapServer 头文件中的类成员 (pr#32350, Varsha Rao)
mds: 重新组织 Mutation 头文件中的结构成员 (pr#31481, Varsha Rao)
mds: 重新组织 mdstypes 头文件中的结构和类成员 (pr#32435, Varsha Rao)
mds: 重新组织 flock 头文件中的结构成员 (pr#32416, Varsha Rao)
mds: 重新组织 inode_backtrace 头文件中的结构成员 (pr#32431, Varsha Rao)
mds: 重新组织 snap 头文件中的结构成员 (pr#32432, Varsha Rao)
mds: 重新组织 SnapRealm 头文件中的结构成员 (pr#32348, Varsha Rao)
mds: 重新组织 StrayManager 头文件中的结构成员 (pr#32397, Varsha Rao)
mds: 在大循环中重置心跳 (pr#28406, Yan, Zheng)
mds: 如果操作导致目录过大,则分割目录,因为某些操作可能正在进行中 (pr#29921, simon gao)
mds: 调用 Beacon::shutdown() 时发生断言 (issue#38822, pr#27063, huanwen ren)
mds: 限制多个活动 MDS 的 Scrub 启动 (pr#32521, Patrick Donnelly, Milind Changire)
mds: 容忍磁盘根 inode 中未编码 snaprealm (pr#31455, Yan, Zheng)
mds: 跟踪清除操作的高水位标记 (pr#32667, Patrick Donnelly)
mds: 在 standby-replay 期间修剪缓存 (issue#40213, pr#28212, simon gao)
mds: 定期修剪缓存 (pr#29542, Patrick Donnelly)
mds: 统一守护程序和 tell 命令 (pr#31255, Sage Weil)
mds: 升级 snaptable 时更新 projected_version (issue#38835, pr#27238, Yan, Zheng)
mds: 使用 set 来存储以逐出客户端 (pr#30029, Erqi Chen)
mds: 在 feature_bitset_t 中使用 vector::empty (pr#32541, Jos Collin)
mds: 强制更改锁状态后唤醒锁等待者 (issue#39987, pr#28459, Yan, Zheng)
mgr,mon,rbd: mon/mgr: 将 rbd_support 添加到始终开启的 mgr 模块列表中 (issue#40790, pr#29073, Jason Dillaman)
mgr,mon: mon,mgr: 将 MessageRef 传递给 monc.send_mon_message() xe2x80xa6 (pr#30449, Kefu Chai)
mgr,mon: mon/MgrMonitor.cc: 将 always_on_modules 添加到 ceph mgr module ls 的输出中 (pr#32939, Neha Ojha)
mgr,mon: mon/MgrMonitor.cc: 在具有 osd 的集群中缺少 mgr 时发出警告 (pr#33025, Neha Ojha)
mgr,pybind: pybind/mgr/prometheus: 移除 scrape_duration 指标 (pr#27034, Jan Fajerski)
mgr,rbd: mgr/dashboard: 块镜像页面导致内部服务器错误 (pr#31907, Jason Dillaman)
mgr,rbd: mgr/rbd_support: 不扫描没有计划的池 (pr#33840, Mykola Golub)
mgr,rbd: mgr/rbd_support: 实现镜像快照调度器 (pr#32434, Mykola Golub)
mgr,rbd: mgr/rbd_support: 支持调度长时间运行的后台操作 (issue#40621, pr#29054, Jason Dillaman)
mgr,rbd: pybind/mgr: 修复 rbd-mirror prometheus 指标的格式 (pr#28200, Mykola Golub)
mgr,rgw: mgr/ansible: RGW 服务 (pr#28468, Juan Miguel Olmo Martxc3xadnez)
mgr,tests: install-deps.sh: 预加载所有 mgr requirements.txt 文件的 wheel (pr#32151, Sage Weil)
mgr,tests: mgr/orchestrator_cli: 移除 tox 并将测试移至父目录 (pr#31561, Sebastian Wagner)
mgr,tests: mgr/progress: 为 progress 模块创建第一个单元测试 (pr#28758, Kamoltat (Junior) Sirivadhna)
mgr,tests: pybind/mgr: 添加 ceph_module.pyi 以改进类型检查 (pr#32502, Sebastian Wagner)
mgr,tests: pybind/mgr: 安装 setuptools >= 12 (pr#29414, Kefu Chai)
mgr,tests: pybind/tox: 处理 WITH_PYTHON3 除了 3 之外的可能值 (pr#28002, Nathan Cutler)
mgr,tests: qa/mgr/balancer: 添加基于 cram 的测试以修改 target_max_misplaced_ratio 设置 (pr#30646, Shyukri Shyukriev)
mgr,tests: qa/mgr/progress: 更新 progress 模块的测试套件 (issue#40618, pr#29111, Kamoltat (Junior) Sirivadhna)
mgr,tools: 移除 upmap 均衡器对规则批处理的使用,并将 upmap_max_deviation 默认值设为 5 (pr#32247, David Zafman)
mgr/ansible: 主机列表实现 (pr#26185, Juan Miguel Olmo Martxc3xadnez)
mgr/ansible: 将 mgr/ansible/tox 集成到 mgr/tox 中 (pr#32149, Sebastian Wagner)
mgr/ansible: TLS 相互认证 (pr#27512, Juan Miguel Olmo Martxc3xadnez)
mgr/cephadm: 关于守护程序和设备缓存的一些修复 (pr#33495, Sage Weil)
mgr/cephadm: 使 osd 部署适应 service_apply (pr#33922, Sage Weil, Joshua Schmid)
mgr/cephadm: 添加驱动器组支持;解决 c-v 批处理的不足之处 (pr#32972, Sage Weil, Joshua Schmid)
mgr/cephadm: 添加 HostAssignment.validate() (pr#34005, Sebastian Wagner)
mgr/cephadm: 将进度添加到 update_mgr() (pr#32372, Sebastian Wagner)
mgr/cephadm: 添加 osd 移除的单元测试 (pr#33602, Sage Weil, Sebastian Wagner)
mgr/cephadm: 添加 service_action 的单元测试 (pr#32209, Sebastian Wagner)
mgr/cephadm: 允许在后台进行 osd 替换/移除 (pr#32983, Joshua Schmid)
mgr/cephadm: 自动选择远程使用的 python 版本 (pr#32327, Sage Weil)
mgr/cephadm: 缓存设备清单;zap (pr#33394, Sage Weil)
mgr/cephadm: 抓取 ceph-volume 清单时捕获异常 (pr#33484, Sage Weil)
mgr/cephadm: 在 serve() 线程中捕获异常 (pr#33139, Sage Weil)
mgr/cephadm: 添加主机时检查主机 (pr#32385, Sage Weil)
mgr/cephadm: 升级后清理 client.crash.* container_image 设置 (pr#34068, Sage Weil)
mgr/cephadm: 合并/重构所有 add_ 和 apply_ 方法 (pr#33496, Sage Weil)
mgr/cephadm: 将 HostNotFound 转换为 OrchestratorError (pr#33310, Sebastian Wagner)
mgr/cephadm: 部署 Grafana (pr#33515, Patrick Seidensal)
mgr/cephadm: 不将 osd 服务包含在 orch ls 输出中 (pr#33968, Sage Weil)
mgr/cephadm: 不重新配置孤立守护程序;修复测试以不远程移除孤立守护程序 (pr#34027, Sage Weil)
mgr/cephadm: 不再频繁刷新守护程序和设备清单 (pr#33734, Sage Weil)
mgr/cephadm: 移除 mixin 父级 (pr#33514, Sage Weil)
mgr/cephadm: 通过 Orchestrator 启用 alertmanager 配置 (pr#33554, Kristoffer Grxc3xb6nlund)
mgr/cephadm: 通过先格式化为 yaml 修复 dump 输出 (pr#33891, Joshua Schmid)
mgr/cephadm: 修复按主机列出服务的问题 (pr#32314, Kiefer Chang)
mgr/cephadm: 修复 orch rm 和升级问题 (pr#33772, Sage Weil)
mgr/cephadm: 修复 osd 重新配置/重新部署 (pr#32812, Sage Weil)
mgr/cephadm: 修复新服务的放置问题 (pr#33205, Sebastian Wagner)
mgr/cephadm: 修复现有和指定位置不重叠时的放置问题 (pr#33766, Sage Weil)
mgr/cephadm: 修复主机没有标签或地址时 prometheus 配置生成问题 (pr#33800, Sage Weil)
mgr/cephadm: 修复 remove_osds() (pr#32146, Sebastian Wagner)
mgr/cephadm: 修复 ceph.conf 中 mon 选项的节名称 (pr#32681, Sage Weil)
mgr/cephadm: 修复服务列表过滤问题 (pr#33838, Kiefer Chang)
mgr/cephadm: 修复超时选项的类型 (pr#32316, Kiefer Chang)
mgr/cephadm: 修复升级时 ok-to-stop 条件检查问题 (pr#33469, Sage Weil)
mgr/cephadm: 修复升级顺序问题 (pr#33811, Sage Weil)
mgr/cephadm: 修复升级等待循环问题 (pr#33447, Sage Weil)
mgr/cephadm: 修复守护程序停止时的升级问题 (pr#33678, Sage Weil)
mgr/cephadm: 如果没有 deps 记录,并且 deps 为空,则不重新配置 (pr#33733, Sage Weil)
mgr/cephadm: 实现 apply mon,mon 移除检查 (pr#33792, Sage Weil)
mgr/cephadm: 实现暂停/恢复以怀疑非监控后台工作 (pr#33930, Sage Weil)
mgr/cephadm: 改进升级的拉取行为 (pr#32878, Sage Weil)
mgr/cephadm: 初始化 settattr() 创建的属性 (pr#32957, Kefu Chai)
mgr/cephadm: 利用服务规范 (pr#33553, Sage Weil, Joshua Schmid)
mgr/cephadm: 限制 serve 循环中执行 check host 的次数 (pr#33866, Daniel-Pivonka)
mgr/cephadm: 将信息记录到集群日志中 (pr#33488, Sage Weil)
mgr/cephadm: 使 apply 移动守护程序,同步执行其工作 (pr#33704, Sage Weil)
mgr/cephadm: 使 NodeAssignment 返回一个简单的主机列表 (pr#33669, Sage Weil)
mgr/cephadm: 使在现有 LV 上创建 osd 具有幂等性 (pr#33755, Sage Weil)
mgr/cephadm: 使 prometheus 抓取所有 mgr、node-exporter (pr#33444, Sage Weil)
mgr/cephadm: 确保我们不会将相同的守护程序 colocated (pr#33853, Sebastian Wagner)
mgr/cephadm: 杂项修复 (pr#33119, Sage Weil)
mgr/cephadm: 杂项修复 + 冒烟测试 (pr#33730, Sage Weil)
mgr/cephadm: mon: 不显示用户错误的跟踪信息 (pr#33333, Sebastian Wagner)
mgr/cephadm: cephadm check-host 返回更友好的错误信息 (pr#33935, Sage Weil)
mgr/cephadm: 自动将仪表板指向 cephadm 的 grafana (pr#33700, Sage Weil)
mgr/cephadm: 守护程序 ID 前缀为 hostname (pr#33012, Sage Weil)
mgr/cephadm: 升级进度 (pr#33415, Sage Weil)
mgr/cephadm: 配置 node-exporter (pr#33123, Sage Weil, Patrick Seidensal)
mgr/cephadm: 配置 prometheus (pr#33073, Sage Weil)
mgr/cephadm: 减少单元测试的样板代码 (pr#33663, Joshua Schmid)
mgr/cephadm: 当 mons 更改时刷新 ceph.conf (pr#33855, Sage Weil)
mgr/cephadm: 当依赖项更改时刷新配置 (pr#33671, Sage Weil)
mgr/cephadm: 在后台刷新服务状态 (pr#32859, Sebastian Wagner, Sage Weil)
mgr/cephadm: 移除时从缓存中移除项 (pr#33071, Sage Weil)
mgr/cephadm: 在设备指示灯闪烁时移除多余的 /dev (pr#32246, Sage Weil)
mgr/cephadm: 改进调度 (pr#33523, Sage Weil)
mgr/cephadm: 将线程池大小设置为 10 (pr#33463, Sebastian Wagner)
mgr/cephadm: 显示服务 ls 的年龄 (pr#32686, Sage Weil)
mgr/cephadm: 简化和改进放置 (pr#33808, Sage Weil)
mgr/cephadm: 简化守护程序清单的跟踪 (pr#33249, Sage Weil)
mgr/cephadm: 两个小修复 (pr#33736, Sage Weil)
mgr/cephadm: 立即更新 osd 移除报告 (pr#33713, Kiefer Chang)
mgr/cephadm: 更新类型注释 (pr#33784, Kefu Chai)
mgr/cephadm: 升级目前需要 root 模式 (pr#33802, Sage Weil)
mgr/cephadm: 升级:修复缺少 image_id 的守护程序 (pr#33745, Sage Weil)
mgr/cephadm: 升级:处理已停止的守护程序 (pr#33487, Sage Weil)
mgr/cephadm: 验证主机名是否与 cephadm 主机匹配 (pr#33058, Sage Weil)
mgr/dashbaord: 修复 E2E 池页面故障 (pr#32635, Stephan Mxc3xbcller)
mgr/dashboad: 改进 iSCSI 概览页面 (pr#27254, Ricardo Marques)
mgr/dashboard 在通知托盘中显示后台任务的进度条 (pr#27420, Pooja)
mgr/dashboard/qa: 改进 tasks.mgr.test_dashboard.TestDashboard.test_standby (pr#26925, Volker Theile)
mgr/dashboard/qa: 增加 test_disable 的超时时间 (tasks.mgr.dashboard.test_mgr_module.MgrModuleTelemetryTest) (pr#27187, Volker Theile)
mgr/dashboard: Crush 映射中存在 1 个 osd 但 osdmap 中不存在导致 OSD 页面崩溃 (issue#36086, pr#26836, Patrick Nawracay)
mgr/dashboard: 块管理器无法访问池页面 (pr#30001, Volker Theile)
mgr/dashboard: SSL 握手时接受预期异常 (pr#31014, Kefu Chai)
mgr/dashboard: 访问控制数据库无法正确还原禁用用户 (pr#29614, Volker Theile)
mgr/dashboard: 使桶租户 API 测试适应新行为 (pr#29570, alfonsomthd)
mgr/dashboard: 适应 create_osds 接口更改 (pr#34000, Kiefer Chang)
mgr/dashboard: 将 Always-on 列添加到 mgr 模块列表 (pr#33429, Volker Theile)
mgr/dashboard: 添加日期范围和日志搜索功能 (issue#37387, pr#26562, guodan1)
mgr/dashboard: 添加调试模式 (pr#30522, Ernesto Puerta)
mgr/dashboard: 添加 NFS 的功能切换并修复功能切换回归 (pr#32419, Ernesto Puerta)
mgr/dashboard: 为池名称添加无效模式消息 (pr#31607, Tiago Melo)
mgr/dashboard: 添加缺失的文本翻译 (pr#29934, Volker Theile)
mgr/dashboard: 添加波兰语翻译 (pr#27247, Sebastian Krah)
mgr/dashboard: 添加 protractor-screenshoter-plugin (pr#27166, Alfonso Martxc3xadnez)
mgr/dashboard: 在仪表板登录页面添加刷新间隔 (issue#26872, pr#26396, guodan1)
mgr/dashboard: 添加单独的选项来配置 SSL 端口 (pr#26914, Volker Theile)
mgr/dashboard: 添加支持闪烁机箱 LED (pr#31851, Volker Theile)
mgr/dashboard: 添加时间差单元测试和文档 (pr#31357, Volker Theile)
mgr/dashboard: 添加垂直菜单 (pr#31923, Tiago Melo)
mgr/dashboard: 添加白名单以守护 (pr#27406, Ernesto Puerta)
mgr/dashboard: 允许删除带有快照的 RBD (pr#33067, Tiago Melo)
mgr/dashboard: 允许在备用仪表板上禁用重定向 (pr#29088, Volker Theile)
mgr/dashboard: 允许刷新清单页面 (pr#32423, Kiefer Chang)
mgr/dashboard: 允许用户在 UI 上更改密码 (pr#28935, Volker Theile)
mgr/dashboard: auth ttl 过期错误 (pr#27098, ming416)
mgr/dashboard: 返回按钮组件 (pr#27164, Stephan Mxc3xbcller)
mgr/dashboard: 当 pwdUpdateRequired 键缺失时行为正常 (pr#33513, Sage Weil)
mgr/dashboard: 桶名称不能格式化为 IP 地址 (pr#30620, Volker Theile)
mgr/dashboard: ceph dashboard i18ntool (pr#26953, Sebastian Krah)
mgr/dashboard: CephFS 客户端选项卡切换 (pr#29556, Stephan Mxc3xbcller)
mgr/dashboard: CephFS 选项卡组件 (pr#29800, Stephan Mxc3xbcller)
mgr/dashboard: 将服务提供者更改为 root (issue#39996, pr#28211, Tiago Melo)
mgr/dashboard: 将 warn_explicit 更改为 warn (pr#30075, Ernesto Puerta)
mgr/dashboard: 在删除之前检查网关是否正在使用 (pr#27262, Ricardo Marques)
mgr/dashboard: 检查 num_sessions 是否可用 (pr#30270, Ricardo Marques)
mgr/dashboard: cheroot 移至单独的项目 (pr#31431, Joshua Schmid)
mgr/dashboard: 清理代码 (pr#33107, Volker Theile)
mgr/dashboard: 清理功能切换状态输出 (pr#32569, Volker Theile)
mgr/dashboard: 清理 Python 代码 (pr#29604, Volker Theile)
mgr/dashboard: 克隆现有用户角色 (pr#32653, Volker Theile)
mgr/dashboard: 设置 SSL 证书和密钥的命令 (pr#27463, Ricardo Dias)
mgr/dashboard: 配置 URL 前缀不按预期工作 (pr#30599, Volker Theile)
mgr/dashboard: 考虑 mon_allow_pool_delete 标志 (pr#28260, Tatjana Dehler)
mgr/dashboard: 根据类型控制 UI 输入 (pr#30208, Ricardo Marques)
mgr/dashboard: coverage venv python 版本与 mgr 相同 (pr#33407, Alfonso Martxc3xadnez)
mgr/dashboard: 使用 x-amz-bucket-object-lock-enabled 创建存储桶 (pr#33821, Volker Theile)
mgr/dashboard: Crush 规则模态框 (pr#33620, Stephan Mxc3xbcller)
mgr/dashboard: 将后端单元测试与构建解耦 (pr#32565, Alfonso Martxc3xadnez)
mgr/dashboard: CRUSH 映射查看器中的销毁视图 (pr#33405, Avan Thakkar)
mgr/dashboard: 在 helper icon 中禁用事件传播 (issue#40715, pr#29105, Tiago Melo)
mgr/dashboard: 显示正确的对话框标题 (pr#28168, Volker Theile)
mgr/dashboard: 显示 iSCSI 登录信息 (pr#28265, Ricardo Marques)
mgr/dashboard: 显示 CephFS 备用节点的图例 (pr#29927, Volker Theile)
mgr/dashboard: 在清单页面显示 OSD ID (pr#31189, Kiefer Chang)
mgr/dashboard: 显示 iSCSI 活动会话的数量 (pr#27248, Ricardo Marques)
mgr/dashboard: 在 iSCSI 目标详细信息中显示 WWN 和 LUN 号 (pr#30288, Ricardo Marques)
mgr/dashboard: 不记录令牌 (pr#30445, Kefu Chai)
mgr/dashboard: 如果只有只读权限,则不显示 RGW API 密钥 (pr#33178, Alfonso Martxc3xadnez)
mgr/dashboard: RGW 存储桶编辑失败,因为名称已被使用 (pr#29767, Volker Theile)
mgr/dashboard: 启用 Angular --strict 标志使用的编译器选项 (pr#32553, Tiago Melo)
mgr/dashboard: 重新启用只读用户阅读 (pr#27348, Stephan Mxc3xbcller)
mgr/dashboard: 启用/禁用 RGW 存储桶上的版本控制 (pr#29460, Alfonso Martxc3xadnez)
mgr/dashboard: 强制首次登录时更改密码 (pr#32680, Volker Theile, Tatjana Dehler)
mgr/dashboard: 增强用户创建 CLI 命令以强制更改密码 (pr#33552, Volker Theile)
mgr/dashboard: 逐出一个 CephFS 客户端 (pr#28898, Ricardo Marques)
mgr/dashboard: 显式设置/更改 OSD 的设备类 (pr#32150, Ricardo Marques)
mgr/dashboard: 扩展 E2E 测试部分 (pr#28858, Laura Paduano)
mgr/dashboard: 扩展 smart 响应的类型 (pr#30595, Patrick Seidensal)
mgr/dashboard: 修复添加/移除主机错误 (pr#34023, Kiefer Chang)
mgr/dashboard: 修复更新 RBD 互锁功能时的后端错误 (issue#39933, pr#28147, Kiefer Chang)
mgr/dashboard: 修复 cdEncode 装饰器在类上不起作用的问题 (pr#30064, Kiefer Chang)
mgr/dashboard: 修复 CephFS 图表 (pr#29557, Stephan Mxc3xbcller)
mgr/dashboard: 修复仪表板健康测试失败 (pr#29172, Ricardo Marques)
mgr/dashboard: 修复 NFS 协议属性删除问题 (issue#38997, pr#27244, Tiago Melo)
mgr/dashboard: 修复 NFS 传输属性删除问题 (issue#39090, pr#27350, Tiago Melo)
mgr/dashboard: 修复 e2e chromedriver 问题 (pr#32224, Tiago Melo)
mgr/dashboard: 修复 run-tox.sh 的环境变量 (issue#38798, pr#26977, Patrick Nawracay)
mgr/dashboard: 修复时区导致的单元测试错误 (pr#31632, Tiago Melo)
mgr/dashboard: 修复失败的用户测试 (pr#32461, Tatjana Dehler)
mgr/dashboard: 修复不当的 URL 检查 (pr#32652, Ernesto Puerta)
mgr/dashboard: 修复 iSCSI + Rook 问题 (issue#39586, pr#26341, Sebastian Wagner)
mgr/dashboard: 修复 iSCSI Discovery 用户权限 (issue#39328, pr#27678, Tiago Melo)
mgr/dashboard: 修复 iSCSI 磁盘差异计算 (pr#27378, Ricardo Marques)
mgr/dashboard: 修复使用 IPv6 时的 iSCSI 表单 (pr#27946, Ricardo Marques)
mgr/dashboard: 修复 iSCSI 目标表单警告 (issue#39324, pr#27609, Tiago Melo)
mgr/dashboard: 修复 iSCSI 目标提交 (pr#27380, Ricardo Marques)
mgr/dashboard: 修复用户表单中的问题 (pr#28863, Volker Theile)
mgr/dashboard: 修复 LazyUUID4 不可序列化 (pr#31266, Ernesto Puerta)
mgr/dashboard: 修复 MDS 计数器图表未显示 (pr#29371, Kiefer Chang)
mgr/dashboard: 修复 mgr 模块 API 测试 (pr#29634, alfonsomthd, Kefu Chai)
mgr/dashboard: 修复后端 API 测试中缺少约束文件的问题 (pr#30720, Alfonso Martxc3xadnez)
mgr/dashboard: 修复缺少 i18n (pr#32650, Volker Theile)
mgr/dashboard: 修复 mypy 问题并默认启用它 (pr#33454, Volker Theile)
mgr/dashboard: 修复 NFS 伪验证 (issue#39063, pr#27293, Tiago Melo)
mgr/dashboard: 修复 NFS squash 默认值 (issue#39064, pr#27294, Tiago Melo)
mgr/dashboard: 修复 npm 漏洞 (pr#32699, Tiago Melo)
mgr/dashboard: 修复使用 cephadm 后端时 OSD ID 未显示的问题 (pr#32207, Kiefer Chang)
mgr/dashboard: 修复池删除 e2e (pr#29993, Volker Theile)
mgr/dashboard: 修复池重命名功能 (pr#31617, Stephan Mxc3xbcller)
mgr/dashboard: 修复 home controller 中的 python2 失败 (pr#30937, Ricardo Dias)
mgr/dashboard: 修复 RGW 子用户自动生成密钥 (pr#32186, Alfonso Martxc3xadnez)
mgr/dashboard: 修复 RGW 用户/存储桶配额问题 (pr#28174, Volker Theile)
mgr/dashboard: 修复 SAML 输入参数处理 (pr#29848, Ernesto Puerta)
mgr/dashboard: 修复描述消息中的小拼写错误 (pr#30647, Tatjana Dehler)
mgr/dashboard: 修复部分性能数据未显示的问题 (issue#39971, pr#28169, Kiefer Chang)
mgr/dashboard: 修复 sparkline 组件 (pr#26985, Alfonso Martxc3xadnez)
mgr/dashboard: 修复 tasks.mgr.dashboard.test_rgw 套件 (pr#33718, Alfonso Martxc3xadnez)
mgr/dashboard: 修复表格 mouseenter 事件处理测试 (pr#28879, Stephan Mxc3xbcller)
mgr/dashboard: 修复 tox 测试失败 (pr#29125, Kiefer Chang)
mgr/dashboard: 修复变量翻译问题 (pr#30671, Tiago Melo)
mgr/dashboard: 修复 NFS 表单中的拼写错误 (issue#39067, pr#27245, Tiago Melo)
mgr/dashboard: 修复 pwdExpirationDate 字段的可见性 (pr#32703, Tatjana Dehler)
mgr/dashboard: 修复 run-backend-api-tests.sh 中的 zsh 支持 (pr#31070, Sebastian Wagner)
mgr/dashboard: 修复 npm run fixmod 命令 (pr#28176, Patrick Nawracay)
mgr/dashboard: 修复 defaultBuilder 不是函数的问题 (pr#29420, Ricardo Marques)
mgr/dashboard: 修复随机 cephfs 选项卡测试失败 (pr#30814, Stephan Mxc3xbcller)
mgr/dashboard: 修复 rbd 镜像清除垃圾桶按钮和模态文本 (pr#33321, anurag)
mgr/dashboard: 修复工具提示行为 (pr#27153, Stephan Mxc3xbcller)
mgr/dashboard: FixtureHelper (pr#27157, Stephan Mxc3xbcller)
mgr/dashboard: 表单字段不显示错误消息/提示 (pr#29043, Volker Theile)
mgr/dashboard: ganesha: 指定文件系统名称 (create_path) (pr#29182, David Casier)
mgr/dashboard: 禁用 orchestrator 时隐藏守护程序表 (pr#33941, Kiefer Chang)
mgr/dashboard: 创建 OSD 时隐藏使用中的设备 (pr#31927, Kiefer Chang)
mgr/dashboard: 改进创建 OSD 的设备选择模态框 (pr#33081, Kiefer Chang)
mgr/dashboard: 改进 message.xlf 无效时显示的提示 (issue#40064, pr#28377, Patrick Nawracay)
mgr/dashboard: 改进 NFS 伪模式消息 (issue#39327, pr#27653, Tiago Melo)
mgr/dashboard: 改进通知侧边栏 (pr#32895, Tiago Melo)
mgr/dashboard: 改进 RestClient 错误日志记录 (pr#29794, Volker Theile)
mgr/dashboard: 增加 mgr 模块表单的列大小 (pr#29107, Ricardo Marques)
mgr/dashboard: 使用 pip 安装 teuthology (pr#31815, Kefu Chai)
mgr/dashboard: 启用 AOT 的国际化支持 (pr#30694, Tiago Melo, Ricardo Dias)
mgr/dashboard: 证书路径不存在时 SSO 配置无效 (pr#31920, Ricardo Marques)
mgr/dashboard: 不应记录 iSCSI GET 请求 (pr#27813, Ricardo Marques)
mgr/dashboard: 如果任何网关宕机,iSCSI 目标不可用 (pr#31819, Ricardo Marques)
mgr/dashboard: 隔离每个 RBD 组件 (pr#33520, Tiago Melo)
mgr/dashboard: 仪表板重新加载时 KeyError (pr#31469, Patrick Seidensal)
mgr/dashboard: KV-table 通过管道转换日期 (pr#27612, Stephan Mxc3xbcller)
mgr/dashboard: 左对齐徽章数据表列 (pr#32053, Volker Theile)
mgr/dashboard: 列出服务和守护程序 (pr#33531, Sage Weil, Kiefer Chang)
mgr/dashboard: 日期选择器模块的本地化 (pr#27275, Stephan Mxc3xbcller)
mgr/dashboard: 使所有列可排序 (pr#27784, Stephan Mxc3xbcller)
mgr/dashboard: 检查 mypy 失败 (pr#33573, Volker Theile)
mgr/dashboard: 使密码策略检查可配置 (pr#32546, Volker Theile)
mgr/dashboard: 使 preventDefault 在 400 错误时工作 (pr#26561, Stephan Mxc3xbcller)
mgr/dashboard: 监控:改进通用“无法访问外部 API”消息 (pr#32648, Patrick Seidensal)
mgr/dashboard: 无法限制新用户的存储桶创建 (pr#33612, Volker Theile)
mgr/dashboard: 优化 portal IP 计算 (pr#28084, Ricardo Marques)
mgr/dashboard: orchestrator 集成初步工作 (pr#29127, Kiefer Chang)
mgr/dashboard: OSD 自定义操作按钮移除 (pr#28095, Stephan Mxc3xbcller)
mgr/dashboard: OSD 改进 (pr#30493, Patrick Seidensal)
mgr/dashboard: 将 drive_group 列表传递给 create_osds (pr#33014, Kefu Chai)
mgr/dashboard: 池表单使用不同的加载旋转器 (pr#28649, Volker Theile)
mgr/dashboard: 防止删除带有开放会话的 iSCSI IQN (pr#29133, Ricardo Marques)
mgr/dashboard: 请求 always_on_modules 时防止 KeyError (pr#30426, Volker Theile)
mgr/dashboard: 立即处理密码复杂度检查 (pr#32032, Volker Theile, Tatjana Dehler)
mgr/dashboard: 提供正在删除的对象的名称 (pr#30658, Ricardo Marques)
mgr/dashboard: 提供用户启用/禁用功能 (issue#25229, pr#29046, Ricardo Dias, Patrick Nawracay)
mgr/dashboard: 启动时推送 Grafana 仪表板 (pr#26415, Zack Cerza)
mgr/dashboard: qa: 修复匹配错误字符串时的 RBD 测试 (pr#29264, Ricardo Dias)
mgr/dashboard: qa: 将客户端逐出警告列入白名单 (pr#29114, Ricardo Dias)
mgr/dashboard: RBD 快照名称建议,带有本地时间后缀 (pr#27613, Stephan Mxc3xbcller)
mgr/dashboard: 减少表格渲染次数 (issue#39944, pr#28118, Tiago Melo)
mgr/dashboard: 重构和清理 tasks.mgr.dashboard.test_user (pr#33743, Volker Theile)
mgr/dashboard: 重构 Python 单元测试和控制器 (pr#31165, Volker Theile)
mgr/dashboard: 重新加载所有 CephFS 目录 (pr#32552, Stephan Mxc3xbcller)
mgr/dashboard: 移除 config-opt: 从系统角色读取权限 (pr#33690, Alfonso Martxc3xadnez)
mgr/dashboard: 移除 ngx-store (pr#33756, Tiago Melo)
mgr/dashboard: 移除跟踪/版本断言 (pr#31720, Ernesto Puerta)
mgr/dashboard: 移除未使用的 RBD 配置端点 (pr#30815, Ricardo Marques)
mgr/dashboard: 移除未使用的变量 (pr#31785, Volker Theile)
mgr/dashboard: 移除分散注意力的搜索行为 (pr#27438, Stephan Mxc3xbcller)
mgr/dashboard: 重命名管道列表 -> join (pr#31843, Volker Theile)
mgr/dashboard: 使用 Python 标准库函数替换 IP 地址验证 (pr#26184, Ashish Singh)
mgr/dashboard: 将 ng2-tree 替换为 angular-tree-component (pr#33758, Tiago Melo)
mgr/dashboard: 没有收到放置目标时 RGW 存储桶创建 (pr#29280, alfonsomthd)
mgr/dashboard: RGW 端口自动检测不支持 Beast RGW 前端 (pr#33060, Volker Theile)
mgr/dashboard: RGW 用户配额验证不正确 (pr#29132, Volker Theile)
mgr/dashboard: 针对生产构建运行 e2e 测试 (jenkins job) (pr#29198, alfonsomthd)
mgr/dashboard: run-frontend-e2e-tests.sh: 允许用户定义 BASE_URLxe2x80xa6 (pr#32211, Alfonso Martxc3xadnez)
mgr/dashboard: 在 RGW 存储桶创建时选择放置目标 (pr#28764, alfonsomthd)
mgr/dashboard: 将 RO 设置为 RGW NFS 导出默认 access_type (pr#30111, Tiago Melo)
mgr/dashboard: 为布尔值显示复选框 (pr#32836, Tatjana Dehler)
mgr/dashboard: 显示正确的 RGW 用户系统信息 (pr#33206, Alfonso Martxc3xadnez)
mgr/dashboard: 在健康页面显示 iSCSI 网关状态 (pr#29112, Ricardo Marques)
mgr/dashboard: smart: down 的 osd 上的 smart 数据读取导致错误弹出 (pr#32953, Volker Theile)
mgr/dashboard: 备用仪表板无法正确处理所有请求 (pr#30478, Volker Theile)
mgr/dashboard: 支持 ceph-iscsi 配置 v9 (pr#27448, Ricardo Marques)
mgr/dashboard: 创建 OSD 时支持多个 DriveGroup (pr#32678, Kiefer Chang)
mgr/dashboard: 支持在 OSD 页面移除 OSD (pr#31997, Kiefer Chang)
mgr/dashboard: 支持设置密码哈希值 (pr#29138, Fabian Bonk)
mgr/dashboard: 任务:仅在 TaskManager 线程之后解除控制器线程阻塞 (pr#30747, Ricardo Dias)
mgr/dashboard: 抛出更有意义的异常 (pr#32234, Volker Theile)
mgr/dashboard: tox.ini 修复 (pr#30779, Alfonso Martxc3xadnez)
mgr/dashboard: UI 修复 (pr#33171, Avan Thakkar)
mgr/dashboard: 无法将布尔值设置为 false,而默认值为 true (pr#31738, Ricardo Marques)
mgr/dashboard: 统一按钮/URL 操作命名 (issue#37337, pr#26572, Ernesto Puerta)
mgr/dashboard: 统一仪表板图表的外观 (issue#39384, pr#27681, Tiago Melo)
mgr/dashboard: 更新仪表板 CODEOWNERShip (pr#31193, Ernesto Puerta)
mgr/dashboard: 更新 tar 到 v4.4.8 (pr#28092, Kefu Chai)
mgr/dashboard: 更新 vstart 以使用新的 ssl 端口 (issue#26914, pr#27269, Ernesto Puerta)
mgr/dashboard: 更新 404 页面上的 octopus 图像 (pr#33920, Lenz Grimmer)
mgr/dashboard: 使用 booleanText 管道 (pr#26733, Volker Theile)
mgr/dashboard: 运行 npm run build 时使用默认语言 (pr#31563, Tiago Melo)
mgr/dashboard: 在所有模态框中使用 ModalComponent (pr#33858, Tiago Melo)
mgr/dashboard: 在 auth.service 中使用 Observable (pr#32084, Volker Theile)
mgr/dashboard: 在任何模态事件上使用 onCancel (pr#29402, Stephan Mxc3xbcller)
mgr/dashboard: 验证 iSCSI 控制最小/最大值 (pr#28942, Ricardo Marques)
mgr/dashboard: 验证 iSCSI 图像功能 (pr#27135, Ricardo Marques)
mgr/dashboard: 验证 ceph-iscsi 配置版本 (pr#26835, Ricardo Marques)
mgr/dashboard: 与 CephFS 相关的各种 UI 问题 (pr#29272, Volker Theile)
mgr/dashboard: 垂直对齐刷新标签 (pr#29737, Tiago Melo)
mgr/dashboard: vstart: 修复 /dev/tty No such device or address (pr#31195, Volker Theile)
mgr/dashboard: 等待 PG 未知状态清除 (pr#33013, Tatjana Dehler)
mgr/dashboard: 观察池 pgs 的增加和减少 (pr#28006, Ricardo Dias, Stephan Mxc3xbcller)
mgr/modules: 外包 SSL 证书创建 (pr#33550, Patrick Seidensal)
mgr/orch,cephadm: 为守护程序和服务添加时间戳 (pr#33728, Sage Weil)
mgr/orch: 为 orch apply osd 添加 --all-available-devices (pr#33990, Sage Weil)
mgr/orch: 为 grafana, alertmanager 添加缺失的 CLI 命令 (pr#33695, Sage Weil)
mgr/orch: 将地址与主机关联 (pr#33098, Sage Weil)
mgr/orch: ceph orchestrator … -> ceph orch … (pr#33131, Sage Weil)
mgr/orch: ceph upgrade … -> ceph orch upgrade … (pr#34046, Sage Weil)
mgr/orch: 在 orch ls 中折叠 SPEC 和 PLACEMENT 列 (pr#33795, Sage Weil)
mgr/orch: 按名称转储服务规范 (pr#33951, Michael Fritch)
mgr/orch: 新 cli 的第一阶段 (pr#33212, Sage Weil)
mgr/orch: 修复 host ls (pr#33486, Sage Weil)
mgr/orch: 修复 orch ls 表格间距 (pr#33586, Sage Weil)
mgr/orch: 修复 ServiceSpec 反序列化错误 (pr#33779, Kiefer Chang)
mgr/orch: 改进 update_* 的命令行解析 (pr#31672, Joshua Schmid)
mgr/orch: 在 ServiceDescription 中包含 spec ref (pr#33667, Sage Weil)
mgr/orch: 将参数设置为 hostname,而不是 host (pr#33474, Sage Weil)
mgr/orch: 新 cli,第二阶段 (pr#33244, Sage Weil)
mgr/orch: 将 unicode 字符串传递给 ipaddress.ip_network() (pr#31755, Kefu Chai)
mgr/orch: PlacementSpec: 添加 all_hosts 属性 (pr#33465, Sage Weil)
mgr/orch: 正确处理 NotImplementedError (pr#33914, Sebastian Wagner)
mgr/orch: 移除 ansible 和 deepsea (pr#33126, Sage Weil)
mgr/orch: 恢复 ServiceDescription,orch ls (pr#33359, Sage Weil)
mgr/orch: 接受单个放置参数 (pr#33706, Sage Weil)
mgr/orchestrator,mgr/ssh: 添加主机标签 (pr#31854, Sage Weil)
mgr/orchestrator: 添加关于如何使用 OrchestratorClientMixin 的文档 (pr#32893, Sebastian Wagner)
mgr/orchestrator: 添加 mypy 静态类型检查 (pr#32010, Sebastian Wagner)
mgr/orchestrator: 为 orchestrator host ls 添加可选的 format 参数 (pr#31930, Kefu Chai)
mgr/orchestrator: 为所有 orchestrator 添加进度事件 (pr#26654, Sebastian Wagner)
mgr/orchestrator: 添加简单调度程序 (pr#32003, Joshua Schmid)
mgr/orchestrator: addr 对于构造 InventoryNode 是可选的 (pr#33347, Kefu Chai)
mgr/orchestrator: 设备指示灯 (pr#26768, Sebastian Wagner, Sage Weil)
mgr/orchestrator: 不要尝试迭代 None (pr#31705, Kefu Chai)
mgr/orchestrator: OSD 替换文档 (pr#29792, Sebastian Wagner)
mgr/orchestrator: 修复 orch host label rm 帮助文本 (pr#33585, Sage Weil)
mgr/orchestrator: 修复 raise_if_exception 在 Python 3 中的问题 (pr#31015, Sebastian Wagner)
mgr/orchestrator: 修复 progresses 的 refs 属性 (pr#30197, Kiefer Chang)
mgr/orchestrator: 修复 ceph orch apply -i + yaml 清理 + Completion 清理 (pr#34001, Sebastian Wagner)
mgr/orchestrator: functools.partial 不适用于方法 (pr#33432, Sebastian Wagner)
mgr/orchestrator: get_hosts 返回 HostSpec 而不是 InventoryDevice (pr#33258, Sebastian Wagner)
mgr/orchestrator: 使 Completions 可组合 (pr#30262, Sebastian Wagner, Tim Serong)
mgr/orchestrator: 使 hosts 和 label 参数保持一致 (pr#32253, Sage Weil)
mgr/orchestrator: 如果完成已 xe2x80xa6,则引发更具表现力的错误 (pr#32270, Sebastian Wagner)
mgr/orchestrator: raise_if_exception: 将异常类型添加到消息中 (pr#32574, Sebastian Wagner)
mgr/orchestrator: 移除 (add|test|remove)_stateful_service_rule (pr#26772, Sebastian Wagner)
mgr/orchestrator: 如果未指定节点标签,则将其设置为空列表 (pr#31914, Tim Serong)
mgr/orchestrator: 拆分 \*_stateless_service 并添加 get_feature_set (pr#29063, Sebastian Wagner)
mgr/orchestrator: 全局用 nodename 替换 hostname (pr#33467, Sebastian Wagner)
mgr/orchestrator: 统一 StatelessServiceSpec 和 StatefulServiceSpec (pr#33175, Sebastian Wagner)
mgr/orchestrator: 使用 deepcopy 复制异常 (pr#32881, Kefu Chai)
mgr/orchestrator: 使用 pickle 在子解释器之间传递异常 (pr#33179, Sebastian Wagner)
mgr/orchestrator_cli: 清理设备 ls 表 (pr#32279, Sage Weil)
mgr/orchestrator_cli: 修复 NFS (pr#32272, Sebastian Wagner)
mgr/orchestrator_cli: 改进服务 ls 输出,排序 (pr#31539, Sage Weil)
mgr/orchestrator_cli: 为编排器选项设置类型 (pr#32189, Sage Weil)
mgr/orchestrator_cli: 排序主机列表 (pr#33370, Sage Weil)
mgr/orchestrator_cli: _update_mons 仅需要主机规范 (pr#32499, Sebastian Wagner)
mgr/progress/module.py: s/events/_events/ (pr#29625, Kamoltat (Junior) Sirivadhna)
mgr/rook: 为 Dashboard 添加缓存 (pr#29131, Sebastian Wagner, Paul Cuzner)
mgr/rook: 在 service ls 中添加了缺少的 rgw 守护进程 (issue#39171, pr#27491, Sebastian Wagner)
mgr/rook: 添加了 Mypy 静态类型检查 (pr#32127, Sebastian Wagner)
mgr/rook: 修复 bluestore OSD 的创建问题 (issue#39062, pr#27289, Sebastian Wagner)
mgr/rook: 修复创建 OSD 时的错误 (pr#33176, Juan Miguel Olmo Martínez)
mgr/rook: 修复 Python 2 回归 (issue#39250, pr#27516, Sebastian Wagner)
mgr/rook: 修复 RGW 创建问题 (issue#39158, pr#27462, Sebastian Wagner)
mgr/rook: orch ps 的杂项修复 (pr#33868, Sage Weil)
mgr/rook: 在库存中为设备名称提供完整路径 (pr#32654, Sage Weil)
mgr/rook: 移除对 Rook v0.9 之前版本的支持 (issue#39278, pr#27556, Sebastian Wagner)
mgr/rook: 支持其他系统命名空间 (issue#38799, pr#27290, Sebastian Wagner)
mgr/ssh/tests: 修复 RGWSpec 测试 (pr#31983, Sage Weil)
mgr/ssh: 添加每个服务操作:start, stop, restart, redeploy (pr#31292, Sage Weil)
mgr/ssh: 为 py2 兼容性添加 TemporaryDirectory 实现 (pr#31835, Sage Weil)
mgr/ssh: 允许将 LV 传递给编排器 osd create (pr#31512, Sage Weil)
mgr/ssh: 注释对象表示 (pr#31602, Joshua Schmid)
mgr/ssh: 缓存服务库存 (pr#31385, Sage Weil)
mgr/ssh: 部署和移除 rgw 守护进程 (pr#31303, Sage Weil)
mgr/ssh: 部署 rbd-mirror 守护进程 (pr#31493, Sage Weil)
mgr/ssh: 修复 redeploy (pr#31613, Sage Weil)
mgr/ssh: 修复 service_action, remove_osds (pr#31952, Sage Weil)
mgr/ssh: 修复各种 Python 问题 (pr#31524, Volker Theile)
mgr/ssh: 忽略 ssh-config 文件 (pr#31710, Volker Theile)
mgr/ssh: 实现 blink_device_light (pr#31438, Sage Weil)
mgr/ssh: 实现 service ls (pr#31169, Sage Weil)
mgr/ssh: 改进 service ls (pr#31828, Sage Weil)
mgr/ssh: 在 Vagrantfile box 中安装 SSH 公钥失败 (pr#31519, Volker Theile)
mgr/ssh: 可选地指定服务名称 (pr#31537, Sage Weil)
mgr/ssh: 打包的 ceph-daemon 模式;ssh 密钥管理 (pr#31698, Sage Weil)
mgr/ssh: 将从完成处理程序引发异常移植到 Py2 (pr#31940, Sebastian Wagner)
mgr/ssh: 如果 ceph-daemon 调用失败,则引发 RuntimeError (pr#31420, Sage Weil)
mgr/ssh: 移除多余的参数 (pr#31462, Joshua Schmid)
mgr/ssh: 设置虚拟 known_hosts 文件 (pr#31721, Sage Weil)
mgr/ssh: 为新的监视器接受 IP、CIDR 或 addrvec (pr#31505, Sage Weil)
mgr/ssh: 升级检查命令 (pr#31827, Sage Weil)
mgr/ssh: test_mon_update 需要设置监视器名称 (pr#31933, Sebastian Wagner)
mgr/telemetry: 智能报告本身匿名化 (pr#33029, Yaarit Hatuka)
mgr/telemetry: dict.pop() 在不存在的键上出错 (pr#30854, Dan Mick)
mgr/telemetry: 修复日志拼写错误 (pr#31984, Sage Weil)
mgr/test_orchestrator: 允许初始化虚拟数据 (pr#29595, Kiefer Chang)
mgr/test_orchestrator: 修复测试 (pr#33541, Sage Weil)
mgr/test_orchestrator: 修复 TestWriteCompletion 对象没有 id 属性的问题 (pr#27607, Sebastian Wagner)
mgr/test_orchestrator: 修复 update_mgrs 断言 (pr#32417, Sage Weil)
mgr/volumes: 为 mds 守护进程放置添加 fs volume create 的参数 (pr#33441, Daniel-Pivonka)
mgr: 添加 get_rates_from_data 到 mgr_util.py (pr#28603, Stephan Müller)
mgr: 添加 rbd 配置文件以支持 rbd_support 模块命令 (pr#30912, Jason Dillaman)
mgr: 读取选项时更好的错误处理 (pr#32730, Kefu Chai)
mgr: ceph fs status 支持 json 格式 (pr#30985, Erqi Chen)
mgr: 将性能计数器精度更改为浮点数 (pr#30400, Ernesto Puerta)
mgr: 检查传递给 set_health_checks() 的 unicode (pr#29117, Kefu Chai)
mgr: 清理级别 4 的空闲调试日志 (pr#29164, Sebastian Wagner)
mgr: 执行后关闭 restful 套接字 (pr#32396, liushi)
mgr: 为 Mgr 模块配置 Py 根记录器 (pr#27069, Volker Theile)
mgr: 如果未收集新指标,则不重置已报告 (pr#30285, Ilsoo Byun)
mgr: 未就绪时断开与 Ceph 守护进程的会话 (pr#31899, Patrick Donnelly)
mgr: 修复 pgp_num 调整的一些错误 (pr#27875, Sage Weil)
mgr: 修复 ceph 本地选项值类型 (pr#29855, Sage Weil)
mgr: 修复调试拼写错误 (pr#31900, Patrick Donnelly)
mgr: 修复在 Lambda 函数中使用引用时的错误 (pr#31786, Willem Jan Withagen)
mgr: 修复向监视器报告每个模块日志选项的问题 (pr#33897, Sage Weil)
mgr: 修复奇怪的健康警报守护进程键 (pr#30617, xie xingguo)
mgr: 关闭后处理与终结器的竞争 (pr#31620, Patrick Donnelly)
mgr: 改进内部 python 到 c++ 接口 (pr#32554, David Zafman)
mgr: 从 wheelhouse 安装 tox 依赖项 (pr#30034, Kefu Chai)
mgr: mgr, osd: 按池划分 osd df (pr#28629, xie xingguo)
mgr: mgr/ActivePyModules: 如果模块查询不存在的 devid,则正常运行 (pr#31291, Sage Weil)
mgr: mgr/ActivePyModules: 在 set_store, set_config 中等待监视器回复时释放 GIL (issue#39335, pr#27619, Sage Weil)
mgr: mgr/ActivePyModules: handle_command - 修复损坏的锁 (issue#39235, pr#27485, xie xingguo)
mgr: mgr/balancer: 避免两次拉取 pg_dump (pr#32266, xie xingguo)
mgr: mgr/balancer: 消除对 upmap 模式下 MS 基础设施的使用 (pr#32289, xie xingguo)
mgr: mgr/balancer: 启用 pg_upmap cli 以备将来使用 (pr#30560, xie xingguo)
mgr: mgr/balancer: 修复 fudge (pr#27994, xie xingguo)
mgr: mgr/balancer: 修复新创建 osd 的初始权重集值 (pr#28251, xie xingguo)
mgr: mgr/balancer: Python 3 兼容性修复 (issue#38831, pr#27076, Marius Schiffer)
mgr: mgr/balancer: python3 兼容性问题 (pr#30987, Mykola Golub)
mgr: mgr/balancer: upmap_max_iterations -> upmap_max_optimizations; 表现为每个池 (pr#30591, xie xingguo)
mgr: mgr/BaseMgrModule: 容忍健康计数为 Int 或 Long (pr#29806, Sage Weil)
mgr: mgr/BaseMgrModule: 使用 PyInt_Check() 兼容 py2 (pr#29831, Kefu Chai)
mgr: mgr/BaseMgrStandbyModule: 在 ceph_get_module_option() 中释放 GIL (pr#30625, Kefu Chai)
mgr: mgr/cephadm: Grafana 部署的自定义证书 (pr#33614, Patrick Seidensal)
mgr: mgr/cephadm: 支持 (点发布) 升级 (pr#32006, Sage Weil)
mgr: mgr/crash: 计算 stack_sig 并添加到元数据 (pr#31394, Dan Mick)
mgr: mgr/crash: 修复 crash ls[-new] 排序 (pr#31973, Sage Weil)
mgr: mgr/DaemonServer: 更仔细地处理 caps (pr#26903, xie xingguo)
mgr: mgr/DaemonServer: handle_conf_change - 修复损坏的锁定 (issue#38899, pr#27184, xie xingguo)
mgr: mgr/DaemonServer: 重构 pgp_num 更改节流 (pr#27891, Kefu Chai)
mgr: mgr/DaemonServer: safe-to-destroy - 不考虑不相关的 pgs (pr#27962, xie xingguo)
mgr: mgr/DaemonServer: 合并进行中时跳过调整 pgp_num (pr#30139, xie xingguo)
mgr: mgr/dashboard: 不要将 admin 默认为 Admin Resource (issue#39338, pr#27626, Wido den Hollander)
mgr: mgr/dashboard: 正确处理始终在线的 Ceph Manager 模块 (pr#30142, Volker Theile)
mgr: mgr/dashboard: 将 progress mgr 模块事件集成到 dashboard 任务列表 (pr#29048, Ricardo Dias)
mgr: mgr/dashboard: 管理器应抱怨错误的 dashboard 证书 (pr#27036, Volker Theile)
mgr: mgr/deepsea: 返回 ganesha 和 iscsi 端点 URL (pr#27336, Tim Serong)
mgr: mgr/deepsea: 在 get_inventory() 中使用 ceph_volume 输出 (pr#26966, Tim Serong)
mgr: mgr/devicehealth: 确保我们不存储空对象 (pr#31474, Sage Weil)
mgr: mgr/devicehealth: 修复 python 3 不兼容性 (issue#38939, pr#27172, Marius Schiffer)
mgr: mgr/devicehealth: 将默认监视设置为 on (pr#33091, Sage Weil, Yaarit Hatuka)
mgr: mgr/diskprediction: 添加 diskprediction 本地插件依赖项 (pr#25530, Rick Chen)
mgr: mgr/diskprediction_cloud: 修正 base64 编码转换表 (issue#38848, pr#27113, Rick Chen)
mgr: mgr/diskprediction_cloud: 重构 timeout() 装饰器 (pr#31176, Kefu Chai)
mgr: mgr/hello: 一些清理和现代化 (pr#29514, Sage Weil)
mgr: mgr/influx: 尝试调用 close() (issue#40174, pr#28427, Kefu Chai)
mgr: mgr/insights: 修复 prune-health-history (pr#32973, Sage Weil)
mgr: mgr/k8sevents: 添加 mgr 模块用于 kubernetes 事件集成 (pr#29520, Paul Cuzner)
mgr: mgr/k8sevents: 添加对远程 kubernetes 的支持 (pr#30482, Paul Cuzner)
mgr: mgr/Mgr: 杀死冗余 sub_unwant 调用 (pr#26950, xie xingguo)
mgr: mgr/MgrMonitor: 在更新 pending.always_on_modules 之前打印它 (pr#29917, Kefu Chai)
mgr: mgr/orch: logging - 处理列表输出 (pr#32879, Shyukri Shyukriev)
mgr: mgr/orchestrator: 为 Inventory 和 Services 添加缓存 (pr#28213, Tim Serong, Sebastian Wagner)
mgr: mgr/orchestrator_cli: 将默认值传递给 req=False 参数 (pr#31314, Kefu Chai)
mgr: mgr/osd_support: 用于 osd 实用程序的新模块 (pr#32677, Joshua Schmid)
mgr: mgr/pg_autoscaler: 使用池大小计算 pool_pg_target (pr#32592, Dan van der Ster)
mgr: mgr/pg_autoscaler: 修复 pool_logical_used (pr#29986, Ansgar Jazdzewski)
mgr: mgr/pg_autoscaler: 修复 python3 不兼容性 (issue#38626, pr#27079, Marius Schiffer)
mgr: mgr/pg_autoscaler: 修复池删除时的竞争条件 (pr#29807, Sage Weil)
mgr: mgr/pg_autoscaler: 将目标比率视为权重 (pr#33035, Josh Durgin)
mgr: mgr/progress & mgr/pg_autoscaler: 添加 Pg Autoscaler 事件 (pr#29035, Kamoltat (Junior) Sirivadhna)
mgr: mgr/progress: 添加集成到 pybind/mgr/tox.ini (pr#32985, Sebastian Wagner)
mgr: mgr/progress: OSD 标记为 in 时添加恢复事件 (pr#28498, Kamoltat (Junior) Sirivadhna)
mgr: mgr/progress: 添加事件已进行的时间 (pr#28907, Kamoltat (Junior) Sirivadhna)
mgr: mgr/progress: OSD 标记为 in 时完成事件的 Bug 修复 (pr#28695, Kamoltat (Junior) Sirivadhna)
mgr: mgr/progress: 将 pg 恢复比率限制为 0 (pr#29126, xie xingguo)
mgr: mgr/progress: 事件的估计剩余时间 (pr#30615, xie xingguo)
mgr: mgr/progress: 当 PG epoch >= OSDMap epoch 时查看 PG 状态 (pr#28368, Kamoltat (Junior) Sirivadhna)
mgr: mgr/progress: 从持续时间字符串中移除 since (pr#31007, Kefu Chai)
mgr: mgr/prometheus: 将 mgr 元数据添加到 prometheus 导出器模块 (pr#28372, Paul Cuzner)
mgr: mgr/prometheus: 当 obj_store 不是 filestore 或 bluestore 时,为 osd_dev_node 分配值 (pr#30534, jiahuizeng)
mgr: mgr/prometheus: 将 collect_timeout (scrape_interval) 转换为浮点数 (pr#29382, Ben Meekhof)
mgr: mgr/prometheus: 修复 get_mgr_status 中的 KeyError (pr#30421, Sebastian Wagner)
mgr: mgr/prometheus: 替换指标名称中的空格 (pr#27722, Alfonso Martínez)
mgr: mgr/PyModule: 正确移除配置选项 (pr#31807, Tim Serong)
mgr: mgr/PyModuleRegistry: 如果找不到要加载的模块,则记录错误 (pr#28055, Tim Serong)
mgr: mgr/restful: 允许在完全启动之前关闭 (pr#32004, Sage Weil)
mgr: mgr/restful: 不使用 filter() 进行列表操作 (pr#27925, Kefu Chai)
mgr: mgr/restful: 对列表而不是映射进行 jsonify (pr#32421, Kefu Chai)
mgr: mgr/restful: requests api 增加了对多个命令的支持 (pr#31152, Duncan Chiang)
mgr: mgr/status: 修复 ceph osd status ZeroDivisionError (pr#28797, simon gao)
mgr: mgr/telemetry: 添加 last_upload 到状态 (pr#33125, Yaarit Hatuka)
mgr: mgr/telemetry: 将崩溃字典更改为列表 (pr#27631, Dan Mick)
mgr: mgr/telemetry: 通道 (pr#28847, Sage Weil)
mgr: mgr/telemetry: 检查 get_metadata 返回值 (pr#33051, Yaarit Hatuka)
mgr: mgr/telemetry: 被事件唤醒后清除事件 (pr#29546, Kefu Chai)
mgr: mgr/telemetry: 崩溃报告中排除 hostname 字段 (pr#27693, Sage Weil)
mgr: mgr/telemetry: 修复并记录代理使用情况 (pr#33575, Lars Marowsky-Bree)
mgr: mgr/telemetry: 修复设备序列号匿名化 (pr#32492, Yaarit Hatuka)
mgr: mgr/telemetry: 包含所有定制的配置选项 (pr#29334, Sage Weil)
mgr: mgr/telemetry: 包含设备健康遥测数据 (pr#30724, Sage Weil)
mgr: mgr/telemetry: 当遥测内容更改时重新选择加入;在主要版本中催促 (pr#29337, Sage Weil)
mgr: mgr/telemetry: 也对 osd id 进行加盐处理 (pr#29358, Sage Weil)
mgr: mgr/telemetry: 选择加入时指定许可证 (pr#29340, Sage Weil)
mgr: mgr/volumes: 不导入未使用的模块 (pr#28875, Kefu Chai)
mgr: mgr/zabbix 添加池发现和每个池的统计信息 (pr#26152, Dmitriy Rabotjagov)
mgr: mgr/zabbix: 增加了向多个 zabbix 服务器发送数据的可能性 (issue#38409, pr#26547, slivik, Jakub Sliva)
mgr: mgr/zabbix: 为 Python 3 兼容性编码字符串 (pr#28624, Nathan Cutler)
mgr: mgr/zabbix: 修复 raw_bytes_used 键名 (pr#28058, Dmitriy Rabotjagov)
mgr: mgr/zabbix: 修复 PGs 在 backfill_wait 状态下的键名拼写错误 (issue#39666, pr#28057, Wido den Hollander)
mgr: DaemonServer::handle_report() 中缺少锁释放 (issue#42169, pr#30706, Venky Shankar)
mgr: 模块日志基础设施 (pr#30961, Ricardo Dias)
mgr: 更多 GIL 修复 (issue#39040, pr#27280, xie xingguo)
mgr: pybind/mgr/balancer/module.py: 在 stats_by_root 中添加 max/min 信息 (pr#30432, Yang Honggang)
mgr: pybind/mgr/pg_autoscaler: 实现 shutdown 方法 (pr#31398, Patrick Donnelly)
mgr: pybind/mgr/restful: 为 py3 兼容使用 dict.items() (pr#29356, Kefu Chai)
mgr: pybind/mgr: 取消输出颜色控制 (pr#31427, Zheng Yin)
mgr: pybind/mgr: 使用 int() 将 str 转换为 int (pr#27926, Kefu Chai)
mgr: pybind/mgr: 使不带 mgr 创建 Module 实例更容易 (pr#31969, Sebastian Wagner)
mgr: pybind/mgr: 移除代码重复 (issue#40698, pr#28986, Sebastian Wagner)
mgr: pyind/mgr: 添加 mgr_module.py 和 mgr_util.py 到 mypy (pr#32597, Sebastian Wagner)
mgr: Python 清理和类型检查 (pr#31559, Volker Theile)
mgr: qa/mgr/progress: 修复等待 osd in 事件时的超时错误 (pr#30095, Ricardo Dias)
mgr: 在 ceph status 中重新启用 mds scrub status 信息 (issue#42835, pr#32657, Venky Shankar)
mgr: 处理命令时减少日志噪音 (pr#29305, Sebastian Wagner)
mgr: 在调用 OSDMap::calc_pg_upmaps() 之前释放 GIL (pr#31064, David Zafman)
mgr: 移除未使用的变量 pool_name (pr#28340, Alex Wu)
mgr: restful: 公开性能计数器 (pr#27885, Boris Ranto)
mgr: restful: 为项目查询 nodes_by_id (pr#31153, Boris Ranto)
mgr: 以纳秒为单位返回 perf_counters 数据时间戳 (pr#28882, Ricardo Dias)
mgr: 恢复 mgr/DaemonServer: safe-to-destroy - 不考虑不相关的 pgs (pr#32203, xie xingguo)
mgr: 在 DeviceState::set_metadata() 中设置 hostname (pr#30448, Kefu Chai)
mgr: 在 SIGINT 或 SIGTERM 时简单退出 (pr#32051, Sage Weil)
mgr: telemetry/server: 杂项修复 (pr#29365, user.email, Sage Weil)
mgr: telemetry: 杂项脚本 (pr#29781, sage@newdream.net, Sage Weil)
mgr: 模板化指标收集接口 (pr#29214, Venky Shankar)
mgr: 当我们已经从同一实体获得守护进程状态时更新 hostname (pr#33752, Kefu Chai)
mgr: 为 DaemonKey 使用结构体 (pr#30635, Kefu Chai)
mgr: 禁用 ipv6 时使用 ipv4 默认值 (pr#28246, kungf)
mgr: 对发送到 mgr 的 CLI 命令使用新的 MMgrCommand (pr#30155, Sage Weil)
mgr: zabbix 触发器由于错误的触发函数而从未触发 (pr#26146, Sebastiaan Nijhuis)
mgr: 即使我们处于备用状态,也从信号处理程序 _exit(0) (pr#31685, Sage Weil)
mon,rbd,tests: mon,test: 抑制 GCC 的警告并测试 (pr#28250, Kefu Chai)
mon,tests: qa/tasks: 修复模糊的 store_thrash, thrash_store (issue#39159, pr#27542, Jos Collin)
mon,tools: monmaptool: 添加了 --addv 选项到使用说明 (pr#29307, Ricardo Dias)
mon/MonClient: 修复 mon tell 到旧版本 mons 的问题 (pr#31121, Sage Weil)
mon/OSDMonitor.cc: 允许使用 SI/IEC 单位设置池 target_max\_(objects/bytes) (pr#31010, Prashant D)
mon/OSDMonitor: osd add-no{up,down,in,out} - 移除状态检查器 (pr#27605, xie xingguo)
mon/pgmap: 修复 bluestore 警报输出 (pr#30342, Igor Fedotov)
mon: 添加静音健康警报功能 (pr#29422, Sage Weil)
mon: 添加 mon, osd, mds ok-to-stop 和相关命令 (pr#27146, Sage Weil)
mon: 添加 ceph osd info 以获取 osd 信息,而不是解析 osd dump (pr#26724, Joao Eduardo Luis)
mon: 允许在没有配置文件的情况下运行 (pr#30498, Joao Eduardo Luis)
mon: 始终启用 pg_autoscaler (pr#29072, Sage Weil)
mon: 禁用每个 osd 最小 pg 警告 (pr#30352, Sage Weil)
mon: 不要在功能更改期间放置会话 (pr#32365, Brad Hubbard)
mon: 从 sessions asok/tell 命令中转储 json (pr#32974, Sage Weil)
mon: 选举者:触发新选举后返回 (pr#32981, Greg Farnum)
mon: 确保 prepare_failure() 标记 op 上的 no_reply (pr#28177, Joao Eduardo Luis)
mon: 修复 INCOMPAT_OCTOPUS 功能号 (pr#27622, Sage Weil)
mon: 修复各种 asok 命令 (pr#30859, Sage Weil, Patrick Donnelly)
mon: 修复进度条渲染时偏离一位 (pr#28268, Sage Weil)
mon: 修复 tell 命令描述 (以及 ceph CLI 帮助行为) (pr#33135, Sage Weil)
mon: 修复 tell 到混合 octopus/pre-octopus mons (pr#31138, Sage Weil)
mon: 修复/改进小键上的 mon 同步 (pr#31581, Sage Weil)
mon: 在 remove_session 之前获取 session_map_lock (pr#33682, Xiaofei Cui)
mon: 改进 backfill_toofull 和 recovery_toofull 的健康状态 (pr#28204, David Zafman)
mon: 慢心跳健康消息的改进 (pr#32342, David Zafman)
mon: 使 ceph -s 更加简洁 (pr#29493, Sage Weil)
mon: 制作紧凑的 tell 命令,并为 tell 命令添加弃用/过时检查 (pr#31722, Kefu Chai)
mon: 使 mon_osd_down_out_subtree_limit 在运行时更新 (pr#27517, Sage Weil)
mon: mon/ConfigMonitor: 使 config reset 幂等 (pr#27155, xie xingguo)
mon: mon/ConfigMonitor: 使 config reset 的数量可选;允许目标版本 0 (pr#27090, xie xingguo)
mon: mon/HealthMonitor: 移除未使用的标签 (pr#29749, Kefu Chai)
mon: mon/MonClient: 基于权重的 mon 选择 (pr#26940, xie xingguo)
mon: mon/Monitor: 无需为捕获它创建局部变量 (pr#28744, Kefu Chai)
mon: mon/MonMap: 始终设置 mon 优先级;将其添加到 dump (pr#26975, xie xingguo)
mon: mon/OSDMonitor: crush 节点标志 - 两个修复;添加测试 (pr#27719, xie xingguo)
mon: mon/OSDMonitor: 修复更新 new_last_in_change 时偏离一位 (pr#28568, xie xingguo)
mon: mon/OSDMonitor: 报告 pg[pgp]_num_target 而不是 pg[pgp]_num (issue#40193, pr#28490, xie xingguo)
mon: mon/OSDMonitor: 裁剪不再存在的故障报告器 (pr#30200, NancySu05)
mon: mon/OSDMonitor: 使用 initializer_list<> 用于 {si,iec}_options (pr#31175, Kefu Chai)
mon: mon/PGMap: 修复删除池时 pg_pool_sum 不正确的问题 (pr#31560, luo rixin)
mon: 可选地绑定到 public_addrv (而不是 public_addr 或 public_network) (pr#31501, Sage Weil)
mon: paxos: 在重试任何提交中的 xe2x80xa6 之前清空 pending_finishers (issue#39484, pr#27877, Greg Farnum)
mon: 无论文件系统计数如何,都打印 FSMap (pr#32307, Patrick Donnelly)
mon: 降低 devname 噪音 (pr#27313, Sage Weil)
mon: 移除 init_with_hosts 中地址类型的限制 (pr#31691, Hao Xiong)
mon: 恢复 mon/OSDMonitor: 报告 pg[pgp]_num_target 而不是 pg[pgp]_xe2x80xa6 (pr#28567, xie xingguo)
mon: 通过 fs new 命令设置 recovery_priority, pg_num_min, pg_autoscale_bias (pr#29180, Sage Weil)
mon: 不应将非 tell 命令视为 tell 命令 (pr#32517, Kefu Chai)
mon: 在状态中显示每个池的 no[deep-]scrub 标志 (issue#38029, pr#26488, Mohamad Gebai)
mon: 在 pool ls 命令中显示池 ID (issue#40287, pr#28488, Chang Liu)
mon: 将 Elector 拆分为消息传递和逻辑/状态组件 (pr#28727, Greg Farnum)
mon: 在引导时如果 addr 不匹配,则存储较新的 map (pr#33418, Sage Weil)
mon: 在 handle_conf_change 中获取 mon 锁 (issue#39625, pr#28018, huangjun)
mon: 使用非过时的 mon scrub cmd (pr#32510, Patrick Donnelly)
mon:C_AckMarkedDown 未处理 Callback Arguments (pr#29624, NancySu05)
monitoring: 修复 prometheus 满池警报 (pr#32325, Thomas Kriechbaumer)
monitoring: 修复 RGW grafana 图表平均 GET/PUT 延迟 (pr#33839, Alfonso Martínez)
monitoring: 恢复 pool full 警报的丢失修复 (pr#33655, Patrick Seidensal)
monitoring: 每个 Prometheus 警报规则的 SNMP OID (pr#27978, Volker Theile)
monitoring: 在触发 osd full 警报之前等待 (pr#31711, Patrick Seidensal)
msg/async, v2: 使 reset_recv_state() 无条件 (issue#40115, pr#28453, Sage Weil, Radoslaw Zarzynski)
msg/async/AsyncConnection: 优化检查回环连接 (pr#26923, Jianpeng Ma)
msg/async/dpdk: 在 do_request 中销毁 fd (pr#32690, Chunsong Feng, luo rixin)
msg/async/dpdk: 修复启用 DPDK 时的构建问题 (pr#33203, Jun Su)
msg/async/dpdk: 修复 WITH_DPDK=on 时的编译错误 (pr#31840, Chunsong Feng)
msg/async/dpdk: 修复 FTBFS 引起的编译错误 (pr#30086, yehu)
msg/async/dpdk: 修复 FTBFS (pr#28763, Kefu Chai)
msg/async/dpdk: 修复发送数据包时的无限循环 (pr#32691, Chunsong Feng, luo rixin)
msg/async/dpdk: 修复零长度数据包导致的 SEGV (pr#31876, Chunsong Feng)
msg/async/dpdk: 修复解析 dpdk coremask 时的溢出问题 (pr#32173, Hu Ye, Chunsong Feng, luo rixin)
msg/async/DPDK: 重构 set_rss_table 以支持 DPDK 19.05 (pr#32170, Chunsong Feng, luo rixin)
msg/async/EventEpoll: 在 del_event() 上设置 EPOLLET 标志 (pr#26926, Roman Penyaev)
msg/async/ProtocolV1: 避免不必要的 bufferlist::swap (pr#30125, Jianpeng Ma)
msg/async/ProtocolV2: 使 v2 在 rdma 上工作 (pr#27022, Jianpeng Ma)
msg/async/ProtocolV2: 通过替换优化检查状态 (pr#26812, Jianpeng Ma)
msg/async/rdma: 添加一个选项用于选择不同的 RoCE 协议 (pr#31517, Changcheng Liu)
msg/async/rdma: 在 lockdeps 准备好之前不初始化互斥锁 (pr#31532, Kefu Chai)
msg/async/rdma: 修复内存泄漏 (pr#27574, Changcheng Liu)
msg/async/rdma: 设置/获取静音警告 (pr#26581, Kefu Chai)
msg/async/rdma: 如果对等体在连接时宕机,则解除阻塞事件中心 (pr#31109, Peng Liu)
msg/async: 为提交 294c41f18adada6a 添加注释 (pr#28667, Jianpeng Ma)
msg/async: 为未就绪的连接添加超时 (issue#38493, issue#37499, pr#27337, xie xingguo)
msg/async: 避免创建不必要的 AsyncConnectionRef (pr#27323, Patrick Donnelly)
msg/async: 如果 conn 仍在 acceptxe2x80xa6 中,则不递减 (msgr_active_connections) (pr#29836, Jianpeng Ma)
msg/async: 如果 pendingReadxe2x80xa6,则不要错过记录 l_msgr_running_recv_time (pr#27734, Jianpeng Ma)
msg/async: 从 ConnectedSocket 中删除 zero_copy_read() & co (pr#28921, Radoslaw Zarzynski)
msg/async: 修复 Errormessage 中的拼写错误 (pr#31825, Willem Jan Withagen)
msg/async: 在 draining the stack 之前标记 local_connection 为 down (pr#32732, Radoslaw Zarzynski)
msg/async: 将 submit_message() 移到 send_to() 中 (pr#30883, Jianpeng Ma)
msg/async: 缩小 AsyncMessenger::lock 在 fun connect_to 中的范围 (pr#30840, Jianpeng Ma)
msg/async: 无需锁定 func _filter_addrs (pr#31995, Jianpeng Ma)
msg/async: 无需为 Message 设置连接 (pr#27766, Jianpeng Ma)
msg/async: open() 应在连接锁定时调用 (pr#33015, Roman Penyaev)
msg/async: 如果在 EC 内调用,则立即执行 recv 重置 (pr#33742, Radoslaw Zarzynski)
msg/async: 移除未使用的代码 (pr#30833, Jianpeng Ma)
msg/async: 将 AsyncConnection 中的 outcoming_bl 重命名为 outgoing_bl (pr#30709, Radoslaw Zarzynski)
msg/async: 在适当的 EventCenter 中重置 V1 会话安全 (pr#32352, Radoslaw Zarzynski)
msg/async: 解决 gcc 警告 (pr#27414, Patrick Donnelly)
msg/async: 在 Message::encode 中跳过重复计算 crc header (pr#26534, Jianpeng Ma)
msg/async: 正确更新 refcount 和 perf counter (pr#31929, Jianpeng Ma)
msg/async: 使用更快的 clear 方法删除容器 (pr#27324, Patrick Donnelly)
msg/Message: 移除关于 XioMessenger 的已使用代码 (pr#28719, Jianpeng Ma)
msg: 添加 func is_blackhole 以减少重复代码 (pr#30356, Jianpeng Ma)
msg: 添加一些匿名连接基础设施 (pr#30223, Sage Weil)
msg: 默认 debug_ms=0 (pr#26936, Sage Weil)
msg: 修复 sockaddrs 的 addr2 编码 (issue#40114, pr#28379, Jeff Layton)
msg: 修复 Messenger.h 中 set -> std::set 切换后的注释 (pr#30693, Radoslaw Zarzynski)
msg: 检测到错误 CRC 时输出对等地址 (issue#39367, pr#27658, Greg Farnum)
msg: 移除 Messenger.h 中未使用的头文件 (pr#27086, Jianpeng Ma)
msg: 移除 xiomessenger (pr#27021, Sage Weil)
msg: 在 messenger 上设置 set_require_authorizer,而不是 dispatcher (pr#27832, Sage Weil)
orchestrator: 可用性修复 (pr#33118, Yehuda Sadeh)
os/bluestore,comon,erasure-code: chmod -x 源文件 (pr#31179, Sage Weil)
os/bluestore: 默认 bluestore_block_size 1T -> 100G (pr#32043, Sage Weil)
os/kstore: 不缓存读操作中正在进行的条纹以避免泄漏 (issue#39665, pr#32538, Chang Liu)
os/memstore, crimson/os: 引入 memstore_debug_omit_block_device_write (pr#28601, Radoslaw Zarzynski)
osd: 修复了一些 removed_snaps 更改 (pr#28865, Sage Weil)
osd: 故障恢复可能需要标记 pglog dirty (issue#40403, pr#28621, Zengran Zhang)
osd: 添加 copy-from2 操作,包含 truncate\_{seq,size} 参数 (pr#31728, Luis Henriques)
osd: 添加 ceph osd stop <osd.nnn> 命令 (pr#27595, xie xingguo)
osd: 添加 cls_cxx_map_remove_range() (issue#19975, pr#15183, Casey Bodley)
osd: 将常见的 smartctl 输出添加到 JSON 输出 (pr#30408, Patrick Seidensal)
osd: 将 device_id 添加到 list_devices 以方便获取 smart 信息 (pr#29548, Song Shun)
osd: 将 duration 字段添加到 dump_historic_ops 方法 (pr#28801, Deepika Upadhyay)
osd: 添加标志以防止在 copy-from 操作中复制 truncate_seq (pr#25374, Luis Henriques)
osd: 为 osd_recovery_max_active 添加 hdd 和 ssd 变体 (pr#28677, Sage Weil)
osd: 添加日志信息以记录 do_osd_ops 失败的原因 (issue#41210, pr#29787, NancySu05)
osd: 添加 osd_fast_shutdown 选项 (默认 true) (pr#31677, Sage Weil)
osd: 再次从 osdmap 中移除已弃用的 full/nearfull (pr#32506, David Zafman)
osd: 允许将 64 字符主机名添加为 CRUSH 中的主机 (pr#32947, Michal Skalski)
osd: 允许 EC PG 在 min_size 以下进行恢复 (issue#18749, pr#17619, Chang Liu, Greg Farnum)
osd: 允许 rados 写操作返回数据和错误代码 (pr#30581, Sage Weil)
osd: 始终初始化局部变量 (pr#29757, Kefu Chai)
osd: 断言写操作的 result==0 且没有 payload (pr#30191, Sage Weil)
osd: 在拉取错误时自动修复复制副本 (issue#39101, pr#26806, xie xingguo, David Zafman)
osd: 避免在头部丢失时对克隆对象进行 prep_object_replica_pushes() (issue#39286, pr#27575, Zengran Zhang)
osd: OSD 计数小于 osd_pool_default_size 时更好的错误消息 (issue#38617, pr#27806, Sage Weil, zjh)
osd: 将 osd op 队列截止默认值更改为 high (pr#30441, Anthony DAtri)
osd: 清理 osdmap 共享 (pr#27932, Sage Weil)
osd: 只有在写入成功时才清除 osd op 回复输出 (issue#38492, pr#26652, huangjun)
osd: 修复对象时清除 PG_STATE_CLEAN (pr#29756, Zengran Zhang)
osd: 发送信标时复制 (不移动) pg 列表 (issue#40377, pr#28566, Sage Weil)
osd: 将 ObjectOperation::BufferUpdate::Write::fadvise_flag 复制到 ceph::os::Transaction (pr#29944, Xuehan Xu)
osd: copyfrom 遗漏了设置 mtime (pr#28581, Zengran Zhang)
osd: 修正局部变量类型 (pr#26672, Kefu Chai)
osd: upmap 清理的诊断日志记录 (pr#32663, David Zafman)
osd: 在 PG 锁内,将对等消息作为消息分派 (pr#29820, Sage Weil)
osd: 提前退出时分派上下文和队列拆分完成 (pr#32942, Sage Weil)
osd: 在重新排队要清除的快照时,不持有 osd_lock (pr#28941, Sage Weil)
osd: 启动时不要使丢失项的 clear_regions 失效 (pr#29755, xie xingguo)
osd: 在 MOSDOp 的多个操作之间不携带 PGLSFilter (pr#29575, Radoslaw Zarzynski)
osd: 如果与 scrub 范围相交,则在 flush 后不逐出 (issue#38840, pr#27209, David Zafman)
osd: 不在 snaptrim 相关断言中包含用户可更改的标志 (issue#38124, pr#27830, David Zafman)
osd: noscrub 设置时不要随机化深度 scrub (issue#40198, pr#28443, David Zafman)
osd: 移除 messages/MOSDPGTrim.h 的不必要包含 (pr#33660, Radoslaw Zarzynski)
osd: 修复 snapset 丢失时的断言 (pr#29941, David Zafman)
osd: 修复发送动态性能统计报告时可能发生的崩溃 (pr#30454, Mykola Golub)
osd: 修复对 OSD::osdmap 的竞争访问 (pr#33336, Radoslaw Zarzynski)
osd: 修复 profile 中 reed_sol_r6_op 丢失的默认值 m=2 (pr#29892, Yan Jun)
osd: 修复在常规 scrub 后自动修复触发方式 (issue#40073, issue#40530, pr#28334, David Zafman)
osd: 修复减少引用计数时错误的参数 (pr#29348, Myoungwon Oh)
osd: 赋予不活跃 PGs 恢复更高的优先级 (issue#38195, pr#27503, David Zafman)
osd: 客户端操作初始化的恢复操作具有更高优先级 (pr#28418, xie xingguo)
osd: 实现每个 pg 的租约以避免陈旧读取 (pr#29236, Sage Weil)
osd: 改进 dump_pgstate_history json 输出 (issue#38846, pr#27665, Brad Hubbard)
osd: 在 copy_after() 和 copy_up_to() 中包含 dups (issue#39304, pr#27914, David Zafman)
osd: 提高不必要填充日志消息的日志级别 (pr#27686, David Zafman)
osd: 通过避免故障对等信息重发,使 osd 恢复更流畅 (pr#30404, xe5xaex8bxe9xa1xba10180185)
osd: 使 PastIntervals 成为 pg_notify_t 的成员 (pr#29517, Sage Weil)
osd: 主日志根据副本日志 crt 合并副本日志 (pr#29590, Zengran Zhang)
osd: 杂项清理 (pr#30022, Yan Jun)
osd: 杂项增量恢复兼容性修复 (pr#29754, xie xingguo)
osd: 优化向对等体发送消息 (pr#30968, Jianpeng Ma)
osd: 多个线程访问 OSDMapRef 不安全 (pr#26874, Kefu Chai, Zengran Zhang)
osd: 如果存在二进制数据,则输出 CRC 头的 Base64 编码 (pr#27961, David Zafman)
osd: 基于 PGLog 的部分恢复策略 (pr#21722, lishuhao, Ning Yao)
osd: peering 通过 setter 更新 peer_last_complete_ondisk (pr#33659, Radoslaw Zarzynski)
osd: pg 作为互斥锁 (pr#29477, Kefu Chai)
osd: 为任何潜在的虚构拆分/合并参与者预处理拆分/合并 (issue#38483, pr#30018, xie xingguo)
osd: process_copy_chunk 在 pg 解锁前移除 obc ref (issue#38842, pr#27084, Zengran Zhang)
osd: 将 mlcod 传播到副本并修复从副本读取的问题 (pr#32381, Samuel Just, Sage Weil)
osd: 合并期间释放 backoffs (pr#31657, Sage Weil)
osd: 移除 PGLSParentFilter 后孤立的包含 (pr#29709, Radoslaw Zarzynski)
osd: 移除未使用的函数 (pr#30644, Jianpeng Ma)
osd: 移除未使用的函数 (pr#32515, Jianpeng Ma)
osd: 从输出中移除未使用的 osdmap 标志 full, nearfull (pr#30530, David Zafman)
osd: 移除无用的 ceph_assert (pr#31915, Jianpeng Ma)
osd: 改进 {noup,nodown,noin,noout} 相关命令 (pr#27735, xie xingguo)
osd: 故障恢复可能需要标记 pglog dirty (issue#36739, pr#27015, Zengran Zhang)
osd: 大对象上的 scrub 错误;使 bluestore 拒绝在大对象上启动 (pr#29579, David Zafman, Sage Weil)
osd: 将 smart asok 结果发送到 stdout,而不是 stderr (pr#31412, Sage Weil)
osd: 为 \*所有\* 线程设置亲和性 (pr#30712, Sage Weil)
osd: 在集合创建、pg 加载时设置集合池选项 (pr#29093, Sage Weil)
osd: 在 handle_osd_ping 中共享 curmap (pr#28662, Sage Weil)
osd: 更早关闭 recovery_request_timer (pr#27206, Zengran Zhang)
osd: 一些初步更改 (pr#29052, Sage Weil)
osd: 支持 osd_repair_during_recovery (issue#40620, pr#28839, Jeegn Chen)
osd: 支持 osd_scrub_extended_sleep (issue#40955, pr#29342, Jeegn Chen)
osd: 调用 heartbeat() 时获取 heartbeat_lock (issue#39439, pr#27729, Sage Weil)
osd: backfill 周围的一些小清理 (pr#33583, Radoslaw Zarzynski)
osd: 跟踪相互 ping 的 osd 之间的单调时钟增量 (pr#29116, Sage Weil, Samuel Just)
osd: 在注释中转置两个等待列表 (pr#27017, Kefu Chai)
osd: 根据每个 osd 的预算裁剪 pg 日志 (pr#32683, Sage Weil, Kefu Chai)
osd: 离开恢复时关闭修复 pg 状态 (pr#30852, David Zafman)
osd: 将 no{up,down,in,out} 标志的来源统一为单例助手 (pr#28403, xie xingguo)
osd: 更新注释,因为 sub_op_scrub_map 已被移除 (pr#28338, Jing Wenjun)
osd: 为 nearfull 使用物理比率 (不包括 backfill 保留) (pr#31954, David Zafman)
osd: 在 prepare_to_stop() 中使用稳定时钟 (pr#26457, Mohamad Gebai)
osd: 使用 unique_ptr 管理生命周期 (pr#32007, Kefu Chai)
osdc/Striper: 专门化 std::min<> (pr#28732, Kefu Chai)
osd_types: 将 ec profile 添加到纯文本 osd pool ls 详细输出 (issue#40009, pr#28224, Jan Fajerski)
pybind,rbd: 将 RBD_FEATURE_MIGRATING 添加到 rbd.pyx (issue#39609, pr#28009, Ricardo Marques)
pybind,rbd: pybind/rbd: 在 rbd.pyx 中添加 config_set/get/remove api (pr#29459, Zheng Yin)
pybind,rbd: pybind/rbd: 在 rbd.pyx 中添加 pool config_set/get/remove api (pr#30865, Zheng Yin)
pybind,rbd: pybind/rbd: parent_info 应返回池命名空间 (pr#30793, Ricardo Marques)
pybind,rbd: rbd/pybind: 修复 %lx 不支持的格式字符 (pr#30314, songweibin)
pybind,tests: pybind/rados: 不切片 zip() (pr#31044, Kefu Chai)
pybind,tests: test/pybind/test_rados.py: 测试 test_operate_aio_write_op() (pr#31158, Zhang Jiao)
pybind/mgr: 将 test_orchestrator 添加到 mypy (pr#32500, Sebastian Wagner)
pybind/mgr: add_tox_test: 将 mypy 添加到 TOX_ENVS (pr#32236, Sebastian Wagner)
pybind/mgr: 将 six 提升到 1.14 (pr#33185, Kefu Chai)
pybind/tox: 将额外的命令行参数传递给 tox (pr#27947, Nathan Cutler)
pybind: .gitignore: 将 .mypy_cache 添加到 .gitignore (pr#33510, Kristoffer Grönlund)
pybind: 添加详细错误消息 (pr#28054, Daniel Badea, Changcheng Liu, Ovidiu Poncea)
pybind: 添加 WriteOp::set_xattr() & rm_xattr() (pr#31829, Zhang Jiao)
pybind: 添加 writesame API (pr#31489, Zhang Jiao)
pybind: 检查 CEPH_LIBDIR 而不是 MAKEFLAGS (pr#29080, Kefu Chai)
pybind: 在检查 cflags 之前自定义编译器 (pr#33177, Kefu Chai)
pybind: 修复 WriteOpCtx 和 ReadOpCtx 的使用 (issue#38946, pr#27213, Ramana Raja)
pybind: pybind/rados/rados.pyx: 改进 Rados.create_pool() (pr#31241, Zhang Jiao)
pybind: pybind/rados: 添加 application_metadata_get (pr#30504, songweibin)
pybind: pybind/rados: 添加 Ioctx.get_pool_id() 和 Ioctx.get_pool_name() (pr#29646, Zheng Yin)
pybind: pybind/rados: 添加 WriteOp::execute() (pr#31546, Zhang Jiao)
pybind: pybind/rados: 应将名称传递给 cstr() (pr#27111, Kefu Chai)
pybind: 重构 monkey_with_compiler() (pr#33061, Kefu Chai)
pybind: 明确为 cythonize 设置 language_level (pr#26607, Kefu Chai)
python-common, mgr/orchestrator, mgr/dashboard: 使用通用设备 (pr#30662, Kiefer Chang, Sebastian Wagner)
python-common: 为 PlacementSpec 添加非托管属性 (pr#33955, Sage Weil)
python-common: all:true -> \* (pr#33970, Sage Weil)
python-common: 将 pytest 集成从 setup.py 移到 tox.ini (pr#31943, Sebastian Wagner)
python-common: 从 PlacementSpec 中移除 all_hosts (pr#33948, Sebastian Wagner)
qa/distros: rhel 和 centos: 将 cephadm logrotate selinux 拒绝列入白名单 (pr#33110, Sage Weil)
qa/standalone/test_ceph_daemon.sh: 暂时禁用采用 (pr#32178, Sage Weil)
qa/standalone/test_ceph_daemon.sh: 修复临时文件覆盖问题 (pr#31748, Sage Weil)
qa/standalone/test_ceph_daemon: 修复多版本 python 测试 (pr#31342, Sage Weil)
qa/suites/cephadm: 将 orchestrator_cli 测试移到 rados/cephadm 中 (pr#33648, Sage Weil)
qa/suites/rados/ceph: 暂时放弃 opensuse (pr#33801, Sage Weil)
qa/suites/rados/cephadm/smoke: 暂时禁用 rgw 角色 (pr#33360, Sage Weil)
qa/suites/rados/cephadm/upgrade: 更改起始版本 (pr#33475, Sage Weil)
qa/suites/rados/cephadm/upgrade: 修复初始版本 (pr#33396, Sage Weil)
qa/suites/rados/cephadm: 明确测试多个发行版 (pr#32969, Sage Weil)
qa/suites/rados/cephadm: 修复冲突,缺少 .qa 链接 (pr#33132, Sage Weil)
qa/suites/rados/cephadm[-smoke]: 在 ubuntu 18.04 上测试 podman (pr#33111, Sage Weil)
qa/tasks/cephadm: ceph.git 分支现在推送到 quay.io (pr#32375, Sage Weil)
qa/tasks/cephadm: 也部署 rgw 守护进程 (pr#33289, Sage Weil)
qa/tasks/cephadm: 学习从 githu 拉取 cephadm (pr#32787, Sage Weil)
qa/tasks/cephadm: 杂项修复 (pr#32713, Sage Weil)
qa/tasks/ceph_manager.py: 始终使用 self.logger (pr#29239, Kefu Chai)
qa/tasks/ceph_manager: osd out 可见时间从 5s 增加到 15s (pr#29013, Sage Weil)
qa/tasks/ceph_manager: 修复 cot exports 随 cephadm 移动的问题 (pr#32986, Sage Weil)
qa/tasks/ceph_manager: 修复 ceph-objectstore-tool 命令的 shell osd (pr#32725, Sage Weil)
qa/tasks/ceph_manager: 修复当未找到池时 fix_pgp_num 的行为 (pr#32987, Sage Weil)
qa/tasks/mgr/dashboard/test_health: 更新 schema (pr#30507, Kefu Chai)
qa/tasks/mgr/dashboard/test_orchestrator: 支持清单中的 addr 属性 (pr#33211, Kiefer Chang)
qa/tasks/mgr/test_orchestrator_cli: 修复 device ls 测试 (pr#32384, Sage Weil)
qa/tasks/mgr/test_orchestrator_cli: 修复 rgw add 测试 (pr#32101, Sage Weil)
qa/tasks/mgr/test_orchestrator_cli: 支持多个 DriveGroups (pr#33055, Kiefer Chang)
qa/test: 减少总运行次数 (pr#27979, Yuri Weinstein)
qa/tests - 清理了发行版设置 (pr#27956, Yuri Weinstein)
qa/tests - 提高了 master 上升级的优先级,否则它们从未执行过 (pr#29666, Yuri Weinstein)
qa/tests: 将 nautilus-x-singleton 套件作为符号链接添加到 rados (pr#27291, Sage Weil)
qa/tests: 添加了 master 上的 rados,减少了 fs, rbd, multimds (pr#27535, Yuri Weinstein)
qa/tests: 添加了 nautilus 分支的子集子句 (pr#27129, Yuri Weinstein)
qa/tests: 将 TO 电子邮件更改为 ceph-qa@ceph.io (pr#28721, Yuri Weinstein)
qa/tests: 从 ovh 移动了一些运行,删除了 ceph-disk/nautilus (pr#27616, Yuri Weinstein)
qa/tests: 减少了 nautilus 的运行,增加了 octopus 的运行 (pr#33214, Yuri Weinstein)
qa/tests: 移除了 ovh 上的所有运行 (pr#27960, Yuri Weinstein)
qa/tests: 移除了 client-upgrade-\* 套件的过滤器 (pr#28271, Yuri Weinstein)
qa/tests: 每周运行 luminous-x 和 mimic-x 2 次,但优先级很高 (pr#27527, Yuri Weinstein)
qa/tests: 尝试修复阻止 mimic-x 添加的语法错误 (pr#31799, Yuri Weinstein)
qa/valgrind.supp: 从 ceph::buffers 符号版本控制中抽象出来 (pr#33757, Radoslaw Zarzynski)
qa/workunits/cephadm/test_adoption: 以 root 身份运行 (pr#33485, Sage Weil)
qa/workunits/cephadm/test_cephadm.sh: 整合等待循环逻辑 (pr#33544, Michael Fritch)
qa/workunits/cephadm/test_cephadm.sh: 退出时转储日志 (pr#33634, Michael Fritch)
qa/workunits/cephadm/test_cephadm.sh: 总是需要 --fsid (pr#32220, Sage Weil)
qa/workunits/cephadm/test_cephadm.sh: 重新启用 adopt 测试 (pr#32244, Michael Fritch)
qa/workunits/cephadm/test_cephadm.sh: 服务禁用时跳过 docker (pr#33018, Michael Fritch)
qa/workunits/cephadm/test_cephadm.sh: 使用可用的 python;在 ubuntu 和 centos 上测试 (pr#32333, Sage Weil)
qa/workunits/cephadm/test_cephadm: --skip-monitoring-stack (pr#34013, Sage Weil)
qa/workunits/cephadm/test_cephadm: 修复拼写错误 (pr#33181, Sage Weil)
qa/workunits/cephadm/test_cephadm: workunit 测试清理 (pr#32625, Michael Fritch)
qa/workunits/cephadm/test_repos: 不要尝试使用 refspec (pr#33134, Sage Weil)
qa/workunits/cephadm: 分离 test_adoption.sh;修复 (pr#33457, Sage Weil)
qa: 修复 (pr#29361, Kefu Chai)
qa: rados 和 py3 的杂项修复 (pr#32362, Sage Weil)
qa: 将 rgw/verify 固定到 8.0 (pr#32761, Ali Maredia)
qa: 在 python2 和 python3 上运行 flake8 (pr#32222, Thomas Bechtold)
qa: vstart_runner 失败,因为字符串索引超出范围 (pr#28990, Volker Theile)
rbd,tests: cls/rbd: 添加快照限制 UINT64_MAX 测试用例 (pr#31350, Chen Pan)
rbd,tests: cls/rbd: 添加 snapshot_add raise -ESTALE 测试用例 (pr#31149, wonderpow)
rbd,tests: journal: 在销毁 JournalRecorder 之前总是关闭它 (pr#29501, Kefu Chai)
rbd,tests: journal: 修复按年龄刷新和在途字节跟踪 (pr#31392, Jason Dillaman)
rbd,tests: mgr/dashboard: s/fsid/mirror_uuid/ (pr#33348, Kefu Chai)
rbd,tests: qa/rbd: 添加基于 cram 的快照 diff 测试 (issue#39447, pr#28346, Shyukri Shyukriev, Nathan Cutler)
rbd,tests: qa/suites/krbd: 仅使用 msgr1 运行 unmap 子套件 (pr#31265, Ilya Dryomov)
rbd,tests: qa/suites/rbd: 为 librbd 测试添加随机发行版选择 (pr#27577, Jason Dillaman)
rbd,tests: qa/suites/rbd: 添加了 writearound 缓存测试排列 (issue#39386, pr#27694, Jason Dillaman)
rbd,tests: qa/suites/rbd: 修复 yaml 中导致解析失败的错误制表符 (pr#30942, Jason Dillaman)
rbd,tests: qa/suites/rbd: 修复 Ubuntu Bionic 的下载路径 (pr#32408, Jason Dillaman)
rbd,tests: qa/suites/rbd: 移除了 OpenStack tempest 测试用例 (pr#33900, Jason Dillaman)
rbd,tests: qa/tests: 在 ec 上添加了 rbd 任务 (pr#29541, Yuri Weinstein)
rbd,tests: qa/workunit/rbd: 修复 QoS 吞吐量单位解析 (pr#32280, Jason Dillaman)
rbd,tests: qa/workunits/rbd: 修复 compare_images 和 compare_image_snapshots (pr#28524, Mykola Golub)
rbd,tests: qa/workunits/rbd: 修复 EL8 的 python 解释器 (pr#32409, Jason Dillaman)
rbd,tests: qa/workunits/rbd: 修复新 krbd discard 行为 (pr#27192, Ilya Dryomov)
rbd,tests: qa/workunits/rbd: 在初始化站点名称时覆盖 CEPH_ARGS (pr#33187, Jason Dillaman)
rbd,tests: qa/workunits/rbd: 从动态功能测试中删除 fast-diff (issue#39946, pr#28135, Jason Dillaman)
rbd,tests: qa/workunits/rbd: 压力测试 rbd mirror pool status --verbose (pr#29655, Mykola Golub)
rbd,tests: qa/workunits/rbd: 使用上下文管理器控制 Rados 生命周期 (pr#34035, Jason Dillaman)
rbd,tests: qa/workunits/rbd: 使用 https 协议进行 devstack git 操作 (issue#39656, pr#28063, Jason Dillaman)
rbd,tests: qa/workunits/rbd: 使用更近期的支持 Bionic 的 qemu-iotests (issue#24668, pr#27683, Jason Dillaman)
rbd,tests: qa/workunits/rbd: 等待 nbd map 在 unmap 后关闭 (pr#33898, Jason Dillaman)
rbd,tests: qa/workunits/rbd: 等待 rbd-nbd unmap 完成 (issue#39598, pr#27981, Jason Dillaman)
rbd,tests: qa: 为稳定页面添加设备映射器和 lvm 测试用例 (pr#27271, Ilya Dryomov)
rbd,tests: qa: 添加 krbd_discard_granularity.t 测试 (pr#27042, Ilya Dryomov)
rbd,tests: qa: 添加 RBD QOS 功能测试 (pr#27137, Mykola Golub)
rbd,tests: qa: 添加脚本以测试 libceph 如何处理巨大的 osdmaps (pr#30363, Ilya Dryomov)
rbd,tests: qa: 避免 hexdump skip 和 length 选项 (pr#30502, Ilya Dryomov)
rbd,tests: qa: 避免 krbd discard 舍入测试的页面缓存 (pr#30452, Ilya Dryomov)
rbd,tests: qa: krbd_parent_overlap.t: 修复读取测试 (pr#29966, Ilya Dryomov)
rbd,tests: test/cli-integration/rbd: 修复缺少的图像和快照 ID (pr#29853, Jason Dillaman)
rbd,tests: test/cli-integration: 修复 RBD 格式化表的间距问题 (pr#33902, Jason Dillaman)
rbd,tests: test/cls_rbd/test_cls_rbd: 更新 TestClsRbd.sparsify (pr#30258, Kefu Chai)
rbd,tests: test/cls_rbd: 包含 compat.h 以获取 ERESTART (pr#32172, Willem Jan Withagen)
rbd,tests: test/journal: 总是关闭对象 (pr#29476, Kefu Chai)
rbd,tests: test/librados_test_stub: 确保日志刷新线程已启动 (pr#27326, Jason Dillaman)
rbd,tests: test/librbd: 允许并行运行 run-rbd-unit-tests (pr#30072, Willem Jan Withagen)
rbd,tests: test/librbd: 删除 ceph_test_librbd_api 目标 (issue#39072, pr#27695, Jason Dillaman)
rbd,tests: test/librbd: 修复 TestMockIoImageRequest 中的模拟警告 (pr#31497, Mykola Golub)
rbd,tests: test/librbd: 设置 nbd 超时,因为新内核默认开启它 (pr#29858, Jason Dillaman)
rbd,tests: test/pybind/rbd.pyx: 在 test_rbd.py 中添加 test_remove_snap_by_id 用例 (pr#30927, Zhang Jiao)
rbd,tests: test/pybind: 添加 create_snap raise ImageExists 测试用例 (pr#31140, Gangbiao Liu)
rbd,tests: test/pybind: 缩进中制表符和空格使用不一致 (pr#31606, Mykola Golub)
rbd,tests: test/rbd_mirror: 修复模拟警告 (pr#31608, Mykola Golub)
rbd,tests: test/run-rbd-tests: 正确初始化新创建的 rbd 池 (pr#33642, Mykola Golub)
rbd,tests: test: 在 remove snap 部分添加 test_remove_snap_ImageNotFound 测试用例 (pr#31221, Yingze Wei)
rbd,tests: test: 添加 test_remove_snap2 接口以在快照受保护时删除快照 (pr#31208, Yingze Wei)
rbd,tools: tools/rbd-ggate: 在运行 postfork 之前关闭日志 (pr#30010, Willem Jan Withagen)
rbd,tools: tools/rbd_nbd: 使用 POSIX basename() (pr#28856, Kefu Chai)
rbd-ggate: 修复 bufferlist.copy() 更改导致的故障 (pr#33057, Willem Jan Withagen)
rbd-mirror: 添加命名空间支持 (issue#37529, pr#28939, Mykola Golub)
rbd-mirror: 为服务守护进程添加命名空间支持 (pr#31642, Mykola Golub)
rbd-mirror: 添加对基于快照的镜像重新同步的支持 (pr#33490, Jason Dillaman)
rbd-mirror: 在快照重放期间应用图像状态 (pr#33335, Jason Dillaman)
rbd-mirror: 无法恢复延迟删除的镜像图像 (pr#30351, Jason Dillaman)
rbd-mirror: 在列出镜像图像之前清除 bufferlist (issue#39407, pr#27720, Jason Dillaman)
rbd-mirror: 继续隔离日志重放逻辑 (pr#32399, Jason Dillaman)
rbd-mirror: 不在非默认命名空间中自动创建对等体 (pr#32341, Jason Dillaman)
rbd-mirror: 不要期望 image map 总是初始化 (pr#33368, Mykola Golub)
rbd-mirror: 不要覆盖重放返回的状态错误 (pr#28179, Mykola Golub)
rbd-mirror: 确保方法调用的确定性顺序 (pr#32274, Jason Dillaman)
rbd-mirror: 从图像重放器中提取日志重放逻辑 (pr#32257, Jason Dillaman)
rbd-mirror: 修复池重放器在初始化失败时的状态 (pr#32483, Mykola Golub)
rbd-mirror: 修复命名空间重放器初始化失败时的竞争条件 (pr#32243, Mykola Golub)
rbd-mirror: 处理图像同步节流器队列中的重复项 (issue#40519, pr#28730, Mykola Golub)
rbd-mirror: 更新本地图像名称时保持锁定 (pr#33988, Jason Dillaman)
rbd-mirror: 忽略与解析集群配置文件相关的错误 (pr#29808, Jason Dillaman)
rbd-mirror: 图像状态应报告远程状态 (pr#30558, Jason Dillaman)
rbd-mirror: 改进黑名单状态检测 (pr#33411, Mykola Golub)
rbd-mirror: 初始端到端测试和相关错误修复 (pr#33588, Jason Dillaman)
rbd-mirror: 初始快照重放状态机 (pr#33166, Jason Dillaman)
rbd-mirror: 初始基于快照的镜像引导逻辑 (pr#33002, Jason Dillaman)
rbd-mirror: 链接到指定的 alloc 库 (issue#40110, pr#28434, Jason Dillaman)
rbd-mirror: 使 logrotate 工作 (pr#32456, Mykola Golub)
rbd-mirror: 镜像克隆应具有相同的格式 (pr#31161, Mykola Golub)
rbd-mirror: peer_ping 应将本地 fsid 发送到远程 (pr#31950, Jason Dillaman)
rbd-mirror: 定期刷新 IO 和提交位置 (issue#39257, pr#27533, Jason Dillaman)
rbd-mirror: 定期轮询远程镜像配置 (pr#32671, Jason Dillaman)
rbd-mirror: ImageReplayer::handle_start_replay 中潜在的 nullptr 解引用 (pr#30484, Mykola Golub)
rbd-mirror: 防止对非主图像进行 I/O 修改 (pr#33831, Jason Dillaman)
rbd-mirror: 提供初始快照重放状态 (pr#33440, Jason Dillaman)
rbd-mirror: 从图像重放和引导状态机中删除日志特定逻辑 (pr#32578, Jason Dillaman)
rbd-mirror: 移除非主垃圾快照 (pr#31260, Mykola Golub)
rbd-mirror: 重命名每个图像复制性能计数器 (pr#32184, Mykola Golub)
rbd-mirror: 简化对等引导 (pr#30411, Jason Dillaman)
rbd-mirror: 快照镜像模式 (pr#30548, Mykola Golub)
rbd-mirror: 基于快照的镜像应使用图像同步节流器 (pr#34040, Jason Dillaman)
rbd-nbd: 添加 netlink map/unmap 支持 (pr#27902, Mike Christie)
rbd-nbd: 添加 nl resize (pr#29036, Mike Christie)
rbd-nbd: sscanf 返回 0 表示不匹配 (issue#39269, pr#27484, Jianpeng Ma)
rbd: 创建厚 Provision 图像进度百分比信息超过 100% (pr#30954, Xiangdong Mu)
rbd: journal: 添加对齐追加支持 (pr#28351, Mykola Golub)
rbd: librbd: 为 list descendants 跳过具有不存在池的陈旧子项 (pr#29654, songweibin)
rbd: disk-usage 添加 --merge (pr#30994, Alexandre Bruyelles)
rbd: 添加镜像快照调度命令 (pr#32882, Mykola Golub)
rbd: 添加 snap_exists 方法 API (pr#32497, Zheng Yin)
rbd: client,common,mgr,rbd: clang 相关清理 (pr#33657, Kefu Chai)
rbd: cls/rbd: 提高镜像图像状态查询效率 (pr#31865, Jason Dillaman)
rbd: cls/rbd: 清理实体实例信使版本类型 (pr#30438, Jason Dillaman)
rbd: cls/rbd: 从磁盘读取后清理镜像图像状态对等地址 (pr#31824, Jason Dillaman)
rbd: cls: 降低非致命错误的日志级别 (issue#40865, pr#29165, Jason Dillaman)
rbd: 垃圾恢复因同名失败时删除冗余词 (pr#30952, Xiangdong Mu)
rbd: 修复 CEPH_ARGS 处理的其他问题 (pr#33219, Jason Dillaman)
rbd: 将 rbd-mirror 守护进程状态整合到镜像池状态中 (pr#31949, Jason Dillaman)
rbd: journal: 修复播放器关闭和缓存重新平衡之间的竞争条件 (pr#28748, Mykola Golub)
rbd: journal: 修复播放器关闭和缓存重新平衡之间的竞争条件 (pr#29796, Mykola Golub)
rbd: journal: 优化对象溢出检测 (pr#28240, Mykola Golub)
rbd: journal: 跳过无效范围后正确推进读取偏移量 (pr#28627, Mykola Golub)
rbd: journal: 检测到第一个损坏后返回错误 (pr#28820, Mykola Golub)
rbd: journal: 在停止记录器时等待在途推进集 (pr#28529, Mykola Golub)
rbd: krbd: 避免 udev netlink socket 溢出 (pr#30965, Ilya Dryomov)
rbd: krbd: 修复因 udev 返回子系统无序导致的 rbd map 挂起 (issue#39089, pr#27339, Zhi Zhang)
rbd: krbd: 在调用 build_map_buf() 之前 modprobe (pr#30978, Ilya Dryomov)
rbd: krbd: 从 udev_enumerate_scan_devices() 出现瞬时错误时重试 (pr#31023, Ilya Dryomov)
rbd: krbd: 轮询时返回 -ETIMEDOUT (issue#38792, pr#27025, Dongsheng Yang)
rbd: mgr/dashboard: 支持 RBD 镜像引导创建/导入 (issue#42355, pr#31062, Jason Dillaman)
rbd: msg/async: 避免不必要的昂贵唤醒以处理出站消息 (pr#28388, Jason Dillaman)
rbd: msg/async: 降低连接超时失败的详细程度 (issue#39448, pr#28050, Jason Dillaman)
rbd: pybind/mgr/rbd_support: 修复错误路径中缺少的变量 (pr#29773, Jason Dillaman)
rbd: pybind/mgr/rbd_support: 忽略对 RBD 命名空间缺少支持 (pr#29433, Jason Dillaman)
rbd: pybind/mgr/rbd_support: 使用图像 ID 检测重复任务 (pr#29468, Jason Dillaman)
rbd: pybind/mgr/rbd_support: 在处理命令之前等待最新的 OSD map (pr#33451, Jason Dillaman)
rbd: pybind/rbd: 修复对 unregister_osd_perf_queries 的调用 (pr#29419, Venky Shankar)
rbd: pybind/rbd: 提供快照删除标志 (pr#31627, Mykola Golub)
rbd: qa/suites/rbd/openstack: 使用 18.04,而不是 16.04 (pr#32284, Sage Weil)
rbd: rbd-ggate: 修复 ceph::mutex 更新导致的编译错误 (pr#29474, Willem Jan Withagen)
rbd: rbd-mirror: 根据内存目标调整日志提取属性 (pr#27670, Mykola Golub)
rbd: rbd/action: 在 rbd du/list 输出中显示图像 ID (pr#29376, songweibin)
rbd: rbd/action: 修复获取位置参数的错误 (issue#40095, pr#28313, songweibin)
rbd: rbd/bench: 动态输出 bytes/s 格式 (pr#31491, Zheng Yin)
rbd: rbd/cache: 复制写入日志核心代码第一部分 (pr#31279, Peterson, Scott, Li, Xiaoyan, Lu, Yuan, Chamarthy, Mahati)
rbd: rbd/cache: 复制写入日志核心代码第二部分 (pr#31963, Peterson, Scott, Li, Xiaoyan, Lu, Yuan, Chamarthy, Mahati)
rbd: rbd_replay: 显式调用成员 decode() (pr#27703, Kefu Chai)
rbd: 调度运行垃圾清除操作 (pr#33389, Mykola Golub)
rbd: src: 使用未弃用的 aio_create_completion 版本 (pr#31333, Adam C. Emerson)
rbd: 将有序节流用于导出操作 (issue#40435, pr#28657, Jason Dillaman)
remove cephadm-adoption-corpus as submodule (pr#33587, Sage Weil)
对于 Bluestore OSD,如果 WAL 或 DB 在 OSD 标签中定义但系统上不存在,则返回错误 (pr#28791, David Casier)
rgw,tests: qa/rgw/pubsub: 修复从 master 同步的测试 (pr#33049, Yuval Lifshitz)
rgw,tests: qa/rgw/pubsub: 验证 pubsub 中使用了增量同步 (pr#33068, Yuval Lifshitz)
rgw,tests: qa/rgw: 添加 sse-kms 与 barbican 集成测试 (pr#30218, Casey Bodley, Adam Kupczyk)
rgw,tests: qa/rgw: 为静态网站测试添加新的 rgw/website 套件 (pr#30193, Casey Bodley)
rgw,tests: qa/rgw: 将 rgw_obj 和 throttle 测试添加到 rgw 验证套件 (pr#32188, Casey Bodley)
rgw,tests: qa/rgw: 禁用 debuginfo 包 (pr#27528, Casey Bodley)
rgw,tests: qa/rgw: 不在 s3a-hadoop 套件中使用 ceph-ansible (issue#39706, pr#28068, Casey Bodley)
rgw,tests: qa/rgw: 删除一些对象存储类型 (pr#30997, Casey Bodley)
rgw,tests: qa/rgw: 在 test_bucket_index_log_trim 中使用 DeleteRange (pr#33047, Casey Bodley)
rgw,tests: qa/rgw: 额外的 s3tests 任务使用 rgw 端点配置 (issue#17882, pr#28631, Casey Bodley)
rgw,tests: qa/rgw: 修复 tasks/swift.py 中的导入错误 (issue#40304, pr#28605, Casey Bodley)
rgw,tests: qa/rgw: 修复 swift 警告消息 (pr#28697, Casey Bodley)
rgw,tests: qa/rgw: swift 任务的更多修复 (issue#40304, pr#28823, Casey Bodley)
rgw,tests: qa/rgw: multisite checkpoints 考虑 pubsub zone (pr#32941, Casey Bodley)
rgw,tests: qa/rgw: 重构 kms 后端配置 (pr#30940, Casey Bodley)
rgw,tests: qa/rgw: 从 multisite 套件中移除失败的 radosgw_admin_rest (pr#32550, Casey Bodley)
rgw,tests: qa/rgw: 移除 ec 池的 SLOW_OPS 白名单 (pr#31363, Casey Bodley)
rgw,tests: qa/rgw: s3a-hadoop 任务默认为 maven-version 3.6.3 (pr#32620, Casey Bodley)
rgw,tests: qa/rgw: 在 rhel 7.6+ 上跳过 swift 测试 (issue#40304, pr#28532, Casey Bodley)
rgw,tests: qa/rgw: 更新 run-s3tests.sh (pr#28964, Casey Bodley)
rgw,tests: qa/rgw: 为 multisite 测试使用测试 kms 后端 (pr#31374, Casey Bodley)
rgw,tests: qa/rgw: 为其他 rgw 子套件使用测试 kms 后端 (pr#31414, Casey Bodley)
rgw,tests: qa/rgw: 将 ec 池的 SLOW_OPS 失败列入白名单 (pr#30944, Casey Bodley)
rgw,tests: qa/suites/rgw/website: 在 ubuntu 上运行测试 (pr#32791, Sage Weil)
rgw,tests: qa/suites/rgw: 重新启用 ragweed (现在是 py3) (pr#32310, Sage Weil)
rgw,tests: qa/suites: 使用支持 python3 的 s3-tests (pr#32624, Ali Maredia)
rgw,tests: qa/tasks/swift: 移除 swift 测试 (pr#32357, Sage Weil)
rgw,tests: qa/tests: 将 rgw 添加到升级序列以提高覆盖率 (pr#29234, Yuri Weinstein)
rgw,tests: qa/tests: 将 rgw 添加到升级序列以提高覆盖率 - 分割 (pr#29282, Yuri Weinstein)
rgw,tests: qa: 为运行 s3readwrite 和 s3roundtrip 任务的套件添加 force-branch (pr#32225, Ali Maredia)
rgw,tests: qa: 在 s3a_hadoop.py 中增加 maven repo 版本 (pr#30531, Ali Maredia)
rgw,tests: qa: radosgw-admin: 移除对 bunch 包的依赖 (pr#32100, Yehuda Sadeh)
rgw,tests: qa: radosgw_admin: 验证简单的用户统计输出 (pr#30684, Abhishek Lekshmanan)
rgw,tests: qa: 在 rgw verify 套件中移除 mon valgrind 检查 (issue#38827, pr#28155, Ali Maredia)
rgw,tests: qa: 从 rados/basic/tasks/rgw_snaps.yml 中移除 s3-tests (pr#32940, Ali Maredia)
rgw,tests: qa: rgw: 为 s3tests 用户添加 user-policy caps (pr#31127, Abhishek Lekshmanan)
rgw,tests: qa: 在 util/rgw.py 的 wait_for_radosgw() 中使用 curl (pr#28521, Ali Maredia)
rgw,tests: rgw/amqp: 修复 AMQP 单元测试中的竞争条件 (pr#30735, Yuval Lifshitz)
rgw,tests: rgw/amqp: 移除不稳定的 amqp 测试 (pr#31510, Yuval Lifshitz)
rgw,tests: rgw/pubsub: 为 teuthology 添加 multisite pubsub 测试 (pr#27838, Yuval Lifshitz)
rgw,tests: rgw/pubsub: 测试增强和修复 (pr#28910, Yuval Lifshitz)
rgw,tests: rgw/pubsub: 默认情况下为 pubsub 模块使用增量同步 (pr#28470, Yuval Lifshitz)
rgw,tests: test/rgw: 修复 test-rgw-multisite.sh 脚本以创建 multisite 集群 (pr#27984, Casey Bodley)
rgw,tests: test/rgw: 修复 test-rgw-multisite.sh (pr#33537, Casey Bodley)
rgw,tests: test/rgw: 增加 unittest_rgw_reshard_wait 的计时器持续时间 (pr#32094, Casey Bodley)
rgw,tests: test/rgw: test_rgw_reshard_wait 使用相同的时钟进行计时 (pr#27035, Casey Bodley)
rgw,tests: vstart: 将通用 rgw 配置移到 [client.rgw] (pr#29449, Joao Eduardo Luis)
rgw,tools: ceph-dencoder: 添加 RGWPeriodLatestEpochInfo 支持 (pr#30613, yuliyang)
rgw,tools: rgw/examples: 为 boto3 对 AWS S3 的扩展添加示例 (pr#30600, Yuval Lifshitz)
rgw,tools: vstart.sh: 运行多个具有不同 ID 的 rgw (pr#26690, Joao Eduardo Luis)
rgw: rgw: cls_bucket_list_unordered 列出单个分片 (issue#39393, pr#27697, Casey Bodley)
rgw: rgw: 使 radosgw-admin user create 和 modify 不同 (pr#31901, Matthew Oliver)
rgw: rgw: 当用户创建过多 ACL 时返回 LimitExceeded (issue#26835, pr#25692, Chang Liu)
rgw: 针对 RGW 运行 S3 Java 测试的任务 (pr#22788, Antoaneta Damyanova)
rgw: 在 radosgw-admin help info 中添加 --object-version (pr#30091, yuliyang)
rgw: 添加少量效率提升 (pr#29178, J. Eric Ivancich)
rgw: 为桶同步添加管理员 rest api (pr#19020, zhang Shaowen, Zhang Shaowen)
rgw: 为 omap offload 添加 cls_queue 和 cls_rgw_gc (pr#28421, Pritha Srivastava, Casey Bodley)
rgw: 为某些 rest 函数添加 const 正确性 (pr#31660, J. Eric Ivancich)
rgw: 在桶统计中添加创建时间信息 (pr#30384, Enming Zhang)
rgw: 向 rgw lc 添加 days0 (pr#29937, Or Friedmann)
rgw: 为 PutACLs 添加详细错误消息 (pr#30385, Enming Zhang)
rgw: 为 rgw 服务源文件添加编辑器指令注释 (pr#27897, J. Eric Ivancich)
rgw: 添加 GET /admin/realm?list api 以列出 realms (pr#28156, Casey Bodley)
rgw: 同步用户信息时添加缺少的 admin 属性 (pr#30127, zhang Shaowen)
rgw: 在帮助信息中添加缺少的 bilog 状态 (pr#30357, zhang Shaowen)
rgw: 在 send_versioned_response 中添加缺少的 close_section (pr#28946, Casey Bodley)
rgw: 为 LC delete 和 transit 日志添加更多细节 (pr#30913, Or Friedmann)
rgw: 向 radosgw-admin bucket stats 添加 num_shards (pr#30845, Paul Emmerich)
rgw: 添加选项以指定 bi list 管理命令的分片 ID (pr#29394, Mark Kogan)
rgw: 为 http 客户端接口添加 optional_yield (pr#25355, Casey Bodley)
rgw: 为 SysObj 服务接口添加 optional_yield (pr#25353, Casey Bodley)
rgw: 为桶添加 PublicAccessBlock 一组 API (pr#30033, Abhishek Lekshmanan)
rgw: 添加 rgw_rados_pool_recovery_priority (默认为 5) (pr#29181, Sage Weil)
rgw: 在 RGWZoneParams dump/decode json 中添加 roles_pool (issue#22162, pr#17338, Tianshan Qu)
rgw: 添加 S3 对象锁定功能以支持对象蠕虫 (pr#26538, zhang Shaowen)
rgw: 为 rgw 代码添加一些注释以帮助解释功能 (pr#27896, J. Eric Ivancich)
rgw: 添加 SSE-KMS 和 Vault 使用令牌身份验证 (pr#29783, Andrea Baglioni, Sergio de Carvalho)
rgw: 为子用户添加支持桶策略 (pr#33165, Seena Fallah)
rgw: 在 multisite 测试中将 tenant 添加为 User 的参数 (pr#27969, Yuval Lifshitz)
rgw: 向 ops log 添加事务 ID (pr#30163, zhang Shaowen)
rgw: 为异步 PutObj/GetObj 添加 YieldingAioThrottle (pr#26173, Casey Bodley)
rgw: 添加从 keystone 获取的 S3 凭证缓存 (pr#26095, James Weaver)
rgw: 添加 AssumeRoleWithWebIdentity 文档 (pr#31994, Pritha Srivastava)
rgw: 为角色和用户策略相关 REST API 添加 iam 命名空间 (pr#27178, Pritha Srivastava)
rgw: 在更改桶版本控制状态时添加 mfa 代码验证 (pr#31767, Pritha Srivastava)
rgw: 为 Beast 添加 tcp_nodelay 选项 (pr#27008, Or Friedmann)
rgw: 处理非可见条目占主导地位时 0 长度的列表结果 (pr#32636, J. Eric Ivancich)
rgw: 调整动态重新分片允许的桶索引分片计数 (pr#30795, J. Eric Ivancich)
rgw: admin: 在对象状态输出中处理 delete_at 属性 (pr#27781, Abhishek Lekshmanan)
rgw: 允许首先在 master 上执行写入元数据的管理员 API (issue#39549, pr#29549, Shilpa Jagannath)
rgw: 允许 radosgw-admin 使用 --allow-unordered 列出桶 (issue#39637, pr#28031, J. Eric Ivancich)
rgw: 允许取消不存在桶的重新分片日志条目 (pr#31271, J. Eric Ivancich)
rgw: apply_olh_log 忽略 RGW_ATTR_OLH_VER 解码错误 (pr#31976, Casey Bodley)
rgw: asio: 在处理请求之前检查远程端点 (pr#29967, Abhishek Lekshmanan)
rgw: auth/Crypto: 如果 getentropy() 失败,则回退到 /dev/urandom (pr#30544, Kefu Chai)
rgw: 自动清理不存在桶的重新分片队列条目 (pr#31323, J. Eric Ivancich)
rgw: az: 添加归档区测试 (pr#29359, Javier M. Mellid)
rgw: beast 前端使用 512k mprotected 协程栈 (pr#31580, Daniel Gryniewicz, Casey Bodley)
rgw: beast 前端使用 yield_context 读/写 body (pr#27795, Casey Bodley)
rgw: beast 端口解析 (issue#39000, pr#27242, Abhishek Lekshmanan)
rgw: beast ssl 证书通过 config-key 配置 (pr#33287, Yehuda Sadeh)
rgw: 桶粒度同步 (pr#31686, Yehuda Sadeh)
rgw: 桶重新创建修复 (pr#32121, Yehuda Sadeh)
rgw: 桶统计以 UTC 报告 mtime (pr#27617, Casey Bodley)
rgw: 桶标签 (pr#27993, Chang Liu)
rgw: 仅当构建 beast 时才构建异步调度器 (pr#26634, Abhishek Lekshmanan)
rgw: 将 radosgw 守护进程构建为共享库 + 小型可执行文件 (pr#32404, Kaleb S. Keithley)
rgw: build_linked_oids_for_bucket 和 build_buckets_instance_index 失败时应返回负值 (pr#31346, zhangshaowen)
rgw: 将 cls rgw reshard 状态更改为 enum class (pr#30611, J. Eric Ivancich)
rgw: 将 MAX_USAGE_TRIM_ENTRIES 值从 128 更改为 1000 (pr#30392, zhang Shaowen)
rgw: 抓取后检查 lc 对象是否不为空 (pr#26167, Yao Zongyou)
rgw: 当设置 resharing 状态失败时,清理索引并删除桶实例信息 (pr#31103, zhangshaowen)
rgw: 清理有序列表 (pr#31338, J. Eric Ivancich)
rgw: 清理一些日志记录 (pr#27411, J. Eric Ivancich)
rgw: 清理 cls_rgw_client.cc 中 magic string 的使用 (pr#31432, zhangshaowen)
rgw: 清理: 移除 RGWDeleteLC 中未使用的类成员 (pr#31404, zhang Shaowen)
rgw: 清理: 移除 rgw_admin.cc 中未使用的 create_new_bucket_instance (pr#31345, zhangshaowen)
rgw: rgw: 在桶列表的每次循环中清除 ent_list (issue#44394, pr#33693, Yao Zongyou)
rgw: cls/rgw: 修复 ceph_test_cls_rgw 中的 bilog trim 测试 (pr#30268, Casey Bodley)
rgw: cls/rgw: 重置后继续发布 bilog trim 操作 (issue#40187, pr#28430, Casey Bodley)
rgw: cls/rgw: 在访问 pkeys->rbegin() 之前进行测试 (issue#39984, pr#28391, Casey Bodley)
rgw: cls/rgw: 当对象有版本且 lc 转换它时,对象变为非当前版本 (pr#32458, Or Friedmann)
rgw: cls/user: cls_user_set_buckets_info 覆盖 creation_time (issue#39635, pr#28045, Casey Bodley)
rgw: cls_bucket_list_(un)ordered 应该清除结果集合 (pr#33702, J. Eric Ivancich)
rgw: 多部分上传期间压缩信息应相同 (pr#30574, zhang Shaowen)
rgw: 有条件地允许非唯一电子邮件地址 (issue#40089, pr#28327, Matt Benjamin)
rgw: continuation token 在 list object v2 请求中不起作用 (pr#28988, zhang Shaowen)
rgw: 如果未指定,则不应返回 continuationToken 或 startAfter (pr#29298, zhang Shaowen)
rgw: 修正 cls_rgw.cc 中关于 reshard 的一些错误日志 (pr#31429, zhangshaowen)
rgw: crypt: 允许 RGW-AUTO/default 与 SSE-S3 头部一起使用 (pr#30189, Matt Benjamin)
rgw: crypto: 从 Digest 和 HMAC 抛出 DigestException (issue#39456, pr#27765, Matt Benjamin)
rgw: 数据同步标记包含 datalog 条目中的时间戳 (pr#32309, Casey Bodley)
rgw: 当没有对等体读取它们时,data/bilogs 会被修剪 (issue#39487, pr#27794, Casey Bodley)
rgw: datalog/mdlog trim 命令循环直到完成 (pr#29448, Casey Bodley)
rgw: data_sync_source_zones 仅包含导出区 (pr#33193, Casey Bodley)
rgw: 解密过滤器不跨多部分边界 (issue#38700, pr#27130, Adam Kupczyk, Casey Bodley, Abhishek Lekshmanan)
rgw: DefaultRetention 需要 Days 或 Years (pr#29680, Chang Liu)
rgw: delete_obj_index() 获取 bilog 的 mtime (issue#24991, pr#27980, Casey Bodley)
rgw: 区分 usage log 的不同 get_usage (pr#17719, Jiaying Ren)
rgw: dmclock: 等待请求处理完毕 (pr#30777, GaryHyg)
rgw: 在生命周期处理期间不要遗漏每次迭代的第 1000 个元素 (pr#30861, Ilsoo Byun)
rgw: 修复版本桶时不要删除删除标记 (pr#32562, Ilsoo Byun)
rgw: 复制时如果不提供元数据指令则不崩溃 (issue#40416, pr#28949, Adam C. Emerson)
rgw: /etc/mime.types 缺失时不崩溃 (issue#38328, pr#26998, Casey Bodley)
rgw: 列出 reshared 结果未截断时不要打印错误日志 (pr#31142, zhangshaowen)
rgw: 不为 slo/dlo 重新计算 etags (pr#27470, Casey Bodley)
rgw: 前端发生 accept 错误时不抛出异常 (pr#29587, Yuval Lifshitz)
rgw: 从日志中删除云同步模块日志属性 (pr#27820, Nathan Cutler)
rgw: 删除死代码 flush_read_list 声明 (pr#29458, Jiaying Ren)
rgw: 删除未使用的 rgw_decode_pki_token() (pr#27052, Radoslaw Zarzynski)
rgw: 在 RGWDeleteMultiObj_ObjStore_S3 中将 s3_code 转储为 Code 响应元素 (issue#18241, pr#12470, Radoslaw Zarzynski)
rgw: 消除重复的 tags_bl 变量 (pr#27970, Chang Liu)
rgw: 在读取权限时也评估桶策略 (issue#38638, pr#27309, Pritha Srivastava)
rgw: examples: rgw: 添加 boto3 append 和 get usage api 扩展 (pr#33063, Abhishek Lekshmanan)
rgw: Expiration days 不能为零,transition days 可以为零 (pr#30878, zhang Shaowen)
rgw: 扩展 SSE-KMS 和 Vault 使用 transit secrets engine (pr#31361, Andrea Baglioni, Sergio de Carvalho)
rgw: fetch_remote_obj() 比较预期的对象大小 (pr#28303, Xiaoxi CHEN, Casey Bodley)
rgw: 查找最旧的周期并更新 RGWMetadataLogHistory() (pr#31873, Shilpa Jagannath)
rgw: 修复重新分片完成后桶实例对象无法删除的 bug (pr#31483, zhang Shaowen)
rgw: 修复生命周期过期持续生成删除标记的 bug (issue#40393, pr#28587, zhang Shaowen)
rgw: 修复 BI_PREFIX_CHAR 后桶可能冗余列出键的 bug (issue#39984, pr#28188, Tianshan Qu)
rgw: 修复桶版本控制与 swift 元数据 bug (pr#29240, Marcus Watts)
rgw: 修复子用户策略身份检查器上的 bug (pr#33398, Seena Fallah)
rgw: 修复 (un)ordered 桶列表和带有命名空间的标记的 bug (pr#33046, J. Eric Ivancich)
rgw: 修复 listobjectsv1 中的 bug (pr#28873, Albin Antony)
rgw: 修复 cls_bucket_list_unordered() 部分结果 (pr#29692, Mark Kogan)
rgw: 修复 boost 1.70 的编译错误 (pr#27730, Casey Bodley)
rgw: 修复 rgw 发送超时导致的数据一致性错误 (pr#30257, xe6x9dx8exe7xbaxb2xe5xbdxac82225)
rgw: 修复远程未初始化 data_log 时数据同步启动延迟 (pr#30393, Tianshan Qu)
rgw: 修复 get_compression_type 的默认存储类 (pr#29909, Casey Bodley)
rgw: 修复存储类为标准时 default_placement 包含 / 的问题 (issue#39380, pr#27676, mkogan1)
rgw: 修复虚拟主机的 dns 名称比较 (pr#30221, Casey Bodley)
rgw: 修复 rgw_ldap_secret 的文档 (pr#29816, Robin Mxc3xbcller)
rgw: 修复带 bypass-gc 选项删除桶时 drain handles 错误 (pr#28789, dongdong tao)
rgw: 修复动态重新分片在周期中空区域组不起作用的问题 (pr#31977, Or Friedmann)
rgw: 修复过期头部不返回最早规则的问题 (pr#29399, Or Friedmann)
rgw: 修复 radosgw-admin zone rm 信息不正确的问题 (pr#30319, zhang Shaowen)
rgw: 修复 listobjectsv2 的缩进 (pr#28830, Albin Antony)
rgw: 修复带分隔符的桶列表错误跳过某些特殊键的问题 (issue#40905, pr#29215, Tianshan Qu)
rgw: 修复带开始标记和分隔符 / 的桶列表会丢失下一个对象的问题 (issue#39989, pr#28192, Tianshan Qu)
rgw: 修复 list versions start with version_id=null (pr#29897, Tianshan Qu)
rgw: 修复 PutBucketObjectLock/PutObjRetention 中的 MalformedXML 错误 (pr#28783, Casey Bodley)
rgw: 修复删除对象时的内存增长问题 (pr#30174, Mark Kogan)
rgw: 修复无序桶列表的最小值 (pr#30146, J. Eric Ivancich)
rgw: 修复 keystone 身份验证中的次要编译器警告 (pr#27100, David Disseldorp)
rgw: 修复 STSService::storeARN 中丢失的 ret (issue#40386, pr#28527, Tianshan Qu)
rgw: 修复 curl 错误返回的遗漏处理 (pr#28345, Casey Bodley, Tianshan Qu)
rgw: 修复桶链接期间桶名称中缺少的租户前缀 (pr#29815, Shilpa Jagannath)
rgw: 修复分段上传错误响应 (pr#32771, GaryHyg)
rgw: 修复窄化转换错误 (pr#28905, Adam C. Emerson)
rgw: 修复批量删除 (RGWDeleteMultiObj_ObjStore_S3) 的一部分失败但没有错误消息的问题 (pr#29795, Snow Si)
rgw: 修复 opslog operation 字段与 Amazon s3 不符的问题 (issue#20978, pr#30539, Jiaying Ren)
rgw: 修复潜在的 realm 监视丢失 (issue#40991, pr#29369, Tianshan Qu)
rgw: 修复读取不存在的 null 版本返回错误的问题 (issue#38811, pr#27047, Tianshan Qu)
rgw: 修复 refcount 标签以匹配并更新对象 idtag (pr#30013, J. Eric Ivancich)
rgw: 修复 rgw_asio_client.cc 中的 REQUEST_URI 设置 (pr#30540, Jiaying Ren)
rgw: 修复 rgw 崩溃并设置正确错误码 (pr#28172, yuliyang)
rgw: 修复 sts 请求中 duration 无效时 rgw 崩溃的问题 (pr#32119, yuliyang)
rgw: 修复 token 不是 base64 编码时 rgw 崩溃的问题 (pr#31830, yuliyang)
rgw: 修复 rgw 解压缩日志打印 (pr#29633, Han Fengzhe)
rgw: 修复 rgw lc 不删除与规则标签不完全相同的对象的问题 (pr#30151, Or Friedmann)
rgw: 修复 RGWDeleteMultiObj::verify_permission() (pr#26947, Irek Fasikhov)
rgw: 修复 RGWUserInfo 解码当前版本 (pr#31591, Chang Liu)
rgw: 修复 CORS 未找到时 S3 兼容性 bug (issue#37945, pr#25999, Nick Janus)
rgw: 修复带前缀/分隔符的分片桶列表 (pr#33628, Casey Bodley)
rgw: 修复在 s3 客户端中使用 ipv6 地址时 SignatureDoesNotMatch 的问题 (pr#30778, yuliyang)
rgw: 修复分隔符检查中的 signed char 截断 (pr#27001, Matt Benjamin)
rgw: 修复 RGWFormatter_Plain 中的 string_view 格式化 (pr#33754, Casey Bodley)
rgw: 修复 rgw 未对网站配置进行必要检查的 bug (issue#40678, pr#28904, Enming Zhang)
rgw: 修复 RGWCache 中共享锁的解锁 (pr#29558, Abhishek Lekshmanan)
rgw: 修复 RGWDataChangesLog 中共享锁的解锁 (pr#29538, Casey Bodley)
rgw: 修复上传部分复制范围能够获取几乎所有字符串的问题 (pr#32487, Or Friedmann)
rgw: 修复桶链接步骤中的版本跟踪 (pr#29851, Matt Benjamin)
rgw: 修复使用 radosgw-admin zone rm 时无法识别的参数错误 (pr#30060, Hongang Chen)
rgw: 与 omap offload 和 gc 相关的修复 (pr#33372, Pritha Srivastava)
rgw: 用户重命名后的后续操作 (pr#29540, Casey Bodley)
rgw: 转发了一些请求到 master 区域 (pr#28276, Chang Liu)
rgw: gc 在所有子 IO 完成后删除标签 (issue#40903, pr#29199, Tianshan Qu)
rgw: 获取 barbican 密钥请求可能返回错误代码 (pr#29639, Richard Bai(白学余))
rgw: 在 start_sync 中获取 elastic search 信息,避免创建新的协程管理器 (pr#32269, Chang Liu)
rgw: radosgw-admin 和 cls 后端中 reset stats 操作的内务管理 (pr#29515, J. Eric Ivancich)
rgw: http 客户端在暂停协程之前释放锁 (pr#33757, Casey Bodley)
rgw: iam: 将所有 http 参数添加到 req_info (pr#31124, Abhishek Lekshmanan)
rgw: iam: 使用函数计算 Action Bit 字符串 (pr#30152, Abhishek Lekshmanan)
rgw: 如果 If-Match 存在,则忽略 If-Unmodified-Since,如果 If-None-Match 存在,则忽略 If-Modified-Since (pr#28625, zhang Shaowen)
rgw: 改进 beast (pr#33017, Or Friedmann, Matt Benjamin)
rgw: 改进失败后数据同步重启 (pr#30175, Tianshan Qu)
rgw: 改进 RGWRados::cls_bucket_head 路径上的调试 (pr#12709, Radoslaw Zarzynski)
rgw: 改进 SSE-KMS 和 Vault (pr#31025, Andrea Baglioni, Sergio de Carvalho)
rgw: 改进跨项目 (租户) 访问 Openstack Keystone 的文档 (pr#27507, Pritha Srivastava)
rgw: 处理 CORS 头部时返回值不正确 (pr#28622, Ilsoo Byun)
rgw: 在桶策略中错误调用 ceph::buffer::list::decode_base64 (pr#31356, GaryHyg)
rgw: 增加 beast 解析缓冲区大小至 64k (pr#29776, Casey Bodley)
rgw: 增加相同或更旧的周期拉取消息的日志级别 (pr#33527, Ali Maredia)
rgw: 增加默认 RGW 桶分片数量 (pr#32660, Casey Bodley, Mark Nelson)
rgw: init-radosgw: 使用 ceph-conf 获取集群配置值 (pr#27538, Daniel Badea)
rgw: 初始化 rgw_sync.h, rgw_rados.h 中的成员变量 (pr#16929, amitkuma)
rgw: 初始化 rgw_log_entry 的成员变量 (pr#32430, Kefu Chai)
rgw: 杀死 rgw_object_lock.h 中的编译警告 (pr#30489, Chang Liu)
rgw: LC 过期头部应呈现午夜过期日期 (pr#31887, Or Friedmann)
rgw: lc: 在处理转换之前检查有效的放置目标 (pr#28256, Abhishek Lekshmanan)
rgw: LC: 处理重新分片的桶 (pr#26564, Abhishek Lekshmanan)
rgw: ldap auth: S3 身份验证失败应返回 InvalidAccessKeyId (pr#30332, Matt Benjamin)
rgw: ldap: 修复 LDAPAuthEngine::init() 当 uri 不为空时 (pr#26911, Matt Benjamin)
rgw: 生命周期天数可以为 0 (pr#26524, Matt Benjamin)
rgw: lifecycle: prefix_map 冲突的替代解决方案 (issue#37879, pr#26518, Matt Benjamin)
rgw: 限制 remove_olh_pending_entries() 中的条目 (issue#39118, pr#27400, Casey Bodley)
rgw: 列出桶: 如果 limit=0 则不返回桶 (pr#32109, Yehuda Sadeh)
rgw: list_bucket versions 返回 NextVersionIdMarker = null 如果 next_marker.instance 为空 (pr#17591, Shasha Lu)
rgw: putobj_processor 的日志重构 (pr#26107, Ali Maredia)
rgw: rgw_rest_s3/swift ops 的日志重构 (pr#27037, Ali Maredia)
rgw: 使 dns 主机名匹配不区分大小写 (issue#40995, pr#29380, Abhishek Lekshmanan)
rgw: 使 beast 中的 max_connections 可配置 (pr#33053, Tiago Pasqualini)
rgw: 使 rgw admin ops api 获取用户信息与命令行一致 (pr#26183, Li Shuhao)
rgw: 确保所有文件 modelines 都正确 (pr#29742, Daniel Gryniewicz)
rgw: 重新加载操作发生时可能发生 coredump (pr#29733, Richard Bai(白学余))
rgw: 元数据重构 (pr#29118, Casey Bodley, Yehuda Sadeh)
rgw: mgr/ansible: 更改默认 realm 和 zonegroup (pr#29793, Sebastian Wagner)
rgw: mgr/dashboard: 在 RGW 桶上启用/禁用 MFA 删除 (pr#31922, Alfonso Martxc3xadnez)
rgw: mgr/orchestrator: 按 client.rgw.$realm.$zone[.$id] 命名 rgw (pr#31890, Sage Weil)
rgw: 缓解 max-entries 过高导致的桶列表问题 (pr#29179, J. Eric Ivancich)
rgw: 将桶重新分片检查移出写入路径 (pr#29852, Casey Bodley)
rgw: 将基于分隔符的桶列表/过滤逻辑移至cls (pr#30272, J. Eric Ivancich)
rgw: 即使有许多rgw.none索引,也要向前移动标记 (pr#32513, Ilsoo Byun)
rgw: 将upload_info声明移出条件语句 (pr#29559, Adam C. Emerson)
rgw: 多部分上传中止是尽力而为的 (issue#40526, pr#28724, J. Eric Ivancich)
rgw: MultipartObjectProcessor支持条带大小 > 块大小 (pr#32996, Casey Bodley)
rgw: 多站点日志修剪只检查从我们这里同步的对等体 (issue#39283, pr#27567, Casey Bodley)
rgw: nfs: 跳过空(非POSIX)路径段 (issue#38744, pr#26954, Matt Benjamin)
rgw: nfs: svc-enable RGWLi (pr#26981, Matt Benjamin)
rgw: 为beast前端规范化v6端点行为 (issue#39038, pr#27270, Abhishek Lekshmanan)
rgw: 对象过期器修复 (pr#27870, Abhishek Lekshmanan)
rgw: 对象标签不应与删除标记或多部分过期一起使用 (issue#40405, pr#28617, zhang Shaowen)
rgw: 当重新分片桶时,一个日志分片失败不应阻止其他分片进程 (pr#31155, zhangshaowen)
rgw: 一个Rados句柄统治一切 (pr#27102, Adam C. Emerson)
rgw: 孤儿修复 (pr#26412, Abhishek Lekshmanan)
rgw: parse_copy_location推迟url-decode (issue#27217, pr#25498, Casey Bodley)
rgw: perfcounters: 添加gc回收计数器 (pr#26351, Matt Benjamin)
rgw: 允许rgw-admin通过access-key填充用户信息 (pr#28331, Matt Benjamin)
rgw: Policy在assume_role时应该进行url_decode (pr#28704, yuliyang)
rgw: 前缀-分隔符列表: 支持 >1个字符的分隔符 (pr#26863, Matt Benjamin)
rgw: 如果桶正在重新分片,则阻止桶重新分片调度 (pr#30610, J. Eric Ivancich)
rgw: 防止LC在对象转换时读取陈旧的头部 (pr#31214, Ilsoo Byun)
rgw: 从GET/HEAD和PUT操作中投影并返回lc过期时间 (pr#26160, Matt Benjamin)
rgw: Project Zipper - 桶 (pr#31436, Daniel Gryniewicz)
rgw: Project Zipper - 桶列表 (pr#30619, Daniel Gryniewicz)
rgw: Project Zipper 第一部分 (pr#28824, Daniel Gryniewicz)
rgw: qa/suite/rgw/verify: 再次在centos上使用valgrind! (pr#32727, Sage Weil)
rgw: qa/tasks/s3tests_java: 移至gradle 6.0.1 (pr#32335, Sage Weil)
rgw: qa/tests: 更新用于测试的s3a hadoop版本 (pr#26100, Vasu Kulkarni)
rgw: qa: 从s3-tests的覆盖中删除force-branch (pr#32462, Ali Maredia)
rgw: qa: 更新s3-test任务的s3-test下载代码 (pr#31839, Ali Maredia)
rgw: 像埃及人一样排队 (pr#26461, Adam C. Emerson)
rgw: 重新分片与等待重新分片的操作之间的竞争条件 (issue#38990, pr#27223, J. Eric Ivancich)
rgw: radosgw-admin刷新用户统计输出 (pr#30669, Abhishek Lekshmanan)
rgw: radosgw-admin zone placement rm和radosgw-admin zonegroup placement rm支持--storage-class (pr#31239, yuliyang)
rgw: radosgw-admin: 在桶列表命令中添加--uid检查 (pr#30194, Vikhyat Umrao)
rgw: radosgw-admin: 全量同步期间桶同步状态未跟上 (issue#40806, pr#29094, Casey Bodley)
rgw: radosgw-admin: 修复桶同步状态中的syncs_from (issue#40022, pr#28243, Casey Bodley)
rgw: radosgw-admin: 同步状态显示最滞后的分片ID (pr#32311, Casey Bodley)
rgw: radosgw-admin: 更新max-concurrent-ios的帮助信息 (pr#30742, Paul Emmerich)
rgw: 有序桶列表期间减少每个分片的条目计数 (pr#30853, J. Eric Ivancich)
rgw: 拒绝桶标记请求并记录不支持 (pr#26952, Casey Bodley)
rgw: 放松es区域有效性检查 (pr#32290, jiahuizeng)
rgw: 释放未使用的回调参数 (pr#32669, Ilsoo Byun)
rgw: 移除RGWHandler_REST_Bucket_S3中重新定义的is_tagging_op (pr#29004, zhang Shaowen)
rgw: 移除check_bucket_shards中未使用的桶参数 (pr#31186, zhang Shaowen)
rgw: 移除重新分片线程条目中未使用的last_run (pr#31150, zhangshaowen)
rgw: 用rgw_max_put_param_size替换COMPLETE_MULTIPART_MAX_LEN (issue#38002, pr#26070, Lei Liu)
rgw: 替换对ioctx.operate()的直接调用 (pr#28569, Ali Maredia)
rgw: ReplaceKeyPrefixWith和ReplaceKeyWith不能同时设置xe2x80xa6 (pr#32609, yuliyang)
rgw: 重新分片列表可能返回超过指定max_entries的条目 (pr#31355, zhangshaowen)
rgw: 修复云同步XML输出的rest客户端问题 (pr#27680, Abhishek Lekshmanan)
rgw: 如果锁定日志分片失败则返回错误 (pr#31344, zhangshaowen)
rgw: 在评估桶策略时提前返回ERR_NO_SUCH_BUCKET (issue#38420, pr#26569, Abhishek Lekshmanan)
rgw: rgw : 桶移动、桶所有者更改和用户重命名工具 (issue#35885, issue#24348, pr#28813, Shilpa Jagannath, Marcus Watts)
rgw: rgw admin: 为reshard cancel添加租户参数 (pr#26887, Abhishek Lekshmanan)
rgw: rgw admin: 在多站点环境中禁用陈旧实例删除 (pr#26852, Abhishek Lekshmanan)
rgw: rgw multisite: 为数据同步添加性能计数器 (issue#38549, pr#26722, Casey Bodley)
rgw: rgw multisite: 避免在PREPARE和CANCEL时写入bilog条目 (pr#26755, Casey Bodley)
rgw: rgw multisite: 数据同步检查datalog的空next_marker (issue#39033, pr#27276, Casey Bodley)
rgw: rgw multisite: 为增量数据同步强制执行生成窗口 (pr#32534, Casey Bodley)
rgw: rgw multisite: 并发版本创建的修复 (pr#31325, Casey Bodley)
rgw: rgw/kafka: 为kafka添加ssl+sasl安全性 (pr#31834, Yuval Lifshitz)
rgw: rgw/multisite: 不允许某些radosgw-admin命令在非主区域上运行 (issue#39548, pr#28861, Shilpa Jagannath)
rgw: rgw/multisite: 如果在非主区域上运行桶所有者更改命令则发出警告 (pr#32932, Shilpa Jagannath)
rgw: rgw/multisite: RGWListBucketIndexesCR用于数据全量同步分页 (issue#39551, pr#28146, Shilpa Jagannath)
rgw: rgw/notification: 添加不透明数据 (pr#32723, Yuval Lifshitz)
rgw: rgw/pubsub: 添加kafka通知端点 (pr#30960, Yuval Lifshitz)
rgw: rgw/pubsub: 修复更新文档。修复多通知 (pr#27931, Yuval Lifshitz, Casey Bodley)
rgw: rgw/pubsub: 修复记录/事件json格式以匹配文档 (pr#31926, Yuval Lifshitz)
rgw: rgw/pubsub: 更好地处理订阅配置错误 (pr#27530, Yuval Lifshitz)
rgw: rgw/pubsub: 按对象标签过滤通知 (pr#31878, Yuval Lifshitz)
rgw: rgw/pubsub: 防止在没有消息时kafka线程旋转 (pr#31998, Yuval Lifshitz)
rgw: rgw/pubsub: 从多删除操作发送通知 (pr#32155, Yuval Lifshitz)
rgw: rgw/pubsub: 服务重新排序问题 (pr#29877, Yuval Lifshitz)
rgw: rgw/rgw_client_io_filters.h: 以可移植方式打印size_t (pr#28838, Kefu Chai)
rgw: rgw/rgw_crypt.cc: 消除-Wsign-compare GCC警告 (pr#29151, Kefu Chai)
rgw: rgw/rgw_main: 根据numa_node配置自动设置radosgws cpu亲和性 (pr#31001, luo rixin)
rgw: rgw/rgw_op: 通过遗留选项从热路径中移除get_val (pr#29943, Mark Nelson)
rgw: rgw/rgw_rados: 为omap池设置pg_autoscale_bias=4 (pr#27375, Sage Weil, Casey Bodley)
rgw: rgw/rgw_reshard: 不要在process_single_logshard中转储RGWBucketReshard JSON (pr#29894, Mark Nelson)
rgw: rgw/rgw_user: 添加[[maybe_unused]]以消除-Wunused-variable waxe2x80xa6 (pr#30035, Kefu Chai)
rgw: rgw/services: 消除-Wunused-variable警告 (pr#30063, Lan Liu)
rgw: RGW: 复制对象时添加桶权限验证 (pr#29628, NancySu05)
rgw: RGW: 修复显示使用情况时无限循环错误 (pr#30470, lvshuhua)
rgw: RGW: 设置适当的桶配额值(当配额值小于0时) (pr#30920, GaryHyg)
rgw: RGW:Listobjectsv2 (pr#28102, Albin Antony)
rgw: RGWCoroutine::call(nullptr)将retcode设置为0 (pr#29856, Casey Bodley)
rgw: rgwfile reqid: 吸收rgw_file: 为持续请求分配新id #25664 (issue#37734, pr#28108, Matt Benjamin, Tao Chen)
rgw: RGWPeriodPusher使用区域系统密钥进行区域组间消息传递 (issue#39287, pr#27576, Casey Bodley)
rgw: RGWSI_User_Module从用户列表中过滤掉.buckets对象 (pr#29695, Casey Bodley)
rgw: rgw_file: advance_mtime()应该考虑命名空间过期 (issue#40415, pr#28632, Matt Benjamin)
rgw: rgw_file: 所有目录就内容而言都是虚拟的 (issue#40204, pr#28451, Matt Benjamin)
rgw: rgw_file: 避免在空路径上使用string::front() (pr#32596, Matt Benjamin)
rgw: rgw_file: 不要在advance_mtime()中死锁 (pr#29560, Matt Benjamin)
rgw: rgw_file: 修复readdir eof()计算——调用者停止意味着!eof (issue#40375, pr#28565, Matt Benjamin)
rgw: rgw_file: 在哈希桶名称时包含租户 (issue#40118, pr#28370, Matt Benjamin)
rgw: rgw_file: 引入快速S3 Unix统计(不可变) (issue#40456, pr#28664, Matt Benjamin)
rgw: rgw_file: 允许lookup_handle查找root_fh (pr#28440, Matt Benjamin)
rgw: rgw_file: readdir: 不要用前导/构造标记 (pr#29670, Matt Benjamin)
rgw: rgw_file: 在setattr中保存etag和acl信息 (pr#26439, Tao Chen)
rgw: rgw_lc: 在编码RGW_ATTR_LC时使用新的bl (pr#28049, Abhishek Lekshmanan)
rgw: rgw_sync: 从mdlog中删除ENOENT错误日志 (pr#26908, Abhishek Lekshmanan)
rgw: s/std::map/boost::container::flat_map/ cls_bucket_list_ordered (pr#28637, Matt Benjamin)
rgw: S3兼容的pubsub API (pr#27091, Yuval Lifshitz)
rgw: s3: 在S3 put-object-acl中不需要body (pr#31987, Matt Benjamin)
rgw: 保存RGWEnv不必要的副本 (pr#28426, Mark Kogan)
rgw: 选择std::bitset来解决歧义 (pr#31126, Willem Jan Withagen)
rgw: 删除生命周期配置时两次设置桶属性 (pr#30862, zhang Shaowen)
rgw: 为追加设置正确的存储类 (pr#31088, yuliyang)
rgw: 为post对象上传设置正确的存储类 (pr#30956, yuliyang)
rgw: 设置空版本对象acl问题 (issue#36763, pr#25044, Tianshan Qu)
rgw: 重新分片桶时,分片数量必须是非负数 (pr#29037, zhang Shaowen)
rgw: 消除pubsu中-Wunused-function警告 (pr#27578, Casey Bodley)
rgw: 消除警告: 控制到达非void函数的末尾 (issue#40747, pr#28809, Jos Collin)
rgw: 将mdlog/datalog修剪拆分为单独的文件 (pr#27579, Casey Bodley)
rgw: sts: 将所有http args添加到req_info (pr#31661, yuliyang)
rgw: 支持列表桶多部分的编码类型参数 (pr#30993, Abhishek Lekshmanan)
rgw: 支持radosgw-admin zone/zonegroup placement get命令 (pr#30880, jiahuizeng)
rgw: 创建或修改用户时支持指定用户默认放置和放置标签 (pr#31185, yuliyang)
rgw: svc.bucket: 使用=分配给optional<> (pr#32433, Kefu Chai)
rgw: swift: bugfix: https://tracker.ceph.com/issues/37765 (pr#25962, Andrey Groshev)
rgw: 同步计数器: 从计数器名称中删除空格 (pr#27725, Abhishek Lekshmanan)
rgw: 与elastic search v7同步 (pr#29637, Chang Liu)
rgw: TempURL不应允许带有X-Object-Manifest的PUTs (issue#20797, pr#16659, Radoslaw Zarzynski)
rgw: test/rgw: 使用-DHAVE_BOOST_CONTEXT=OFF修复test_rgw_reshard_wait (pr#32811, Yaakov Selkowitz)
rgw: test: 修改iam测试以使用函数设置位 (pr#32808, Abhishek Lekshmanan)
rgw: tests: 修复-DWITH_BOOST_CONTEXT=OFF的构建 (pr#29430, Ulrich Weigand)
rgw: 删除桶的http响应代码不应为204-no-content (pr#30471, Chang Liu)
rgw: 通过get_bucket_info调用路径传递可选的yield上下文 (pr#27898, Ali Maredia)
rgw: 通过桶索引事务准备传递thread option_yield (pr#28152, Ali Maredia)
rgw: 在librgw中创建桶时意外崩溃 (pr#26089, Tao CHEN)
rgw: 通过admin rest api更新用户的op_mask (issue#39084, pr#21154, Ning Yao)
rgw: 重新分片期间更新多部分条目的哈希源 (pr#32617, dongdong tao)
rgw: 更新radosgw-admin重新分片状态 (issue#37615, pr#25496, Mark Kogan)
rgw: 重新分片文档的更新 (issue#39007, pr#27250, J. Eric Ivancich)
rgw: url decode PutUserPolicy参数 (pr#29578, Abhishek Lekshmanan)
rgw: 为List Objects响应的通用前缀进行url编码 (pr#30970, Abhishek Lekshmanan)
rgw: 使用dump_unsigned而不是dump_int (pr#28308, yuliyang)
rgw: 在dump_usage_categories_info中使用dump_unsigned而不是dump_int (pr#25808, yuliyang)
rgw: 使用桶实例信息中的桶创建时间 (pr#32180, Yehuda Sadeh)
rgw: 为boost::string_ref使用显式to_string()重载 (issue#39611, pr#28013, Casey Bodley)
rgw: 为桶同步禁用特殊处理使用新的Stopped状态 (pr#33054, Casey Bodley)
rgw: 使用STSEngine::authenticate在上传时带有x_amz_security_token (pr#31879, yuliyang)
rgw: 为pthread_setname使用兼容函数 (pr#27456, Willem Jan Withagen)
rgw: 用户策略: 将写请求转发到主区域 (pr#32476, Abhishek Lekshmanan)
rgw: vstart: 将[client.rgw]配置移到[client]中 (pr#29778, Casey Bodley)
rgw: vstart: 只在RGWDEBUG中添加--debug-ms=1 (pr#27409, Casey Bodley)
rgw: 警告潜在的不安全mon连接 (pr#33777, Yehuda Sadeh)
rgw: 重新分片时存储进度json (pr#30575, Mark Kogan)
rgw: 中止多部分上传请求时,配额可能未更新 (pr#29703, Richard Bai(白学余))
rgw: Zipper - RGWUser (pr#32298, Daniel Gryniewicz)
rgw: [RFC] rgw: 将默认rgw_bucket_index_max_aio提高到128 (pr#28558, Casey Bodley)
rgw: [rgw]:根据修订的s3规范验证桶名称 (pr#26787, Soumya Koduri)
seastar,crimson: 获取将套接字固定到固定核心的更改 (pr#32797, Kefu Chai)
seastar: 获取以获得更好性能的更改 (pr#28008, Kefu Chai)
seastar: 获取最新更改和清理 (pr#29942, Kefu Chai)
seastar: 获取最新的seastar (pr#28709, Kefu Chai)
seastar: 获取修复cgroups V2支持的更改 (pr#32978, Kefu Chai)
seastar: 获取最近的未来优化 (pr#32296, Radoslaw Zarzynski)
seastar: 获取unix域套接字支持 (pr#30578, Kefu Chai)
src/: 消除GCC警告 (pr#28684, Adam C. Emerson, Kefu Chai)
src/msg/async/net_handler.cc: 修复编译 (pr#31637, Carlos Valiente)
src/script/kubejacker: 修复并简化 (issue#39065, pr#27292, Sebastian Wagner)
src/script: 将mypy配置提取到mypy.ini (pr#28264, Alfonso Martínez)
src/telemetry: 移除,现在位于ceph-telemetry.git中 (pr#31170, Dan Mick)
src: 润色措辞 (pr#33224, Jun Su)
stop.sh: 添加--crimson选项 (pr#28676, Kefu Chai)
stop.sh: 除非集群已启动,否则不要尝试联系mon (pr#32295, Kefu Chai)
msg/async/rdma中支持不带SRQ的RDMA网卡 (pr#29947, Changcheng Liu, Roman Penyaev)
tasks/ceph_deploy: 为python3移除iteritems (pr#30791, Kyr Shatskyy)
telemetry: 使服务器补偿旧的mgr模块、elasticsearch (pr#27802, Dan Mick)
test/crimson: 修复与perf_async_msgr的互操作性 (pr#28913, Yingxin Cheng)
tests,tools: ceph-objectstore-tool: 调用collection_bits()在meta colxe2x80xa6上崩溃 (pr#31133, David Zafman)
tests,tools: ceph-objectstore-tool: 设置日志日期格式 (pr#29297, Robert Church)
tests,tools: tools/ceph-dencoder: 将types.h拆分为更小的部分 (issue#39595, pr#28359, Kefu Chai)
tests,tools: tools/setup-virtualenv.sh: 不默认使用python2.7 (pr#30379, Nathan Cutler)
tests: 添加缺失的cmath头文件到test/mon/test_mon_memory_target.cc (pr#30284, Su Yue)
tests: ceph-object-corpus: 获取15.0.0-539-g191ab33faf (pr#27867, Kefu Chai)
tests: cls/queue: 添加单元测试 (pr#33218, Yuval Lifshitz)
tests: 纠正了RBD测试在EL8发行版下的问题 (pr#32684, Jason Dillaman)
tests: crimson/net: 配置seastar以在固定核心上接受连接 (pr#32632, Yingxin Cheng)
tests: crimson/test: 添加基于CBT的性能测试 (pr#29612, Kefu Chai)
tests: crimson/test: v2故障转移测试与crimson FailoverTestPeer (pr#30162, Yingxin Cheng)
tests: crush, test: 更新编辑器变量 (pr#30537, Kefu Chai)
tests: fio_ceph_messenger: 通过使用虚拟认证赶上v2协议更改 (pr#27264, Roman Penyaev)
tests: import-generated.sh: 使用PATH获取ceph-dencoder (pr#27573, Changcheng Liu)
tests: 引入compiletest_cxx11_client以符合C++11标准 (pr#25395, Radoslaw Zarzynski)
tests: lvm/deactivate: 添加单元测试,移除--all (pr#32277, Jan Fajerski)
tests: mgr/dashboard: 为E2E测试提供自定义凭据的能力 (pr#33549, Alfonso Martínez)
tests: mgr/dashboard: 为未闭合HTML标签添加linter (issue#40686, pr#28916, Patrick Nawracay)
tests: mgr/dashboard: 将python-common添加到$PYTHONPATH (pr#29525, Kefu Chai)
tests: mgr/dashboard: 为Manager模块和Alerts菜单添加了面包屑测试 (pr#26853, Nathan Weinberg)
tests: mgr/dashboard: 为NFS菜单添加了面包屑测试 (pr#26850, Nathan Weinberg)
tests: mgr/dashboard: 为Object Gateway菜单项添加了面包屑测试 (pr#25451, Nathan Weinberg, Tiago Melo)
tests: mgr/dashboard: 注释掉失败的QA套件 (pr#30864, Tatjana Dehler)
tests: mgr/dashboard: 禁用pylints --py3k标志 (pr#30078, Ernesto Puerta)
tests: mgr/dashboard: E2E测试以验证配置编辑功能 (pr#29216, Adam King, Rafael Quintero)
tests: mgr/dashboard: 显式类型页面变量 (pr#29324, Adam King, Rafael Quintero)
tests: mgr/dashboard: 修复e2e主机测试 (pr#30377, Tiago Melo)
tests: mgr/dashboard: 修复用户集成测试中的现有问题 (pr#30789, Tatjana Dehler)
tests: mgr/dashboard: 修复Grafana单元测试中零星的请求/错误 (pr#33572, Patrick Seidensal)
tests: mgr/dashboard: 修复tasks.mgr.dashboard.test_rgw套件 (pr#33426, Alfonso Martínez)
tests: mgr/dashboard: 修复测试以匹配pg num约定 (pr#31906, Tatjana Dehler)
tests: mgr/dashboard: 改进e2e脚本 (pr#29101, Valentin Bajrami)
tests: mgr/dashboard: RBD镜像清除回收站、移至回收站和恢复 (pr#29673, Adam King, Rafael Quintero)
tests: mgr/dashboard: 重新激活仪表板测试套件 (pr#32005, Tatjana Dehler)
tests: mgr/dashboard: 通过TableActionComponent单元测试减少代码重复 (issue#40399, pr#28633, Patrick Nawracay)
tests: mgr/dashboard: 创建venv后恢复工作目录 (pr#32371, Kefu Chai)
tests: mgr/dashboard: RGW桶E2E测试 (pr#28999, Adam King, Rafael Quintero)
tests: mgr/dashboard: RGW用户E2E测试 (pr#29237, Adam King, Rafael Quintero)
tests: mgr/dashboard: 将portal_ip_addresses作为列表 (pr#28495, Kefu Chai)
tests: mgr/dashboard: 更新e2e测试文件格式 (pr#29070, Adam King, Rafael Quintero)
tests: mgr/dashboard: 更新现有E2E测试以匹配新格式 (pr#27408, Nathan Weinberg)
tests: mgr/dashboard: 验证配置页面上的字段 (pr#29583, Adam King, Rafael Quintero)
tests: mgr/dashboard: 验证OSDs页面上的字段 (pr#29447, Adam King, Rafael Quintero)
tests: mgr/dashboard: 等待iSCSI目标放置和删除 (pr#30588, Ricardo Marques)
tests: mgr/dashboard: 为池创建、删除和验证编写E2E测试 (issue#40693, issue#38093, pr#28928, Patrick Nawracay)
tests: mgr/orch: 在pickle无法封送异常时更努力地尝试 (pr#33701, Kefu Chai)
tests: mgr/ssh: 添加make check集成 (pr#31523, Sebastian Wagner)
tests: mgr/tox: 使run-tox.sh脚本更健壮 (issue#39323, pr#27614, Nathan Cutler)
tests: osd-backfill-space.sh测试在TEST_backfill_multi_partial()中失败 (issue#39333, pr#27769, David Zafman)
tests: pybind/mgr: apply_drivegroups应返回Sequence[Completion] (pr#33977, Kefu Chai)
tests: python: 将mypy要求固定到mypy==0.770 (pr#33926, Sebastian Wagner)
tests: qa.tests: 将smoke套件添加到mimic,nautilus的调度中 (pr#28479, Yuri Weinstein)
tests: qa/ceph-ansible: 禁用仪表板 (pr#29916, Brad Hubbard)
tests: qa/ceph-ansible: 移至ansible 2.8 (issue#40602, pr#28803, Brad Hubbard)
tests: qa/ceph-ansible: 移至Nautilus (pr#27013, Brad Hubbard)
tests: qa/ceph-ansible: 用pg_num替换pgs (issue#40605, pr#28807, Brad Hubbard)
tests: qa/ceph-ansible: 升级ansible版本 (pr#33379, Brad Hubbard)
tests: qa/cephadm/smoke: 在opensuse_15.1上运行 (pr#33338, Nathan Cutler)
tests: qa/crontab/teuthology-cronjobs: 修复suite-branch (pr#27140, Neha Ojha)
tests: qa/distros/all: 添加openSUSE 15.1,删除openSUSE 12.2 (pr#30597, Nathan Cutler)
tests: qa/distros: 添加SLE-12-SP3和SLE-15-SP1 (pr#31112, Nathan Cutler)
tests: qa/orchestrator: 不测试mon update 3 host1 (pr#32023, Sage Weil, Kefu Chai)
tests: qa/standalone/ceph-helpers: 在等待健康状态之前复活所有OSD (pr#28328, Kefu Chai)
tests: qa/standalone/test_ceph_daemon: 修复ceph daemon独立测试 (pr#31440, Thomas Bechtold)
tests: qa/suites/krbd: 带有对象映射和快速差异的fsx (pr#32376, Ilya Dryomov)
tests: qa/suites/rados/cephadm/upgrade: 添加简单升级测试 (pr#33343, Sage Weil)
tests: qa/suites/rados/cephadm: 部署所有监控组件 (pr#33785, Sage Weil)
tests: qa/suites/rados/perf/objectstore: 不符号链接到qa/objectstore (pr#30309, Neha Ojha)
tests: qa/suites/rados/perf: 测试最小推荐osd_memory_target (pr#30347, Neha Ojha)
tests: qa/suites/rados: 白名单POOL_APP_NOT_ENABLED警告 (pr#29763, Kefu Chai)
tests: qa/suites/upgrade/nautilus-x/parallel: 在mons之前重启mgr.x (pr#33705, Neha Ojha)
tests: qa/suites/upgrade: 使用正确的分支名称 (pr#27764, Neha Ojha)
tests: qa/suites: 不测试luminous-x升级路径 (pr#27112, Kefu Chai)
tests: qa/tasks/cbt.py: 添加对client_endpoints的支持 (pr#28522, Neha Ojha)
tests: qa/tasks/cbt.py: 更改端口以与client_endpoints一起工作 (pr#28442, Neha Ojha)
tests: qa/tasks/cbt.py: 使用git --depth 1以更快克隆 (pr#29597, Kefu Chai)
tests: qa/tasks/ceph.py: 在命令行中引用<kind> (pr#33775, Kefu Chai)
tests: qa/tasks/ceph.py: 移除未使用的变量 (pr#31005, Kefu Chai)
tests: qa/tasks/ceph2: 添加对shell、打包ceph-daemon的支持 (pr#31891, Sage Weil)
tests: qa/tasks/cephfs_test_runner: setattr到类而不是实例 (pr#32571, Kefu Chai)
tests: qa/tasks/ceph_deploy: 假定systemd并简化关机怪异行为 (pr#29030, Sage Weil)
tests: qa/tasks/ceph_deploy: 为py3测试安装python3.6而不是python3.4 (pr#27504, Kefu Chai)
tests: qa/tasks/ceph_manager.py: 忽略test_pool_min_size中的错误 (issue#40533, pr#28731, Kefu Chai)
tests: qa/tasks/ceph_manager: 捕获COT的stderr (pr#33805, Kefu Chai)
tests: qa/tasks/ceph_manager: 如果缺少pg_num_target则不惊慌 (pr#30973, Kefu Chai)
tests: qa/tasks/ceph_manager: 如果没有池则不选择池 (pr#32519, Kefu Chai)
tests: qa/tasks/mgr/dashboard/test_health: 在mgr_map中添加allow_unknown (pr#30517, Kefu Chai)
tests: qa/tasks/mgr/dashboard/test_health: 为test_full_health添加缺失的字段 (pr#29615, Kefu Chai)
tests: qa/tasks/mgr/dashboard/test_health: 更新schema (pr#32122, Tatjana Dehler)
tests: qa/tasks/mgr/dashboard/test_mgr_module: 与telemetry同步 (pr#29461, Kefu Chai)
tests: qa/tasks/mgr/dashboard: 将pg_num设置为16 (pr#32575, Kefu Chai)
tests: qa/tasks/mgr/test_orchestrator_cli: 修复mon更新测试 (pr#32428, Kefu Chai)
tests: qa/tasks/mgr/test_orchestrator_cli: 修复服务操作测试 (pr#32518, Kefu Chai)
tests: qa/tasks/mgr/test_orchestrator_cli: 修复test_host_ls (pr#33477, Sage Weil)
tests: qa/tasks/mgr/test_progress.py: 修复9b4dbf0中的错误 (pr#29385, Kamoltat (Junior) Sirivadhna)
tests: qa/tasks/mgr/test_progress.py: s/ev/new_event/ (issue#40618, pr#29368, Kefu Chai)
tests: qa/tasks/mgr: 使用--force设置mgr模块选项 (pr#32588, Kefu Chai)
tests: qa/tasks/vstart_runner: 将字符串写入StringIO (pr#32438, Kefu Chai)
tests: qa/tasks: 调用父类的setUp() (pr#33325, Kefu Chai)
tests: qa/tasks: py3兼容性(rados套件执行的任务) (pr#33709, Kyr Shatskyy, Kefu Chai)
tests: qa/tasks: 为py3兼容性使用items() (pr#30813, Kyr Shatskyy)
tests: qa/tests: 仅过滤trusty (issue#40195, pr#28439, Yuri Weinstein)
tests: qa/tests: 在主分支运行中添加了mimic-x (pr#29428, Yuri Weinstein)
tests: qa/tests: 添加了nautilus-p2p到cron (pr#27218, Yuri Weinstein)
tests: qa/tests: 添加了nautilus-x运行 (pr#27252, Yuri Weinstein)
tests: qa/tests: 为jewel、luminous、mimic添加了新的client-upgrade-*-nautilus套件 (pr#28067, Yuri Weinstein)
tests: qa/tests: 添加了ragweed覆盖到stress-split\*升级套件 (issue#40467, issue#40452, pr#28931, Yuri Weinstein)
tests: qa/tests: 添加了ragweed覆盖到stress-split\*升级套件 (issue#40467, issue#40452, pr#28932, Yuri Weinstein)
tests: qa/tests: 将rgw添加到升级序列以提高覆盖率 (pr#29406, Yuri Weinstein)
tests: qa/tests: 将运行的发行版减少到随机 (pr#28435, Yuri Weinstein)
tests: qa/tests: 减少了luminous和mimic运行的频率 (pr#27057, Yuri Weinstein)
tests: qa/tests: 删除了luminous的所有运行 - EOL (pr#33186, Yuri Weinstein)
tests: qa/tests: 删除了upgrade/client-upgrade-hammer因为ubuntu 14.04 xe2x80xa6 (pr#28518, Yuri Weinstein)
tests: qa/tests: 删除了1node和systemd测试,因为ceph-deploy不再积极开发 (issue#40207, issue#40208, pr#28455, Yuri Weinstein)
tests: qa/valgrind.supp: 概括aes-128-gcm的白名单规则以帮助rgw套件 (issue#38827, pr#28305, Radoslaw Zarzynski)
tests: qa/workunits/cephadm/test_cephadm: 移除零散的exit 0 (pr#32622, Sage Weil)
tests: qa/workunits/cephtool/test.sh: 少量修复 (pr#31689, Kefu Chai)
tests: qa/workunits/mon/config.sh: s|bin/ceph|ceph| (pr#27147, Kefu Chai)
tests: qa/workunits/rados/test_crash.sh: 不删除coredump (pr#32883, Kefu Chai)
tests: qa/workunits/rados/test_envlibrados_for_rocksdb: 适应rocksdb cxe2x80xa6 (pr#32143, Kefu Chai)
tests: qa/workunits/rados/test_envlibrados_for_rocksdb: 安装更新的cmake (pr#29584, Kefu Chai)
tests: qa/workunits/rados/test_librados_build.sh: 从当前分支下载 (pr#31693, Kefu Chai)
tests: qa/workunits/rados/test_librados_build.sh: 安装构建依赖 (pr#28484, Kefu Chai)
tests: qa/workunits/rest: 更好地检测rest url (pr#26604, Brad Hubbard)
tests: qa: 添加.qa链接 (pr#32363, Patrick Donnelly)
tests: qa: 为qa目录添加基本的mypy支持 (pr#32495, Thomas Bechtold)
tests: qa: 添加设备输出schema的路径 (pr#32427, Kefu Chai)
tests: qa: 添加RHEL 7.7并用作RHEL7默认值 (pr#29908, Patrick Donnelly)
tests: qa: 使用ceph-deploy工具更正zap disk (pr#31312, Changcheng Liu, Alfredo Deza)
tests: qa: 发行版帮助程序符号链接 (pr#28371, Patrick Donnelly)
tests: qa: 为RHEL8启用CRB repo (pr#32426, Kefu Chai)
tests: qa: 启用仪表板测试与--suite rados/dashboard一起运行 (pr#30434, Nathan Cutler)
tests: qa: 启用flake8 tox并修复失败 (pr#32129, Thomas Bechtold)
tests: qa: 修复所有调用fsx.sh的yaml文件以安装依赖项 (pr#33959, Greg Farnum)
tests: qa: 修复遗留的ceph-mgr-ssh -> ceph-mgr-cephadm引用 (pr#32250, Sage Weil)
tests: qa: 为py3兼容性移除iterkeys (pr#30873, Kyr Shatskyy)
tests: qa: kernel.sh: 更新只读更改 (pr#31773, Ilya Dryomov)
tests: qa: krbd_exclusive_option.sh: 修复json.tool排序更改 (pr#32358, Ilya Dryomov)
tests: qa: krbd_exclusive_option.sh: 更新最近的内核更改 (pr#32088, Ilya Dryomov)
tests: qa: rbd_workunit_suites_fsx: 安装构建依赖项 (pr#33412, Ilya Dryomov)
tests: qa: 在opensuse 15.2而不是15.1上运行cephadm/smoke (pr#33535, Nathan Cutler)
tests: qa: 更新krbd测试以支持python3 (pr#31968, Ilya Dryomov)
tests: qa: 更新krbd_blkroset.t并添加krbd_get_features.t (pr#31771, Ilya Dryomov)
tests: qa: 白名单FS_DEGRADED (pr#32549, Kefu Chai)
tests: 移除多余的空格 (pr#33848, Milind Changire)
tests: Revert qa/tasks/cbt: 暂时在ubuntu上包含py2依赖项 (pr#32512, Kefu Chai)
tests: script/run-cbt.sh: 添加对ceph-osd测试的支持 (pr#30811, Radoslaw Zarzynski)
tests: script/run-cbt.sh: 始终使用python3 (pr#30321, Kefu Chai)
tests: script/run-cbt.sh: 正确检查选项 (pr#30287, Kefu Chai)
tests: script/run-cbt.sh: 为seastar设置fs.aio-max-nr (pr#31667, Kefu Chai)
tests: script/run_mypy: 支持mypy 0.740 (pr#31192, Sebastian Wagner)
tests: script/run_tox.sh: 如果有python3则不使用python2 (pr#31751, Kefu Chai)
tests: selinux: 更新RHEL8的策略 (pr#28290, Boris Ranto)
tests: src/test, qa/suites/rados/thrash: 添加dedup测试 (pr#28983, Myoungwon Oh)
tests: src/test/compressor: 添加缺失的gtest (pr#33731, Willem Jan Withagen)
tests: src/test: 修复为测试分块对象创建两个不同对象的问题 (issue#39282, pr#27667, Myoungwon Oh)
tests: src/valgrind.supp: 替换为teuthologys文件。白名单OpenSSL (pr#27265, Radoslaw Zarzynski)
tests: tasks/ceph: 在skeleton_config中删除testdir替换 (pr#30829, Kyr Shatskyy)
tests: tasks/ceph: 为python3移除iteritems (pr#30792, Kyr Shatskyy)
tests: test/bench_log: 添加使用函数 (pr#31723, Xuqiang Chen)
tests: test/bufferlist.cc: 编码/解码int64_t而不是long (pr#29881, Alexandre Oliva)
tests: test/cli/ceph-conf: 修复测试 (pr#28818, Kefu Chai)
tests: test/cli: 使ceph-conf测试更自由 (pr#29405, Willem Jan Withagen)
tests: test/common/test_util: 如果/etc/os-release不存在则跳过 (pr#27927, Kefu Chai)
tests: test/crimson/: 为每个测试使用256M内存和1个cpu核心 (pr#29152, Kefu Chai)
tests: test/crimson/perf_async_msgr: 移除未使用的头文件 (pr#28707, Jianpeng Ma)
tests: test/crimson: 添加acceptable section到测试中 (pr#30315, Kefu Chai)
tests: test/crimson: 为ceph::net::Socket添加单元测试 (pr#28623, Yingxin Cheng)
tests: test/crimson: cbt测试执行随机读取而不是顺序读取 (pr#30794, Radoslaw Zarzynski)
tests: test/crimson: 修复编译器错误 (pr#27883, Jianpeng Ma)
tests: test/crimson: 修复unittest_seastar_monc的构建 (pr#27515, Kefu Chai, Yingxin Cheng)
tests: test/crimson: 修复FTBFS (pr#28902, Kefu Chai)
tests: test/crimson: 修复ref计数器竞争的msgr测试 (issue#36405, pr#28362, Yingxin Cheng)
tests: test/crimson: 为crimson msgr测试实现远程异步TestPeer (pr#31156, Yingxin Cheng)
tests: test/crimson: 改进了带有计时器和采样延迟的perf_crimson_msgr (pr#28542, Yingxin Cheng)
tests: test/crimson: 在perf_crimson/async_server中包含写入 (pr#27429, Yingxin Cheng)
tests: test/crimson: 降低cbt测试的标准 (pr#30458, Kefu Chai)
tests: test/crimson: 暂时移除unittest_seastar_socket (pr#32720, Kefu Chai)
tests: test/crimson: 更新以适应Dispatcher更改 (pr#27093, Kefu Chai)
tests: test/crimson: 带有ack/keepalive的v2故障转移测试 (pr#30803, Yingxin Cheng)
tests: test/crimson: 使用不同的策略验证msgr v2行为 (pr#30925, Yingxin Cheng)
tests: test/erasure-code: 为k & m添加异常处理 (pr#30087, Hang Li)
tests: test/fio/fio_ceph_messenger: 在同一主机上执行多客户端 (pr#28464, Jianpeng Ma)
tests: test/fio: 修复编译器错误 (pr#27880, Jianpeng Ma)
tests: test/fio: 引入fio ioengine: fio_ceph_messenger (pr#24678, Roman Penyaev)
tests: test/kv_store_bench: 修复双重释放错误 (pr#32439, Xuqiang Chen, luo rixin)
tests: test/librados: 避免测试用例执行后残余的crush rule (issue#40970, pr#29341, Bingyi Zhang)
tests: test/librados: 使用AioCompletion::release()释放AioCompletion (pr#30204, Kefu Chai)
tests: test/librados: 使用GTEST_SKIP()跳过测试 (pr#32770, Kefu Chai)
tests: test/msgr: 修复使用DPDK协议栈时ComplexTest失败 (pr#31910, Chunsong Feng)
tests: test/msgr: 使ceph_perf_msgr_client/server工作 (pr#28842, Jianpeng Ma)
tests: test/objectstore: 消除-Wsign-compare警告 (pr#27750, Kefu Chai)
tests: test/old: 移除陈旧测试 (pr#29124, Kefu Chai)
tests: test/pybind/test_ceph_argparse.py: 池创建的pg_num现在可选 (pr#30535, xie xingguo)
tests: test/python: 移除陈旧测试 (pr#29413, Kefu Chai)
tests: test/TestOSDScrub: 修复mktime()错误 (pr#33430, luo rixin)
tests: test/test_socket: 修复dispatch_sockets()意外异常 (pr#33482, luo rixin)
tests: test/test_weighted_shuffle: 增大epsilon (pr#27181, Kefu Chai)
tests: test/unittest_bluefs: 始终移除临时bdev文件 (pr#29676, Kefu Chai)
tests: test/venv: 对于tox测试不硬编码py2.7 (pr#29761, Willem Jan Withagen)
tests: test: 添加flush_pg_stats以避免与获取num_shards_repaired的竞争 (pr#33776, David Zafman)
tests: test: 添加#include <array> (pr#27455, Willem Jan Withagen)
tests: test: 允许分数毫秒使测试成为可能 (pr#30220, David Zafman)
tests: test: 不包含不必要的头文件 (pr#30065, Kefu Chai)
tests: test: 如果boost::spirit >= 1.72,则不测试unicode (pr#32388, Willem Jan Withagen)
tests: test: 期望误差不超过2,并确保所有PG都是active+clean (pr#33566, David Zafman)
tests: test: 修复ceph_objectstore_tool.py测试失败 (pr#33593, David Zafman)
tests: test: 修复osd重启和擦洗时的竞争条件 (pr#32039, David Zafman)
tests: test: 修复ceph_test_osd_stale_read.cc中未使用的断言变量 (pr#32789, Radoslaw Zarzynski)
tests: test: 修复wait_for_state()以等待PG进入某个状态 (pr#32628, David Zafman)
tests: test: 如果注入套接字故障,则忽略OSD_SLOW_PING_TIME\* (pr#30714, David Zafman)
tests: test: 将bluestore相关代码移至WITH_BLUESTORE下 (pr#31335, Willem Jan Withagen)
tests: test: 移除centos7的Dockerfile并添加centos8的Dockerfile (pr#33452, Kefu Chai)
tests: test: 移除rgw测试中无用的ASSERT_XXX宏 (pr#30062, Zhi Zhang)
tests: test: 消除警告未使用的变量nvme (pr#33650, Jos Collin)
tests: test: 更新pg日志测试以适应新的修剪行为 (pr#32945, David Zafman)
tests: 使用python3兼容的print (pr#30758, Kyr Shatskyy)
tests: vstart.sh: 确保mkdir成功 (pr#30005, Willem Jan Withagen)
test_alien_echo: 更新为使用crimson::命名空间 (pr#31135, Samuel Just)
test_cephadm.sh: 将--fsid传递给shell命令 (pr#32389, Sage Weil)
test_cephadm: 为ceph命令使用容器shell (pr#32627, Michael Fritch)
tools: 在rados listomapkeys中添加maxread (pr#30637, lvshuhua)
tools: 添加ceph级不可变对象缓存守护进程 (pr#25545, Yuan Zhou, Dehao Shang)
tools: backport-create-issue: 在过度打印前刷新行 (pr#31688, Nathan Cutler)
tools: backport-create-issue: 从文件中读取redmine密钥 (pr#31533, Tiago Melo)
tools: backport-create-issue: 如果所有回溯已解决/拒绝则解决父级 (pr#30752, Nathan Cutler)
tools: backport-create-issue: 仅在父级有回溯问题时解决父级 (pr#31753, Nathan Cutler)
tools: backport-resolve-issue: 缩小正则表达式并从文件中读取密钥/令牌 (pr#31594, Nathan Cutler)
tools: backport-resolve-issue: 填充tracker_description方法 (pr#33105, Nathan Cutler)
tools: backport-resolve-issue: 识别Target版本已填充并修剪重复的URL (pr#31247, Nathan Cutler)
tools: backport-resolve-issue: 解决多个回溯问题 (pr#30988, Nathan Cutler)
tools: backport-resolve-issue: 使用Basic Authentication而不是access_token (pr#33173, Nathan Cutler)
tools: build-integration-branch: 不在现有分支上失败 (pr#33093, Sage Weil)
tools: build-integration-branch: 按时间顺序获取PRs (pr#31132, Nathan Cutler)
tools: ceph-backport.sh: 允许用户显式指定--fork (pr#31734, Nathan Cutler)
tools: ceph-backport.sh: 自动设置里程碑和组件标签,实现--version选项 (pr#30725, Nathan Cutler)
tools: ceph-backport.sh: 挑选单个提交 (pr#30097, Jan Fajerski)
tools: ceph-backport.sh: 修复设置例程 (pr#33456, Nathan Cutler)
tools: ceph-backport.sh: 使用--existing-pr猜测组件 (pr#31419, Nathan Cutler)
tools: ceph-backport.sh: 实现--milestones功能和更仔细的审查 (pr#30879, Nathan Cutler)
tools: ceph-backport.sh: 实现交互式设置例程和新选项 (pr#31366, Nathan Cutler)
tools: ceph-backport.sh: 使用Basic Authentication而不是access_token (pr#33182, Nathan Cutler)
tools: ceph-conf: 添加--show-config-value到使用说明 (pr#29981, James McClune)
tools: ceph-crash: 使用open(..,r)为Python3读取字节 (issue#40781, pr#29053, Dan Mick)
tools: ceph-daemon: ExecStart=/bin/bash脚本 (pr#31319, Sage Weil)
tools: ceph-daemon: 修复output_pub_ssh_key参数中的拼写错误 (pr#31337, John McGowan)
tools: ceph-daemon: 修复旧版配置的ls命令 (pr#31329, Michael Fritch)
tools: ceph-monstore-tool: 重建monstore时打印caps (pr#27340, Kefu Chai)
tools: ceph-objectstore-tool: 如果incmap正常则返回0 (pr#29704, Kefu Chai)
tools: ceph-objectstore-tool: update-mon-db: 如果incmap缺失则不失败 (pr#29571, Kefu Chai)
tools: ceph.in: 修复详细打印 (pr#29486, luo.runbing)
tools: cls: 将timeindex类型添加到ceph-dencoder (pr#27780, Abhishek Lekshmanan)
tools: github/codeowners: 添加ceph-volume (pr#31883, Jan Fajerski)
tools: github: 为指定的代码所有者审查添加CODEOWNERs (pr#29451, Ernesto Puerta)
tools: no-mon-config switch for ceph-objectstore-tool (pr#26717, Igor Fedotov)
tools: 锁定与Python2兼容的breathe版本 (pr#27721, Alfredo Deza)
tools: script/backport-create-issue: 添加--resolve-parent功能 (pr#29904, Nathan Cutler)
tools: script/backport-create-issue: 处理长Redmine问题名称 (pr#27887, Nathan Cutler)
tools: script/backport-resolve-issue: 更好的错误消息 (pr#30187, Nathan Cutler)
tools: script/backport-resolve-issue: 更好地处理跟踪器URL (pr#29950, Nathan Cutler)
tools: script/ceph-backport-sh: 将access_token参数添加到所有ghub api cxe2x80xa6 (pr#29261, Jan Fajerski)
tools: script/ceph-backport.sh: 添加准备功能 (pr#28446, Tiago Melo)
tools: script/ceph-backport.sh: 允许设置组件标签 (pr#29318, Tiago Melo)
tools: script/ceph-backport.sh: 允许用户指定远程repo (pr#27233, Kefu Chai)
tools: script/ceph-backport.sh: 将https贯彻到底 (pr#29743, Nathan Cutler)
tools: script/ceph-backport.sh: 修复git仓库验证 (pr#30398, Tiago Melo)
tools: script/ceph-backport.sh: 使脚本幂等 (pr#30106, Nathan Cutler)
tools: script/ceph-backport.sh: 使用安全访问tracker.ceph.com (pr#29438, Willem Jan Withagen)
tools: script/ceph-backport.sh: 全面重构 (pr#29957, Nathan Cutler)
tools: script/ceph-release-notes: 备用合并提交格式 (pr#27281, Nathan Cutler)
tools: script/ptl-tool: 更新python3 (pr#29095, Patrick Donnelly)
tools: script/run_mypy: 排序组 (pr#28225, Sebastian Wagner)
tools: script/run_tox.sh: 移除未使用的代码 (pr#30386, Kefu Chai)
tools: script/sepia_bt.sh: 移除陈旧脚本 (pr#29129, Kefu Chai)
tools: script: 添加backport-resolve-issue (pr#29797, Nathan Cutler)
tools: script: 在回溯脚本中启用nautilus (pr#26973, Nathan Cutler)
tools: script: 通过github API获取里程碑 (pr#27221, Lenz Grimmer)
tools: script: raw_input在py3中重命名为input (pr#30346, Patrick Donnelly)
tools: scripts/kubejacker: 修复centos的mgr_plugins目标 (pr#28078, Sebastian Wagner)
tools: scripts/run_mypy: 添加.gitignore (pr#27118, Sebastian Wagner)
tools: scripts: 为redmine使用https url (pr#29536, Patrick Donnelly)
工具: src/script/backport-create-issue: 实现 --force 选项 (pr#30571, Nathan Cutler)
工具: src/script/check_commands.sh: 修复 grep 正则表达式类范围 (pr#29161, Valentin Bajrami)
工具: src/script/unhexdump-C: 脚本,用于反转 hexdump -C 风格的 hexdump (pr#29098, Sage Weil)
工具: stop.sh: 使用 bash shell 解决语法错误 (pr#32263, luo rixin)
工具: tool/ceph-conf: s/global_pre_init()/global_init()/ (issue#7849, pr#29058, Kefu Chai)
工具: tool: ceph_monstore_tool: --readable=0 => --readable (pr#32265, simon gao)
工具: tools/ceph-kvstore-tool: 打印 db 统计信息 (pr#27162, Igor Fedotov)
工具: tools/osdmaptool.cc: 不使用已弃用的 std::random_shuffle() (pr#31990, Kefu Chai)
工具: tools/rados: 更新 advisory lock break 的用法,要求 --lock-cookie (pr#31348, Zhi Zhang)
工具: vstart.sh: 修复 CEPH_PORT 检查和清理 (pr#26782, Changcheng Liu, Kefu Chai)
工具: vstart: 添加 --inc-osd 选项 (pr#30512, xie xingguo)
工具: vstart: 添加新选项以将块设备列表传递给 bluestore (pr#27518, Jeff Layton)
工具: vstart: 修复获取具有相同前缀的 CMake 变量时的错误 (pr#31962, Kiefer Chang)
工具: vstart: 修复 rgw 的 run() 调用 (pr#28386, Casey Bodley)
更新 grafana 仪表板 (issue#39652, pr#28043, Jan Fajerski)
vstart.sh: 添加使用 crimson-osd 的选项 (pr#27108, chunmei Liu, Kefu Chai)
vstart.sh: 更正 ceph-run 路径 (pr#27968, Changcheng Liu)
vstart.sh: 修复从 ~/.ssh 安装 cephadm ssh 密钥的问题 (pr#33647, Sage Weil)
vstart.sh: 修复所有 extra_conf 合并到单行的问题 (pr#28586, Adam Kupczyk)
vstart.sh: 将 extra_seastar_args 上移到 vstart.sh 中 (pr#32366, Chunmei Liu)
vstart.sh: 统一缩进 (pr#27995, Kefu Chai, Richael Zhuang)
vstart_runner: 将 unicode 参数拆分为列表 (pr#28561, Rishabh Dave)