v11.2.1 Kraken 发布
这是 Kraken 的第一个错误修复版本,也可能是 Kraken 系列的最后一个版本(当 Luminous 宣布稳定时,Kraken 将被宣布“终止生命周期”(EOL))。它包含 Ceph 所有组件的大量错误修复。
我们建议所有 v11.2.x 用户升级。
有关更详细的信息,请参阅完整的变更日志。
重要变更 ¶
在以前的版本中,如果客户端将 op 发送到错误的 OSD,OSD 将回复 ENXIO。这里的理由是客户端或 OSD 显然存在错误,我们希望尽可能清楚地显示错误。现在,只有在启用 osd_enxio_on_misdirected_op 选项(默认情况下关闭)时,才会发送 ENXIO 回复。这意味着先前会收到 EIO 并进入只读状态的 VM,现在将看到被阻止/挂起的 IO。
Jewel 中引入了一个错误 (#19119),当使用 ‘osd rm’ 删除 CRUSH 映射中仍然存在的 “out” OSD 时,该错误破坏了映射行为。这可能导致 ‘misdirected op’ 和其他错误。现在该错误已修复,但修复本身会引入相同的风险,因为客户端和 OSD 之间的行为可能有所不同。为避免出现问题,请确保在删除 OSD 之前将其从 CRUSH 映射中移除。也就是说,请务必在执行以下操作之前执行以下操作:
ceph osd crush rm osd.123
之前执行
ceph osd rm osd.123
此版本极大地改进了快照修剪器的控制和限制。它引入了 “osd max trimming pgs” 选项(默认为 2),该选项限制了 OSD 上可以同时修剪快照的 PG 数量。它恢复了 “osd snap trim sleep” 选项的安全使用,该选项默认为 0,但否则会在每次向底层系统分派修剪操作之间添加给定的秒数延迟。
其他值得注意的更改 ¶
- build/ops: Ubuntu Xenial 中 ceph-base 缺少 psmisc 依赖项(issue#19129, issue#19564, pr#14425, Nathan Cutler)
- build/ops: debian 包中缺少 logrotate (kraken, master)(issue#19670, issue#19390, pr#14734, Kefu Chai)
- build/ops: selinux: 在包安装时并行重新标记(issue#20077, issue#20184, issue#20191, issue#20193, pr#15509, Boris Ranto)
- build/ops: spec 文件提到不存在的 ceph-create-keys systemd 单元文件,导致 ceph-mon 单元无法通过 preset 启用(issue#19460, pr#14315, Sébastien Han)
- build/ops: systemd 在启动失败后过快地重新启动 Ceph Mon(issue#18635, issue#18721, pr#13185, Wido den Hollander)
- build/ops: systemd: 在 MON 之后启动 OSD(issue#18907, issue#18516, pr#13494, Boris Ranto)
- ceph-disk: 添加 fix subcommand kraken back-port(issue#19544, pr#14345, Boris Ranto)
- ceph-disk: 不支持与 ‘ceph’ 不同的集群名称(issue#18973, issue#17821, pr#13497, Loic Dachary)
- ceph-disk: 在启动时启用目录支持的 OSD(issue#19628, issue#19647, pr#14604, Loic Dachary)
- ceph-disk: _bytes2str 上的错误(issue#18431, issue#18371, pr#13501, Kefu Chai)
- ceph-disk: 如果 OSD udev 规则在挂载 /var 之前触发,则失败(issue#20150, issue#19941, pr#16092, Loic Dachary)
- ceph-disk: 修复 bluestore 中 –setgroup 时获取错误的组名称(issue#18956, pr#13488, craigchi)
- ceph-disk list 报告具有 SELinux 上下文的挂载选项的 OSD 的挂载错误(issue#19537, issue#17331, pr#14403, Brad Hubbard)
- ceph-disk prepare 在 bluestore 中获取错误的组名称(issue#18997, pr#13543, craigchi)
- ceph-disk: 分区创建和设备节点创建之间的竞争(issue#20034, pr#16138, Erwan Velu)
- ceph-disk: 分离 ceph-osd –check-needs-* 日志(issue#20010, issue#19888, pr#16135, Loic Dachary)
- cephfs: test LibCephFS.DirLs 中的缓冲区溢出(issue#18941, issue#19045, pr#14571, “Yan, Zheng”)
- cephfs: 快照测试期间 ceph-fuse 崩溃(issue#18552, issue#18460, pr#14563, Yan, Zheng)
- cephfs: ceph-fuse 在与 MDS 断开连接后无法恢复(issue#19678, issue#18757, pr#16105, Henrik Korkuc)
- cephfs: client: 修复跨配额重命名边界检查条件(issue#18700, pr#14567, Greg Farnum)
- cephfs: 两个 ceph-fuse 客户端访问同一文件时发生死锁(issue#20028, issue#19635, pr#16191, “Yan, Zheng”)
- cephfs: fragment space check can cause replayed request fail(issue#18660, issue#18706, pr#14568, “Yan, Zheng”)
- cephfs: MDS 在缺少元数据对象时崩溃(issue#18179, issue#18566, pr#14565, Yan, Zheng)
- cephfs: 在重新加入期间 MDS 心跳超时,处理大量 caps/inodes 时(issue#19118, issue#19335, pr#14572, John Spray)
- cephfs: 当我为文件设置大约 400 个 64KB xattr kv 对时,mds 崩溃(issue#19674, issue#19033, pr#16103, Yang Honggang)
- cephfs: MDS 服务器因元数据不一致而崩溃(issue#19406, issue#19620, pr#14574, John Spray)
- cephfs: mds/StrayManager: 避免在 StrayManager::_purge_stray_logged 中重复使用已删除的 inode(issue#18950, pr#14570, Zhi Zhang)
- cephfs: mds 切换后挂载点断开连接问题(issue#19667, issue#19437, pr#16100, Guan yunfei, Sage Weil)
- cephfs: 非本地配额更改在完成一些 IO 之前不可见(issue#17939, issue#19763, pr#16108, John Spray)
- cephfs: ceph mds rmfailed 0 –yes-i-really-mean-it 命令没有输出(issue#19483, issue#16709, pr#14573, John Spray)
- cephfs: 规范化 cephfs 内部使用的文件打开标志(issue#19845, pr#14998, Jan Fajerski)
- cephfs: handle_client_caps 中的段错误(issue#18306, issue#18616, pr#14566, Yan, Zheng)
- cephfs: 通过跳过不需要的 dn 来加快 readdir(issue#18531, pr#13028, Xiaoxi Chen)
- cephfs: src/test/pybind/test_cephfs.py 失败(issue#20500, issue#19890, pr#16114, “Yan, Zheng”)
- cephfs: test_client_recovery.TestClientRecovery 失败(issue#18562, issue#18396, pr#14564, Yan, Zheng)
- cephfs 测试失败(ceph.com/qa 损坏,应为 download.ceph.com/qa)(issue#18574, issue#18604, pr#13024, John Spray)
- cephfs: 测试失败:test_data_isolated (tasks.cephfs.test_volume_client.TestVolumeClient)(issue#18914, issue#19676, pr#16104, “Yan, Zheng”)
- cephfs: test_open_inode 失败(issue#18899, issue#18661, pr#14569, John Spray)
- client: 在挂载期间填充元数据(issue#18361, issue#18540, pr#12951, John Spray)
- client: ceph_rmdir 路径 / 上的段错误(issue#18612, issue#9935, pr#13030, Michal Jarzabek)
- cls_rbd: 为旧客户端默认初始化快照命名空间(issue#19413, issue#19833, pr#14934, Jason Dillaman)
- cls/rgw: list_plain_entries() 在 bi_log 条目之前停止(issue#19876, issue#20015, pr#15384, Casey Bodley)
- common: 使用 IPv6 公共网络创建监视器时发生段错误(issue#19465, issue#19371, pr#14323, Fabian Grünbichler)
- common: ThreadPool 锁可能出现 lockdep 误报(issue#18819, issue#18894, pr#13487, Mykola Golub)
- core: api_misc: [ FAILED ] LibRadosMiscConnectFailure.ConnectFailure(issue#19561, issue#15368, pr#14733, Sage Weil)
- core: bluestore bdev: flush no-op optimization is racy(issue#20495, issue#19326, issue#19327, issue#19250, issue#19251, pr#14736, Sage Weil)
- core: 改进快照修剪器的控制和限制(issue#19329, issue#19931, pr#14597, Samuel Just, Greg Farnum)
- core: omap_digest 不匹配的两个实例(issue#19391, pr#14200, Samuel Just, David Zafman)
- doc: PendingReleaseNotes: 关于 ‘osd rm ...’ 和 #13733 的警告(issue#19119, pr#14506, Sage Weil)
- doc: 快速开发人员指南中的 Python Swift 客户端命令与 vstart.sh 中的配置不匹配(issue#17746, issue#18571, pr#13044, Ronak Jain)
- doc: rgw: admin ops: 修复配额部分(issue#19397, issue#19462, pr#14521, Chu, Hua-Rong)
- fix: rgw 因列出数据日志时分片 id 超出范围而崩溃(issue#20156, issue#19732, pr#16173, redickwang)
- fuse: TestVolumeClient.test_evict_client 创建 pidfile 失败(issue#18439, issue#18309, pr#12813, Nathan Cutler)
- librbd: 允许打开映像而不打开父映像(issue#18609, issue#18325, pr#13132, Ricardo Dias)
- librbd: 修正了调整大小 RPC 消息向后兼容性(issue#19636, issue#19659, pr#14620, Jason Dillaman)
- librbd: librbd/Journal.h 中 ContextWQ 的不完整声明(issue#18862, issue#18892, pr#14153, Boris Ranto)
- librbd: is_exclusive_lock_owner API 应该 ping OSD(issue#19467, issue#19287, pr#14480, Jason Dillaman)
- librbd: ExclusiveLock handle_peer_notification 中可能存在竞争条件(issue#19368, pr#14163, Mykola Golub)
- librbd: 防止在中断锁定时进行自我列入黑名单(issue#18703, issue#18666, pr#13201, Jason Dillaman)
- make check fails with Error EIO: load dlopen(build/lib/libec_FAKE.so): build/lib/libec_FAKE.so: cannot open shared object file: No such file or directory(issue#20487, issue#20345, issue#18876, pr#16069, Kefu Chai, Kyr Shatskyy)
- mds: 关闭时断言失败(issue#19672, issue#19204, pr#16102, John Spray)
- mds: C_MDSInternalNoop::complete 不会自行释放(issue#19664, issue#19501, pr#16099, “Yan, Zheng”)
- mds: 对于数据池已被删除的文件,守护进程在写回溯时变为只读(issue#19669, issue#19401, pr#16101, John Spray)
- mds: 按 ino 编号报告损坏毫无用处(issue#18509, issue#19680, pr#16106, John Spray)
- mds: 回溯上的解码错误会导致 MDS 崩溃(issue#18311, issue#18463, pr#12835, John Spray)
- mds: 当会话 ino 信息损坏时启用守护进程启动(issue#19710, issue#16842, pr#16107, John Spray)
- mds: Server::_dir_is_nonempty 中 failed filelock.can_read(-1) assertion(issue#18707, issue#18578, pr#13555, Yan, Zheng)
- mds: 在请求活动状态之前完成 clientreplay 请求(issue#18678, issue#18461, pr#13112, Yan, Zheng)
- mds: 截断非常大的文件时无响应(issue#19755, issue#20026, pr#16190, “Yan, Zheng”)
- mon: 缓存分层:基础池 last_force_resend 不受尊重(竞争读取得到错误版本)(issue#18366, issue#18403, pr#13116, Sage Weil)
- mon crash on shutdown, lease_ack_timeout event(issue#19928, issue#19825, pr#15084, Kefu Chai, Alexey Sheplyakov)
- mon: 无法形成大型仲裁;msg/async 忙碌循环(issue#20230, issue#20315, pr#15729, Haomai Wang)
- mon: force_create_pg 可能会使 pg 陷入创建状态(issue#19181, issue#18298, pr#13790, Adam C. Emerson, Sage Weil)
- mon/MonClient: 使 get_mon_log_message() 成为原子操作(issue#19618, issue#19427, pr#14588, Kefu Chai)
- mon: ‘osd crush move ...’ 不适用于 osds(issue#18682, issue#18587, pr#13500, Sage Weil)
- mon: osd crush set crushmap 需要健全性检查(issue#19302, issue#20365, pr#16143, Loic Dachary)
- mon: peon 在接收 pg stats ack 之前错误地删除了路由的 pg stats op(issue#18554, issue#18458, pr#13046, Mingxin Liu)
- mon/PGMap: 将 mon_osd_full_ratio 纳入 MAX AVAIL 计算(issue#18522, issue#20035, pr#15237, Sage Weil)
- msg/simple/SimpleMessenger.cc: 239: FAILED assert(!cleared)(issue#15784, issue#18378, pr#16133, Sage Weil)
- multisite: rest api fails to decode large period on ‘period commit’(issue#19505, issue#19616, issue#19614, issue#20244, issue#19488, issue#19776, issue#20293, issue#19746, pr#16161, Casey Bodley, Abhishek Lekshmanan)
- objecter: full_try behavior not consistent with osd(issue#19560, issue#19430, pr#14732, Sage Weil)
- ojecter: epoch_barrier isn’t respected in _op_submit()(issue#19396, issue#19496, pr#14331, Ilya Dryomov)
- os/bluestore: deep decode onode value(issue#20366, pr#15792, Sage Weil)
- os/bluestore: fix Allocator::allocate() int truncation(issue#20884, issue#18595, pr#13011, Sage Weil)
- osd: 允许即时调整客户端限制器,无需重新启动(issue#18791, issue#18793, pr#13216, Piotr Dałek)
- osd: 即使 osd_failsafe_full_ratio 已经通过,OSD 仍会出现 ENOSPC(issue#20544, issue#16878, issue#19340, issue#19841, issue#20672, pr#16134, Sage Weil, David Zafman)
- osd: 在 rados/upgrade 中检查 acting set on recovery completion 时出现虚假断言(issue#18999, pr#13542, Sage Weil)
- osd: calc_clone_subsets 错误地使用了 try_read_lock vs missing(issue#18610, issue#18583, issue#18723, issue#17831, pr#14616, Samuel Just)
- osd: ceph degraded 和 misplaced 状态输出不准确(issue#18619, issue#19480, pr#14322, David Zafman)
- osd: 根据所需(而非 up)功能设置 object_info_t 编码条件(issue#18842, issue#18831, issue#18814, pr#13485, Ilya Dryomov)
- osd: 默认情况下不对 misdirected op 发送 ENXIO(issue#19622, pr#13253, Sage Weil)
- osd: FAILED assert(object_contexts.empty()) (仅在 2017 年 1 月至 2 月期间在 master 上实时,所有其他实例都不同)(issue#20522, issue#20523, issue#18927, issue#18809, pr#16132, Samuel Just)
- osd: –flush-journal: 退出时偶发段错误(issue#18952, issue#18820, pr#13490, Alexey Sheplyakov)
- osd: 给予请求的 scrub 更高的优先级(issue#19685, issue#15789, pr#14735, David Zafman)
- osd: 实现异步 scrub sleep(issue#20033, issue#19986, issue#20173, issue#19497, pr#15526, Brad Hubbard)
- osd: 泄露的 MOSDMap(issue#19760, issue#18293, pr#14942, Sage Weil)
- osd: leveldb 损坏导致 Operation not permitted 未处理并断言(issue#18037, issue#18418, pr#12790, Nathan Cutler)
- osd: 使用 bluestore 时元数据报告 filestore(issue#18677, issue#18638, pr#16083, Wido den Hollander)
- osd: 设置 full 标志后,新添加的 OSD 总是处于 down 状态(issue#19485, pr#14321, Mingxin Liu)
- osd: 如果没有可用的身份验证,则跟踪并使用对象级别分片错误(issue#20089, pr#15421, David Zafman)
- osd: os/bluestore: 修复 statfs 不将 DB 分区包含在可用空间中(issue#18599, issue#18722, pr#13284, Sage Weil)
- osd: osd/PrimaryLogPG: 如果 (pg.deleting),则不调用 on_shutdown()(issue#19902, issue#19916, pr#15066, Kefu Chai)
- osd: pg log split does not rebuild index for parent or child(issue#19315, issue#18975, pr#14048, Sage Weil)
- osd: pglog: with config, don’t assert in the presence of stale diverg…(issue#17916, issue#19702, pr#14646, Greg Farnum)
- osd: 当 backfill 相关状态改变时发布 PG 统计信息(issue#18497, issue#18369, pr#13295, Sage Weil)
- osd: Revert “PrimaryLogPG::failed_push: update missing as well”(issue#18659, pr#13091, David Zafman)
- osd: 在 sdata_lock hold 时解锁 sdata_op_ordering_lock 以避免丢失唤醒信号(issue#20443, pr#15962, Alexey Sheplyakov)
- pre-jewel “osd rm” incrementals 被误解(issue#19209, issue#19119, pr#13883, Ilya Dryomov)
- rbd: Add missing parameter feedback to ‘rbd snap limit’(issue#18601, pr#14537, Tang Jin)
- rbd: [api] is_exclusive_lock_owner 不应返回 -EBUSY(issue#20266, issue#20182, pr#16187, Jason Dillaman)
- rbd: [api] 暂时限制 (rbd_)mirror_peer_add 添加多个对等体(issue#19256, issue#19324, pr#14545, Jason Dillaman)
- rbd: 尝试删除具有不兼容功能的映像会导致部分删除(issue#18456, issue#18315, pr#13247, Dongsheng Yang)
- rbd: [cli] 确保位置参数存在后再进行类型转换(issue#20264, issue#20185, pr#16186, Jason Dillaman)
- rbd: cli: 禁用 cephx 映射会导致错误消息(issue#19035, issue#20517, pr#16298, Jason Dillaman)
- rbd: [ FAILED ] TestJournalTrimmer.RemoveObjectsWithOtherClient(issue#18769, issue#18738, pr#14147, Jason Dillaman)
- rbd: 改进 librbd + krbd 之间的数据池兼容性(issue#18771, issue#18653, pr#14539, Jason Dillaman)
- rbd: C API 映像元数据检索函数存在问题(issue#19588, issue#19611, pr#15612, Mykola Golub)
- rbd: ‘metadata_set’ API 操作不应更改全局配置设置(issue#18465, issue#18549, pr#14534, Mykola Golub)
- rbd-mirror: 额外的测试稳定性改进(issue#18935, issue#18947, pr#14155, Jason Dillaman)
- rbd-mirror: 在同步期间删除快照可能导致读取错误(issue#19037, issue#18990, pr#14622, Jason Dillaman)
- rbd-mirror: 确保检测到丢失的映像时重新同步(issue#20022, issue#19811, pr#15486, Jason Dillaman)
- rbd-mirror: 未修改映像的故障转移和故障恢复导致脑裂(issue#19872, issue#19858, pr#14974, Jason Dillaman)
- rbd-mirror: 镜像克隆映像时可能存在竞争条件(issue#18501, issue#17993, pr#14533, Jason Dillaman)
- rbd-mirror: 偶发映像重放器关闭失败(issue#18493, issue#18441, pr#14531, Jason Dillaman)
- rbd-nbd: 添加信号处理程序(issue#19621, issue#19349, pr#16098, Kefu Chai, Pan Liu)
- rbd-nbd: 检查 /sys/block/nbdX/size 以确保内核正确映射(issue#18970, issue#17951, issue#18910, issue#18335, pr#14540, Mykola Golub, Pan Liu)
- rbd: 在刷新进行中执行同步 API 操作时可能发生死锁(issue#18495, issue#18419, pr#14532, Jason Dillaman)
- rbd: 如果在读取请求正在进行时映像被展平,则可能发生 IO 挂起(issue#19832, issue#20154, pr#16184, Jason Dillaman)
- rbd: [qa] crash in journal-enabled fsx run(issue#18618, issue#18632, pr#14538, Jason Dillaman)
- rbd: qemu crash triggered by network issues(issue#18776, issue#18436, pr#13245, Jason Dillaman)
- rbd: ‘rbd bench-write’ will crash if –io-size is 4G(issue#18422, issue#18557, pr#14536, Gaurav Kumar Garg)
- rbd: rbd_clone_copy_on_read 对 exclusive-lock 无效(issue#19173, issue#18888, pr#14543, Venky Shankar)
- rbd: rbd –pool=x rename y z does not work(issue#18777, issue#18326, pr#14149, Gaurav Kumar Garg)
- rbd: 拒绝使用不支持覆盖的 ec 池(issue#19081, issue#19336, pr#16096, Jason Dillaman)
- rgw: 添加 apis 以支持 ragweed 套件(issue#19809, pr#14852, Yehuda Sadeh)
- rgw: 添加 remove-x-delete 功能以取消 swift 对象过期(issue#19472, issue#19074, pr#14522, Jing Wenjun)
- rgw: 少数情况下 rgw_obj 初始化不正确(issue#19146, issue#19096, pr#13843, Yehuda Sadeh)
- rgw: 匿名用户获取对象的错误代码与 SWIFT 不一致(issue#18806, issue#19178, pr#13877, Jing Wenjun)
- rgw: Luminous 中 civetweb 前端发生段错误(issue#19749, issue#19840, pr#16166, Abhishek Lekshmanan, Jesse Williamson)
- rgw: civetweb: 移动到 post 1.8 version(issue#19704, pr#14960, Yehuda Sadeh)
- rgw: “cluster [WRN] bad locator @X on object @X....” in cluster log(issue#19212, issue#18980, pr#14065, Casey Bodley)
- rgw: 使用 placement group 更新 period 时崩溃(issue#18772, issue#18631, pr#14511, Orit Wasserman)
- rgw: 自定义数据头支持(issue#19843, pr#15985, Pavan Rallabhandi)
- rgw: datalog trim cannot work as expected(issue#20263, issue#20190, pr#16175, Zhang Shaowen)
- rgw: DUMPABLE 标志被 setuid 清除,阻止 coredumps(issue#19147, issue#19089, pr#13845, Brad Hubbard)
- rgw: 获取 bucket lifecycle 时解析 xml 错误(issue#19363, issue#19534, pr#14528, liuchang0812)
- rgw: 第一次写入也尝试读取对象(issue#18904, issue#18622, issue#18623, issue#18621, pr#14515, Yehuda Sadeh)
- rgw: fix break inside of yield in RGWFetchAllMetaCR(issue#19322, issue#17655, pr#14067, Casey Bodley)
- rgw: fix handling RGWUserInfo::system in RGWHandler_REST_SWIFT(issue#18476, pr#13006, Radoslaw Zarzynski)
- rgw: 修复 AWSv4 多块上传期间 RadosGW 挂起(issue#19837, issue#19754, pr#14939, Radoslaw Zarzynski)
- rgw: fix use of marker in List::list_objects()(issue#19047, issue#18331, pr#14517, Yehuda Sadeh)
- rgw: ‘gc list –include-all’ 命令无限循环前 1000 个项目(issue#19978, issue#20147, pr#16139, Shasha Lu, fang yuxiang)
- rgw: 启用压缩后,下载带特定范围的对象时获取错误内容(issue#20100, issue#20268, pr#16178, fang yuxiang)
- rgw: 健康检查错误不正确(issue#19025, issue#19157, pr#13866, Pavan Rallabhandi)
- rgw: 即使 bucket 已被删除,Lifecycle 线程仍会处理该 bucket(issue#20285, issue#20405, pr#16183, Zhang Shaowen)
- rgw: 使 204 和 304 中的 Content-Length 发送可控(issue#18985, issue#16602, pr#13514, Radoslaw Zarzynski)
- rgw: meta sync thread crash at RGWMetaSyncShardCR(issue#20251, issue#20347, pr#16180, Fang Yuxiang, Nathan Cutler)
- rgw: multisite: 在 CreateBucket 转发到 master 后,本地 bucket 可能使用不同的 bucket index shards 值(issue#19745, issue#19759, pr#16290, Shasha Lu)
- rgw: multisite: 尝试以 system/admin 用户身份读取 SLO 对象时出现 EPERM(issue#19027, issue#19475, pr#14523, Casey Bodley)
- rgw: multisite: fetch_remote_obj() gets wrong version when copying from remote(issue#19608, pr#14606, Zhang Shaowen, Casey Bodley)
- rgw: multisite: RGWMetaSyncShardControlCR gives up on EIO(issue#19160, issue#19019, pr#13868, Casey Bodley)
- rgw: multisite: 更改 rgw_data_log_num_shards 值后发生段错误(issue#18488, issue#18548, pr#13181, Casey Bodley)
- rgw: multisite: some ‘radosgw-admin data sync’ commands hang(issue#19236, issue#19354, pr#14142, Shasha Lu)
- rgw: multisite: some yields in RGWMetaSyncShardCR::full_sync() resume in incremental_sync()(issue#19049, issue#18076, pr#13838, Casey Bodley)
- rgw: multisite: sync status reports master is on a different period(issue#18709, issue#18064, pr#13176, Abhishek Lekshmanan)
- rgw: swift API 中容器元数据转储中没有 http referer 信息(issue#18665, issue#18898, pr#13829, Jing Wenjun)
- rgw: “period update” does not remove short_zone_ids of deleted zones(issue#15618, issue#19342, pr#14141, Casey Bodley)
- rgw: radosgw-admin: 将 ‘object stat’ 命令添加到用法中(issue#19164, issue#19013, pr#13873, Pavan Rallabhandi)
- rgw: radosgw-admin period update reverts deleted zonegroup(issue#18713, issue#17239, pr#13172, Orit Wasserman)
- rgw: ‘radosgw-admin usage show’ listing 0 bytes_sent/received(issue#20261, pr#16174, Pritha Srivastava)
- rgw: ‘radosgw-admin zone create’ 命令使用指定的 zone-id 创建具有不同 id 的 zone(issue#19524, issue#19498, pr#14526, Orit Wasserman)
- rgw: Realm set does not create a new period(issue#18333, issue#18499, pr#14509, Orit Wasserman)
- rgw: reduce log level of ‘storing entry at’ in cls_log(issue#19835, issue#19839, pr#16165, Willem Jan Withagen)
- rgw: radosgw 返回的 swift API 响应头不包含 x-openstack-request-id。但 Swift 返回它(issue#19443, issue#19573, pr#14529, tone-zhang)
- rgw: rgw_file: fix marker computation(issue#20158, issue#19526, issue#18989, issue#19470, issue#19471, issue#18651, issue#20195, issue#19059, issue#19112, issue#19018, issue#19036, issue#19154, issue#19170, issue#19663, issue#19661, issue#19111, issue#18992, issue#18650, issue#18991, issue#19623, issue#19149, issue#19270, issue#19723, issue#19625, issue#19624, issue#19060, issue#19166, issue#18810, issue#19168, issue#19162, issue#19066, issue#18808, issue#19634, issue#19435, issue#19144, issue#19229, issue#18902, pr#13871, Gui Hecheng, Matt Benjamin)
- rgw: S3 create bucket should not do response in json(issue#19172, issue#18889, pr#13875, Abhishek Lekshmanan)
- rgw: S3 v4 authentication issue with X-Amz-Expires(issue#19477, issue#18828, pr#14524, liuchang0812)
- rgw: S3 v4 authentication issue with X-Amz-Expires(issue#19725, issue#18828, pr#16162, liuchang0812)
- rgw: should parse the url to http host to compare with the container referer acl(issue#18896, issue#18685, pr#13780, Jing Wenjun)
- rgw: slave zonegroup cannot enable the bucket versioning(issue#18711, issue#18003, pr#13174, Orit Wasserman)
- rgw: Swift API: http body 后多余的换行符导致奇怪的错误(issue#18780, issue#18473, pr#13224, Marcus Watts, Matt Benjamin)
- rgw: swift API: cannot disable object versioning with empty X-Versions-Location(issue#18852, issue#19175, pr#14519, Jing Wenjun)
- rgw: swift: 在某些情况下禁用撤销线程(issue#19499, issue#9493, issue#19777, pr#16164, Marcus Watts)
- rgw: Swift’s at-root features (/crossdomain.xml, /info, /healthcheck) are broken(issue#20031, issue#19520, pr#16168, Radoslaw Zarzynski)
- rgw: swift container acl 不支持字段 .ref(issue#18909, issue#19180, issue#18484, issue#18796, pr#14516, Jing Wenjun, Radoslaw Zarzynski)
- rgw: rgw_admin.cc 中的拼写错误(issue#19156, issue#19026, pr#13864, Ronak Jain)
- rgw: RGWListBucket_ObjStore_SWIFT::send_response() 中的不安全访问(issue#19574, issue#19249, pr#14530, Yehuda Sadeh)
- rgw: 如果存在没有 zone info 的 zone,升级到 multisite v2 失败(issue#19331, issue#19231, pr#14137, Danny Al-Gaaf, Orit Wasserman)
- rgw: usage stats 和 quota 对多租户用户无效(issue#18364, issue#18843, issue#16355, pr#14513, Radoslaw Zarzynski)
- rgw: Use decoded URI when verifying TempURL(issue#18590, issue#18627, pr#12986, Michal Koutný)
- rgw: VersionIdMarker 和 NextVersionIdMarker 在列出对象版本时未返回(issue#20363, issue#19886, pr#16181, Zhang Shaowen)
- rgw: 转换 region_map 时需要使用 rgw_zone_root_pool(issue#19195, issue#19356, pr#14144, Orit Wasserman)
- rgw: 在版本化 bucket 中连续上传对象时,某些对象将不同步(issue#19766, issue#18208, pr#16163, lvshuhua)
- rgw: 复制未压缩的分块对象后对象大小错误(issue#20269, issue#20071, pr#16179, fang yuxiang)
- rgw: zonegroupmap set does not work(issue#18725, issue#19479, pr#14525, Casey Bodley)
- tests: AttributeError: Thrasher instance has no attribute ‘ceph_objectstore_tool’(issue#19064, issue#18799, pr#13609, Nathan Cutler)
- tests: backport Sage’s fixes to qa/suites/upgrade/jewel-x(issue#19651, pr#14612, Sage Weil)
- tests: ceph-object-corpus: kraken objects(issue#20878, pr#14983, Sage Weil)
- tests: CMakeLists.txt: disable memstore make check test(issue#17743, pr#16215, Sage Weil)
- tests: HEALTH_WARN pool rbd pg_num 244 > pgp_num 224 during upgrade(issue#19771, issue#20024, pr#16137, Kefu Chai)
- tests: ignore bogus ceph-objectstore-tool error in ceph_manager(issue#18805, issue#16263, pr#13239, Nathan Cutler, Kefu Chai)
- tests: radosbench task 中的超时不足(issue#20497, pr#16111, Sage Weil)
- tests: LibRadosMiscConnectFailure.ConnectFailure hang(issue#20271, issue#19901, pr#16140, Sage Weil)
- tests: [librados_test_stub] cls_cxx_map_get_XYZ methods don’t return correct value(issue#19597, issue#19609, pr#16097, Jason Dillaman)
- tests: move swift.py task from teuthology to ceph, phase one (kraken)(issue#20392, pr#15869, Nathan Cutler, Sage Weil, Warren Usui, Greg Farnum, Ali Maredia, Tommi Virtanen, Zack Cerza, Sam Lang, Yehuda Sadeh, Joe Buck, Josh Durgin)
- tests: ObjectStore/StoreTest.OnodeSizeTracking/2 fails on bluestore(issue#20499, pr#16112, xie xingguo)
- tests: qa: ceph-ansible test tweaks(issue#20882, pr#12984, pr#13618, Tamil Muthamizhan, Yuri Weinstein)
- tests: qa/suites/upgrade: add tiering test to hammer-jewel-x(issue#20879, issue#19185, pr#14692, Kefu Chai)
- tests: qa/tasks: misc systemd updates(issue#19719, pr#14702, Vasu Kulkarni)
- tests: qa/tasks: rbd-mirror daemon not properly run in foreground mode(issue#20638, issue#20630, issue#20634, pr#16342, Jason Dillaman)
- tests: qa/tasks: set pgp = pg num on thrashing finish(issue#20881, pr#13757, Kefu Chai)
- tests: qa/tasks/workunit: Backport repo fixes from master(issue#19429, issue#19531, pr#14487, Kefu Chai, Dan Mick)
- tests: remove hard-coded image name from TestLibRBD.Mirror(issue#18555, issue#19130, issue#19227, issue#18447, issue#19807, issue#19798, pr#16113, Mykola Golub, Jason Dillaman)
- tests: remove qa/suites/buildpackages(issue#18849, issue#18846, pr#13298, Loic Dachary)
- tests: run certain upgrade/jewel-x tests on Xenial only(issue#20877, pr#16493, Nathan Cutler)
- tests: run-rbd-unit-tests.sh assert in lockdep_will_lock, TestLibRBD.ObjectMapConsistentSnap(issue#18822, issue#17447, pr#14151, Jason Dillaman)
- tests: SUSE yaml facets in qa/distros/all are out of date(issue#18849, issue#18870, issue#18846, issue#18856, pr#13330, Nathan Cutler)
- tests: swift.py: clone the ceph-kraken branch(issue#20520, pr#16131, Nathan Cutler)
- tests: test/librbd: decouple ceph_test_librbd_api from libceph-common(issue#20175, issue#20351, pr#16195, Kefu Chai)
- tests: test_notify.py: assert(not image.is_exclusive_lock_owner()) on line 147(issue#19716, issue#19794, pr#14833, Mykola Golub)
- tests: test_notify.py: rbd.InvalidArgument: error updating features for image test_notify_clone2(issue#19692, issue#19693, pr#14641, Jason Dillaman)
- tests: use ceph-kraken branch for s3tests(issue#18387, pr#12746, Nathan Cutler)
- tests: use librados API to retrieve config params(issue#18668, issue#18617, pr#13102, Jason Dillaman)
- tests: various OpenStack tweaks(issue#20882, pr#13707, pr#13641, pr#13635, pr#13633, pr#13613, pr#13283, pr#13673, pr#13638, pr#14485, Zack Cerza)
- tools: ceph-brag fails to count “in” mds(issue#19333, issue#19192, pr#14098, Peng Zhang)
- tools: ceph-disk prepare writes osd log 0 with root owner(issue#18538, issue#18606, pr#13026, Samuel Matzek)
- tools: RadosImport::import should return an error if Rados::connect fails(issue#19351, issue#19319, pr#14095, Brad Hubbard)