v15.2.9 Octopus 发布
dgalloway
这是 Octopus 系列的第 9 个回溯移植版本。我们建议用户更新到此版本。
重要变更 ¶
- MGR: progress 模块现在可以使用以下命令开启/关闭:
ceph progress on和ceph progress off。 - OSD: PG 删除在此版本中得到优化。
变更日志 ¶
- 不要在 Ceph 日志文件中添加敏感信息 (pr#38620, Neha Ojha)
- PendingReleaseNotes: mgr/pg_autoscaler (pr#39393, Kamoltat)
- 恢复 "mgr/pg_autoscaler: avoid scale-down until there is pressure" (pr#39560, Neha Ojha)
- bluestore: 确保 bufferlist 重建后 mempool 分配保持一致 (pr#38429, Adam Kupczyk)
- bluestore: 支持 flock 重试 (pr#37860, wanghongxu)
- bluestore: 为压缩的 blob 附加 csum (pr#37861, Igor Fedotov)
- bluestore: 修复 collection_list_legacy 中的 "end reached" 检查 (pr#38098, Mykola Golub)
- bluestore: 为 fallback allocator 提供不同的名称 (pr#37794, Igor Fedotov)
- build/ops: doc: 将 --use-feature=2020-resolver 传递给 pip (pr#37859, Kefu Chai)
- ceph-volume: lvm/create.py: 修复帮助信息中的拼写错误 (pr#38425, ZhenLiu94)
- cephadm: 不要让 sysctl 垃圾信息充斥日志文件 (pr#39020, Sebastian Wagner)
- cephadm: 恢复 "spec: Podman (temporarily) requires apparmor-abstractions on suse" (pr#37766, Nathan Cutler)
- cephadm: 'last_refresh' 等各种属性不包含时区 (pr#39059, Volker Theile)
- 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)
- cephadm: 修复 rgw osd cap tag (pr#39170, Patrick Donnelly)
- cephadm: 使 "ceph orch {restart|...}" 异步执行 (pr#39018, Sebastian Wagner)
- cephadm: 消除 "Failed to evict container" 日志消息 (pr#39166, Sebastian Wagner, Sage Weil)
- cephadm: 使用 `apt-get` 进行软件包安装/更新 (pr#39297, Michael Fritch)
- cephfs: client: 添加 ceph.{cluster_fsid/client_id} vxattrs 支持 (pr#39000, Xiubo Li)
- cephfs: client: 在 truncate 时检查 rdonly 文件句柄 (pr#38424, Patrick Donnelly)
- cephfs: client: 不要在 libcephfs 中使用 g_conf().get_val<>() (pr#38466, Xiubo Li)
- cephfs: client: 确保在从缓存的 inode 获取目录链接计数时获取 Fs caps (pr#38949, Jeff Layton)
- cephfs: client: 在 _read_sync 接近 eof 时增加文件位置 (pr#37989, Patrick Donnelly)
- cephfs: client: 为 readdir_r_cb 中的 dir 设置 CEPH_STAT_RSTAT mask (pr#38947, chencan)
- cephfs: mds: dir->mark_new() 应与 dir->mark_dirty() 一起使用 (pr#38352, "Yan, Zheng")
- cephfs: mds: 将 start_files_to_recover() 移动到 recovery_done (pr#37985, Simon Gao)
- cephfs: osdc: 在 truncate/discard 时重新启动读取 (pr#37987, Patrick Donnelly)
- cephfs: 在向 mds 发送 caps release 之前释放 client dentry_lease (pr#38349, Wei Qiaomiao)
- client: 针对多个 fs 转储客户端使用的 fs (pr#38551, Zhi Zhang)
- cmake: 为 ceph-diff-sorted 添加空的 RPATH (pr#38847, Nathan Cutler)
- cmake: 为 Boost.Asio 用户定义 BOOST_ASIO_USE_TS_EXECUTOR_AS_DEFAULT (pr#38759, Kefu Chai)
- cmake: 检测并使用 sigdescr_np()(如果可用) (pr#38951, David Disseldorp)
- do_cmake.sh: 在 fedora 33 版本中使用 python-3.9 (pr#38943, Sunny Kumar)
- doc: 文档化 MDS 缓存配置 (pr#38202, Patrick Donnelly)
- global: 在子进程中重新扩展 conf meta (pr#38340, Xiubo Li)
- install-deps.sh: 使 powertools repo 不区分大小写 (pr#38808, Brad Hubbard)
- krbd: 添加 msgr2 支持 (kernel 5.11) (pr#39203, Ilya Dryomov)
- librbd: 创建镜像时清除隐式启用的 feature bits (pr#39122, Jason Dillaman)
- librbd: 修复 object map diff 请求中的回归 (pr#38455, Mykola Golub, Jason Dillaman)
- librbd: 删除池配置覆盖时更新隐藏的全局配置 (pr#38343, Jason Dillaman)
- mds: 在 mds_sessions 中转储精细的 cap 信息 (pr#37362, Yanhu Cao)
- mds: 提供替代方案以增加 Cephfs 卷上 Cephfs subvolume 快照总数超过当前 400 个 (pr#38553, "Yan, Zheng")
- mds: 通过 readdir 限制 cap 获取 (pr#38095, Kotresh HR)
- mgr/ActivePyModules.cc: 在尝试获取锁之前始终释放 GIL (pr#38801, Cory Snyder)
- mgr/balancer: 修复发送给 calc_pg_upmaps 的可用 pgs (pr#38337, Dan van der Ster)
- mgr/cephadm: 修复主机刷新 (pr#39532, Sage Weil)
- mgr/cephadm: 锁定 OSDRemovalQueue 的多线程访问 (pr#39019, Sebastian Wagner)
- mgr/cephadm: 当 cephadm daemon 处于 'error' 状态时提高 HEALTH_WARN (pr#39169, Sage Weil)
- mgr/cephadm: 容忍没有 'hostname' 键的旧主机清单 (pr#39167, Sage Weil)
- mgr/cephadm: 尝试再次调用没有 --filter-for-batch 的 ceph-volume (pr#39300, Sebastian Wagner)
- mgr/crash: 序列化命令处理 (pr#38592, Boris Ranto)
- mgr/dashboard: 添加 clay plugin 支持 (pr#38489, Stephan Müller)
- mgr/dashboard: 通过 Orchestrator 使用 ServiceSpec 创建 Ceph 服务 (pr#38888, Volker Theile)
- mgr/dashboard: 在启用调试模式时在 Dashboard 中显示警告消息 (pr#38798, Volker Theile)
- mgr/dashboard: 删除无效的 RGW 客户端实例,改进日志记录 (pr#38583, Volker Theile)
- mgr/dashboard: 修复 CRUSH map viewer VirtualScroll (pr#38607, Avan Thakkar)
- mgr/dashboard: 修复误导性的 "Orchestrator is not available" 错误 (pr#38598, Nizamudeen A)
- mgr/dashboard: 修复 dashboard logs e2e test (pr#38797, Nizamudeen A)
- mgr/dashboard: 展开时防止选择表格项 (pr#37930, Nizamudeen A)
- mgr/dashboard: RGW User Form 正在验证禁用的字段 (pr#38594, Aashish Sharma)
- mgr/dashboard: 10 次无效登录尝试后临时锁定用户 (pr#38810, Nizamudeen A)
- mgr/dashboard: /rgw/status 端点不检查正在运行的服务 (pr#38770, Volker Theile)
- mgr/dashboard: 更新内置 ssl providers 错误 (pr#38508, Nizamudeen A)
- mgr/dashboard: 使用安全 cookie 存储 JWT Token (pr#39120, Avan Thakkar, Aashish Sharma)
- mgr/dashboard: 为 `ng serve` 添加 `--ssl` (pr#38973, Tatjana Dehler)
- mgr/dashboard: 调整 Services 和 Daemons 的刷新间隔 (pr#38597, Kiefer Chang)
- mgr/dashboard: 允许为 Orchestrator NFS clusters 选择所有 daemon (pr#38496, Kiefer Chang)
- mgr/dashboard: 为单个 OSD 分配标志 (pr#38469, Tatjana Dehler)
- mgr/dashboard: 在 NFS export 编辑表单中禁用 cluster selection (pr#37969, Kiefer Chang)
- mgr/dashboard: 在 service table 中显示 placement 列 (pr#38336, Volker Theile)
- mgr/dashboard: 为浏览器用户启用不同的 Grafana URL (pr#38761, Patrick Seidensal)
- mgr/dashboard: 修复 Clients IOPS donut chart 的 Reads/Writes 比例 (pr#38867, Kiefer Chang)
- mgr/dashboard: 删除 pyOpenSSL version pinning (pr#38503, Kiefer Chang)
- mgr/dashboard: test_standby\* (tasks.mgr.test_dashboard.TestDashboard) 在本地失败 (pr#38526, Volker Theile)
- mgr/pg_autoscaler: 避免在没有压力的情况下缩减 (pr#39248, Kamoltat)
- mgr/progress: 引入开启/关闭功能 (pr#39289, kamoltat)
- mgr/prometheus: 修复使用率超过 50% 时 'pool filling up' 的问题 (pr#38593, Daniël Vos)
- mgr/prometheus: 同步和回溯移植 prometheus 修复 (pr#38333, Paul Cuzner, Boris Ranto, Kefu Chai, Ken Dreyer)
- mgr/rbd_support: 存储没有本地化前缀的全局计划 (pr#38342, Mykola Golub)
- mgr/restful: 修复 _gather_osds() 中发生的 TypeError (issue#48488, pr#38595, Jerry Pu)
- mgr/volumes: 为每个 subvolume 添加 trash (pr#38612, Venky Shankar, Shyamsundar Ranganathan)
- mgr/volumes: 实现 subvolume version v2 (pr#36803, Shyamsundar Ranganathan)
- mgr: 修复由于滞后的 pg 状态导致的 dashboard/prometheus 故障 (pr#38596, Alexander Sushko)
- mgr: 不更新已退出的 osd stat (pr#38353, Zhi Zhang)
- mon: paxos: 在析构函数中删除 logger (pr#39161, Brad Hubbard)
- mon: 验证 crush-failure-domain (pr#38347, Prashant Dhange)
- monitoring: 为 OSD read latency 使用 null yaxes min (pr#37960, Seena Fallah)
- msg/async/ProtocolV2: 再次允许 rxbuf/txbuf 在测试中变大 (pr#38267, Ilya Dryomov)
- ocf: 添加支持在 RBD namespace 中映射镜像 (pr#39046, Jason Dillaman)
- os/bluestore: 使用 fsck 检测并修复 "zombie" spanning blobs (pr#39256, Igor Fedotov)
- os/bluestore: 修复巨大的 (>4GB) bluefs reads (pr#39253, Igor Fedotov)
- os/bluestore: 修复 avl/hybrid allocator 不适当的 ENOSPC (pr#38474, Igor Fedotov)
- os/bluestore: 修复提供给 claim_free_to_right() 调用的越界 offset 导致的段错误 (pr#38428, Igor Fedotov)
- os/bluestore: 修复 onode pinning 等问题 (pr#39230, Adam Kupczyk, Igor Fedotov)
- osd: 修复 bluestore bitmap allocator 在带有 hint 时计算错误的 last_pos (pr#38430, Xue Yantao)
- osd: 优化 PG 删除 (part1) (pr#38477, Igor Fedotov)
- pybind/cephfs: 修复 readlink() C 字符串中缺少终止 NULL 字符 (pr#38893, Tuan Hoang)
- pybind/mgr/rbd_support: 延迟创建 progress module events (pr#38344, Jason Dillaman)
- python-common/drivegroups: 避免从 Device Selection 中删除 "rotational: 0" (issue#49014, pr#39171, Lukas Stockner)
- python-common: 修复非 UTC 主机上的 test_datetime_to_str_2 (pr#39296, Sage Weil)
- qa/cephadm: 为 smoke test 添加 yaml 输出 (pr#39168, Sebastian Wagner)
- qa/mgr: mgr_test_case: 抛出 SkipTest 而不是调用 skipTest() (pr#38165, Rishabh Dave)
- qa/tasks/cephfs/nfs: 检查 host ip 是否在 cluster info 输出中 (pr#39004, Varsha Rao)
- qa/tasks/mgr/test_progress: 更新测试套件以检查特定的进度事件 (pr#38555, Kamoltat)
- qa/tasks/vstart_runner: 如果 "create-cluster-only",则不拆除 test_path (pr#39540, Kefu Chai)
- qa/workunits/rbd: 修复删除 mirror peer 时的权限问题 (pr#38341, Jason Dillaman)
- qa: 在 run_shell 中接受 timeout 参数 (pr#38550, Patrick Donnelly)
- qa: 忽略被逐出客户端警告 (pr#38422, Patrick Donnelly)
- qa: 忽略 logrotate state 重命名错误 (pr#37690, Patrick Donnelly)
- qa: krbd_stable_pages_required.sh: 移动到 stable_writes 属性 (pr#39321, Ilya Dryomov)
- qa: tox failures (pr#38626, Patrick Donnelly)
- qa: 在删除前卸载卷 (pr#38688, Patrick Donnelly)
- rgw/multisite: 验证同步的对象是否与源对象相同 (pr#38981, Prasad Krishnan, Casey Bodley)
- rgw/rgw-admin: 修复缺少 bucket 的 BucketInfo (pr#38184, Nick Janus, caolei)
- rgw: S3 Put Bucket Policy 成功时应返回 204 (pr#38420, Matthew Oliver)
- rgw: 将用户相关的 web token claims 添加到 ops log (pr#38970, Pritha Srivastava)
- rgw: 避免因溢出导致的 expiration 提前触发 (pr#38421, jiahuizeng)
- rgw: cls/rgw/cls_rgw.cc: 修复多个最新版本问题 (pr#38086, Yang Honggang, Ruan Zitao)
- rgw: cls/user: 为 reset stats 调用设置 from_index (pr#38821, Mykola Golub, Abhishek Lekshmanan)
- rgw: distribute cache for exclusive put (pr#38971, Or Friedmann)
- rgw: 修复 bucket limit check fill_status warnings (issue#40255, pr#38826, Paul Emmerich)
- rgw: 修复 serving s3website error page 时的无效 payload 问题 (pr#38339, Ilsoo Byun)
- rgw: 复制 bucket shard headers 时保留 syncstopped 标志 (pr#38338, Ilsoo Byun)
- rgw: lc: 正确维度 lc shard index vector (pr#38824, Matt Benjamin)
- rgw_file: 按词法顺序返回 common_prefixes (pr#38829, Matt Benjamin)
- rpm,deb: 将 sudoers 文件模式更改为 440 (pr#38427, David Turner)
- rpm: 在 SUSE 上要求 smartmontools (pr#38755, Nathan Cutler)
- test/run-cli-tests: 从 github 使用 cram (pr#39071, Kefu Chai)
- tests: qa/task/cephadm: 仅在 bootstrap_remote 上运行 cephadm (pr#38040, Kyr Shatskyy)