v15.2.13 Octopus 发布

dgalloway

这是 Octopus 系列的第 13 个反向移植版本。我们建议所有用户更新到此版本。

重要变更

  • RADOS:动态调整 monitor 中的 trimming 速率的能力以及其他几个错误修复。

变更日志

  • blk/kernel: 修复 io_uring got (4) Interrupted system call (pr#39899, Yanhu Cao)

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

  • cephadm ls` broken for SUSE downstream alertmanager container (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: client: 仅检查常规文件的池权限 (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 by default (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() 上更新影子树 (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)

* refs/pull/40766/head: doc/cephfs/nfs: 添加 rook pod 重启说明、导出和日志块示例 - 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: 避免对未链接的 peer 执行 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: alias rgw-nfs -> nfs (pr#40009, Michael Fritch)

  • mgr/cephadm: 在 ssh 连接错误时,建议 chmod 0600 (pr#40823, Sebastian Wagner)

  • mgr/dashboard: 在主机列表的标签列中添加徽章 (pr#40433, Nizamudeen A)

  • mgr/dashboard: 设备健康状态未在主机部分列出 (pr#40495, Aashish Sharma)

  • mgr/dashboard: 修复警报通知消息未定义的问题 (pr#40589, Nizamudeen A)

  • mgr/dashboard: 修复用户管理角色克隆损坏的问题 (pr#40399, Nizamudeen A)

  • mgr/dashboard: OSDs placement 文本不可读 (pr#41124, Aashish Sharma)

  • mgr/dashboard: 删除多余的 pytest 要求 (pr#40657, Kefu Chai)

  • mgr/dashboard: 从请求正文中删除用户名和密码 (pr#41057, Nizamudeen A)

  • mgr/dashboard: 从管理器模块/dashboard,influx 中删除用户名、密码字段 (pr#40491, Aashish Sharma)

  • mgr/dashboard: 撤销只读用户对管理器模块的访问权限 (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: 文件系统池大小应使用存储的 stat (pr#41020, Avan Thakkar)

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

  • mgr/dashboard: 修复 dashboard 实例 ssl 证书功能 (pr#40001, Avan Thakkar)

  • mgr/dashboard: 改进 telemetry opt-in 提醒通知消息 (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: 放宽 degraded pgs 上的 osd ok-to-stop 条件 (pr#39887, Xuehan Xu)

  • mgr: monmap 更新时更新 mon metadata (pr#39219, Kefu Chai)

  • mon/ConfigMap: 修复 stray option leak (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: 在 promote 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: 空的 bucket 或 OSD 不是错误 (pr#39970, Brad Hubbard)

  • osd: 添加 osd_fast_shutdown_notify_mon 选项 (default false) (issue#46978, pr#40013, Mauricio Faria de Oliveira)

  • osd: 通过原始空间利用率计算 OSD 的空间使用率 (pr#41112, Igor Fedotov)

  • osd: 不要多次转储 osd (pr#40788, Xue Yantao)

  • osd: 不要断言 in-flight backfill 始终在 recovery list 中 (pr#41321, Mykola Golub)

  • osd: 修复发送 ping 时潜在的空指针解引用 (pr#40277, Mykola Golub)

  • osd: 将基本池 application_metadata 传播到 tiers (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: 在 balancing 之前将 weight-sets 分配给所有 buckets (pr#40127, Neha Ojha)

  • pybind/mgr/dashboard: bump flake8 to 3.9.0 (pr#40492, Kefu Chai, Volker Theile)

  • qa/\*/thrash_cache_writeback_proxy_none.yaml: 禁用 writeback overlay tests (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: advanced octopus initial version to 15.2.10 (pr#41228, Yuri Weinstein)

  • qa: 添加 blocklisting 生效的 sleep (pr#40773, Patrick Donnelly)

  • qa: 增加 ffsb workload 的 osd heartbeat grace (pr#40767, Patrick Donnelly)

  • qa: 在 tearDown 期间删除所有 fs (pr#40772, Patrick Donnelly)

  • qa: 对于最新的 kclient,它也会返回 EIO (pr#40765, Xiubo Li)

  • qa: krbd_blkroset.t: 更新以分离 hw 和 user 只读标志 (pr#40211, Ilya Dryomov)

  • rbd-mirror: 基于快照的镜像中的错误状态和崩溃 (pr#39961, Jason Dillaman)

  • rbd-mirror: 延迟更新快照镜像镜像状态 (pr#39967, Jason Dillaman)

  • rbd-mirror: 修复注册 perf counters 时的 UB (pr#40790, Arthur Outhenin-Chalandre)

  • rbd/bench: 包含使用的头文件 (pr#40388, Kefu Chai)

  • rgw/amqp: 修复 amqp manager 初始化中的竞争条件 (pr#40382, Yuval Lifshitz)

  • rgw/http: 为 http client 添加 timeout (pr#40384, Yuval Lifshitz)

  • rgw/notification: 支持 GetTopicAttributes API (pr#40812, Yuval Lifshitz)

  • rgw/notification: 触发任何用户更改时的通知 (pr#40029, Yuval Lifshitz)

  • rgw: 使用 swift put 或 get large object 时使用正确的 bucket info (pr#40296, zhiming zhang, yupeng chen)

  • rgw: 在 forward_request 中添加 MD5 (pr#39758, caolei)

  • rgw: 允许 rgw-orphan-list 处理带有二进制数据的中间文件 (pr#39766, J. Eric Ivancich)

  • rgw: 捕获非 int 异常 (pr#39746, caolei)

  • rgw: 在 reshard lock contention 期间,调整日志记录 (pr#41157, J. Eric Ivancich)

  • rgw: 修复 sts get_session_token duration check failed (pr#39954, yuliyang_yewu)

  • rgw: multisite: 修复 single-part-MPU object etag misidentify problem (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: 修复 broken 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: 为 cb_done var 使用 std::atomic 而不是 volatile (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)