Notice

This document is for a development version of Ceph.

Reef

Reef is the 18th stable release of Ceph. It is named after the reef squid (Sepioteuthis).

v18.2.6 Reef

This is the sixth backport (hotfix) release in the Reef series. We recommend that all users update to this release.

Notable Changes

Changelog

  • ceph-volume: fix regex usage in set_dmcrypt_no_workqueue (pr#62791, Matt1360)

  • common/pick_address: Add IPv6 support to is_addr_in_subnet (pr#62814, rzarzynski)

v18.2.5 Reef

This is the fifth backport release in the Reef series. We recommend that all users update to this release.

Notable Changes

  • RBD: The try-netlink mapping option for rbd-nbd has become the default and is now deprecated. If the NBD netlink interface is not supported by the kernel, then the mapping is retried using the legacy ioctl interface.

  • RADOS: A new command, ceph osd rm-pg-upmap-primary-all, has been added that allows users to clear all pg-upmap-primary mappings in the osdmap when desired.

    Related trackers:

Changelog

  • (reintroduce) test/librados: fix LibRadosIoECPP.CrcZeroWrite (pr#61395, Samuel Just, Nitzan Mordechai)

  • .github: sync the list of paths for rbd label, expand tests label to qa/* (pr#57727, Ilya Dryomov)

  • <common> fix formatter buffer out-of-bounds (pr#61105, liubingrun)

  • [reef] os/bluestore: introduce allocator state histogram (pr#61318, Igor Fedotov)

  • [reef] qa/multisite: stabilize multisite testing (pr#60402, Shilpa Jagannath, Casey Bodley)

  • [reef] qa/rgw: the rgw/verify suite runs java tests last (pr#60849, Casey Bodley)

  • [RGW] Fix the handling of HEAD requests that do not comply with RFC standards (pr#59122, liubingrun)

  • a series of optimizations for kerneldevice discard (pr#59048, Adam Kupczyk, Joshua Baergen, Gabriel BenHanokh, Matt Vandermeulen)

  • Add Containerfile and build.sh to build it (pr#60228, Dan Mick)

  • add RBD Mirror monitoring alerts (pr#56552, Arun Kumar Mohan)

  • AsyncMessenger.cc : improve error messages (pr#61402, Anthony D’Atri)

  • AsyncMessenger: Don’t decrease l_msgr_active_connections if it is negative (pr#60445, Mohit Agrawal)

  • blk/aio: fix long batch (64+K entries) submission (pr#58675, Yingxin Cheng, Igor Fedotov, Adam Kupczyk, Robin Geuze)

  • blk/KernelDevice: using join() to wait thread end is more safe (pr#60615, Yite Gu)

  • bluestore/bluestore_types: avoid heap-buffer-overflow in another way to keep code uniformity (pr#58817, Rongqi Sun)

  • BlueStore: Improve fragmentation score metric (pr#59263, Adam Kupczyk)

  • build-with-container fixes exec bit, dnf cache dir option (pr#61913, John Mulligan)

  • build-with-container: fixes and enhancements (pr#62162, John Mulligan)

  • build: Make boost_url a list (pr#58315, Adam Emerson)

  • ceph-mixin: Update mixin to include alerts for the nvmeof gateway(s) (pr#56948, Adam King, Paul Cuzner)

  • ceph-volume: allow zapping partitions on multipath devices (pr#62178, Guillaume Abrioux)

  • ceph-volume: create LVs when using partitions (pr#58220, Guillaume Abrioux)

  • ceph-volume: do source devices zapping if they’re detached (pr#58996, Igor Fedotov)

  • ceph-volume: fix set_dmcrypt_no_workqueue() (pr#58997, Guillaume Abrioux)

  • ceph-volume: Fix unbound var in disk.get_devices() (pr#59262, Zack Cerza)

  • ceph-volume: fix unit tests errors (pr#59956, Guillaume Abrioux)

  • ceph-volume: update functional testing (pr#56857, Guillaume Abrioux)

  • ceph-volume: use importlib from stdlib on Python 3.8 and up (pr#58005, Guillaume Abrioux, Kefu Chai)

  • ceph-volume: use os.makedirs for mkdir_p (pr#57472, Chen Yuanrun)

  • ceph.spec.in: remove command-with-macro line (pr#57357, John Mulligan)

  • ceph.spec.in: we need jsonnet for all distroes for make check (pr#60076, Kyr Shatskyy)

  • ceph_mon: Fix MonitorDBStore usage (pr#54150, Matan Breizman)

  • ceph_test_rados_api_misc: adjust LibRadosMiscConnectFailure.ConnectTimeout timeout (pr#58137, Lucian Petrut)

  • cephadm/services/ingress: configure security user in keepalived template (pr#61151, Bernard Landon)

  • cephadm: add idmap.conf to nfs sample file (pr#59453, Adam King)

  • cephadm: added check for --skip-firewalld to section on adding explicit Ports to firewalld (pr#57519, Michaela Lang)

  • cephadm: CephExporter doesn’t bind to IPv6 in dual stack (pr#59461, Mouratidis Theofilos)

  • cephadm: change loki/promtail default image tags (pr#57475, Guillaume Abrioux)

  • cephadm: disable ms_bind_ipv4 if we will enable ms_bind_ipv6 (pr#61714, Dan van der Ster, Joshua Blanch)

  • cephadm: emit warning if daemon’s image is not to be used (pr#61721, Matthew Vernon)

  • cephadm: fix cephadm shell --name <daemon-name> for stopped/failed daemon (pr#56490, Adam King)

  • cephadm: fix apparmor profiles with spaces in the names (pr#61712, John Mulligan)

  • cephadm: fix host-maintenance command always exiting with a failure (pr#59454, John Mulligan)

  • cephadm: have agent check for errors before json loading mgr response (pr#59455, Adam King)

  • cephadm: make bootstrap default to “global” section for public_network setting (pr#61918, Adam King)

  • cephadm: pin pyfakefs version for tox tests (pr#56762, Adam King)

  • cephadm: pull container images from quay.io (pr#60474, Guillaume Abrioux)

  • cephadm: rgw: allow specifying the ssl_certificate by filepath (pr#61922, Alexander Hussein-Kershaw)

  • cephadm: Support Docker Live Restore (pr#61916, Michal Nasiadka)

  • cephadm: turn off cgroups_split setting when bootstrapping with --no-cgroups-split (pr#61716, Adam King)

  • cephadm: use importlib.metadata for querying ceph_iscsi’s version (pr#58323, Zac Dover)

  • CephContext: acquire _fork_watchers_lock in notify_post_fork() (issue#63494, pr#59266, Venky Shankar)

  • cephfs-journal-tool: Add preventive measures to avoid fs corruption (pr#57761, Jos Collin)

  • cephfs-mirror: use monotonic clock (pr#56701, Jos Collin)

  • cephfs-shell: excute cmd ‘rmdir_helper’ reported error (pr#58812, teng jie)

  • cephfs-shell: fixing cephfs-shell test failures (pr#60410, Neeraj Pratap Singh)

  • cephfs-shell: prints warning, hangs and aborts when launched (pr#58088, Rishabh Dave)

  • cephfs-top: fix exceptions on small/large sized windows (pr#59898, Jos Collin)

  • cephfs: add command “ceph fs swap” (pr#54942, Rishabh Dave)

  • cephfs: Fixed a bug in the readdir_cache_cb function that may have us… (pr#58805, Tod Chen)

  • cephfs_mirror, qa: fix mirror daemon doesn’t restart when blocklisted or failed (pr#58632, Jos Collin)

  • cephfs_mirror, qa: fix test failure test_cephfs_mirror_cancel_mirroring_and_readd (pr#60182, Jos Collin)

  • cephfs_mirror: ‘ceph fs snapshot mirror ls’ command (pr#60178, Jos Collin)

  • cephfs_mirror: fix crash in update_fs_mirrors() (pr#57451, Jos Collin)

  • cephfs_mirror: increment sync_failures when sync_perms() and sync_snaps() fails (pr#57437, Jos Collin)

  • cephfs_mirror: provide metrics for last successful snapshot sync (pr#59071, Jos Collin)

  • client: check mds down status before getting mds_gid_t from mdsmap (pr#58492, Yite Gu, Dhairya Parmar)

  • client: clear resend_mds only after sending request (pr#57174, Patrick Donnelly)

  • client: disallow unprivileged users to escalate root privileges (pr#61379, Xiubo Li, Venky Shankar)

  • client: do not proceed with I/O if filehandle is invalid (pr#58397, Venky Shankar, Dhairya Parmar)

  • client: Fix leading / issue with mds_check_access (pr#58982, Kotresh HR, Rishabh Dave)

  • client: Fix opening and reading of symlinks (pr#60373, Anoop C S)

  • client: flush the caps release in filesystem sync (pr#59397, Xiubo Li)

  • client: log debug message when requesting unmount (pr#56955, Patrick Donnelly)

  • client: Prevent race condition when printing Inode in ll_sync_inode (pr#59620, Chengen Du)

  • client: set LIBMOUNT_FORCE_MOUNT2=always (pr#58529, Jakob Haufe)

  • cls/cas/cls_cas_internal: Initialize ‘hash’ value before decoding (pr#59237, Nitzan Mordechai)

  • cls/user: reset stats only returns marker when truncated (pr#60165, Casey Bodley)

  • cmake/arrow: don’t treat warnings as errors (pr#57375, Casey Bodley)

  • cmake: use ExternalProjects to build isa-l and isa-l_crypto libraries (pr#60108, Casey Bodley)

  • common,osd: Use last valid OSD IOPS value if measured IOPS is unrealistic (pr#60659, Sridhar Seshasayee)

  • common/admin_socket: add a command to raise a signal (pr#54357, Leonid Usov)

  • common/dout: fix FTBFS on GCC 14 (pr#59056, Radoslaw Zarzynski)

  • common/Formatter: dump inf/nan as null (pr#60061, Md Mahamudur Rahaman Sajib)

  • common/options: Change HDD OSD shard configuration defaults for mClock (pr#59972, Sridhar Seshasayee)

  • common/pick_address: check if address in subnet all public address (pr#57590, Nitzan Mordechai)

  • common/StackStringStream: update pointer to newly allocated memory in overflow() (pr#57362, Rongqi Sun)

  • common/TrackedOp: do not count the ops marked as nowarn (pr#58744, Xiubo Li)

  • common/TrackedOp: rename and raise prio of slow op perfcounter (pr#59280, Yite Gu)

  • common: fix md_config_cacher_t (pr#61403, Ronen Friedman)

  • common: use close_range on Linux (pr#61625, edef)

  • container/build.sh: don’t require repo creds on NO_PUSH (pr#61582, Dan Mick)

  • container/build.sh: fix up org vs. repo naming (pr#61581, Dan Mick)

  • container/build.sh: remove local container images (pr#62065, Dan Mick)

  • container/Containerfile: replace CEPH_VERSION label for backward compat (pr#61580, Dan Mick)

  • container: add label ceph=True back (pr#61612, John Mulligan)

  • containerized build tools [V2] (pr#61683, John Mulligan, Ernesto Puerta)

  • debian pkg: record python3-packaging dependency for ceph-volume (pr#59201, Kefu Chai, Thomas Lamprecht)

  • debian: add ceph-exporter package (pr#56541, Shinya Hayashi)

  • debian: add missing bcrypt to ceph-mgr .requires to fix resulting package dependencies (pr#54662, Thomas Lamprecht)

  • debian: recursively adjust permissions of /var/lib/ceph/crash (pr#58458, Max Carrara)

  • doc,mailmap: update my email / association to ibm (pr#60339, Patrick Donnelly)

  • doc/ceph-volume: add spillover fix procedure (pr#59541, Zac Dover)

  • doc/cephadm/services: Re-improve osd.rst (pr#61953, Anthony D’Atri)

  • doc/cephadm/upgrade: ceph-ci containers are hosted by quay.ceph.io (pr#58681, Casey Bodley)

  • doc/cephadm: add default monitor images (pr#57209, Zac Dover)

  • doc/cephadm: add malformed-JSON removal instructions (pr#59664, Zac Dover)

  • doc/cephadm: Clarify “Deploying a new Cluster” (pr#60810, Zac Dover)

  • doc/cephadm: clean “Adv. OSD Service Specs” (pr#60680, Zac Dover)

  • doc/cephadm: correct note (pr#61529, Zac Dover)

  • doc/cephadm: edit “Using Custom Images” (pr#58941, Zac Dover)

  • doc/cephadm: how to get exact size_spec from device (pr#59431, Zac Dover)

  • doc/cephadm: improve “Activate Existing OSDs” (pr#61748, Zac Dover)

  • doc/cephadm: improve “Activate Existing OSDs” (pr#61726, Zac Dover)

  • doc/cephadm: link to “host pattern” matching sect (pr#60645, Zac Dover)

  • doc/cephadm: Reef default images procedure (pr#57236, Zac Dover)

  • doc/cephadm: remove downgrade reference from upgrade docs (pr#57086, Adam King)

  • doc/cephadm: simplify confusing math proposition (pr#61575, Zac Dover)

  • doc/cephadm: Update operations.rst (pr#60638, rhkelson)

  • doc/cephfs: add cache pressure information (pr#59149, Zac Dover)

  • doc/cephfs: add doc for disabling mgr/volumes plugin (pr#60497, Rishabh Dave)

  • doc/cephfs: add metrics to left pane (pr#57736, Zac Dover)

  • doc/cephfs: disambiguate “Reporting Free Space” (pr#56872, Zac Dover)

  • doc/cephfs: disambiguate two sentences (pr#57704, Zac Dover)

  • doc/cephfs: disaster-recovery-experts cleanup (pr#61447, Zac Dover)

  • doc/cephfs: document purge queue and its perf counters (pr#61194, Dhairya Parmar)

  • doc/cephfs: edit “Cloning Snapshots” in fs-volumes.rst (pr#57666, Zac Dover)

  • doc/cephfs: edit “Disabling Volumes Plugin” (pr#60468, Rishabh Dave)

  • doc/cephfs: edit “Dynamic Subtree Partitioning” (pr#58910, Zac Dover)

  • doc/cephfs: edit “is mount helper present” (pr#58579, Zac Dover)

  • doc/cephfs: edit “Layout Fields” text (pr#59022, Zac Dover)

  • doc/cephfs: edit “Pinning Subvolumes…” (pr#57663, Zac Dover)

  • doc/cephfs: edit 2nd 3rd of mount-using-kernel-driver (pr#61059, Zac Dover)

  • doc/cephfs: edit 3rd 3rd of mount-using-kernel-driver (pr#61081, Zac Dover)

  • doc/cephfs: edit disaster-recovery-experts (pr#61424, Zac Dover)

  • doc/cephfs: edit disaster-recovery-experts (2 of x) (pr#61444, Zac Dover)

  • doc/cephfs: edit disaster-recovery-experts (3 of x) (pr#61454, Zac Dover)

  • doc/cephfs: edit disaster-recovery-experts (4 of x) (pr#61480, Zac Dover)

  • doc/cephfs: edit disaster-recovery-experts (5 of x) (pr#61500, Zac Dover)

  • doc/cephfs: edit disaster-recovery-experts (6 of x) (pr#61522, Zac Dover)

  • doc/cephfs: edit first 3rd of mount-using-kernel-driver (pr#61042, Zac Dover)

  • doc/cephfs: edit front matter in client-auth.rst (pr#57122, Zac Dover)

  • doc/cephfs: edit front matter in mantle.rst (pr#57792, Zac Dover)

  • doc/cephfs: edit fs-volumes.rst (1 of x) (pr#57418, Zac Dover)

  • doc/cephfs: edit fs-volumes.rst (1 of x) followup (pr#57427, Zac Dover)

  • doc/cephfs: edit fs-volumes.rst (2 of x) (pr#57543, Zac Dover)

  • doc/cephfs: edit grammar in snapshots.rst (pr#61460, Zac Dover)

  • doc/cephfs: edit vstart warning text (pr#57815, Zac Dover)

  • doc/cephfs: fix “file layouts” link (pr#58876, Zac Dover)

  • doc/cephfs: fix “OSD capabilities” link (pr#58893, Zac Dover)

  • doc/cephfs: fix typo (pr#58469, spdfnet)

  • doc/cephfs: improve “layout fields” text (pr#59251, Zac Dover)

  • doc/cephfs: improve cache-configuration.rst (pr#59215, Zac Dover)

  • doc/cephfs: improve ceph-fuse command (pr#56968, Zac Dover)

  • doc/cephfs: rearrange subvolume group information (pr#60436, Indira Sawant)

  • doc/cephfs: refine client-auth (1 of 3) (pr#56780, Zac Dover)

  • doc/cephfs: refine client-auth (2 of 3) (pr#56842, Zac Dover)

  • doc/cephfs: refine client-auth (3 of 3) (pr#56851, Zac Dover)

  • doc/cephfs: s/mountpoint/mount point/ (pr#59295, Zac Dover)

  • doc/cephfs: s/mountpoint/mount point/ (pr#59287, Zac Dover)

  • doc/cephfs: s/subvolumegroups/subvolume groups (pr#57743, Zac Dover)

  • doc/cephfs: separate commands into sections (pr#57669, Zac Dover)

  • doc/cephfs: streamline a paragraph (pr#58775, Zac Dover)

  • doc/cephfs: take Anthony’s suggestion (pr#58360, Zac Dover)

  • doc/cephfs: update cephfs-shell link (pr#58371, Zac Dover)

  • doc/cephfs: use ‘p’ flag to set layouts or quotas (pr#60483, TruongSinh Tran-Nguyen)

  • doc/dev/developer_guide/essentials: update mailing lists (pr#62376, Laimis Juzeliunas)

  • doc/dev/peering: Change acting set num (pr#59063, qn2060)

  • doc/dev/release-process.rst: New container build/release process (pr#60972, Dan Mick)

  • doc/dev/release-process.rst: note new ‘project’ arguments (pr#57644, Dan Mick)

  • doc/dev: add “activate latest release” RTD step (pr#59655, Zac Dover)

  • doc/dev: add formatting to basic workflow (pr#58738, Zac Dover)

  • doc/dev: add note about intro of perf counters (pr#57758, Zac Dover)

  • doc/dev: add target links to perf_counters.rst (pr#57734, Zac Dover)

  • doc/dev: edit “Principles for format change” (pr#58576, Zac Dover)

  • doc/dev: Fix typos in encoding.rst (pr#58305, N Balachandran)

  • doc/dev: improve basic-workflow.rst (pr#58938, Zac Dover)

  • doc/dev: instruct devs to backport (pr#61064, Zac Dover)

  • doc/dev: link to ceph.io leads list (pr#58106, Zac Dover)

  • doc/dev: origin of Labeled Perf Counters (pr#57914, Zac Dover)

  • doc/dev: remove “Stable Releases and Backports” (pr#60273, Zac Dover)

  • doc/dev: repair broken image (pr#57008, Zac Dover)

  • doc/dev: s/to asses/to assess/ (pr#57423, Zac Dover)

  • doc/dev_guide: add needs-upgrade-testing label info (pr#58730, Zac Dover)

  • doc/developer_guide: update doc about installing teuthology (pr#57750, Rishabh Dave)

  • doc/foundation.rst: update Intel point of contact (pr#61032, Neha Ojha)

  • doc/glossary.rst: add “Dashboard Plugin” (pr#60897, Zac Dover)

  • doc/glossary.rst: add “OpenStack Swift” and “Swift” (pr#57942, Zac Dover)

  • doc/glossary: add “ceph-ansible” (pr#59008, Zac Dover)

  • doc/glossary: add “ceph-fuse” entry (pr#58944, Zac Dover)

  • doc/glossary: add “DC” (Data Center) to glossary (pr#60876, Zac Dover)

  • doc/glossary: add “flapping OSD” (pr#60865, Zac Dover)

  • doc/glossary: add “object storage” (pr#59425, Zac Dover)

  • doc/glossary: add “PLP” to glossary (pr#60504, Zac Dover)

  • doc/glossary: add “Prometheus” (pr#58978, Zac Dover)

  • doc/glossary: Add “S3” (pr#57983, Zac Dover)

  • doc/governance: add exec council responsibilites (pr#60140, Zac Dover)

  • doc/governance: add Zac Dover’s updated email (pr#60135, Zac Dover)

  • doc/install: fix typos in openEuler-installation doc (pr#56413, Rongqi Sun)

  • doc/install: Keep the name field of the created user consistent with … (pr#59757, hejindong)

  • doc/man/8/radosgw-admin: add get lifecycle command (pr#57160, rkhudov)

  • doc/man: add missing long option switches (pr#57707, Patrick Donnelly)

  • doc/man: edit ceph-bluestore-tool.rst (pr#59683, Zac Dover)

  • doc/man: supplant “wsync” with “nowsync” as the default (pr#60200, Zac Dover)

  • doc/mds: improve wording (pr#59586, Piotr Parczewski)

  • doc/mgr/dashboard: fix TLS typo (pr#59032, Mindy Preston)

  • doc/mgr: Add root CA cert instructions to rgw.rst (pr#61885, Anuradha Gadge, Zac Dover)

  • doc/mgr: edit “Overview” in dashboard.rst (pr#57336, Zac Dover)

  • doc/mgr: edit “Resolve IP address to hostname before redirect” (pr#57296, Zac Dover)

  • doc/mgr: explain error message - dashboard.rst (pr#57109, Zac Dover)

  • doc/mgr: remove Zabbix 1 information (pr#56798, Zac Dover)

  • doc/monitoring: Improve index.rst (pr#62266, Anthony D’Atri)

  • doc/rados/operations: Clarify stretch mode vs device class (pr#62078, Anthony D’Atri)

  • doc/rados/operations: improve crush-map-edits.rst (pr#62318, Anthony D’Atri)

  • doc/rados/operations: Improve health-checks.rst (pr#59583, Anthony D’Atri)

  • doc/rados/operations: Improve pools.rst (pr#61729, Anthony D’Atri)

  • doc/rados/operations: remove vanity cluster name reference from crush… (pr#58948, Anthony D’Atri)

  • doc/rados/operations: rephrase OSDs peering (pr#57157, Piotr Parczewski)

  • doc/rados/troubleshooting: Improve log-and-debug.rst (pr#60825, Anthony D’Atri)

  • doc/rados/troubleshooting: Improve troubleshooting-pg.rst (pr#62321, Anthony D’Atri)

  • doc/rados: add “pgs not deep scrubbed in time” info (pr#59734, Zac Dover)

  • doc/rados: add blaum_roth coding guidance (pr#60538, Zac Dover)

  • doc/rados: add bucket rename command (pr#57027, Zac Dover)

  • doc/rados: add confval directives to health-checks (pr#59872, Zac Dover)

  • doc/rados: add link to messenger v2 info in mon-lookup-dns.rst (pr#59795, Zac Dover)

  • doc/rados: add options to network config ref (pr#57916, Zac Dover)

  • doc/rados: add osd_deep_scrub_interval setting operation (pr#59803, Zac Dover)

  • doc/rados: add pg-states and pg-concepts to tree (pr#58050, Zac Dover)

  • doc/rados: add stop monitor command (pr#57851, Zac Dover)

  • doc/rados: add stretch_rule workaround (pr#58182, Zac Dover)

  • doc/rados: correct “full ratio” note (pr#60738, Zac Dover)

  • doc/rados: credit Prashant for a procedure (pr#58258, Zac Dover)

  • doc/rados: document manually passing search domain (pr#58432, Zac Dover)

  • doc/rados: document unfound object cache-tiering scenario (pr#59381, Zac Dover)

  • doc/rados: edit “Placement Groups Never Get Clean” (pr#60047, Zac Dover)

  • doc/rados: edit troubleshooting-osd.rst (pr#58272, Zac Dover)

  • doc/rados: explain replaceable parts of command (pr#58060, Zac Dover)

  • doc/rados: fix outdated value for ms_bind_port_max (pr#57048, Pierre Riteau)

  • doc/rados: fix sentences in health-checks (2 of x) (pr#60932, Zac Dover)

  • doc/rados: fix sentences in health-checks (3 of x) (pr#60950, Zac Dover)

  • doc/rados: followup to PR#58057 (pr#58162, Zac Dover)

  • doc/rados: improve leader/peon monitor explanation (pr#57959, Zac Dover)

  • doc/rados: improve pg_num/pgp_num info (pr#62057, Zac Dover)

  • doc/rados: make sentences agree in health-checks.rst (pr#60921, Zac Dover)

  • doc/rados: pool and namespace are independent osdcap restrictions (pr#61524, Ilya Dryomov)

  • doc/rados: PR#57022 unfinished business (pr#57265, Zac Dover)

  • doc/rados: remove dual-stack docs (pr#57073, Zac Dover)

  • doc/rados: remove redundant pg repair commands (pr#57040, Zac Dover)

  • doc/rados: s/cepgsqlite/cephsqlite/ (pr#57247, Zac Dover)

  • doc/rados: standardize markup of “clean” (pr#60501, Zac Dover)

  • doc/rados: update how to install c++ header files (pr#58308, Pere Diaz Bou)

  • doc/radosgw/config-ref: fix lc worker thread tuning (pr#61438, Laimis Juzeliunas)

  • doc/radosgw/multisite: fix Configuring Secondary Zones -> Updating the Period (pr#60333, Casey Bodley)

  • doc/radosgw/s3: correct eTag op match tables (pr#61309, Anthony D’Atri)

  • doc/radosgw: disambiguate version-added remarks (pr#57141, Zac Dover)

  • doc/radosgw: Improve archive-sync-module.rst (pr#60853, Anthony D’Atri)

  • doc/radosgw: Improve archive-sync-module.rst more (pr#60868, Anthony D’Atri)

  • doc/radosgw: s/zonegroup/pools/ (pr#61557, Zac Dover)

  • doc/radosgw: update Reef S3 action list (pr#57365, Zac Dover)

  • doc/radosgw: update rgw_dns_name doc (pr#60886, Zac Dover)

  • doc/radosgw: use ‘confval’ directive for reshard config options (pr#57024, Casey Bodley)

  • doc/rbd/rbd-exclusive-locks: mention incompatibility with advisory locks (pr#58864, Ilya Dryomov)

  • doc/rbd: add namespace information for mirror commands (pr#60270, N Balachandran)

  • doc/rbd: fix typos in NVMe-oF docs (pr#58188, N Balachandran)

  • doc/rbd: use https links in live import examples (pr#61604, Ilya Dryomov)

  • doc/README.md - add ordered list (pr#59799, Zac Dover)

  • doc/README.md: create selectable commands (pr#59835, Zac Dover)

  • doc/README.md: edit “Build Prerequisites” (pr#59638, Zac Dover)

  • doc/README.md: improve formatting (pr#59786, Zac Dover)

  • doc/README.md: improve formatting (pr#59701, Zac Dover)

  • doc/releases: add actual_eol for quincy (pr#61360, Zac Dover)

  • doc/releases: Add ordering comment to releases.yml (pr#62193, Anthony D’Atri)

  • doc/rgw/d3n: pass cache dir volume to extra_container_args (pr#59768, Mark Kogan)

  • doc/rgw/notification: persistent notification queue full behavior (pr#59234, Yuval Lifshitz)

  • doc/rgw/notifications: specify which event types are enabled by default (pr#54500, Yuval Lifshitz)

  • doc/security: remove old GPG information (pr#56914, Zac Dover)

  • doc/security: update CVE list (pr#57018, Zac Dover)

  • doc/src: add inline literals (` `` ) to variables (`pr#57937, Zac Dover)

  • doc/src: invadvisable is not a word (pr#58190, Doug Whitfield)

  • doc/start/os-recommendations: remove 16.2.z support for CentOS 7 (pr#58721, gukaifeng)

  • doc/start: Add Beginner’s Guide (pr#57822, Zac Dover)

  • doc/start: add links to Beginner’s Guide (pr#58203, Zac Dover)

  • doc/start: add tested container host oses (pr#58713, Zac Dover)

  • doc/start: add vstart install guide (pr#60462, Zac Dover)

  • doc/start: Edit Beginner’s Guide (pr#57845, Zac Dover)

  • doc/start: fix “are are” typo (pr#60709, Zac Dover)

  • doc/start: fix wording & syntax (pr#58364, Piotr Parczewski)

  • doc/start: Mention RGW in Intro to Ceph (pr#61927, Anthony D’Atri)

  • doc/start: remove “intro.rst” (pr#57949, Zac Dover)

  • doc/start: remove mention of Centos 8 support (pr#58390, Zac Dover)

  • doc/start: s/http/https/ in links (pr#57871, Zac Dover)

  • doc/start: s/intro.rst/index.rst/ (pr#57903, Zac Dover)

  • doc/start: separate package and container support tables (pr#60789, Zac Dover)

  • doc/start: separate package chart from container chart (pr#60699, Zac Dover)

  • doc/start: update mailing list links (pr#58684, Zac Dover)

  • doc: add snapshots in docs under Cephfs concepts (pr#61247, Neeraj Pratap Singh)

  • doc: Amend dev mailing list subscribe instructions (pr#58697, Paulo E. Castro)

  • doc: clarify availability vs integrity (pr#58131, Gregory O’Neill)

  • doc: clarify superuser note for ceph-fuse (pr#58615, Patrick Donnelly)

  • doc: Clarify that there are no tertiary OSDs (pr#61731, Anthony D’Atri)

  • doc: clarify use of location: in host spec (pr#57647, Matthew Vernon)

  • doc: Correct link to “Device management” (pr#58489, Matthew Vernon)

  • doc: Correct link to Prometheus docs (pr#59560, Matthew Vernon)

  • doc: correct typo (pr#57884, Matthew Vernon)

  • doc: document metrics exported by CephFS (pr#57724, Jos Collin)

  • doc: Document the Windows CI job (pr#60034, Lucian Petrut)

  • doc: Document which options are disabled by mClock (pr#60672, Niklas Hambüchen)

  • doc: documenting the feature that scrub clear the entries from damage… (pr#59079, Neeraj Pratap Singh)

  • doc: explain the consequence of enabling mirroring through monitor co… (pr#60526, Jos Collin)

  • doc: fix email (pr#60234, Ernesto Puerta)

  • doc: fix incorrect radosgw-admin subcommand (pr#62005, Toshikuni Fukaya)

  • doc: fix typo (pr#59992, N Balachandran)

  • doc: Fixes a typo in controllers section of hardware recommendations (pr#61179, Kevin Niederwanger)

  • doc: fixup #58689 - document SSE-C iam condition key (pr#62298, dawg)

  • doc: Improve doc/radosgw/placement.rst (pr#58974, Anthony D’Atri)

  • doc: improve tests-integration-testing-teuthology-workflow.rst (pr#61343, Vallari Agrawal)

  • doc: s/Whereas,/Although/ (pr#60594, Zac Dover)

  • doc: SubmittingPatches-backports - remove backports team (pr#60298, Zac Dover)

  • doc: Update “Getting Started” to link to start not install (pr#59908, Matthew Vernon)

  • doc: update Key Idea in cephfs-mirroring.rst (pr#60344, Jos Collin)

  • doc: update nfs doc for Kerberos setup of ganesha in Ceph (pr#59940, Avan Thakkar)

  • doc: update tests-integration-testing-teuthology-workflow.rst (pr#59549, Vallari Agrawal)

  • doc: Upgrade and unpin some python versions (pr#61932, David Galloway)

  • doc:update e-mail addresses governance (pr#60085, Tobias Fischer)

  • docs/rados/operations/stretch-mode: warn device class is not supported (pr#59100, Kamoltat Sirivadhna)

  • docs: removed centos 8 and added squid to the build matrix (pr#58902, Yuri Weinstein)

  • exporter: fix regex for rgw sync metrics (pr#57658, Avan Thakkar)

  • exporter: handle exceptions gracefully (pr#57371, Divyansh Kamboj)

  • fix issue with bucket notification test (pr#61881, Yuval Lifshitz)

  • global: Call getnam_r with a 64KiB buffer on the heap (pr#60126, Adam Emerson)

  • install-deps.sh, do_cmake.sh: almalinux is another el flavour (pr#58522, Dan van der Ster)

  • install-deps: save and restore user’s XDG_CACHE_HOME (pr#56993, luo rixin)

  • kv/RocksDBStore: Configure compact-on-deletion for all CFs (pr#57402, Joshua Baergen)

  • librados: use CEPH_OSD_FLAG_FULL_FORCE for IoCtxImpl::remove (pr#59282, Chen Yuanrun)

  • librbd/crypto/LoadRequest: clone format for migration source image (pr#60170, Ilya Dryomov)

  • librbd/crypto: fix issue when live-migrating from encrypted export (pr#59151, Ilya Dryomov)

  • librbd/migration/HttpClient: avoid reusing ssl_stream after shut down (pr#61094, Ilya Dryomov)

  • librbd/migration: prune snapshot extents in RawFormat::list_snaps() (pr#59660, Ilya Dryomov)

  • librbd: add rbd_diff_iterate3() API to take source snapshot by ID (pr#62129, Ilya Dryomov, Vinay Bhaskar Varada)

  • librbd: avoid data corruption on flatten when object map is inconsistent (pr#61167, Ilya Dryomov)

  • librbd: clear ctx before initiating close in Image::{aio_,}close() (pr#61526, Ilya Dryomov)

  • librbd: create rbd_trash object during pool initialization and namespace creation (pr#57603, Ramana Raja)

  • librbd: diff-iterate shouldn’t crash on an empty byte range (pr#58211, Ilya Dryomov)

  • librbd: disallow group snap rollback if memberships don’t match (pr#58207, Ilya Dryomov)

  • librbd: don’t crash on a zero-length read if buffer is NULL (pr#57570, Ilya Dryomov)

  • librbd: fix a crash in get_rollback_snap_id (pr#62045, Ilya Dryomov, N Balachandran)

  • librbd: fix a deadlock on image_lock caused by Mirror::image_disable() (pr#62127, Ilya Dryomov)

  • librbd: fix mirror image status summary in a namespace (pr#61831, Ilya Dryomov)

  • librbd: make diff-iterate in fast-diff mode aware of encryption (pr#58345, Ilya Dryomov)

  • librbd: make group and group snapshot IDs more random (pr#57091, Ilya Dryomov)

  • librbd: stop filtering async request error codes (pr#61644, Ilya Dryomov)

  • Links to Jenkins jobs in PR comment commands / Remove deprecated commands (pr#62037, David Galloway)

  • log: save/fetch thread name infra (pr#60728, Milind Changire, Patrick Donnelly)

  • Make mon addrs consistent with mon info (pr#60750, shenjiatong)

  • mds/client: return -ENODATA when xattr doesn’t exist for removexattr (pr#58770, Xiubo Li)

  • mds/purgequeue: add l_pq_executed_ops counter (pr#58328, shimin)

  • mds: Add fragment to scrub (pr#56895, Christopher Hoffman)

  • mds: batch backtrace updates by pool-id when expiring a log segment (issue#63259, pr#60689, Venky Shankar)

  • mds: cephx path restriction incorrectly rejects snapshots of deleted directory (pr#59519, Patrick Donnelly)

  • mds: check relevant caps for fs include root_squash (pr#57343, Patrick Donnelly)

  • mds: CInode::item_caps used in two different lists (pr#56886, Dhairya Parmar)

  • mds: defer trim() until after the last cache_rejoin ack being received (pr#56747, Xiubo Li)

  • mds: do remove the cap when seqs equal or larger than last issue (pr#58295, Xiubo Li)

  • mds: don’t add counters in warning for standby-replay MDS (pr#57834, Rishabh Dave)

  • mds: don’t stall the asok thread for flush commands (pr#57560, Leonid Usov)

  • mds: fix session/client evict command (issue#68132, pr#58726, Venky Shankar, Neeraj Pratap Singh)

  • mds: fix the description for inotable testing only options (pr#57115, Xiubo Li)

  • mds: getattr just waits the xlock to be released by the previous client (pr#60692, Xiubo Li)

  • mds: Implement remove for ceph vxattrs (pr#58350, Christopher Hoffman)

  • mds: inode_t flags may not be protected by the policylock during set_vxattr (pr#57177, Patrick Donnelly)

  • mds: log at a lower level when stopping (pr#57227, Kotresh HR)

  • mds: misc fixes for MDSAuthCaps code (pr#60207, Xiubo Li)

  • mds: prevent scrubbing for standby-replay MDS (pr#58493, Neeraj Pratap Singh)

  • mds: relax divergent backtrace scrub failures for replicated ancestor inodes (issue#64730, pr#58502, Venky Shankar)

  • mds: set the correct WRLOCK flag always in wrlock_force() (pr#58497, Xiubo Li)

  • mds: set the proper extra bl for the create request (pr#58528, Xiubo Li)

  • mds: some request errors come from errno.h rather than fs_types.h (pr#56664, Patrick Donnelly)

  • mds: try to choose a new batch head in request_clientup() (pr#58842, Xiubo Li)

  • mds: use regular dispatch for processing beacons (pr#57683, Patrick Donnelly)

  • mds: use regular dispatch for processing metrics (pr#57681, Patrick Donnelly)

  • mgr/BaseMgrModule: Optimize CPython Call in Finish Function (pr#55110, Nitzan Mordechai)

  • mgr/cephadm: add “original_weight” parameter to OSD class (pr#59411, Adam King)

  • mgr/cephadm: add command to expose systemd units of all daemons (pr#61915, Adam King)

  • mgr/cephadm: Allows enabling NFS Ganesha NLM (pr#56909, Teoman ONAY)

  • mgr/cephadm: ceph orch host drain command to return error for invalid hostname (pr#61919, Shweta Bhosale)

  • mgr/cephadm: cleanup iscsi and nvmeof keyrings upon daemon removal (pr#59459, Adam King)

  • mgr/cephadm: create OSD daemon deploy specs through make_daemon_spec (pr#61923, Adam King)

  • mgr/cephadm: fix flake8 test failures (pr#58076, Nizamudeen A)

  • mgr/cephadm: fix typo with vrrp_interfaces in keepalive setup (pr#61904, Adam King)

  • mgr/cephadm: make client-keyring deploying ceph.conf optional (pr#59451, Adam King)

  • mgr/cephadm: make setting --cgroups=split configurable for adopted daemons (pr#59460, Gilad Sid)

  • mgr/cephadm: make SMB and NVMEoF upgrade last in staggered upgrade (pr#59462, Adam King)

  • mgr/cephadm: mgr orchestrator module raise exception if there is trailing tab in yaml file (pr#61921, Shweta Bhosale)

  • mgr/cephadm: set OSD cap for NVMEoF daemon to “profile rbd” (pr#57234, Adam King)

  • mgr/cephadm: Update multi-site configs before deploying daemons on rgw service create (pr#60350, Aashish Sharma)

  • mgr/cephadm: use double quotes for NFSv4 RecoveryBackend in ganesha conf (pr#61924, Adam King)

  • mgr/cephadm: use host address while updating rgw zone endpoints (pr#59947, Aashish Sharma)

  • mgr/dashboard: add a custom warning message when enabling feature (pr#61038, Nizamudeen A)

  • mgr/dashboard: add absolute path validation for pseudo path of nfs export (pr#57637, avanthakkar)

  • mgr/dashboard: add cephfs rename REST API (pr#60729, Yite Gu)

  • mgr/dashboard: add dueTime to rgw bucket validator (pr#58247, Nizamudeen A)

  • mgr/dashboard: add NFS export button for subvolume/ grp (pr#58657, Avan Thakkar)

  • mgr/dashboard: add prometheus federation config for mullti-cluster monitoring (pr#57255, Aashish Sharma)

  • mgr/dashboard: Administration > Configuration > Some of the config options are not updatable at runtime (pr#61182, Naman Munet)

  • mgr/dashboard: bump follow-redirects from 1.15.3 to 1.15.6 in /src/pybind/mgr/dashboard/frontend (pr#56877, dependabot[bot])

  • mgr/dashboard: Changes for Sign out text to Login out (pr#58989, Prachi Goel)

  • mgr/dashboard: Cloning subvolume not listing _nogroup if no subvolume (pr#59952, Dnyaneshwari talwekar)

  • mgr/dashboard: critical confirmation modal changes (pr#61980, Naman Munet)

  • mgr/dashboard: disable deleting bucket with objects (pr#61973, Naman Munet)

  • mgr/dashboard: exclude cloned-deleted RBD snaps (pr#57219, Ernesto Puerta)

  • mgr/dashboard: fix clone async validators with different groups (pr#58338, Nizamudeen A)

  • mgr/dashboard: fix dashboard not visible on disabled anonymous access (pr#56965, Nizamudeen A)

  • mgr/dashboard: fix doc links in rgw-multisite (pr#60155, Pedro Gonzalez Gomez)

  • mgr/dashboard: fix duplicate grafana panels when on mgr failover (pr#56929, Avan Thakkar)

  • mgr/dashboard: fix edit bucket failing in other selected gateways (pr#58245, Nizamudeen A)

  • mgr/dashboard: fix handling NaN values in dashboard charts (pr#59962, Aashish Sharma)

  • mgr/dashboard: Fix Latency chart data units in rgw overview page (pr#61237, Aashish Sharma)

  • mgr/dashboard: fix readonly landingpage (pr#57752, Pedro Gonzalez Gomez)

  • mgr/dashboard: fix setting compression type while editing rgw zone (pr#59971, Aashish Sharma)

  • mgr/dashboard: fix snap schedule delete retention (pr#56862, Ivo Almeida)

  • mgr/dashboard: fix total objects/Avg object size in RGW Overview Page (pr#61458, Aashish Sharma)

  • mgr/dashboard: Fix variable capitalization in embedded rbd-details panel (pr#62209, Juan Ferrer Toribio)

  • mgr/dashboard: Forbid snapshot name “.” and any containing “/” (pr#59994, Dnyaneshwari Talwekar)

  • mgr/dashboard: handle infinite values for pools (pr#61097, Afreen)

  • mgr/dashboard: introduce server side pagination for osds (pr#60295, Nizamudeen A)

  • mgr/dashboard: Move features to advanced section and expand by default rbd config section (pr#56921, Afreen)

  • mgr/dashboard: nfs export enhancement for CEPHFS (pr#58475, Avan Thakkar)

  • mgr/dashboard: pin lxml to fix run-dashboard-tox-make-check failure (pr#62256, Nizamudeen A)

  • mgr/dashboard: remove cherrypy_backports.py (pr#60633, Nizamudeen A)

  • mgr/dashboard: remove minutely from retention (pr#56917, Ivo Almeida)

  • mgr/dashboard: remove orch required decorator from host UI router (list) (pr#59852, Naman Munet)

  • mgr/dashboard: service form hosts selection only show up to 10 entries (pr#59761, Naman Munet)

  • mgr/dashboard: snapshot schedule repeat frequency validation (pr#56880, Ivo Almeida)

  • mgr/dashboard: Update and correct zonegroup delete notification (pr#61236, Aashish Sharma)

  • mgr/dashboard: update period after migrating to multi-site (pr#59963, Aashish Sharma)

  • mgr/dashboard: update translations for reef (pr#60358, Nizamudeen A)

  • mgr/dashboard: When configuring the RGW Multisite endpoints from the UI allow FQDN(Not only IP) (pr#62354, Aashish Sharma)

  • mgr/dashboard: Wrong(half) uid is observed in dashboard (pr#59876, Dnyaneshwari Talwekar)

  • mgr/dashboard: Zone details showing incorrect data for data pool values and compression info for Storage Classes (pr#59877, Aashish Sharma)

  • mgr/diskprediction_local: avoid more mypy errors (pr#62369, John Mulligan)

  • mgr/diskprediction_local: avoid mypy error (pr#61292, John Mulligan)

  • mgr/k8sevents: update V1Events to CoreV1Events (pr#57994, Nizamudeen A)

  • mgr/Mgr.cc: clear daemon health metrics instead of removing down/out osd from daemon state (pr#58513, Cory Snyder)

  • mgr/nfs: Don’t crash ceph-mgr if NFS clusters are unavailable (pr#58283, Anoop C S, Ponnuvel Palaniyappan)

  • mgr/nfs: scrape nfs monitoring endpoint (pr#61719, avanthakkar)

  • mgr/orchestrator: fix encrypted flag handling in orch daemon add osd (pr#61720, Yonatan Zaken)

  • mgr/pybind/object_format: fix json-pretty being marked invalid (pr#59458, Adam King)

  • mgr/rest: Trim requests array and limit size (pr#59371, Nitzan Mordechai)

  • mgr/rgw: Adding a retry config while calling zone_create() (pr#61717, Kritik Sachdeva)

  • mgr/rgw: fix error handling in rgw zone create (pr#61713, Adam King)

  • mgr/rgw: fix setting rgw realm token in secondary site rgw spec (pr#61715, Adam King)

  • mgr/snap_schedule: correctly fetch mds_max_snaps_per_dir from mds (pr#59648, Milind Changire)

  • mgr/snap_schedule: restore yearly spec to lowercase y (pr#57446, Milind Changire)

  • mgr/stats: initialize mx_last_updated in FSPerfStats (pr#57441, Jos Collin)

  • mgr/status: Fix ‘fs status’ json output (pr#60188, Kotresh HR)

  • mgr/vol : shortening the name of helper method (pr#60369, Neeraj Pratap Singh)

  • mgr/vol: handle case where clone index entry goes missing (pr#58556, Rishabh Dave)

  • mgr: fix subuser creation via dashboard (pr#62087, Hannes Baum)

  • mgr: remove out&down osd from mgr daemons (pr#54533, shimin)

  • Modify container/ software to support release containers and the promotion of prerelease containers (pr#60961, Dan Mick)

  • mon, osd, *: expose upmap-primary in OSDMap::get_features() (pr#57794, Radoslaw Zarzynski)

  • mon, osd: add command to remove invalid pg-upmap-primary entries (pr#62191, Laura Flores)

  • mon, qa: suites override ec profiles with --yes_i_really_mean_it; monitors accept that (pr#59274, Radoslaw Zarzynski, Radosław Zarzyński)

  • mon,cephfs: require confirmation flag to bring down unhealthy MDS (pr#57837, Rishabh Dave)

  • mon/ElectionLogic: tie-breaker mon ignore proposal from marked down mon (pr#58687, Kamoltat)

  • mon/LogMonitor: Use generic cluster log level config (pr#57495, Prashant D)

  • mon/MDSMonitor: fix assert crash in fs swap (pr#57373, Patrick Donnelly)

  • mon/MonClient: handle ms_handle_fast_authentication return (pr#59307, Patrick Donnelly)

  • mon/MonmapMonitor: do not propose on error in prepare_update (pr#56400, Patrick Donnelly)

  • mon/OSDMonitor: Add force-remove-snap mon command (pr#59404, Matan Breizman)

  • mon/OSDMonitor: fix rmsnap command (pr#56431, Matan Breizman)

  • mon/OSDMonitor: relax cap enforcement for unmanaged snapshots (pr#61602, Ilya Dryomov)

  • mon/scrub: log error details of store access failures (pr#61345, Yite Gu)

  • mon: add created_at and ceph_version_when_created meta (pr#56681, Ryotaro Banno)

  • mon: do not log MON_DOWN if monitor uptime is less than threshold (pr#56408, Patrick Donnelly)

  • mon: fix fs set down to adjust max_mds only when cluster is not down (pr#59705, chungfengz)

  • mon: Remove any pg_upmap_primary mapping during remove a pool (pr#59270, Mohit Agrawal)

  • mon: stuck peering since warning is misleading (pr#57408, shreyanshjain7174)

  • mon: validate also mons and osds on {rm-,}pg-upmap-primary (pr#59275, Radosław Zarzyński)

  • msg/async: Encode message once features are set (pr#59286, Aishwarya Mathuria)

  • msg/AsyncMessenger: re-evaluate the stop condition when woken up in ‘wait()’ (pr#53717, Leonid Usov)

  • msg: always generate random nonce; don’t try to reuse PID (pr#53269, Radoslaw Zarzynski)

  • msg: insert PriorityDispatchers in sorted position (pr#61507, Casey Bodley)

  • node-proxy: make the daemon discover endpoints (pr#58483, Guillaume Abrioux)

  • nofail option in fstab not supported (pr#52985, Leonid Usov)

  • orch: refactor boolean handling in drive group spec (pr#61914, Guillaume Abrioux)

  • os/bluestore: add perfcount for bluestore/bluefs allocator (pr#59103, Yite Gu)

  • os/bluestore: add some slow count for bluestore (pr#59104, Yite Gu)

  • os/bluestore: allow use BtreeAllocator (pr#59499, tan changzhi)

  • os/bluestore: enable async manual compactions (pr#58741, Igor Fedotov)

  • os/bluestore: expand BlueFS log if available space is insufficient (pr#57241, Pere Diaz Bou)

  • os/bluestore: Fix BlueRocksEnv attempts to use POSIX (pr#61112, Adam Kupczyk)

  • os/bluestore: fix btree allocator (pr#59264, Igor Fedotov)

  • os/bluestore: fix crash caused by dividing by 0 (pr#57197, Jrchyang Yu)

  • os/bluestore: fix the problem of l_bluefs_log_compactions double recording (pr#57194, Wang Linke)

  • os/bluestore: fix the problem that _estimate_log_size_N calculates the log size incorrectly (pr#61892, Wang Linke)

  • os/bluestore: Improve documentation introduced by #57722 (pr#60894, Anthony D’Atri)

  • os/bluestore: Make truncate() drop unused allocations (pr#60237, Adam Kupczyk, Igor Fedotov)

  • os/bluestore: set rocksdb iterator bounds for Bluestore::_collection_list() (pr#57625, Cory Snyder)

  • os/bluestore: Warning added for slow operations and stalled read (pr#59466, Md Mahamudur Rahaman Sajib)

  • os/store_test: Retune tests to current code (pr#56139, Adam Kupczyk)

  • os: introduce ObjectStore::refresh_perf_counters() method (pr#55136, Igor Fedotov)

  • os: remove unused btrfs_ioctl.h and tests (pr#60612, Casey Bodley)

  • osd/OSDMonitor: check svc is writeable before changing pending (pr#57067, Patrick Donnelly)

  • osd/PeeringState: introduce osd_skip_check_past_interval_bounds (pr#60284, Matan Breizman)

  • osd/perf_counters: raise prio of before queue op perfcounter (pr#59105, Yite Gu)

  • osd/scheduler: add mclock queue length perfcounter (pr#59034, zhangjianwei2)

  • osd/scrub: Change scrub cost to average object size (pr#59629, Aishwarya Mathuria)

  • osd/scrub: decrease default deep scrub chunk size (pr#59792, Ronen Friedman)

  • osd/scrub: reduce osd_requested_scrub_priority default value (pr#59886, Ronen Friedman)

  • osd/SnapMapper: fix _lookup_purged_snap (pr#56813, Matan Breizman)

  • osd/TrackedOp: Fix TrackedOp event order (pr#59108, YiteGu)

  • osd: Add memstore to unsupported objstores for QoS (pr#59285, Aishwarya Mathuria)

  • osd: adding ‘reef’ to pending_require_osd_release (pr#60981, Philipp Hufangl)

  • osd: always send returnvec-on-errors for client’s retry (pr#59273, Radoslaw Zarzynski)

  • osd: avoid watcher remains after “rados watch” is interrupted (pr#58846, weixinwei)

  • osd: bump versions of decoders for upmap-primary (pr#58802, Radoslaw Zarzynski)

  • osd: CEPH_OSD_OP_FLAG_BYPASS_CLEAN_CACHE flag is passed from ECBackend (pr#57621, Md Mahamudur Rahaman Sajib)

  • osd: Change PG Deletion cost for mClock (pr#56475, Aishwarya Mathuria)

  • osd: do not assert on fast shutdown timeout (pr#55135, Igor Fedotov)

  • osd: ensure async recovery does not drop a pg below min_size (pr#54550, Samuel Just)

  • osd: fix for segmentation fault on OSD fast shutdown (pr#57615, Md Mahamudur Rahaman Sajib)

  • osd: full-object read CRC mismatch due to ‘truncate’ modifying oi.size w/o clearing ‘data_digest’ (pr#57588, Samuel Just, Matan Breizman, Nitzan Mordechai, jiawd)

  • osd: make _set_cache_sizes ratio aware of cache_kv_onode_ratio (pr#55220, Raimund Sacherer)

  • osd: optimize extent comparison in PrimaryLogPG (pr#61336, Dongdong Tao)

  • osd: Report health error if OSD public address is not within subnet (pr#55697, Prashant D)

  • pybind/ceph_argparse: Fix error message for ceph tell command (pr#59197, Neeraj Pratap Singh)

  • pybind/mgr/mirroring: Fix KeyError: ‘directory_count’ in daemon status (pr#57763, Jos Collin)

  • pybind/mgr: disable sqlite3/python autocommit (pr#57190, Patrick Donnelly)

  • pybind/rados: fix missed changes for PEP484 style type annotations (pr#54358, Igor Fedotov)

  • pybind/rbd: expose CLONE_FORMAT and FLATTEN image options (pr#57309, Ilya Dryomov)

  • python-common: fix valid_addr on python 3.11 (pr#61947, John Mulligan)

  • python-common: handle “anonymous_access: false” in to_json of Grafana spec (pr#59457, Adam King)

  • qa/cephadm: use reef image as default for test_cephadm workunit (pr#56714, Adam King)

  • qa/cephadm: wait a bit before checking rgw daemons upgraded w/ ceph versions (pr#61917, Adam King)

  • qa/cephfs: a bug fix and few missing backport for caps_helper.py (pr#58340, Rishabh Dave)

  • qa/cephfs: add mgr debugging (pr#56415, Patrick Donnelly)

  • qa/cephfs: add more ignorelist entries (issue#64746, pr#56022, Venky Shankar)

  • qa/cephfs: add probabilistic ignorelist for pg_health (pr#56666, Patrick Donnelly)

  • qa/cephfs: CephFSTestCase.create_client() must keyring (pr#56836, Rishabh Dave)

  • qa/cephfs: fix test_single_path_authorize_on_nonalphanumeric_fsname (pr#58560, Rishabh Dave)

  • qa/cephfs: fix TestRenameCommand and unmount the clinet before failin… (pr#59399, Xiubo Li)

  • qa/cephfs: ignore variant of MDS_UP_LESS_THAN_MAX (pr#58789, Patrick Donnelly)

  • qa/cephfs: ignore when specific OSD is reported down during upgrade (pr#60390, Rishabh Dave)

  • qa/cephfs: ignorelist clog of MDS_UP_LESS_THAN_MAX (pr#56403, Patrick Donnelly)

  • qa/cephfs: improvements for “mds fail” and “fs fail” (pr#58563, Rishabh Dave)

  • qa/cephfs: remove dependency on centos8/rhel8 entirely (pr#59054, Venky Shankar)

  • qa/cephfs: switch to ubuntu 22.04 for stock kernel testing (pr#62492, Venky Shankar)

  • qa/cephfs: use different config options to generate MDS_TRIM (pr#59375, Rishabh Dave)

  • qa/distros: reinstall nvme-cli on centos 9 nodes (pr#59463, Adam King)

  • qa/distros: remove centos 8 from supported distros (pr#57932, Guillaume Abrioux, Casey Bodley, Adam King, Laura Flores)

  • qa/fsx: use a specified sha1 to build the xfstest-dev (pr#57557, Xiubo Li)

  • qa/mgr/dashboard: fix test race condition (pr#59697, Nizamudeen A, Ernesto Puerta)

  • qa/multisite: add boto3.client to the library (pr#60850, Shilpa Jagannath)

  • qa/rgw/crypt: disable failing kmip testing (pr#60701, Casey Bodley)

  • qa/rgw/sts: keycloak task installs java manually (pr#60418, Casey Bodley)

  • qa/rgw: avoid ‘user rm’ of keystone users (pr#62104, Casey Bodley)

  • qa/rgw: barbican uses branch stable/2023.1 (pr#56819, Casey Bodley)

  • qa/rgw: bump keystone/barbican from 2023.1 to 2024.1 (pr#61022, Casey Bodley)

  • qa/rgw: fix s3 java tests by forcing gradle to run on Java 8 (pr#61054, J. Eric Ivancich)

  • qa/rgw: force Hadoop to run under Java 1.8 (pr#61121, J. Eric Ivancich)

  • qa/rgw: pull Apache artifacts from mirror instead of archive.apache.org (pr#61102, J. Eric Ivancich)

  • qa/standalone/mon/mon_cluster_log.sh: retry check for log line (pr#60780, Shraddha Agrawal, Naveen Naidu)

  • qa/standalone/scrub: increase status updates frequency (pr#59975, Ronen Friedman)

  • qa/suites/krbd: drop pre-single-major and move “layering only” coverage (pr#57464, Ilya Dryomov)

  • qa/suites/krbd: stress test for recovering from watch errors for -o exclusive (pr#58856, Ilya Dryomov)

  • qa/suites/rados/singleton: add POOL_APP_NOT_ENABLED to ignorelist (pr#57487, Laura Flores)

  • qa/suites/rados/thrash-old-clients: update supported releases and distro (pr#57999, Laura Flores)

  • qa/suites/rados/thrash/workloads: remove cache tiering workload (pr#58413, Laura Flores)

  • qa/suites/rados/verify/validater/valgrind: increase op thread timeout (pr#54527, Matan Breizman)

  • qa/suites/rados/verify/validater: increase heartbeat grace timeout (pr#58786, Sridhar Seshasayee)

  • qa/suites/rados: Cancel injectfull to allow cleanup (pr#59157, Brad Hubbard)

  • qa/suites/rbd/iscsi: enable all supported container hosts (pr#60088, Ilya Dryomov)

  • qa/suites/rbd: override extra_system_packages directly on install task (pr#57765, Ilya Dryomov)

  • qa/suites/upgrade/reef-p2p/reef-p2p-parallel: increment upgrade to 18.2.2 (pr#58411, Laura Flores)

  • qa/suites: add “mon down” log variations to ignorelist (pr#61711, Laura Flores)

  • qa/suites: drop --show-reachable=yes from fs:valgrind tests (pr#59069, Jos Collin)

  • qa/tasks/ceph_manager.py: Rewrite test_pool_min_size (pr#59268, Kamoltat)

  • qa/tasks/cephadm: enable mon_cluster_log_to_file (pr#55431, Dan van der Ster)

  • qa/tasks/nvme_loop: update task to work with new nvme list format (pr#61027, Adam King)

  • qa/tasks/qemu: Fix OS version comparison (pr#58170, Zack Cerza)

  • qa/tasks: Include stderr on tasks badness check (pr#61434, Christopher Hoffman, Ilya Dryomov)

  • qa/tasks: watchdog should terminate thrasher (pr#59193, Nitzan Mordechai)

  • qa/tests: added client-upgrade-reef-squid tests (pr#58447, Yuri Weinstein)

  • qa/upgrade: fix checks to make sure upgrade is still in progress (pr#61718, Adam King)

  • qa/workunits/rbd: avoid caching effects in luks-encryption.sh (pr#58853, Ilya Dryomov)

  • qa/workunits/rbd: wait for resize to be applied in rbd-nbd (pr#62218, Ilya Dryomov)

  • qa: account for rbd_trash object in krbd_data_pool.sh + related ceph{,adm} task fixes (pr#58540, Ilya Dryomov)

  • qa: add a YAML to ignore MGR_DOWN warning (pr#57565, Dhairya Parmar)

  • qa: Add multifs root_squash testcase (pr#56690, Rishabh Dave, Kotresh HR)

  • qa: add support/qa for cephfs-shell on CentOS 9 / RHEL9 (pr#57162, Patrick Donnelly)

  • qa: adjust expected io_opt in krbd_discard_granularity.t (pr#59231, Ilya Dryomov)

  • qa: barbican: restrict python packages with upper-constraints (pr#59326, Tobias Urdin)

  • qa: cleanup snapshots before subvolume delete (pr#58332, Milind Changire)

  • qa: disable mon_warn_on_pool_no_app in fs suite (pr#57920, Patrick Donnelly)

  • qa: do the set/get attribute on the remote filesystem (pr#59828, Jos Collin)

  • qa: enable debug logs for fs:cephadm:multivolume subsuite (issue#66029, pr#58157, Venky Shankar)

  • qa: enhance per-client labelled perf counters test (pr#58251, Jos Collin, Rishabh Dave)

  • qa: failfast mount for better performance and unblock fs volume ls (pr#59920, Milind Changire)

  • qa: fix error reporting string in assert_cluster_log (pr#55391, Dhairya Parmar)

  • qa: fix krbd_msgr_segments and krbd_rxbounce failing on 8.stream (pr#57030, Ilya Dryomov)

  • qa: fix log errors for cephadm tests (pr#58421, Guillaume Abrioux)

  • qa: fixing tests in test_cephfs_shell.TestShellOpts (pr#58111, Neeraj Pratap Singh)

  • qa: ignore cluster warnings generated from forward-scrub task (issue#48562, pr#57611, Venky Shankar)

  • qa: ignore container checkpoint/restore related selinux denials for centos9 (issue#64616, pr#56019, Venky Shankar)

  • qa: ignore container checkpoint/restore related selinux denials for c… (issue#67118, issue#66640, pr#58809, Venky Shankar)

  • qa: ignore human-friendly POOL_APP_NOT_ENABLED in clog (pr#56951, Patrick Donnelly)

  • qa: ignore PG health warnings in CephFS QA (pr#58172, Patrick Donnelly)

  • qa: ignore variation of PG_DEGRADED health warning (pr#58231, Patrick Donnelly)

  • qa: ignore warnings variations (pr#59618, Patrick Donnelly)

  • qa: increase debugging for snap_schedule (pr#57172, Patrick Donnelly)

  • qa: increase the http postBuffer size and disable sslVerify (pr#53628, Xiubo Li)

  • qa: load all dirfrags before testing altname recovery (pr#59522, Patrick Donnelly)

  • qa: relocate subvol creation overrides and test (pr#59923, Milind Changire)

  • qa: suppress __trans_list_add valgrind warning (pr#58791, Patrick Donnelly)

  • qa: suppress Leak_StillReachable mon leak in centos 9 jobs (pr#58692, Laura Flores)

  • qa: switch to use the merge fragment for fscrypt (pr#55857, Xiubo Li)

  • qa: test test_kill_mdstable for all mount types (pr#56953, Patrick Donnelly)

  • qa: unmount clients before damaging the fs (pr#57524, Patrick Donnelly)

  • qa: use centos9 for fs:upgrade (pr#58113, Venky Shankar, Dhairya Parmar)

  • qa: wait for file creation before changing mode (issue#67408, pr#59686, Venky Shankar)

  • rbd-mirror: clean up stale pool replayers and callouts better (pr#57306, Ilya Dryomov)

  • rbd-mirror: fix possible recursive lock of ImageReplayer::m_lock (pr#62043, N Balachandran)

  • rbd-mirror: use correct ioctx for namespace (pr#59772, N Balachandran)

  • rbd-nbd: use netlink interface by default (pr#62175, Ilya Dryomov, Ramana Raja)

  • rbd: “rbd bench” always writes the same byte (pr#59501, Ilya Dryomov)

  • rbd: amend “rbd {group,} rename” and “rbd mirror pool” command descriptions (pr#59601, Ilya Dryomov)

  • rbd: handle --{group,image}-namespace in “rbd group image {add,rm}” (pr#61171, Ilya Dryomov)

  • rbd: open images in read-only mode for “rbd mirror pool status --verbose” (pr#61169, Ilya Dryomov)

  • Revert “reef: rgw/amqp: lock erase and create connection before emplace” (pr#59016, Rongqi Sun)

  • Revert “rgw/auth: Fix the return code returned by AuthStrategy,” (pr#61405, Casey Bodley, Pritha Srivastava)

  • rgw/abortmp: Race condition on AbortMultipartUpload (pr#61133, Casey Bodley, Artem Vasilev)

  • rgw/admin/notification: add command to dump notifications (pr#58070, Yuval Lifshitz)

  • rgw/amqp: lock erase and create connection before emplace (pr#59018, Rongqi Sun)

  • rgw/amqp: lock erase and create connection before emplace (pr#58715, Rongqi Sun)

  • rgw/archive: avoid duplicating objects when syncing from multiple zones (pr#59341, Shilpa Jagannath)

  • rgw/auth: ignoring signatures for HTTP OPTIONS calls (pr#60455, Tobias Urdin)

  • rgw/beast: fix crash observed in SSL stream.async_shutdown() (pr#57425, Mark Kogan)

  • rgw/http/client-side: disable curl path normalization (pr#59258, Oguzhan Ozmen)

  • rgw/http: finish_request() after logging errors (pr#59440, Casey Bodley)

  • rgw/iam: fix role deletion replication (pr#59126, Alex Wojno)

  • rgw/kafka: refactor topic creation to avoid rd_kafka_topic_name() (pr#59764, Yuval Lifshitz)

  • rgw/kafka: set message timeout to 5 seconds (pr#56158, Yuval Lifshitz)

  • rgw/lc: make lc worker thread name shorter (pr#61485, lightmelodies)

  • rgw/lua: add lib64 to the package search path (pr#59343, Yuval Lifshitz)

  • rgw/lua: add more info on package install errors (pr#59127, Yuval Lifshitz)

  • rgw/multisite: allow PutACL replication (pr#58546, Shilpa Jagannath)

  • rgw/multisite: avoid writing multipart parts to the bucket index log (pr#57127, Juan Zhu)

  • rgw/multisite: don’t retain RGW_ATTR_OBJ_REPLICATION_TRACE attr on copy_object (pr#58764, Shilpa Jagannath)

  • rgw/multisite: Fix use-after-move in retry logic in logbacking (pr#61329, Adam Emerson)

  • rgw/multisite: metadata polling event based on unmodified mdlog_marker (pr#60793, Shilpa Jagannath)

  • rgw/notifications/test: fix rabbitmq and kafka issues in centos9 (pr#58312, Yuval Lifshitz)

  • rgw/notifications: cleanup all coroutines after sending the notification (pr#59354, Yuval Lifshitz)

  • rgw/rados: don’t rely on IoCtx::get_last_version() for async ops (pr#60097, Casey Bodley)

  • rgw/rgw_rados: fix server side-copy orphans tail-objects (pr#61367, Adam Kupczyk, Gabriel BenHanokh, Daniel Gryniewicz)

  • rgw/s3select: s3select response handler refactor (pr#57229, Seena Fallah, Gal Salomon)

  • rgw/sts: changing identity to boost::none, when role policy (pr#59346, Pritha Srivastava)

  • rgw/sts: fix to disallow unsupported JWT algorithms (pr#62046, Pritha Srivastava)

  • rgw/swift: preserve dashes/underscores in swift user metadata names (pr#56615, Juan Zhu, Ali Maredia)

  • rgw/test/kafka: let consumer read events from the beginning (pr#61595, Yuval Lifshitz)

  • rgw: add versioning status during radosgw-admin bucket stats (pr#59261, J. Eric Ivancich)

  • rgw: append query string to redirect URL if present (pr#61160, Seena Fallah)

  • rgw: compatibility issues on BucketPublicAccessBlock (pr#59125, Seena Fallah)

  • rgw: cumulatively fix 6 AWS SigV4 request failure cases (pr#58435, Zac Dover, Casey Bodley, Ali Maredia, Matt Benjamin)

  • rgw: decrement qlen/qactive perf counters on error (pr#59669, Mark Kogan)

  • rgw: Delete stale entries in bucket indexes while deleting obj (pr#61061, Shasha Lu)

  • rgw: do not assert on thread name setting failures (pr#58058, Yuval Lifshitz)

  • rgw: fix bucket link operation (pr#61052, Yehuda Sadeh)

  • RGW: fix cloud-sync not being able to sync folders (pr#56554, Gabriel Adrian Samfira)

  • rgw: fix CompleteMultipart error handling regression (pr#57301, Casey Bodley)

  • rgw: fix data corruption when rados op return ETIMEDOUT (pr#61093, Shasha Lu)

  • rgw: Fix LC process stuck issue (pr#61531, Soumya Koduri, Tongliang Deng)

  • rgw: fix the Content-Length in response header of static website (pr#60741, xiangrui meng)

  • rgw: fix user.rgw.user-policy attr remove by modify user (pr#59134, ivan)

  • rgw: increase log level on abort_early (pr#59124, Seena Fallah)

  • rgw: invalidate and retry keystone admin token (pr#59075, Tobias Urdin)

  • rgw: keep the tails when copying object to itself (pr#62656, Jane Zhu)

  • rgw: link only radosgw with ALLOC_LIBS (pr#60733, Matt Benjamin)

  • rgw: load copy source bucket attrs in putobj (pr#59415, Seena Fallah)

  • rgw: modify string match_wildcards with fnmatch (pr#57901, zhipeng li, Adam Emerson)

  • rgw: optimize gc chain size calculation (pr#58168, Wei Wang)

  • rgw: S3 Delete Bucket Policy should return 204 on success (pr#61432, Simon Jürgensmeyer)

  • rgw: swift: tempurl fixes for ceph (pr#59356, Casey Bodley, Marcus Watts)

  • rgw: update options yaml file so LDAP uri isn’t an invalid example (pr#56721, J. Eric Ivancich)

  • rgw: when there are a large number of multiparts, the unorder list result may miss objects (pr#60745, J. Eric Ivancich)

  • rgwfile: fix lock_guard decl (pr#59351, Matt Benjamin)

  • run-make-check: use get_processors in run-make-check script (pr#58872, John Mulligan)

  • src/ceph-volume/ceph_volume/devices/lvm/listing.py : lvm list filters with vg name (pr#58998, Pierre Lemay)

  • src/exporter: improve usage message (pr#61332, Anthony D’Atri)

  • src/mon/ConnectionTracker.cc: Fix dump function (pr#60004, Kamoltat)

  • src/pybind/mgr/pg_autoscaler/module.py: fix ‘pg_autoscale_mode’ output (pr#59444, Kamoltat)

  • suites: test should ignore osd_down warnings (pr#59146, Nitzan Mordechai)

  • test/cls_lock: expired lock before unlock and start check (pr#59271, Nitzan Mordechai)

  • test/lazy-omap-stats: Convert to boost::regex (pr#57456, Brad Hubbard)

  • test/librbd/fsx: switch to netlink interface for rbd-nbd (pr#61259, Ilya Dryomov)

  • test/librbd/test_notify.py: conditionally ignore some errors (pr#62688, Ilya Dryomov)

  • test/librbd: clean up unused TEST_COOKIE variable (pr#58549, Rongqi Sun)

  • test/rbd_mirror: clear Namespace::s_instance at the end of a test (pr#61959, Ilya Dryomov)

  • test/rbd_mirror: flush watch/notify callbacks in TestImageReplayer (pr#61957, Ilya Dryomov)

  • test/rgw/multisite: add meta checkpoint after bucket creation (pr#60977, Casey Bodley)

  • test/rgw/notification: use real ip address instead of localhost (pr#59304, Yuval Lifshitz)

  • test/rgw: address potential race condition in reshard testing (pr#58793, J. Eric Ivancich)

  • test/store_test: fix deferred writing test cases (pr#55778, Igor Fedotov)

  • test/store_test: fix DeferredWrite test when prefer_deferred_size=0 (pr#56199, Igor Fedotov)

  • test/store_test: get rid off assert_death (pr#55774, Igor Fedotov)

  • test/store_test: refactor spillover tests (pr#55200, Igor Fedotov)

  • test: ceph daemon command with asok path (pr#61481, Nitzan Mordechai)

  • test: Create ParallelPGMapper object before start threadpool (pr#58920, Mohit Agrawal)

  • Test: osd-recovery-space.sh extends the wait time for “recovery toofull” (pr#59043, Nitzan Mordechai)

  • teuthology/bluestore: Fix running of compressed tests (pr#57094, Adam Kupczyk)

  • tool/ceph-bluestore-tool: fix wrong keyword for ‘free-fragmentation’ … (pr#62124, Igor Fedotov)

  • tools/ceph_objectstore_tool: Support get/set/superblock (pr#55015, Matan Breizman)

  • tools/cephfs: recover alternate_name of dentries from journal (pr#58232, Patrick Donnelly)

  • tools/objectstore: check for wrong coll open_collection (pr#58734, Pere Diaz Bou)

  • valgrind: update suppression for SyscallParam under call_init (pr#52611, Casey Bodley)

  • win32_deps_build.sh: pin zlib tag (pr#61630, Lucian Petrut)

  • workunit/dencoder: dencoder test forward incompat fix (pr#61750, NitzanMordhai, Nitzan Mordechai)

v18.2.4 Reef

This is the fourth backport release in the Reef series. We recommend that all users update to this release.

An early build of this release was accidentally exposed and packaged as 18.2.3 by the Debian project in April. That 18.2.3 release should not be used. The official release was re-tagged as v18.2.4 to avoid further confusion.

v18.2.4 container images, now based on CentOS 9, may be incompatible on older kernels (e.g., Ubuntu 18.04) due to differences in thread creation methods. Users upgrading to v18.2.4 container images with older OS versions may encounter crashes during pthread_create. For workarounds, refer to the related tracker. However, we recommend upgrading your OS to avoid this unsupported combination. Related tracker: https://tracker.ceph.com/issues/66989

Release Date

July 24, 2024

Notable Changes

  • RADOS: This release fixes a bug (https://tracker.ceph.com/issues/61948) where pre-reef clients were allowed to connect to the pg-upmap-primary (https://docs.ceph.com/en/reef/rados/operations/read-balancer/) interface despite users having set require-min-compat-client=reef, leading to an assert in the osds and mons. You are susceptible to this bug in Reef versions prior to 18.2.4 if 1) you are using an osdmap generated via the offline osdmaptool with the --read option or 2) you have explicitly generated pg-upmap-primary mappings with the CLI command. Please note that the fix is minimal and does not address corner cases such as adding a mapping in the middle of an upgrade or in a partially upgraded cluster (related trackers linked in https://tracker.ceph.com/issues/61948). As such, we recommend removing any existing pg-upmap-primary mappings until remaining issues are addressed in future point releases. See https://tracker.ceph.com/issues/61948#note-32 for instructions on how to remove existing pg-upmap-primary mappings.

  • RBD: When diffing against the beginning of time (fromsnapname == NULL) in fast-diff mode (whole_object == true with fast-diff image feature enabled and valid), diff-iterate is now guaranteed to execute locally if exclusive lock is available. This brings a dramatic performance improvement for QEMU live disk synchronization and backup use cases.

  • RADOS: get_pool_is_selfmanaged_snaps_mode C++ API has been deprecated due to being prone to false negative results. Its safer replacement is pool_is_in_selfmanaged_snaps_mode.

  • RBD: The option --image-id has been added to rbd children CLI command, so it can be run for images in the trash.

Changelog

  • (reef) node-proxy: improve http error handling in fetch_oob_details (pr#55538, Guillaume Abrioux)

  • [rgw][lc][rgw_lifecycle_work_time] adjust timing if the configured end time is less than the start time (pr#54866, Oguzhan Ozmen)

  • add checking for rgw frontend init (pr#54844, zhipeng li)

  • admin/doc-requirements: bump Sphinx to 5.0.2 (pr#55191, Nizamudeen A)

  • backport of fixes for 63678 and 63694 (pr#55104, Redouane Kachach)

  • backport rook/mgr recent changes (pr#55706, Redouane Kachach)

  • ceph-menv:fix typo in README (pr#55163, yu.wang)

  • ceph-volume: add missing import (pr#56259, Guillaume Abrioux)

  • ceph-volume: fix a bug in _check_generic_reject_reasons (pr#54705, Kim Minjong)

  • ceph-volume: Fix migration from WAL to data with no DB (pr#55497, Igor Fedotov)

  • ceph-volume: fix mpath device support (pr#53539, Guillaume Abrioux)

  • ceph-volume: fix zap_partitions() in devices.lvm.zap (pr#55477, Guillaume Abrioux)

  • ceph-volume: fixes fallback to stat in is_device and is_partition (pr#54629, Teoman ONAY)

  • ceph-volume: update functional testing (pr#56857, Guillaume Abrioux)

  • ceph-volume: use ‘no workqueue’ options with dmcrypt (pr#55335, Guillaume Abrioux)

  • ceph-volume: Use safe accessor to get TYPE info (pr#56323, Dillon Amburgey)

  • ceph.spec.in: add support for openEuler OS (pr#56361, liuqinfei)

  • ceph.spec.in: remove command-with-macro line (pr#57357, John Mulligan)

  • cephadm/nvmeof: scrape nvmeof prometheus endpoint (pr#56108, Avan Thakkar)

  • cephadm: Add mount for nvmeof log location (pr#55819, Roy Sahar)

  • cephadm: Add nvmeof to autotuner calculation (pr#56100, Paul Cuzner)

  • cephadm: add timemaster to timesync services list (pr#56307, Florent Carli)

  • cephadm: adjust the ingress ha proxy health check interval (pr#56286, Jiffin Tony Thottan)

  • cephadm: create ceph-exporter sock dir if it’s not present (pr#56102, Adam King)

  • cephadm: fix get_version for nvmeof (pr#56099, Adam King)

  • cephadm: improve cephadm pull usage message (pr#56292, Adam King)

  • cephadm: remove restriction for crush device classes (pr#56106, Seena Fallah)

  • cephadm: rm podman-auth.json if removing last cluster (pr#56105, Adam King)

  • cephfs-shell: remove distutils Version classes because they’re deprecated (pr#54119, Venky Shankar, Jos Collin)

  • cephfs-top: include the missing fields in --dump output (pr#54520, Jos Collin)

  • client/fuse: handle case of renameat2 with non-zero flags (pr#55002, Leonid Usov, Shachar Sharon)

  • client: append to buffer list to save all result from wildcard command (pr#53893, Rishabh Dave, Jinmyeong Lee, Jimyeong Lee)

  • client: call _getattr() for -ENODATA returned _getvxattr() calls (pr#54404, Jos Collin)

  • client: fix leak of file handles (pr#56122, Xavi Hernandez)

  • client: Fix return in removexattr for xattrs from system. namespace (pr#55803, Anoop C S)

  • client: queue a delay cap flushing if there are ditry caps/snapcaps (pr#54466, Xiubo Li)

  • client: readdir_r_cb: get rstat for dir only if using rbytes for size (pr#53359, Pinghao Wu)

  • cmake/modules/BuildRocksDB.cmake: inherit parent’s CMAKE_CXX_FLAGS (pr#55502, Kefu Chai)

  • cmake: use or turn off liburing for rocksdb (pr#54122, Casey Bodley, Patrick Donnelly)

  • common/options: Set LZ4 compression for bluestore RocksDB (pr#55197, Mark Nelson)

  • common/weighted_shuffle: don’t feed std::discrete_distribution with all-zero weights (pr#55153, Radosław Zarzyński)

  • common: resolve config proxy deadlock using refcounted pointers (pr#54373, Patrick Donnelly)

  • DaemonServer.cc: fix config show command for RGW daemons (pr#55077, Aishwarya Mathuria)

  • debian: add ceph-exporter package (pr#56541, Shinya Hayashi)

  • debian: add missing bcrypt to ceph-mgr .requires to fix resulting package dependencies (pr#54662, Thomas Lamprecht)

  • doc/architecture.rst - fix typo (pr#55384, Zac Dover)

  • doc/architecture.rst: improve rados definition (pr#55343, Zac Dover)

  • doc/architecture: correct typo (pr#56012, Zac Dover)

  • doc/architecture: improve some paragraphs (pr#55399, Zac Dover)

  • doc/architecture: remove pleonasm (pr#55933, Zac Dover)

  • doc/cephadm - edit t11ing (pr#55482, Zac Dover)

  • doc/cephadm/services: Improve monitoring.rst (pr#56290, Anthony D’Atri)

  • doc/cephadm: correct nfs config pool name (pr#55603, Zac Dover)

  • doc/cephadm: improve host-management.rst (pr#56111, Anthony D’Atri)

  • doc/cephadm: Improve multiple files (pr#56130, Anthony D’Atri)

  • doc/cephfs/client-auth.rst: correct fs authorize cephfs1 /dir1 client.x rw (pr#55246, 叶海丰)

  • doc/cephfs: edit add-remove-mds (pr#55648, Zac Dover)

  • doc/cephfs: fix architecture link to correct relative path (pr#56340, molpako)

  • doc/cephfs: Update disaster-recovery-experts.rst to mention Slack (pr#55044, Dhairya Parmar)

  • doc/crimson: cleanup duplicate seastore description (pr#55730, Rongqi Sun)

  • doc/dev: backport zipapp docs to reef (pr#56161, Zac Dover)

  • doc/dev: edit internals.rst (pr#55852, Zac Dover)

  • doc/dev: edit teuthology workflow (pr#56002, Zac Dover)

  • doc/dev: fix spelling in crimson.rst (pr#55737, Zac Dover)

  • doc/dev: osd_internals/snaps.rst: add clone_overlap doc (pr#56523, Matan Breizman)

  • doc/dev: refine “Concepts” (pr#56660, Zac Dover)

  • doc/dev: refine “Concepts” 2 of 3 (pr#56725, Zac Dover)

  • doc/dev: refine “Concepts” 3 of 3 (pr#56729, Zac Dover)

  • doc/dev: refine “Concepts” 4 of 3 (pr#56740, Zac Dover)

  • doc/dev: update leads list (pr#56603, Zac Dover)

  • doc/dev: update leads list (pr#56589, Zac Dover)

  • doc/glossary.rst: add “Monitor Store” (pr#54743, Zac Dover)

  • doc/glossary: add “Crimson” entry (pr#56073, Zac Dover)

  • doc/glossary: add “librados” entry (pr#56235, Zac Dover)

  • doc/glossary: Add “OMAP” to glossary (pr#55749, Zac Dover)

  • doc/glossary: Add link to CRUSH paper (pr#55557, Zac Dover)

  • doc/glossary: improve “MDS” entry (pr#55849, Zac Dover)

  • doc/glossary: improve OSD definitions (pr#55613, Zac Dover)

  • doc/install: add manual RADOSGW install procedure (pr#55880, Zac Dover)

  • doc/install: update “update submodules” (pr#54961, Zac Dover)

  • doc/man/8/mount.ceph.rst: add more mount options (pr#55754, Xiubo Li)

  • doc/man: edit “manipulating the omap key” (pr#55635, Zac Dover)

  • doc/man: edit ceph-osd description (pr#54551, Zac Dover)

  • doc/mgr: credit John Jasen for Zabbix 2 (pr#56684, Zac Dover)

  • doc/mgr: document lack of MSWin NFS 4.x support (pr#55032, Zac Dover)

  • doc/mgr: update zabbix information (pr#56631, Zac Dover)

  • doc/rados/configuration/bluestore-config-ref: Fix lowcase typo (pr#54694, Adam Kupczyk)

  • doc/rados/configuration/osd-config-ref: fix typo (pr#55678, Pierre Riteau)

  • doc/rados/operations: add EC overhead table to erasure-code.rst (pr#55244, Anthony D’Atri)

  • doc/rados/operations: Fix off-by-one errors in control.rst (pr#55231, tobydarling)

  • doc/rados/operations: Improve crush_location docs (pr#56594, Niklas Hambüchen)

  • doc/rados: add “change public network” procedure (pr#55799, Zac Dover)

  • doc/rados: add link to pg blog post (pr#55611, Zac Dover)

  • doc/rados: add PG definition (pr#55630, Zac Dover)

  • doc/rados: edit “client can’t connect…” (pr#54654, Zac Dover)

  • doc/rados: edit “Everything Failed! Now What?” (pr#54665, Zac Dover)

  • doc/rados: edit “monitor store failures” (pr#54659, Zac Dover)

  • doc/rados: edit “recovering broken monmap” (pr#54601, Zac Dover)

  • doc/rados: edit “understanding mon_status” (pr#54579, Zac Dover)

  • doc/rados: edit “Using the Monitor’s Admin Socket” (pr#54576, Zac Dover)

  • doc/rados: fix broken links (pr#55680, Zac Dover)

  • doc/rados: format sections in tshooting-mon.rst (pr#54638, Zac Dover)

  • doc/rados: improve “Ceph Subsystems” (pr#54702, Zac Dover)

  • doc/rados: improve formatting of log-and-debug.rst (pr#54746, Zac Dover)

  • doc/rados: link to pg setting commands (pr#55936, Zac Dover)

  • doc/rados: ops/pgs: s/power of 2/power of two (pr#54700, Zac Dover)

  • doc/rados: remove PGcalc from docs (pr#55901, Zac Dover)

  • doc/rados: repair stretch-mode.rst (pr#54762, Zac Dover)

  • doc/rados: restore PGcalc tool (pr#56057, Zac Dover)

  • doc/rados: update “stretch mode” (pr#54756, Michael Collins)

  • doc/rados: update common.rst (pr#56268, Zac Dover)

  • doc/rados: update config for autoscaler (pr#55438, Zac Dover)

  • doc/rados: update PG guidance (pr#55460, Zac Dover)

  • doc/radosgw - edit admin.rst “set user rate limit” (pr#55150, Zac Dover)

  • doc/radosgw/admin.rst: use underscores in config var names (pr#54933, Ville Ojamo)

  • doc/radosgw: add confval directives (pr#55484, Zac Dover)

  • doc/radosgw: add gateway starting command (pr#54833, Zac Dover)

  • doc/radosgw: admin.rst - edit “Create a Subuser” (pr#55020, Zac Dover)

  • doc/radosgw: admin.rst - edit “Create a User” (pr#55004, Zac Dover)

  • doc/radosgw: admin.rst - edit sections (pr#55017, Zac Dover)

  • doc/radosgw: edit “Add/Remove a Key” (pr#55055, Zac Dover)

  • doc/radosgw: edit “Enable/Disable Bucket Rate Limit” (pr#55260, Zac Dover)

  • doc/radosgw: edit “read/write global rate limit” admin.rst (pr#55271, Zac Dover)

  • doc/radosgw: edit “remove a subuser” (pr#55034, Zac Dover)

  • doc/radosgw: edit “Usage” admin.rst (pr#55321, Zac Dover)

  • doc/radosgw: edit admin.rst “Get Bucket Rate Limit” (pr#55253, Zac Dover)

  • doc/radosgw: edit admin.rst “get user rate limit” (pr#55157, Zac Dover)

  • doc/radosgw: edit admin.rst “set bucket rate limit” (pr#55242, Zac Dover)

  • doc/radosgw: edit admin.rst - quota (pr#55082, Zac Dover)

  • doc/radosgw: edit admin.rst 1 of x (pr#55000, Zac Dover)

  • doc/radosgw: edit compression.rst (pr#54985, Zac Dover)

  • doc/radosgw: edit front matter - role.rst (pr#54854, Zac Dover)

  • doc/radosgw: edit multisite.rst (pr#55671, Zac Dover)

  • doc/radosgw: edit sections (pr#55027, Zac Dover)

  • doc/radosgw: fix formatting (pr#54753, Zac Dover)

  • doc/radosgw: Fix JSON typo in Principal Tag example code snippet (pr#54642, Daniel Parkes)

  • doc/radosgw: fix verb disagreement - index.html (pr#55338, Zac Dover)

  • doc/radosgw: format “Create a Role” (pr#54886, Zac Dover)

  • doc/radosgw: format commands in role.rst (pr#54905, Zac Dover)

  • doc/radosgw: format POST statements (pr#54849, Zac Dover)

  • doc/radosgw: list supported plugins-compression.rst (pr#54995, Zac Dover)

  • doc/radosgw: update link in rgw-cache.rst (pr#54805, Zac Dover)

  • doc/radosrgw: edit admin.rst (pr#55073, Zac Dover)

  • doc/rbd: add clone mapping command (pr#56208, Zac Dover)

  • doc/rbd: add map information for clone images to rbd-encryption.rst (pr#56186, N Balachandran)

  • doc/rbd: minor changes to the rbd man page (pr#56256, N Balachandran)

  • doc/rbd: repair ordered list (pr#55732, Zac Dover)

  • doc/releases: edit reef.rst (pr#55064, Zac Dover)

  • doc/releases: specify dashboard improvements (pr#55049, Laura Flores, Zac Dover)

  • doc/rgw: edit admin.rst - rate limit management (pr#55128, Zac Dover)

  • doc/rgw: fix Attributes index in CreateTopic example (pr#55432, Casey Bodley)

  • doc/start: add Slack invite link (pr#56041, Zac Dover)

  • doc/start: explain “OSD” (pr#54559, Zac Dover)

  • doc/start: improve MDS explanation (pr#56466, Zac Dover)

  • doc/start: improve MDS explanation (pr#56426, Zac Dover)

  • doc/start: link to mon map command (pr#56410, Zac Dover)

  • doc/start: update release names (pr#54572, Zac Dover)

  • doc: add description of metric fields for cephfs-top (pr#55511, Neeraj Pratap Singh)

  • doc: Add NVMe-oF gateway documentation (pr#55724, Orit Wasserman)

  • doc: add supported file types in cephfs-mirroring.rst (pr#54822, Jos Collin)

  • doc: adding documentation for secure monitoring stack configuration (pr#56104, Redouane Kachach)

  • doc: cephadm/services/osd: fix typo (pr#56230, Lorenz Bausch)

  • doc: Fixes two typos and grammatical errors. Signed-off-by: Sina Ahma… (pr#54775, Sina Ahmadi)

  • doc: fixing doc/cephfs/fs-volumes (pr#56648, Neeraj Pratap Singh)

  • doc: remove releases docs (pr#56567, Patrick Donnelly)

  • doc: specify correct fs type for mkfs (pr#55282, Vladislav Glagolev)

  • doc: update rgw admin api req params for get user info (pr#55071, Ali Maredia)

  • doc:start.rst fix typo in hw-recs (pr#55505, Eduardo Roldan)

  • docs/rados: remove incorrect ceph command (pr#56495, Taha Jahangir)

  • docs/radosgw: edit admin.rst “enable/disable user rate limit” (pr#55194, Zac Dover)

  • docs/rbd: fix typo in arg name (pr#56262, N Balachandran)

  • docs: Add information about OpenNebula integration (pr#54938, Daniel Clavijo)

  • librados: make querying pools for selfmanaged snaps reliable (pr#55026, Ilya Dryomov)

  • librbd: account for discards that truncate in ObjectListSnapsRequest (pr#56213, Ilya Dryomov)

  • librbd: Append one journal event per image request (pr#54818, Ilya Dryomov, Joshua Baergen)

  • librbd: don’t report HOLE_UPDATED when diffing against a hole (pr#54951, Ilya Dryomov)

  • librbd: fix regressions in ObjectListSnapsRequest (pr#54862, Ilya Dryomov)

  • librbd: fix split() for SparseExtent and SparseBufferlistExtent (pr#55665, Ilya Dryomov)

  • librbd: improve rbd_diff_iterate2() performance in fast-diff mode (pr#55427, Ilya Dryomov)

  • librbd: return ENOENT from Snapshot::get_timestamp for nonexistent snap_id (pr#55474, John Agombar)

  • make-dist: don’t use --continue option for wget (pr#55091, Casey Bodley)

  • MClientRequest: properly handle ceph_mds_request_head_legacy for ext_num_retry, ext_num_fwd, owner_uid, owner_gid (pr#54407, Alexander Mikhalitsyn)

  • mds,cephfs_mirror: add labelled per-client and replication metrics (issue#63945, pr#55640, Venky Shankar, Jos Collin)

  • mds/client: check the cephx mds auth access in client side (pr#54468, Xiubo Li, Ramana Raja)

  • mds/MDBalancer: ignore queued callbacks if MDS is not active (pr#54493, Leonid Usov)

  • mds/MDSRank: Add set_history_slow_op_size_and_threshold for op_tracker (pr#53357, Yite Gu)

  • mds: accept human readable values for quotas (issue#55940, pr#53333, Venky Shankar, Dhairya Parmar, dparmar18)

  • mds: add a command to dump directory information (pr#55987, Jos Collin, Zhansong Gao)

  • mds: add balance_automate fs setting (pr#54952, Patrick Donnelly)

  • mds: add debug logs during setxattr ceph.dir.subvolume (pr#56062, Milind Changire)

  • mds: allow all types of mds caps (pr#52581, Rishabh Dave)

  • mds: allow lock state to be LOCK_MIX_SYNC in replica for filelock (pr#56049, Xiubo Li)

  • mds: change priority of mds rss perf counter to useful (pr#55057, sp98)

  • mds: check file layout in mknod (pr#56031, Xue Yantao)

  • mds: check relevant caps for fs include root_squash (pr#57343, Patrick Donnelly)

  • mds: disable defer_client_eviction_on_laggy_osds’ by default (`issue#64685, pr#56196, Venky Shankar)

  • mds: do not evict clients if OSDs are laggy (pr#52268, Dhairya Parmar, Laura Flores)

  • mds: do not simplify fragset (pr#54895, Milind Changire)

  • mds: ensure next replay is queued on req drop (pr#54313, Patrick Donnelly)

  • mds: ensure snapclient is synced before corruption check (pr#56398, Patrick Donnelly)

  • mds: fix issuing redundant reintegrate/migrate_stray requests (pr#54467, Xiubo Li)

  • mds: just wait the client flushes the snap and dirty buffer (pr#55743, Xiubo Li)

  • mds: optionally forbid to use standby for another fs as last resort (pr#53340, Venky Shankar, Mykola Golub, Luís Henriques)

  • mds: relax certain asserts in mdlog replay thread (issue#57048, pr#56016, Venky Shankar)

  • mds: reverse MDSMap encoding of max_xattr_size/bal_rank_mask (pr#55669, Patrick Donnelly)

  • mds: revert standby-replay trimming changes (pr#54716, Patrick Donnelly)

  • mds: scrub repair does not clear earlier damage health status (pr#54899, Neeraj Pratap Singh)

  • mds: set the loner to true for LOCK_EXCL_XSYN (pr#54911, Xiubo Li)

  • mds: skip sr moves when target is an unlinked dir (pr#56672, Patrick Donnelly, Dan van der Ster)

  • mds: use explicitly sized types for network and disk encoding (pr#55742, Xiubo Li)

  • MDSAuthCaps: minor improvements (pr#54185, Rishabh Dave)

  • MDSAuthCaps: print better error message for perm flag in MDS caps (pr#54945, Rishabh Dave)

  • mgr/(object_format && nfs/export): enhance nfs export update failure response (pr#55395, Dhairya Parmar, John Mulligan)

  • mgr/.dashboard: batch backport of cephfs snapshot schedule management (pr#55581, Ivo Almeida)

  • mgr/cephadm is not defining haproxy tcp healthchecks for Ganesha (pr#56101, avanthakkar)

  • mgr/cephadm: allow grafana and prometheus to only bind to specific network (pr#56302, Adam King)

  • mgr/cephadm: Allow idmap overrides in nfs-ganesha configuration (pr#56029, Teoman ONAY)

  • mgr/cephadm: catch CancelledError in asyncio timeout handler (pr#56103, Adam King)

  • mgr/cephadm: discovery service (port 8765) fails on ipv6 only clusters (pr#56093, Theofilos Mouratidis)

  • mgr/cephadm: fix placement with label and host pattern (pr#56107, Adam King)

  • mgr/cephadm: fix reweighting of OSD when OSD removal is stopped (pr#56094, Adam King)

  • mgr/cephadm: fixups for asyncio based timeout (pr#55555, Adam King)

  • mgr/cephadm: make jaeger-collector a dep for jaeger-agent (pr#56089, Adam King)

  • mgr/cephadm: refresh public_network for config checks before checking (pr#56325, Adam King)

  • mgr/cephadm: support for regex based host patterns (pr#56221, Adam King)

  • mgr/cephadm: support for removing host entry from crush map during host removal (pr#56092, Adam King)

  • mgr/cephadm: update timestamp on repeat daemon/service events (pr#56090, Adam King)

  • mgr/dashboard/frontend:Ceph dashboard supports multiple languages (pr#56359, TomNewChao)

  • mgr/dashboard: Add advanced fieldset component (pr#56692, Afreen)

  • cmake/arrow: don’t treat warnings as errors (pr#57375, Casey Bodley)

  • mgr/dashboard: add frontend unit tests for rgw multisite sync status card (pr#55222, Aashish Sharma)

  • mgr/dashboard: add snap schedule M, Y frequencies (pr#56059, Ivo Almeida)

  • mgr/dashboard: add support for editing and deleting rgw roles (pr#55541, Nizamudeen A)

  • mgr/dashboard: add system users to rgw user form (pr#56471, Pedro Gonzalez Gomez)

  • mgr/dashboard: add Table Schema to grafonnet (pr#56736, Aashish Sharma)

  • mgr/dashboard: Allow the user to add the access/secret key on zone edit and not on zone creation (pr#56472, Aashish Sharma)

  • mgr/dashboard: ceph authenticate user from fs (pr#56254, Pedro Gonzalez Gomez)

  • mgr/dashboard: change deprecated grafana URL in daemon logs (pr#55544, Nizamudeen A)

  • mgr/dashboard: chartjs and ng2-charts version upgrade (pr#55224, Pedro Gonzalez Gomez)

  • mgr/dashboard: Consider null values as zero in grafana panels (pr#54541, Aashish Sharma)

  • mgr/dashboard: create cephfs snapshot clone (pr#55489, Nizamudeen A)

  • mgr/dashboard: Create realm sets to default (pr#55221, Aashish Sharma)

  • mgr/dashboard: Create subvol of same name in different group (pr#55369, Afreen)

  • mgr/dashboard: dashboard area chart unit test (pr#55517, Pedro Gonzalez Gomez)

  • mgr/dashboard: debugging make check failure (pr#56127, Nizamudeen A)

  • mgr/dashboard: disable applitools e2e (pr#56215, Nizamudeen A)

  • mgr/dashboard: fix cephfs name validation (pr#56501, Nizamudeen A)

  • mgr/dashboard: fix clone unique validator for name validation (pr#56550, Nizamudeen A)

  • mgr/dashboard: fix e2e failure related to landing page (pr#55124, Pedro Gonzalez Gomez)

  • mgr/dashboard: fix empty tags (pr#56439, Pedro Gonzalez Gomez)

  • mgr/dashboard: fix error while accessing roles tab when policy attached (pr#55515, Afreen)

  • mgr/dashboard: Fix inconsistency in capitalisation of “Multi-site” (pr#55311, Afreen)

  • mgr/dashboard: fix M retention frequency display (pr#56363, Ivo Almeida)

  • mgr/dashboard: fix retention add for subvolume (pr#56370, Ivo Almeida)

  • mgr/dashboard: fix rgw display name validation (pr#56548, Nizamudeen A)

  • mgr/dashboard: fix roles page for roles without policies (pr#55827, Nizamudeen A)

  • mgr/dashboard: fix snap schedule date format (pr#55815, Ivo Almeida)

  • mgr/dashboard: fix snap schedule list toggle cols (pr#56115, Ivo Almeida)

  • mgr/dashboard: fix snap schedule time format (pr#56154, Ivo Almeida)

  • mgr/dashboard: fix subvolume group edit (pr#55811, Ivo Almeida)

  • mgr/dashboard: fix subvolume group edit size (pr#56385, Ivo Almeida)

  • mgr/dashboard: fix the jsonschema issue in install-deps (pr#55542, Nizamudeen A)

  • mgr/dashboard: fix volume creation with multiple hosts (pr#55786, Pedro Gonzalez Gomez)

  • mgr/dashboard: fixed cephfs mount command (pr#55993, Ivo Almeida)

  • mgr/dashboard: fixed nfs attach command (pr#56387, Ivo Almeida)

  • mgr/dashboard: Fixes multisite topology page breadcrumb (pr#55212, Afreen Misbah)

  • mgr/dashboard: get object bucket policies for a bucket (pr#55361, Nizamudeen A)

  • mgr/dashboard: get rgw port from ssl_endpoint (pr#54764, Nizamudeen A)

  • mgr/dashboard: Handle errors for /api/osd/settings (pr#55704, Afreen)

  • mgr/dashboard: increase the number of plottable graphs in charts (pr#55571, Afreen, Aashish Sharma)

  • mgr/dashboard: Locking improvements in bucket create form (pr#56560, Afreen)

  • mgr/dashboard: make ceph logo redirect to dashboard (pr#56557, Afreen)

  • mgr/dashboard: Mark placement targets as non-required (pr#56621, Afreen)

  • mgr/dashboard: replace deprecated table panel in grafana with a newer table panel (pr#56682, Aashish Sharma)

  • mgr/dashboard: replace piechart plugin charts with native pie chart panel (pr#56654, Aashish Sharma)

  • mgr/dashboard: rgw bucket features (pr#55575, Pedro Gonzalez Gomez)

  • mgr/dashboard: rm warning/error threshold for cpu usage (pr#56443, Nizamudeen A)

  • mgr/dashboard: s/active_mds/active_nfs in fs attach form (pr#56546, Nizamudeen A)

  • mgr/dashboard: sanitize dashboard user creation (pr#56452, Pedro Gonzalez Gomez)

  • mgr/dashboard: Show the OSDs Out and Down panels as red whenever an OSD is in Out or Down state in Ceph Cluster grafana dashboard (pr#54538, Aashish Sharma)

  • mgr/dashboard: Simplify authentication protocol (pr#55689, Daniel Persson)

  • mgr/dashboard: subvolume snapshot management (pr#55186, Nizamudeen A)

  • mgr/dashboard: update fedora link for dashboard-cephadm-e2e test (pr#54718, Adam King)

  • mgr/dashboard: upgrade from old ‘graph’ type panels to the new ‘timeseries’ panel (pr#56652, Aashish Sharma)

  • mgr/dashboard:Update encryption and tags in bucket form (pr#56707, Afreen)

  • mgr/dashboard:Use advanced fieldset for rbd image (pr#56710, Afreen)

  • mgr/nfs: include pseudo in JSON output when nfs export apply -i fails (pr#55394, Dhairya Parmar)

  • mgr/node-proxy: handle ‘None’ statuses returned by RedFish (pr#55999, Guillaume Abrioux)

  • mgr/pg_autoscaler: add check for norecover flag (pr#55078, Aishwarya Mathuria)

  • mgr/snap_schedule: add support for monthly snapshots (pr#55208, Milind Changire)

  • mgr/snap_schedule: exceptions management and subvol support (pr#52751, Milind Changire)

  • mgr/volumes: fix subvolume group rm error message (pr#54207, neeraj pratap singh, Neeraj Pratap Singh)

  • mgr/volumes: support to reject CephFS clones if cloner threads are not available (pr#55692, Rishabh Dave, Venky Shankar, Neeraj Pratap Singh)

  • mgr: pin pytest to version 7.4.4 (pr#55362, Laura Flores)

  • mon, doc: overriding ec profile requires --yes-i-really-mean-it (pr#56435, Radoslaw Zarzynski)

  • mon, osd, *: expose upmap-primary in OSDMap::get_features() (pr#57794, rzarzynski)

  • mon/ConfigMonitor: Show localized name in “config dump --format json” output (pr#53888, Sridhar Seshasayee)

  • mon/ConnectionTracker.cc: disregard connection scores from mon_rank = -1 (pr#55167, Kamoltat)

  • mon/OSDMonitor: fix get_min_last_epoch_clean() (pr#55867, Matan Breizman)

  • mon: fix health store size growing infinitely (pr#55548, Wei Wang)

  • mon: fix mds metadata lost in one case (pr#54316, shimin)

  • msg: update MOSDOp() to use ceph_tid_t instead of long (pr#55424, Lucian Petrut)

  • node-proxy: fix RedFishClient.logout() method (pr#56252, Guillaume Abrioux)

  • node-proxy: refactor entrypoint (backport) (pr#55454, Guillaume Abrioux)

  • orch: implement hardware monitoring (pr#55405, Guillaume Abrioux, Adam King, Redouane Kachach)

  • orchestrator: Add summary line to orch device ls output (pr#56098, Paul Cuzner)

  • orchestrator: Fix representation of CPU threads in host ls --detail command (pr#56097, Paul Cuzner)

  • os/bluestore: add bluestore fragmentation micros to prometheus (pr#54258, Yite Gu)

  • os/bluestore: fix free space update after bdev-expand in NCB mode (pr#55777, Igor Fedotov)

  • os/bluestore: get rid off resulting lba alignment in allocators (pr#54772, Igor Fedotov)

  • os/kv_test: Fix estimate functions (pr#56197, Adam Kupczyk)

  • osd/OSD: introduce reset_purged_snaps_last (pr#53972, Matan Breizman)

  • osd/scrub: increasing max_osd_scrubs to 3 (pr#55173, Ronen Friedman)

  • osd: Apply randomly selected scheduler type across all OSD shards (pr#54981, Sridhar Seshasayee)

  • osd: don’t require RWEXCL lock for stat+write ops (pr#54595, Alice Zhao)

  • osd: fix Incremental decode for new/old_pg_upmap_primary (pr#55046, Laura Flores)

  • osd: improve OSD robustness (pr#54783, Igor Fedotov)

  • osd: log the number of extents for sparse read (pr#54606, Xiubo Li)

  • osd: Tune snap trim item cost to reflect a PGs’ average object size for mClock scheduler (pr#55040, Sridhar Seshasayee)

  • pybind/mgr/devicehealth: replace SMART data if exists for same DATETIME (pr#54879, Patrick Donnelly)

  • pybind/mgr/devicehealth: skip legacy objects that cannot be loaded (pr#56479, Patrick Donnelly)

  • pybind/mgr/mirroring: drop mon_host from peer_list (pr#55237, Jos Collin)

  • pybind/rbd: fix compilation with cython3 (pr#54807, Mykola Golub)

  • python-common/drive_selection: fix limit with existing devices (pr#56096, Adam King)

  • python-common: fix osdspec_affinity check (pr#56095, Guillaume Abrioux)

  • qa/cephadm: testing for extra daemon/container features (pr#55957, Adam King)

  • qa/cephfs: improvements for name generators in test_volumes.py (pr#54729, Rishabh Dave)

  • qa/distros: remove centos 8 from supported distros (pr#57932, Guillaume Abrioux, Casey Bodley, Adam King, Laura Flores)

  • qa/suites/fs/nfs: use standard health ignorelist (pr#56392, Patrick Donnelly)

  • qa/suites/fs/workload: enable snap_schedule early (pr#56424, Patrick Donnelly)

  • qa/tasks/cephfs/test_misc: switch duration to timeout (pr#55746, Xiubo Li)

  • qa/tests: added the initial reef-p2p suite (pr#55714, Yuri Weinstein)

  • qa/workunits/rbd/cli_generic.sh: narrow race window when checking that rbd_support module command fails after blocklisting the module’s client (pr#54769, Ramana Raja)

  • qa: fs volume rename requires fs fail and refuse_client_session set (issue#64174, pr#56171, Venky Shankar)

  • qa: Add benign cluster warning from ec-inconsistent-hinfo test to ignorelist (pr#56151, Sridhar Seshasayee)

  • qa: add centos_latest (9.stream) and ubuntu_20.04 yamls to supported-all-distro (pr#54677, Venky Shankar)

  • qa: add diff-continuous and compare-mirror-image tests to rbd and krbd suites respectively (pr#55928, Ramana Raja)

  • qa: Add tests to validate synced images on rbd-mirror (pr#55762, Ilya Dryomov, Ramana Raja)

  • qa: bump up scrub status command timeout (pr#55915, Milind Changire)

  • qa: change log-whitelist to log-ignorelist (pr#56396, Patrick Donnelly)

  • qa: correct usage of DEBUGFS_META_DIR in dedent (pr#56167, Venky Shankar)

  • qa: do upgrades from quincy and older reef minor releases (pr#55590, Patrick Donnelly)

  • qa: enhance labeled perf counters test for cephfs-mirror (pr#56211, Jos Collin)

  • qa: Fix fs/full suite (pr#55829, Kotresh HR)

  • qa: fix incorrectly using the wait_for_health() helper (issue#57985, pr#54237, Venky Shankar)

  • qa: fix rank_asok() to handle errors from asok commands (pr#55302, Neeraj Pratap Singh)

  • qa: ignore container checkpoint/restore related selinux denials for centos9 (issue#64616, pr#56019, Venky Shankar)

  • qa: remove error string checks and check w/ return value (pr#55943, Venky Shankar)

  • qa: remove vstart runner from radosgw_admin task (pr#55097, Ali Maredia)

  • qa: run kernel_untar_build with newer tarball (pr#54711, Milind Changire)

  • qa: set mds config with config set for a particular test (issue#57087, pr#56169, Venky Shankar)

  • qa: use correct imports to resolve fuse_mount and kernel_mount (pr#54714, Milind Changire)

  • qa: use exisitng ignorelist override list for fs:mirror[-ha] (issue#62482, pr#54766, Venky Shankar)

  • radosgw-admin: ‘zone set’ won’t overwrite existing default-placement (pr#55061, Casey Bodley)

  • rbd-nbd: fix resize of images mapped using netlink (pr#55316, Ramana Raja)

  • reef backport: rook e2e testing related PRs (pr#55375, Redouane Kachach)

  • RGW - Swift retarget needs bucket set on object (pr#56004, Daniel Gryniewicz)

  • rgw/auth: Fix the return code returned by AuthStrategy (pr#54794, Pritha Srivastava)

  • rgw/beast: Enable SSL session-id reuse speedup mechanism (pr#56120, Mark Kogan)

  • rgw/datalog: RGWDataChangesLog::add_entry() uses null_yield (pr#55655, Casey Bodley)

  • rgw/iam: admin/system users ignore iam policy parsing errors (pr#54843, Casey Bodley)

  • rgw/kafka/amqp: fix race conditionn in async completion handlers (pr#54736, Yuval Lifshitz)

  • rgw/lc: do not add datalog/bilog for some lc actions (pr#55289, Juan Zhu)

  • rgw/lua: fix CopyFrom crash (pr#54296, Yuval Lifshitz)

  • rgw/notification: Kafka persistent notifications not retried and removed even when the broker is down (pr#56140, kchheda3)

  • rgw/putobj: RadosWriter uses part head object for multipart parts (pr#55621, Casey Bodley)

  • rgw/rest: fix url decode of post params for iam/sts/sns (pr#55356, Casey Bodley)

  • rgw/S3select: remove assert from csv-parser, adding updates (pr#55969, Gal Salomon)

  • RGW/STS: when generating keys, take the trailing null character into account (pr#54127, Oguzhan Ozmen)

  • rgw: add headers to guide cache update in 304 response (pr#55094, Casey Bodley, Ilsoo Byun)

  • rgw: Add missing empty checks to the split string in is_string_in_set() (pr#56347, Matt Benjamin)

  • rgw: d3n: fix valgrind reported leak related to libaio worker threads (pr#54852, Mark Kogan)

  • rgw: do not copy olh attributes in versioning suspended bucket (pr#55606, Juan Zhu)

  • rgw: fix cloud-sync multi-tenancy scenario (pr#54328, Ionut Balutoiu)

  • rgw: object lock avoids 32-bit truncation of RetainUntilDate (pr#54674, Casey Bodley)

  • rgw: only buckets with reshardable layouts need to be considered for resharding (pr#54129, J. Eric Ivancich)

  • RGW: pubsub publish commit with etag populated (pr#56453, Ali Masarwa)

  • rgw: RGWSI_SysObj_Cache::remove() invalidates after successful delete (pr#55716, Casey Bodley)

  • rgw: SignatureDoesNotMatch for certain RGW Admin Ops endpoints w/v4 auth (pr#54791, David.Hall)

  • Snapshot schedule show subvolume path (pr#56419, Ivo Almeida)

  • src/common/options: Correct typo in rgw.yaml.in (pr#55445, Anthony D’Atri)

  • src/mount: kernel mount command returning misleading error message (pr#55300, Neeraj Pratap Singh)

  • test/libcephfs: skip flaky timestamp assertion on Windows (pr#54614, Lucian Petrut)

  • test/rgw: increase timeouts in unittest_rgw_dmclock_scheduler (pr#55790, Casey Bodley)

  • test: explicitly link to ceph-common for some libcephfs tests (issue#57206, pr#53635, Venky Shankar)

  • tools/ceph_objectstore_tool: action_on_all_objects_in_pg to skip pgmeta (pr#54693, Matan Breizman)

  • Tools/rados: Improve Error Messaging for Object Name Resolution (pr#55112, Nitzan Mordechai)

  • tools/rbd: make ‘children’ command support --image-id (pr#55617, Mykola Golub)

  • use raw_cluster_cmd instead of run_ceph_cmd (pr#55836, Venky Shankar)

  • win32_deps_build.sh: change Boost URL (pr#55084, Lucian Petrut)

v18.2.2 Reef

This is a hotfix release that resolves several flaws including Prometheus crashes and an encoder fix.

Release Date

March 11, 2024

Notable Changes

  • mgr/Prometheus: refine the orchestrator availability check to prevent against crashes in the prometheus module during startup. Introduce additional checks to handle daemon_ids generated within the Rook environment, thus preventing potential issues during RGW metrics metadata generation.

Changelog

  • mgr/prometheus: fix orch check to prevent Prometheus crash (pr#55491, Redouane Kachach)

  • debian/*.postinst: add adduser as a dependency and specify --home when adduser (pr#55709, Kefu Chai)

  • src/osd/OSDMap.cc: Fix encoder to produce same bytestream (pr#55712, Kamoltat)

v18.2.1 Reef

This is the first backport release in the Reef series, and the first with Debian packages, for Debian Bookworm. We recommend that all users update to this release.

Release Date

December 18, 2023

Notable Changes

  • RGW: S3 multipart uploads using Server-Side Encryption now replicate correctly in a multi-site deployment. Previously, the replicas of such objects were corrupted on decryption. A new command, radosgw-admin bucket resync encrypted multipart, can be used to identify these original multipart uploads. The LastModified timestamp of any identified object is incremented by 1ns to cause peer zones to replicate it again. For multi-site deployments that make any use of Server-Side Encryption, we recommended running this command against every bucket in every zone after all zones have upgraded.

  • CEPHFS: MDS now evicts clients which are not advancing their request tids (transaction IDs), which causes a large buildup of session metadata, resulting in the MDS going read-only due to the RADOS operation exceeding the size threshold. mds_session_metadata_threshold config controls the maximum size that an (encoded) session metadata can grow.

  • RGW: New tools have been added to radosgw-admin for identifying and correcting issues with versioned bucket indexes. Historical bugs with the versioned bucket index transaction workflow made it possible for the index to accumulate extraneous “book-keeping” olh (object logical head) entries and plain placeholder entries. In some specific scenarios where clients made concurrent requests referencing the same object key, it was likely that a lot of extra index entries would accumulate. When a significant number of these entries are present in a single bucket index shard, they can cause high bucket listing latencies and lifecycle processing failures. To check whether a versioned bucket has unnecessary olh entries, users can now run radosgw-admin bucket check olh. If the --fix flag is used, the extra entries will be safely removed. A distinct issue from the one described thus far, it is also possible that some versioned buckets are maintaining extra unlinked objects that are not listable from the S3/ Swift APIs. These extra objects are typically a result of PUT requests that exited abnormally, in the middle of a bucket index transaction - so the client would not have received a successful response. Bugs in prior releases made these unlinked objects easy to reproduce with any PUT request that was made on a bucket that was actively resharding. Besides the extra space that these hidden, unlinked objects consume, there can be another side effect in certain scenarios, caused by the nature of the failure mode that produced them, where a client of a bucket that was a victim of this bug may find the object associated with the key to be in an inconsistent state. To check whether a versioned bucket has unlinked entries, users can now run radosgw-admin bucket check unlinked. If the --fix flag is used, the unlinked objects will be safely removed. Finally, a third issue made it possible for versioned bucket index stats to be accounted inaccurately. The tooling for recalculating versioned bucket stats also had a bug, and was not previously capable of fixing these inaccuracies. This release resolves those issues and users can now expect that the existing radosgw-admin bucket check command will produce correct results. We recommend that users with versioned buckets, especially those that existed on prior releases, use these new tools to check whether their buckets are affected and to clean them up accordingly.

  • mgr/snap-schedule: For clusters with multiple CephFS file systems, all the snap-schedule commands now expect the ‘--fs’ argument.

  • RADOS: A POOL_APP_NOT_ENABLED health warning will now be reported if the application is not enabled for the pool whether the pool is in use or not. Always tag a pool with an application using ceph osd pool application enable command to avoid reporting POOL_APP_NOT_ENABLED for that pool. The user might temporarily mute this warning using ceph health mute POOL_APP_NOT_ENABLED.

  • Dashboard: An overview page for RGW to show the overall status of RGW components.

  • Dashboard: Added management support for RGW Multi-site and CephFS Subvolumes and groups.

  • Dashboard: Fixed few bugs and issues around the new dashboard page including the broken layout, some metrics giving wrong values and introduced a popover to display details when there are HEALTH_WARN or HEALTH_ERR.

  • Dashboard: Fixed several issues in Ceph dashboard on Rook-backed clusters, and improved the user experience on the Rook environment.

Changelog

  • .github: Clarify checklist details (pr#54130, Anthony D’Atri)

  • [CVE-2023-43040] rgw: Fix bucket validation against POST policies (pr#53756, Joshua Baergen)

  • Adding rollback mechanism to handle bootstrap failures (pr#53864, Adam King, Redouane Kachach)

  • backport of rook orchestrator fixes and e2e automated testing (pr#54224, Redouane Kachach)

  • Bluestore: fix bluestore collection_list latency perf counter (pr#52950, Wangwenjuan)

  • build: Remove ceph-libboost* packages in install-deps (pr#52769, Adam Emerson)

  • ceph-volume/cephadm: support lv devices in inventory (pr#53286, Guillaume Abrioux)

  • ceph-volume: add --osd-id option to raw prepare (pr#52927, Guillaume Abrioux)

  • ceph-volume: fix a regression in raw list (pr#54521, Guillaume Abrioux)

  • ceph-volume: fix mpath device support (pr#53539, Guillaume Abrioux)

  • ceph-volume: fix raw list for lvm devices (pr#52619, Guillaume Abrioux)

  • ceph-volume: fix raw list for lvm devices (pr#52980, Guillaume Abrioux)

  • ceph-volume: Revert “ceph-volume: fix raw list for lvm devices” (pr#54429, Matthew Booth, Guillaume Abrioux)

  • ceph: allow xlock state to be LOCK_PREXLOCK when putting it (pr#53661, Xiubo Li)

  • ceph_fs.h: add separate owner_{u,g}id fields (pr#53138, Alexander Mikhalitsyn)

  • ceph_volume: support encrypted volumes for lvm new-db/new-wal/migrate commands (pr#52875, Igor Fedotov)

  • cephadm batch backport Aug 23 (pr#53124, Adam King, Luis Domingues, John Mulligan, Redouane Kachach)

  • cephadm: add a --dry-run option to cephadm shell (pr#54220, John Mulligan)

  • cephadm: add tcmu-runner to logrotate config (pr#53122, Adam King)

  • cephadm: Adding support to configure public_network cfg section (pr#53110, Redouane Kachach)

  • cephadm: delete /tmp/cephadm-<fsid> when removing the cluster (pr#53109, Redouane Kachach)

  • cephadm: Fix extra_container_args for iSCSI (pr#53010, Raimund Sacherer)

  • cephadm: fix haproxy version with certain containers (pr#53751, Adam King)

  • cephadm: make custom_configs work for tcmu-runner container (pr#53404, Adam King)

  • cephadm: run tcmu-runner through script to do restart on failure (pr#53866, Adam King)

  • cephadm: support for CA signed keys (pr#53121, Adam King)

  • cephfs-journal-tool: disambiguate usage of all keyword (in tool help) (pr#53646, Manish M Yathnalli)

  • cephfs-mirror: do not run concurrent C_RestartMirroring context (issue#62072, pr#53638, Venky Shankar)

  • cephfs: implement snapdiff (pr#53229, Igor Fedotov, Lucian Petrut, Denis Barahtanov)

  • cephfs_mirror: correctly set top level dir permissions (pr#53271, Milind Changire)

  • client: always refresh mds feature bits on session open (issue#63188, pr#54146, Venky Shankar)

  • client: correct quota check in Client::_rename() (pr#52578, Rishabh Dave)

  • client: do not send metrics until the MDS rank is ready (pr#52501, Xiubo Li)

  • client: force sending cap revoke ack always (pr#52507, Xiubo Li)

  • client: issue a cap release immediately if no cap exists (pr#52850, Xiubo Li)

  • client: move the Inode to new auth mds session when changing auth cap (pr#53666, Xiubo Li)

  • client: trigger to flush the buffer when making snapshot (pr#52497, Xiubo Li)

  • client: wait rename to finish (pr#52504, Xiubo Li)

  • cmake: ensure fmtlib is at least 8.1.1 (pr#52970, Abhishek Lekshmanan)

  • Consider setting “bulk” autoscale pool flag when automatically creating a data pool for CephFS (pr#52899, Leonid Usov)

  • crimson/admin/admin_socket: remove path file if it exists (pr#53964, Matan Breizman)

  • crimson/ertr: assert on invocability of func provided to safe_then() (pr#53958, Radosław Zarzyński)

  • crimson/mgr: Fix config show command (pr#53954, Aishwarya Mathuria)

  • crimson/net: consolidate messenger implementations and enable multi-shard UTs (pr#54095, Yingxin Cheng)

  • crimson/net: set TCP_NODELAY according to ms_tcp_nodelay (pr#54063, Xuehan Xu)

  • crimson/net: support connections in multiple shards (pr#53949, Yingxin Cheng)

  • crimson/os/object_data_handler: splitting right side doesn’t mean splitting only one extent (pr#54061, Xuehan Xu)

  • crimson/os/seastore/backref_manager: scan backref entries by journal seq (pr#53939, Zhang Song)

  • crimson/os/seastore/btree: should add left’s size when merging levels… (pr#53946, Xuehan Xu)

  • crimson/os/seastore/cache: don’t add EXIST_CLEAN extents to lru (pr#54098, Xuehan Xu)

  • crimson/os/seastore/cached_extent: add prepare_commit interface (pr#53941, Xuehan Xu)

  • crimson/os/seastore/cbj: fix a potential overflow bug on segment_seq (pr#53968, Myoungwon Oh)

  • crimson/os/seastore/collection_manager: fill CollectionNode::decoded on clean reads (pr#53956, Xuehan Xu)

  • crimson/os/seastore/journal/cbj: generalize scan_valid_records() (pr#53961, Myoungwon Oh, Yingxin Cheng)

  • crimson/os/seastore/omap_manager: correct editor settings (pr#53947, Zhang Song)

  • crimson/os/seastore/omap_manager: fix the entry leak issue in BtreeOMapManager::omap_list() (pr#53962, Xuehan Xu)

  • crimson/os/seastore/onode_manager: populate value recorders of onodes to be erased (pr#53966, Xuehan Xu)

  • crimson/os/seastore/rbm: make rbm support multiple shards (pr#53952, Myoungwon Oh)

  • crimson/os/seastore/transaction_manager: data loss issues (pr#53955, Xuehan Xu)

  • crimson/os/seastore/transaction_manager: move intermediate_key by “remap_offset” when remapping the “back” half of the original pin (pr#54140, Xuehan Xu)

  • crimson/os/seastore/zbd: zbdsegmentmanager write path fixes (pr#54062, Aravind Ramesh)

  • crimson/os/seastore: add metrics about total invalidated transactions (pr#53953, Zhang Song)

  • crimson/os/seastore: create page aligned bufferptr in copy ctor of CachedExtent (pr#54097, Zhang Song)

  • crimson/os/seastore: enable SMR HDD (pr#53935, Aravind Ramesh)

  • crimson/os/seastore: fix ceph_assert in segment_manager.h (pr#53938, Aravind Ramesh)

  • crimson/os/seastore: fix daggling reference of oid in SeaStore::Shard::stat() (pr#53960, Xuehan Xu)

  • crimson/os/seastore: fix in check_node (pr#53945, Xinyu Huang)

  • crimson/os/seastore: OP_CLONE in seastore (pr#54092, xuxuehan, Xuehan Xu)

  • crimson/os/seastore: realize lazy read in split overwrite with overwrite refactor (pr#53951, Xinyu Huang)

  • crimson/os/seastore: retire_extent_addr clean up (pr#53959, Xinyu Huang)

  • crimson/osd/heartbeat: Improve maybe_share_osdmap behavior (pr#53940, Samuel Just)

  • crimson/osd/lsan_suppressions.cc: Add MallocExtension::Initialize() (pr#54057, Mark Nelson, Matan Breizman)

  • crimson/osd/lsan_suppressions: add MallocExtension::Register (pr#54139, Matan Breizman)

  • crimson/osd/object_context: consider clones found as long as they’re in SnapSet::clones (pr#53965, Xuehan Xu)

  • crimson/osd/osd_operations: add pipeline to LogMissingRequest to sync it (pr#53957, Xuehan Xu)

  • crimson/osd/osd_operations: consistent naming to pipeline users (pr#54060, Matan Breizman)

  • crimson/osd/pg: check if backfill_state exists when judging objects’ (pr#53963, Xuehan Xu)

  • crimson/osd/watch: Add logs around Watch/Notify (pr#53950, Matan Breizman)

  • crimson/osd: add embedded suppression ruleset for LSan (pr#53937, Radoslaw Zarzynski)

  • crimson/osd: cleanup and drop OSD::ShardDispatcher (pr#54138, Yingxin Cheng)

  • Crimson/osd: Disable concurrent MOSDMap handling (pr#53944, Matan Breizman)

  • crimson/osd: don’t ignore start_pg_operation returned future (pr#53948, Matan Breizman)

  • crimson/osd: fix ENOENT on accessing RadosGW user’s index of buckets (pr#53942, Radoslaw Zarzynski)

  • crimson/osd: fix Notify life-time mismanagement in Watch::notify_ack (pr#53943, Radoslaw Zarzynski)

  • crimson/osd: fixes and cleanups around multi-core OSD (pr#54091, Yingxin Cheng)

  • Crimson/osd: support multicore osd (pr#54058, chunmei)

  • crimson/tools/perf_crimson_msgr: integrate multi-core msgr with various improvements (pr#54059, Yingxin Cheng)

  • crimson/tools/perf_crimson_msgr: randomize client nonce (pr#54093, Yingxin Cheng)

  • crimson/tools/perf_staged_fltree: fix compile error (pr#54096, Myoungwon Oh)

  • crimson/vstart: default seastore_device_size will be out of space f… (pr#53969, chunmei)

  • crimson: Enable tcmalloc when using seastar (pr#54105, Mark Nelson, Matan Breizman)

  • debian/control: add docker-ce as recommends for cephadm package (pr#52908, Adam King)

  • Debian: update to dh compat 12, fix more serious packaging errors, correct copyright syntax (pr#53654, Matthew Vernon)

  • doc/architecture.rst - edit a sentence (pr#53372, Zac Dover)

  • doc/architecture.rst - edit up to “Cluster Map” (pr#53366, Zac Dover)

  • doc/architecture: “Edit HA Auth” (pr#53619, Zac Dover)

  • doc/architecture: “Edit HA Auth” (one of several) (pr#53585, Zac Dover)

  • doc/architecture: “Edit HA Auth” (one of several) (pr#53491, Zac Dover)

  • doc/architecture: edit “Calculating PG IDs” (pr#53748, Zac Dover)

  • doc/architecture: edit “Cluster Map” (pr#53434, Zac Dover)

  • doc/architecture: edit “Data Scrubbing” (pr#53730, Zac Dover)

  • doc/architecture: Edit “HA Auth” (pr#53488, Zac Dover)

  • doc/architecture: edit “HA Authentication” (pr#53632, Zac Dover)

  • doc/architecture: edit “High Avail. Monitors” (pr#53451, Zac Dover)

  • doc/architecture: edit “OSD Membership and Status” (pr#53727, Zac Dover)

  • doc/architecture: edit “OSDs service clients directly” (pr#53686, Zac Dover)

  • doc/architecture: edit “Peering and Sets” (pr#53871, Zac Dover)

  • doc/architecture: edit “Replication” (pr#53738, Zac Dover)

  • doc/architecture: edit “SDEH” (pr#53659, Zac Dover)

  • doc/architecture: edit several sections (pr#53742, Zac Dover)

  • doc/architecture: repair RBD sentence (pr#53877, Zac Dover)

  • doc/ceph-volume: explain idempotence (pr#54233, Zac Dover)

  • doc/ceph-volume: improve front matter (pr#54235, Zac Dover)

  • doc/cephadm/services: remove excess rendered indentation in osd.rst (pr#54323, Ville Ojamo)

  • doc/cephadm: add ssh note to install.rst (pr#53199, Zac Dover)

  • doc/cephadm: edit “Adding Hosts” in install.rst (pr#53224, Zac Dover)

  • doc/cephadm: edit sentence in mgr.rst (pr#53164, Zac Dover)

  • doc/cephadm: edit troubleshooting.rst (1 of x) (pr#54283, Zac Dover)

  • doc/cephadm: edit troubleshooting.rst (2 of x) (pr#54320, Zac Dover)

  • doc/cephadm: fix typo in cephadm initial crush location section (pr#52887, John Mulligan)

  • doc/cephadm: fix typo in set ssh key command (pr#54388, Piotr Parczewski)

  • doc/cephadm: update cephadm reef version (pr#53162, Rongqi Sun)

  • doc/cephfs: edit mount-using-fuse.rst (pr#54353, Jaanus Torp)

  • doc/cephfs: write cephfs commands fully in docs (pr#53402, Rishabh Dave)

  • doc/config: edit “ceph-conf.rst” (pr#54463, Zac Dover)

  • doc/configuration: edit “bg” in mon-config-ref.rst (pr#53347, Zac Dover)

  • doc/dev/release-checklist: check telemetry validation (pr#52805, Yaarit Hatuka)

  • doc/dev: Fix typos in files cephfs-mirroring.rst and deduplication.rst (pr#53519, Daniel Parkes)

  • doc/dev: remove cache-pool (pr#54007, Zac Dover)

  • doc/glossary: add “primary affinity” to glossary (pr#53427, Zac Dover)

  • doc/glossary: add “Quorum” to glossary (pr#54509, Zac Dover)

  • doc/glossary: improve “BlueStore” entry (pr#54265, Zac Dover)

  • doc/man/8/ceph-monstore-tool: add documentation (pr#52872, Matan Breizman)

  • doc/man/8: improve radosgw-admin.rst (pr#53267, Anthony D’Atri)

  • doc/man: edit ceph-monstore-tool.rst (pr#53476, Zac Dover)

  • doc/man: radosgw-admin.rst typo (pr#53315, Zac Dover)

  • doc/man: remove docs about support for unix domain sockets (pr#53312, Zac Dover)

  • doc/man: s/kvstore-tool/monstore-tool/ (pr#53536, Zac Dover)

  • doc/rados/configuration: Avoid repeating “support” in msgr2.rst (pr#52998, Ville Ojamo)

  • doc/rados: add bulk flag to pools.rst (pr#53317, Zac Dover)

  • doc/rados: edit “troubleshooting-mon” (pr#54502, Zac Dover)

  • doc/rados: edit memory-profiling.rst (pr#53932, Zac Dover)

  • doc/rados: edit operations/add-or-rm-mons (1 of x) (pr#52889, Zac Dover)

  • doc/rados: edit operations/add-or-rm-mons (2 of x) (pr#52825, Zac Dover)

  • doc/rados: edit ops/control.rst (1 of x) (pr#53811, zdover23, Zac Dover)

  • doc/rados: edit ops/control.rst (2 of x) (pr#53815, Zac Dover)

  • doc/rados: edit t-mon “common issues” (1 of x) (pr#54418, Zac Dover)

  • doc/rados: edit t-mon “common issues” (2 of x) (pr#54421, Zac Dover)

  • doc/rados: edit t-mon “common issues” (3 of x) (pr#54438, Zac Dover)

  • doc/rados: edit t-mon “common issues” (4 of x) (pr#54443, Zac Dover)

  • doc/rados: edit t-mon “common issues” (5 of x) (pr#54455, Zac Dover)

  • doc/rados: edit t-mon.rst text (pr#54349, Zac Dover)

  • doc/rados: edit t-shooting-mon.rst (pr#54427, Zac Dover)

  • doc/rados: edit troubleshooting-mon.rst (2 of x) (pr#52839, Zac Dover)

  • doc/rados: edit troubleshooting-mon.rst (3 of x) (pr#53879, Zac Dover)

  • doc/rados: edit troubleshooting-mon.rst (4 of x) (pr#53897, Zac Dover)

  • doc/rados: edit troubleshooting-osd (1 of x) (pr#53982, Zac Dover)

  • doc/rados: Edit troubleshooting-osd (2 of x) (pr#54000, Zac Dover)

  • doc/rados: Edit troubleshooting-osd (3 of x) (pr#54026, Zac Dover)

  • doc/rados: edit troubleshooting-pg (2 of x) (pr#54114, Zac Dover)

  • doc/rados: edit troubleshooting-pg.rst (pr#54228, Zac Dover)

  • doc/rados: edit troubleshooting-pg.rst (1 of x) (pr#54073, Zac Dover)

  • doc/rados: edit troubleshooting.rst (pr#53837, Zac Dover)

  • doc/rados: edit troubleshooting/community.rst (pr#53881, Zac Dover)

  • doc/rados: format “initial troubleshooting” (pr#54477, Zac Dover)

  • doc/rados: format Q&A list in t-mon.rst (pr#54345, Zac Dover)

  • doc/rados: format Q&A list in tshooting-mon.rst (pr#54366, Zac Dover)

  • doc/rados: improve “scrubbing” explanation (pr#54270, Zac Dover)

  • doc/rados: parallelize t-mon headings (pr#54461, Zac Dover)

  • doc/rados: remove cache-tiering-related keys (pr#54227, Zac Dover)

  • doc/rados: remove FileStore material (in Reef) (pr#54008, Zac Dover)

  • doc/rados: remove HitSet-related key information (pr#54217, Zac Dover)

  • doc/rados: update monitoring-osd-pg.rst (pr#52958, Zac Dover)

  • doc/radosgw: Improve dynamicresharding.rst (pr#54368, Anthony D’Atri)

  • doc/radosgw: Improve language and formatting in config-ref.rst (pr#52835, Ville Ojamo)

  • doc/radosgw: multisite - edit “migrating a single-site” (pr#53261, Qi Tao)

  • doc/radosgw: update rate limit management (pr#52910, Zac Dover)

  • doc/README.md - edit “Building Ceph” (pr#53057, Zac Dover)

  • doc/README.md - improve “Running a test cluster” (pr#53258, Zac Dover)

  • doc/rgw: correct statement about default zone features (pr#52833, Casey Bodley)

  • doc/rgw: pubsub capabilities reference was removed from docs (pr#54137, Yuval Lifshitz)

  • doc/rgw: several response headers are supported (pr#52803, Casey Bodley)

  • doc/start: correct ABC test chart (pr#53256, Dmitry Kvashnin)

  • doc/start: edit os-recommendations.rst (pr#53179, Zac Dover)

  • doc/start: fix typo in hardware-recommendations.rst (pr#54480, Anthony D’Atri)

  • doc/start: Modernize and clarify hardware-recommendations.rst (pr#54071, Anthony D’Atri)

  • doc/start: refactor ABC test chart (pr#53094, Zac Dover)

  • doc/start: update “platforms” table (pr#53075, Zac Dover)

  • doc/start: update linking conventions (pr#52912, Zac Dover)

  • doc/start: update linking conventions (pr#52841, Zac Dover)

  • doc/troubleshooting: edit cpu-profiling.rst (pr#53059, Zac Dover)

  • doc: Add a note on possible deadlock on volume deletion (pr#52946, Kotresh HR)

  • doc: add note for removing (automatic) partitioning policy (pr#53569, Venky Shankar)

  • doc: Add Reef 18.2.0 release notes (pr#52905, Zac Dover)

  • doc: Add warning on manual CRUSH rule removal (pr#53420, Alvin Owyong)

  • doc: clarify upmap balancer documentation (pr#53004, Laura Flores)

  • doc: correct option name (pr#53128, Patrick Donnelly)

  • doc: do not recommend pulling cephadm from git (pr#52997, John Mulligan)

  • doc: Documentation about main Ceph metrics (pr#54111, Juan Miguel Olmo Martínez)

  • doc: edit README.md - contributing code (pr#53049, Zac Dover)

  • doc: expand and consolidate mds placement (pr#53146, Patrick Donnelly)

  • doc: Fix doc for mds cap acquisition throttle (pr#53024, Kotresh HR)

  • doc: improve submodule update command - README.md (pr#53000, Zac Dover)

  • doc: make instructions to get an updated cephadm common (pr#53260, John Mulligan)

  • doc: remove egg fragment from dev/developer_guide/running-tests-locally (pr#53853, Dhairya Parmar)

  • doc: Update dynamicresharding.rst (pr#54329, Aliaksei Makarau)

  • doc: Update mClock QOS documentation to discard osd_mclock_cost_per_* (pr#54079, tanchangzhi)

  • doc: update rados.cc (pr#52967, Zac Dover)

  • doc: update test cluster commands in README.md (pr#53349, Zac Dover)

  • exporter: add ceph_daemon labels to labeled counters as well (pr#53695, avanthakkar)

  • exposed the open api and telemetry links in details card (pr#53142, cloudbehl, dpandit)

  • libcephsqlite: fill 0s in unread portion of buffer (pr#53101, Patrick Donnelly)

  • librbd: kick ExclusiveLock state machine on client being blocklisted when waiting for lock (pr#53293, Ramana Raja)

  • librbd: kick ExclusiveLock state machine stalled waiting for lock from reacquire_lock() (pr#53919, Ramana Raja)

  • librbd: make CreatePrimaryRequest remove any unlinked mirror snapshots (pr#53276, Ilya Dryomov)

  • MClientRequest: properly handle ceph_mds_request_head_legacy for ext_num_retry, ext_num_fwd, owner_uid, owner_gid (pr#54407, Alexander Mikhalitsyn)

  • MDS imported_inodes metric is not updated (pr#51698, Yongseok Oh)

  • mds/FSMap: allow upgrades if no up mds (pr#53851, Patrick Donnelly)

  • mds/Server: mark a cap acquisition throttle event in the request (pr#53168, Leonid Usov)

  • mds: acquire inode snaplock in open (pr#53183, Patrick Donnelly)

  • mds: add event for batching getattr/lookup (pr#53558, Patrick Donnelly)

  • mds: adjust pre_segments_size for MDLog when trimming segments for st… (issue#59833, pr#54035, Venky Shankar)

  • mds: blocklist clients with “bloated” session metadata (issue#62873, issue#61947, pr#53329, Venky Shankar)

  • mds: do not send split_realms for CEPH_SNAP_OP_UPDATE msg (pr#52847, Xiubo Li)

  • mds: drop locks and retry when lock set changes (pr#53241, Patrick Donnelly)

  • mds: dump locks when printing mutation ops (pr#52975, Patrick Donnelly)

  • mds: fix deadlock between unlinking and linkmerge (pr#53497, Xiubo Li)

  • mds: fix stray evaluation using scrub and introduce new option (pr#50813, Dhairya Parmar)

  • mds: Fix the linkmerge assert check (pr#52724, Kotresh HR)

  • mds: log message when exiting due to asok command (pr#53548, Patrick Donnelly)

  • mds: MDLog::_recovery_thread: handle the errors gracefully (pr#52512, Jos Collin)

  • mds: session ls command appears twice in command listing (pr#52515, Neeraj Pratap Singh)

  • mds: skip forwarding request if the session were removed (pr#52846, Xiubo Li)

  • mds: update mdlog perf counters during replay (pr#52681, Patrick Donnelly)

  • mds: use variable g_ceph_context directly in MDSAuthCaps (pr#52819, Rishabh Dave)

  • mgr/cephadm: Add “networks” parameter to orch apply rgw (pr#53120, Teoman ONAY)

  • mgr/cephadm: add ability to zap OSDs’ devices while draining host (pr#53869, Adam King)

  • mgr/cephadm: add is_host_<status> functions to HostCache (pr#53118, Adam King)

  • mgr/cephadm: Adding sort-by support for ceph orch ps (pr#53867, Redouane Kachach)

  • mgr/cephadm: allow draining host without removing conf/keyring files (pr#53123, Adam King)

  • mgr/cephadm: also don’t write client files/tuned profiles to maintenance hosts (pr#53111, Adam King)

  • mgr/cephadm: ceph orch add fails when ipv6 address is surrounded by square brackets (pr#53870, Teoman ONAY)

  • mgr/cephadm: don’t use image tag in orch upgrade ls (pr#53865, Adam King)

  • mgr/cephadm: fix default image base in reef (pr#53922, Adam King)

  • mgr/cephadm: fix REFRESHED column of orch ps being unpopulated (pr#53741, Adam King)

  • mgr/cephadm: fix upgrades with nvmeof (pr#53924, Adam King)

  • mgr/cephadm: removing double quotes from the generated nvmeof config (pr#53868, Redouane Kachach)

  • mgr/cephadm: show meaningful messages when failing to execute cmds (pr#53106, Redouane Kachach)

  • mgr/cephadm: storing prometheus/alertmanager credentials in monstore (pr#53119, Redouane Kachach)

  • mgr/cephadm: validate host label before removing (pr#53112, Redouane Kachach)

  • mgr/dashboard: add e2e tests for cephfs management (pr#53190, Nizamudeen A)

  • mgr/dashboard: Add more decimals in latency graph (pr#52727, Pedro Gonzalez Gomez)

  • mgr/dashboard: add port and zone endpoints to import realm token form in rgw multisite (pr#54118, Aashish Sharma)

  • mgr/dashboard: add validator for size field in the forms (pr#53378, Nizamudeen A)

  • mgr/dashboard: align charts of landing page (pr#53543, Pedro Gonzalez Gomez)

  • mgr/dashboard: allow PUT in CORS (pr#52705, Nizamudeen A)

  • mgr/dashboard: allow tls 1.2 with a config option (pr#53780, Nizamudeen A)

  • mgr/dashboard: Block Ui fails in angular with target es2022 (pr#54260, Aashish Sharma)

  • mgr/dashboard: cephfs volume and subvolume management (pr#53017, Pedro Gonzalez Gomez, Nizamudeen A, Pere Diaz Bou)

  • mgr/dashboard: cephfs volume rm and rename (pr#53026, avanthakkar)

  • mgr/dashboard: cleanup rbd-mirror process in dashboard e2e (pr#53220, Nizamudeen A)

  • mgr/dashboard: cluster upgrade management (batch backport) (pr#53016, avanthakkar, Nizamudeen A)

  • mgr/dashboard: Dashboard RGW multisite configuration (pr#52922, Aashish Sharma, Pedro Gonzalez Gomez, Avan Thakkar, avanthakkar)

  • mgr/dashboard: disable hosts field while editing the filesystem (pr#54069, Nizamudeen A)

  • mgr/dashboard: disable promote on mirroring not enabled (pr#52536, Pedro Gonzalez Gomez)

  • mgr/dashboard: disable protect if layering is not enabled on the image (pr#53173, avanthakkar)

  • mgr/dashboard: display the groups in cephfs subvolume tab (pr#53394, Pedro Gonzalez Gomez)

  • mgr/dashboard: empty grafana panels for performance of daemons (pr#52774, Avan Thakkar, avanthakkar)

  • mgr/dashboard: enable protect option if layering enabled (pr#53795, avanthakkar)

  • mgr/dashboard: fix cephfs create form validator (pr#53219, Nizamudeen A)

  • mgr/dashboard: fix cephfs form validator (pr#53778, Nizamudeen A)

  • mgr/dashboard: fix cephfs forms validations (pr#53831, Nizamudeen A)

  • mgr/dashboard: fix image columns naming (pr#53254, Pedro Gonzalez Gomez)

  • mgr/dashboard: fix progress bar color visibility (pr#53209, Nizamudeen A)

  • mgr/dashboard: fix prometheus queries subscriptions (pr#53669, Pedro Gonzalez Gomez)

  • mgr/dashboard: fix rgw multi-site import form helper (pr#54395, Aashish Sharma)

  • mgr/dashboard: fix rgw multisite error when no rgw entity is present (pr#54261, Aashish Sharma)

  • mgr/dashboard: fix rgw page issues when hostname not resolvable (pr#53214, Nizamudeen A)

  • mgr/dashboard: fix rgw port manipulation error in dashboard (pr#53392, Nizamudeen A)

  • mgr/dashboard: fix the landing page layout issues (issue#62961, pr#53835, Nizamudeen A)

  • mgr/dashboard: Fix user/bucket count in rgw overview dashboard (pr#53818, Aashish Sharma)

  • mgr/dashboard: fixed edit user quota form error (pr#54223, Ivo Almeida)

  • mgr/dashboard: images -> edit -> disable checkboxes for layering and deef-flatten (pr#53388, avanthakkar)

  • mgr/dashboard: minor usability improvements (pr#53143, cloudbehl)

  • mgr/dashboard: n/a entries behind primary snapshot mode (pr#53223, Pere Diaz Bou)

  • mgr/dashboard: Object gateway inventory card incorrect Buckets and user count (pr#53382, Aashish Sharma)

  • mgr/dashboard: Object gateway sync status cards keeps loading when multisite is not configured (pr#53381, Aashish Sharma)

  • mgr/dashboard: paginate hosts (pr#52918, Pere Diaz Bou)

  • mgr/dashboard: rbd image hide usage bar when disk usage is not provided (pr#53810, Pedro Gonzalez Gomez)

  • mgr/dashboard: remove empty popover when there are no health warns (pr#53652, Nizamudeen A)

  • mgr/dashboard: remove green tick on old password field (pr#53386, Nizamudeen A)

  • mgr/dashboard: remove unnecessary failing hosts e2e (pr#53458, Pedro Gonzalez Gomez)

  • mgr/dashboard: remove used and total used columns in favor of usage bar (pr#53304, Pedro Gonzalez Gomez)

  • mgr/dashboard: replace sync progress bar with last synced timestamp in rgw multisite sync status card (pr#53379, Aashish Sharma)

  • mgr/dashboard: RGW Details card cleanup (pr#53020, Nizamudeen A, cloudbehl)

  • mgr/dashboard: Rgw Multi-site naming improvements (pr#53806, Aashish Sharma)

  • mgr/dashboard: rgw multisite topology view shows blank table for multisite entities (pr#53380, Aashish Sharma)

  • mgr/dashboard: set CORS header for unauthorized access (pr#53201, Nizamudeen A)

  • mgr/dashboard: show a message to restart the rgw daemons after moving from single-site to multi-site (pr#53805, Aashish Sharma)

  • mgr/dashboard: subvolume rm with snapshots (pr#53233, Pedro Gonzalez Gomez)

  • mgr/dashboard: update rgw multisite import form helper info (pr#54253, Aashish Sharma)

  • mgr/dashboard: upgrade angular v14 and v15 (pr#52662, Nizamudeen A)

  • mgr/rbd_support: fix recursive locking on CreateSnapshotRequests lock (pr#54289, Ramana Raja)

  • mgr/snap_schedule: allow retention spec ‘n’ to be user defined (pr#52748, Milind Changire, Jakob Haufe)

  • mgr/snap_schedule: make fs argument mandatory if more than one filesystem exists (pr#54094, Milind Changire)

  • mgr/volumes: Fix pending_subvolume_deletions in volume info (pr#53572, Kotresh HR)

  • mgr: register OSDs in ms_handle_accept (pr#53187, Patrick Donnelly)

  • mon, qa: issue pool application warning even if pool is empty (pr#53041, Prashant D)

  • mon/ConfigMonitor: update crush_location from osd entity (pr#52466, Didier Gazen)

  • mon/MDSMonitor: plug paxos when maybe manipulating osdmap (pr#52246, Patrick Donnelly)

  • mon/MonClient: resurrect original client_mount_timeout handling (pr#52535, Ilya Dryomov)

  • mon/OSDMonitor: do not propose on error in prepare_update (pr#53186, Patrick Donnelly)

  • mon: fix iterator mishandling in PGMap::apply_incremental (pr#52554, Oliver Schmidt)

  • msgr: AsyncMessenger add faulted connections metrics (pr#53033, Pere Diaz Bou)

  • os/bluestore: don’t require bluestore_db_block_size when attaching new (pr#52942, Igor Fedotov)

  • os/bluestore: get rid off resulting lba alignment in allocators (pr#54772, Igor Fedotov)

  • osd/OpRequest: Add detail description for delayed op in osd log file (pr#53688, Yite Gu)

  • osd/OSDMap: Check for uneven weights & != 2 buckets post stretch mode (pr#52457, Kamoltat)

  • osd/scheduler/mClockScheduler: Use same profile and client ids for all clients to ensure allocated QoS limit consumption (pr#53093, Sridhar Seshasayee)

  • osd: fix logic in check_pg_upmaps (pr#54276, Laura Flores)

  • osd: fix read balancer logic to avoid redundant primary assignment (pr#53820, Laura Flores)

  • osd: fix use-after-move in build_incremental_map_msg() (pr#54267, Ronen Friedman)

  • osd: fix: slow scheduling when item_cost is large (pr#53861, Jrchyang Yu)

  • Overview graph improvements (pr#53090, cloudbehl)

  • pybind/mgr/devicehealth: do not crash if db not ready (pr#52213, Patrick Donnelly)

  • pybind/mgr/pg_autoscaler: Cut back osdmap.get_pools calls (pr#52767, Kamoltat)

  • pybind/mgr/pg_autoscaler: fix warn when not too few pgs (pr#53674, Kamoltat)

  • pybind/mgr/pg_autoscaler: noautoscale flag retains individual pool configs (pr#53658, Kamoltat)

  • pybind/mgr/pg_autoscaler: Reorderd if statement for the func: _maybe_adjust (pr#53429, Kamoltat)

  • pybind/mgr/pg_autoscaler: Use bytes_used for actual_raw_used (pr#53534, Kamoltat)

  • pybind/mgr/volumes: log mutex locks to help debug deadlocks (pr#53918, Kotresh HR)

  • pybind/mgr: reopen database handle on blocklist (pr#52460, Patrick Donnelly)

  • pybind/rbd: don’t produce info on errors in aio_mirror_image_get_info() (pr#54055, Ilya Dryomov)

  • python-common/drive_group: handle fields outside of ‘spec’ even when ‘spec’ is provided (pr#53115, Adam King)

  • python-common/drive_selection: lower log level of limit policy message (pr#53114, Adam King)

  • python-common: drive_selection: fix KeyError when osdspec_affinity is not set (pr#53159, Guillaume Abrioux)

  • qa/cephfs: fix build failure for mdtest project (pr#53827, Rishabh Dave)

  • qa/cephfs: fix ior project build failure (pr#53825, Rishabh Dave)

  • qa/cephfs: switch to python3 for centos stream 9 (pr#53624, Xiubo Li)

  • qa/rgw: add new POOL_APP_NOT_ENABLED failures to log-ignorelist (pr#53896, Casey Bodley)

  • qa/smoke,orch,perf-basic: add POOL_APP_NOT_ENABLED to ignorelist (pr#54376, Prashant D)

  • qa/standalone/osd/divergent-prior.sh: Divergent test 3 with pg_autoscale_mode on pick divergent osd (pr#52721, Nitzan Mordechai)

  • qa/suites/crimson-rados: add centos9 to supported distros (pr#54020, Matan Breizman)

  • qa/suites/crimson-rados: bring backfill testing (pr#54021, Radoslaw Zarzynski, Matan Breizman)

  • qa/suites/crimson-rados: Use centos8 for testing (pr#54019, Matan Breizman)

  • qa/suites/krbd: stress test for recovering from watch errors (pr#53786, Ilya Dryomov)

  • qa/suites/rbd: add test to check rbd_support module recovery (pr#54291, Ramana Raja)

  • qa/suites/rbd: drop cache tiering workload tests (pr#53996, Ilya Dryomov)

  • qa/suites/upgrade: enable default RBD image features (pr#53352, Ilya Dryomov)

  • qa/suites/upgrade: fix env indentation in stress-split upgrade tests (pr#53921, Laura Flores)

  • qa/suites/{rbd,krbd}: disable POOL_APP_NOT_ENABLED health check (pr#53599, Ilya Dryomov)

  • qa/tests: added - (POOL_APP_NOT_ENABLED) to the ignore list (pr#54436, Yuri Weinstein)

  • qa: add POOL_APP_NOT_ENABLED to ignorelist for cephfs tests (issue#62482, issue#62508, pr#54380, Venky Shankar, Patrick Donnelly)

  • qa: assign file system affinity for replaced MDS (issue#61764, pr#54037, Venky Shankar)

  • qa: descrease pgbench scale factor to 32 for postgresql database test (pr#53627, Xiubo Li)

  • qa: fix cephfs-mirror unwinding and ‘fs volume create/rm’ order (pr#52656, Jos Collin)

  • qa: fix keystone in rgw/crypt/barbican.yaml (pr#53412, Ali Maredia)

  • qa: ignore expected cluster warning from damage tests (pr#53484, Patrick Donnelly)

  • qa: lengthen shutdown timeout for thrashed MDS (pr#53553, Patrick Donnelly)

  • qa: move nfs (mgr/nfs) related tests to fs suite (pr#53906, Dhairya Parmar, Venky Shankar)

  • qa: wait for file to have correct size (pr#52742, Patrick Donnelly)

  • qa: wait for MDSMonitor tick to replace daemons (pr#52235, Patrick Donnelly)

  • RadosGW API: incorrect bucket quota in response to HEAD /{bucket}/?usage (pr#53437, shreyanshjain7174)

  • rbd-mirror: fix image replayer shut down description on force promote (pr#52880, Prasanna Kumar Kalever)

  • rbd-mirror: fix race preventing local image deletion (pr#52627, N Balachandran)

  • rbd-nbd: fix stuck with disable request (pr#54254, Prasanna Kumar Kalever)

  • read balancer documentation (pr#52777, Laura Flores)

  • Rgw overview dashboard backport (pr#53065, Aashish Sharma)

  • rgw/amqp: remove possible race conditions with the amqp connections (pr#53516, Yuval Lifshitz)

  • rgw/amqp: skip idleness tests since it needs to sleep longer than 30s (pr#53506, Yuval Lifshitz)

  • rgw/crypt: apply rgw_crypt_default_encryption_key by default (pr#52796, Casey Bodley)

  • rgw/crypt: don’t deref null manifest_bl (pr#53590, Casey Bodley)

  • rgw/kafka: failed to reconnect to broker after idle timeout (pr#53513, Yuval Lifshitz)

  • rgw/kafka: make sure that destroy is called after connection is removed (pr#53515, Yuval Lifshitz)

  • rgw/keystone: EC2Engine uses reject() for ERR_SIGNATURE_NO_MATCH (pr#53762, Casey Bodley)

  • rgw/multisite[archive zone]: fix storing of bucket instance info in the new bucket entrypoint (pr#53466, Shilpa Jagannath)

  • rgw/notification: pass in bytes_transferred to populate object_size in sync notification (pr#53377, Juan Zhu)

  • rgw/notification: remove non x-amz-meta-* attributes from bucket notifications (pr#53375, Juan Zhu)

  • rgw/notifications: allow cross tenant notification management (pr#53510, Yuval Lifshitz)

  • rgw/s3: ListObjectsV2 returns correct object owners (pr#54161, Casey Bodley)

  • rgw/s3select: fix per QE defect (pr#54163, galsalomon66)

  • rgw/s3select: s3select fixes related to Trino/TPCDS benchmark and QE tests (pr#53034, galsalomon66)

  • rgw/sal: get_placement_target_names() returns void (pr#53584, Casey Bodley)

  • rgw/sync-policy: Correct “sync status” & “sync group” commands (pr#53395, Soumya Koduri)

  • rgw/upgrade: point upgrade suites to ragweed ceph-reef branch (pr#53797, Shilpa Jagannath)

  • RGW: add admin interfaces to get and delete notifications by bucket (pr#53509, Ali Masarwa)

  • rgw: add radosgw-admin bucket check olh/unlinked commands (pr#53823, Cory Snyder)

  • rgw: add versioning info to radosgw-admin bucket stats output (pr#54191, Cory Snyder)

  • RGW: bucket notification - hide auto generated topics when listing topics (pr#53507, Ali Masarwa)

  • rgw: don’t dereference nullopt in DeleteMultiObj (pr#54124, Casey Bodley)

  • rgw: fetch_remote_obj() preserves original part lengths for BlockDecrypt (pr#52816, Casey Bodley)

  • rgw: fetch_remote_obj() uses uncompressed size for encrypted objects (pr#54371, Casey Bodley)

  • rgw: fix 2 null versionID after convert_plain_entry_to_versioned (pr#53398, rui ma, zhuo li)

  • rgw: fix multipart upload object leaks due to re-upload (pr#52615, J. Eric Ivancich)

  • rgw: fix rgw rate limiting RGWRateLimitInfo class decode_json max_rea… (pr#53765, xiangrui meng)

  • rgw: fix SignatureDoesNotMatch when extra headers start with ‘x-amz’ (pr#53770, rui ma)

  • rgw: fix unwatch crash at radosgw startup (pr#53760, lichaochao)

  • rgw: handle http options CORS with v4 auth (pr#53413, Tobias Urdin)

  • rgw: improve buffer list utilization in the chunkupload scenario (pr#53773, liubingrun)

  • rgw: pick http_date in case of http_x_amz_date absence (pr#53440, Seena Fallah, Mohamed Awnallah)

  • rgw: retry metadata cache notifications with INVALIDATE_OBJ (pr#52798, Casey Bodley)

  • rgw: s3 object lock avoids overflow in retention date (pr#52604, Casey Bodley)

  • rgw: s3website doesn’t prefetch for web_dir() check (pr#53767, Casey Bodley)

  • RGW: Solving the issue of not populating etag in Multipart upload result (pr#51447, Ali Masarwa)

  • RGW:notifications: persistent topics are not deleted via radosgw-admin (pr#53514, Ali Masarwa)

  • src/mon/Monitor: Fix set_elector_disallowed_leaders (pr#54003, Kamoltat)

  • test/crimson/seastore/rbm: add sub-tests regarding RBM to the existing tests (pr#53967, Myoungwon Oh)

  • test/TestOSDMap: don’t use the deprecated std::random_shuffle method (pr#52737, Leonid Usov)

  • valgrind: UninitCondition under __run_exit_handlers suppression (pr#53681, Mark Kogan)

  • xfstests_dev: install extra packages from powertools repo for xfsprogs (pr#52843, Xiubo Li)

v18.2.0 Reef

This is the first stable release of Ceph Reef.

Important

We are unable to build Ceph on Debian stable (bookworm) for the 18.2.0 release because of Debian bug https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1030129. We will build as soon as this bug is resolved in Debian stable.

last updated 2023 Aug 04

Release Date

August 7, 2023

Major Changes from Quincy

Highlights

See the relevant sections below for more details on these changes.

  • RADOS FileStore is not supported in Reef.

  • RADOS: RocksDB has been upgraded to version 7.9.2.

  • RADOS: There have been significant improvements to RocksDB iteration overhead and performance.

  • RADOS: The perf dump and perf schema commands have been deprecated in favor of the new counter dump and counter schema commands.

  • RADOS: Cache tiering is now deprecated.

  • RADOS: A new feature, the “read balancer”, is now available, which allows users to balance primary PGs per pool on their clusters.

  • RGW: Bucket resharding is now supported for multi-site configurations.

  • RGW: There have been significant improvements to the stability and consistency of multi-site replication.

  • RGW: Compression is now supported for objects uploaded with Server-Side Encryption.

  • Dashboard: There is a new Dashboard page with improved layout. Active alerts and some important charts are now displayed inside cards.

  • RBD: Support for layered client-side encryption has been added.

  • Telemetry: Users can now opt in to participate in a leaderboard in the telemetry public dashboards.

CephFS

  • CephFS: The mds_max_retries_on_remount_failure option has been renamed to client_max_retries_on_remount_failure and moved from mds.yaml.in to mds-client.yaml.in. This change was made because the option has always been used only by the MDS client.

  • CephFS: It is now possible to delete the recovered files in the lost+found directory after a CephFS post has been recovered in accordance with disaster recovery procedures.

  • The AT_NO_ATTR_SYNC macro has been deprecated in favor of the standard AT_STATX_DONT_SYNC macro. The AT_NO_ATTR_SYNC macro will be removed in the future.

Dashboard

  • There is a new Dashboard page with improved layout. Active alerts and some important charts are now displayed inside cards.

  • Cephx Auth Management: There is a new section dedicated to listing and managing Ceph cluster users.

  • RGW Server Side Encryption: The SSE-S3 and KMS encryption of rgw buckets can now be configured at the time of bucket creation.

  • RBD Snapshot mirroring: Snapshot mirroring can now be configured through UI. Snapshots can now be scheduled.

  • 1-Click OSD Creation Wizard: OSD creation has been broken into 3 options:

    1. Cost/Capacity Optimized: Use all HDDs

    2. Throughput Optimized: Combine HDDs and SSDs

    3. IOPS Optimized: Use all NVMes

    The current OSD-creation form has been moved to the Advanced section.

  • Centralized Logging: There is now a view that collects all the logs from the Ceph cluster.

  • Accessibility WCAG-AA: Dashboard is WCAG 2.1 level A compliant and therefore improved for blind and visually impaired Ceph users.

  • Monitoring & Alerting

    • Ceph-exporter: Now the performance metrics for Ceph daemons are exported by ceph-exporter, which deploys on each daemon rather than using prometheus exporter. This will reduce performance bottlenecks.

    • Monitoring stacks updated:

      • Prometheus 2.43.0

      • Node-exporter 1.5.0

      • Grafana 9.4.7

      • Alertmanager 0.25.0

MGR

  • mgr/snap_schedule: The snap-schedule manager module now retains one snapshot less than the number mentioned against the config option mds_max_snaps_per_dir. This means that a new snapshot can be created and retained during the next schedule run.

  • The ceph mgr dump command now outputs last_failure_osd_epoch and active_clients fields at the top level. Previously, these fields were output under the always_on_modules field.

RADOS

  • FileStore is not supported in Reef.

  • RocksDB has been upgraded to version 7.9.2, which incorporates several performance improvements and features. This is the first release that can tune RocksDB settings per column family, which allows for more granular tunings to be applied to different kinds of data stored in RocksDB. New default settings have been used to optimize performance for most workloads, with a slight penalty in some use cases. This slight penalty is outweighed by large improvements in compactions and write amplification in use cases such as RGW (up to a measured 13.59% improvement in 4K random write IOPs).

  • Trimming of PGLog dups is now controlled by the size rather than the version. This change fixes the PGLog inflation issue that was happening when the online (in OSD) trimming got jammed after a PG split operation. Also, a new offline mechanism has been added: ceph-objectstore-tool has a new operation called trim-pg-log-dups that targets situations in which an OSD is unable to boot because of the inflated dups. In such situations, the “You can be hit by THE DUPS BUG” warning is visible in OSD logs. Relevant tracker: https://tracker.ceph.com/issues/53729

  • The RADOS Python bindings are now able to process (opt-in) omap keys as bytes objects. This allows interacting with RADOS omap keys that are not decodable as UTF-8 strings.

  • mClock Scheduler: The mClock scheduler (the default scheduler in Quincy) has undergone significant usability and design improvements to address the slow backfill issue. The following is a list of some important changes:

    • The balanced profile is set as the default mClock profile because it represents a compromise between prioritizing client I/O and prioritizing recovery I/O. Users can then choose either the high_client_ops profile to prioritize client I/O or the high_recovery_ops profile to prioritize recovery I/O.

    • QoS parameters including reservation and limit are now specified in terms of a fraction (range: 0.0 to 1.0) of the OSD’s IOPS capacity.

    • The cost parameters (osd_mclock_cost_per_io_usec_* and osd_mclock_cost_per_byte_usec_*) have been removed. The cost of an operation is now a function of the random IOPS and maximum sequential bandwidth capability of the OSD’s underlying device.

    • Degraded object recovery is given higher priority than misplaced object recovery because degraded objects present a data safety issue that is not present with objects that are merely misplaced. As a result, backfilling operations with the balanced and high_client_ops mClock profiles might progress more slowly than in the past, when backfilling operations used the ‘WeightedPriorityQueue’ (WPQ) scheduler.

    • The QoS allocations in all the mClock profiles are optimized in accordance with the above fixes and enhancements.

    • For more details, see: https://docs.ceph.com/en/reef/rados/configuration/mclock-config-ref/

  • A new feature, the “read balancer”, is now available, which allows users to balance primary PGs per pool on their clusters. The read balancer is currently available as an offline option via the osdmaptool. By providing a copy of their osdmap and a pool they want balanced to the osdmaptool, users can generate a preview of optimal primary PG mappings that they can then choose to apply to their cluster. For more details, see https://docs.ceph.com/en/latest/dev/balancer-design/#read-balancing

  • The active_clients array displayed by the ceph mgr dump command now has a name field that shows the name of the manager module that registered a RADOS client. Previously, the active_clients array showed the address of a module’s RADOS client, but not the name of the module.

  • The perf dump and perf schema commands have been deprecated in favor of the new counter dump and counter schema commands. These new commands add support for labeled perf counters and also emit existing unlabeled perf counters. Some unlabeled perf counters became labeled in this release, and more will be labeled in future releases; such converted perf counters are no longer emitted by the perf dump and perf schema commands.

  • Cache tiering is now deprecated.

  • The SPDK backend for BlueStore can now connect to an NVMeoF target. This is not an officially supported feature.

RBD

  • The semantics of compare-and-write C++ API (Image::compare_and_write and Image::aio_compare_and_write methods) now match those of C API. Both compare and write steps operate only on len bytes even if the buffers associated with them are larger. The previous behavior of comparing up to the size of the compare buffer was prone to subtle breakage upon straddling a stripe unit boundary.

  • The compare-and-write operation is no longer limited to 512-byte sectors. Assuming proper alignment, it now allows operating on stripe units (4MB by default).

  • There is a new rbd_aio_compare_and_writev API method that supports scatter/gather on compare buffers as well as on write buffers. This complements the existing rbd_aio_readv and rbd_aio_writev methods.

  • The rbd device unmap command now has a --namespace option. Support for namespaces was added to RBD in Nautilus 14.2.0, and since then it has been possible to map and unmap images in namespaces using the image-spec syntax. However, the corresponding option available in most other commands was missing.

  • All rbd-mirror daemon perf counters have become labeled and are now emitted only by the new counter dump and counter schema commands. As part of the conversion, many were also renamed in order to better disambiguate journal-based and snapshot-based mirroring.

  • The list-watchers C++ API (Image::list_watchers) now clears the passed std::list before appending to it. This aligns with the semantics of the C API (rbd_watchers_list).

  • Trailing newline in passphrase files (for example: the <passphrase-file> argument of the rbd encryption format command and the --encryption-passphrase-file option of other commands) is no longer stripped.

  • Support for layered client-side encryption has been added. It is now possible to encrypt cloned images with a distinct encryption format and passphrase, differing from that of the parent image and from that of every other cloned image. The efficient copy-on-write semantics intrinsic to unformatted (regular) cloned images have been retained.

RGW

  • Bucket resharding is now supported for multi-site configurations. This feature is enabled by default for new deployments. Existing deployments must enable the resharding feature manually after all zones have upgraded. See https://docs.ceph.com/en/reef/radosgw/multisite/#zone-features for details.

  • The RGW policy parser now rejects unknown principals by default. If you are mirroring policies between RGW and AWS, you might want to set rgw_policy_reject_invalid_principals to false. This change affects only newly set policies, not policies that are already in place.

  • RGW’s default backend for rgw_enable_ops_log has changed from RADOS to file. The default value of rgw_ops_log_rados is now false, and rgw_ops_log_file_path now defaults to /var/log/ceph/ops-log-$cluster-$name.log.

  • RGW’s pubsub interface now returns boolean fields using bool. Before this change, /topics/<topic-name> returned stored_secret and persistent using a string of "true" or "false" that contains enclosing quotation marks. After this change, these fields are returned without enclosing quotation marks so that the fields can be decoded as boolean values in JSON. The same is true of the is_truncated field returned by /subscriptions/<sub-name>.

  • RGW’s response of Action=GetTopicAttributes&TopicArn=<topic-arn> REST API now returns HasStoredSecret and Persistent as boolean in the JSON string that is encoded in Attributes/EndPoint.

  • All boolean fields that were previously rendered as strings by the rgw-admin command when the JSON format was used are now rendered as boolean. If your scripts and tools rely on this behavior, update them accordingly. The following is a list of the field names impacted by this change:

    • absolute

    • add

    • admin

    • appendable

    • bucket_key_enabled

    • delete_marker

    • exists

    • has_bucket_info

    • high_precision_time

    • index

    • is_master

    • is_prefix

    • is_truncated

    • linked

    • log_meta

    • log_op

    • pending_removal

    • read_only

    • retain_head_object

    • rule_exist

    • start_with_full_sync

    • sync_from_all

    • syncstopped

    • system

    • truncated

    • user_stats_sync

  • The Beast front end’s HTTP access log line now uses a new debug_rgw_access configurable. It has the same defaults as debug_rgw, but it can be controlled independently.

  • The pubsub functionality for storing bucket notifications inside Ceph has been removed. As a result, the pubsub zone should not be used anymore. The following have also been removed: the REST operations, radosgw-admin commands for manipulating subscriptions, fetching the notifications, and acking the notifications.

    If the endpoint to which the notifications are sent is down or disconnected, we recommend that you use persistent notifications to guarantee their delivery. If the system that consumes the notifications has to pull them (instead of the notifications being pushed to the system), use an external message bus (for example, RabbitMQ or Kafka) for that purpose.

  • The serialized format of notification and topics has changed. This means that new and updated topics will be unreadable by old RGWs. We recommend completing the RGW upgrades before creating or modifying any notification topics.

  • Compression is now supported for objects uploaded with Server-Side Encryption. When both compression and encryption are enabled, compression is applied before encryption. Earlier releases of multisite do not replicate such objects correctly, so all zones must upgrade to Reef before enabling the compress-encrypted zonegroup feature: see https://docs.ceph.com/en/reef/radosgw/multisite/#zone-features and note the security considerations.

Telemetry

  • Users who have opted in to telemetry can also opt in to participate in a leaderboard in the telemetry public dashboards (https://telemetry-public.ceph.com/). In addition, users are now able to provide a description of their cluster that will appear publicly in the leaderboard. For more details, see: https://docs.ceph.com/en/reef/mgr/telemetry/#leaderboard. To see a sample report, run ceph telemetry preview. To opt in to telemetry, run ceph telemetry on. To opt in to the leaderboard, run ceph config set mgr mgr/telemetry/leaderboard true. To add a leaderboard description, run ceph config set mgr mgr/telemetry/leaderboard_description ‘Cluster description’ (entering your own cluster description).

Upgrading from Pacific or Quincy

Before starting, make sure your cluster is stable and healthy (no down or recovering OSDs). (This is optional, but recommended.) You can disable the autoscaler for all pools during the upgrade using the noautoscale flag.

Note

You can monitor the progress of your upgrade at each stage with the ceph versions command, which will tell you what ceph version(s) are running for each type of daemon.

Upgrading cephadm clusters

If your cluster is deployed with cephadm (first introduced in Octopus), then the upgrade process is entirely automated. To initiate the upgrade,

ceph orch upgrade start --image quay.io/ceph/ceph:v18.2.0

The same process is used to upgrade to future minor releases.

Upgrade progress can be monitored with

ceph orch upgrade status

Upgrade progress can also be monitored with ceph -s (which provides a simple progress bar) or more verbosely with

ceph -W cephadm

The upgrade can be paused or resumed with

ceph orch upgrade pause  # to pause
ceph orch upgrade resume # to resume

or canceled with

ceph orch upgrade stop

Note that canceling the upgrade simply stops the process; there is no ability to downgrade back to Pacific or Quincy.

Upgrading non-cephadm clusters

Note

  1. If your cluster is running Pacific (16.2.x) or later, you might choose to first convert it to use cephadm so that the upgrade to Reef is automated (see above). For more information, see https://docs.ceph.com/en/reef/cephadm/adoption/.

  2. If your cluster is running Pacific (16.2.x) or later, systemd unit file names have changed to include the cluster fsid. To find the correct systemd unit file name for your cluster, run following command:

    systemctl -l | grep <daemon type>
    

    Example:

    systemctl -l | grep mon | grep active
    
    ceph-6ce0347c-314a-11ee-9b52-000af7995d6c@mon.f28-h21-000-r630.service                                           loaded active running   Ceph mon.f28-h21-000-r630 for 6ce0347c-314a-11ee-9b52-000af7995d6c
    
  1. Set the noout flag for the duration of the upgrade. (Optional, but recommended.)

    ceph osd set noout
    
  2. Upgrade monitors by installing the new packages and restarting the monitor daemons. For example, on each monitor host

    systemctl restart ceph-mon.target
    

    Once all monitors are up, verify that the monitor upgrade is complete by looking for the reef string in the mon map. The command

    ceph mon dump | grep min_mon_release
    

    should report:

    min_mon_release 18 (reef)
    

    If it does not, that implies that one or more monitors hasn’t been upgraded and restarted and/or the quorum does not include all monitors.

  3. Upgrade ceph-mgr daemons by installing the new packages and restarting all manager daemons. For example, on each manager host,

    systemctl restart ceph-mgr.target
    

    Verify the ceph-mgr daemons are running by checking ceph -s:

    ceph -s
    
    ...
      services:
       mon: 3 daemons, quorum foo,bar,baz
       mgr: foo(active), standbys: bar, baz
    ...
    
  4. Upgrade all OSDs by installing the new packages and restarting the ceph-osd daemons on all OSD hosts

    systemctl restart ceph-osd.target
    
  5. Upgrade all CephFS MDS daemons. For each CephFS file system,

    1. Disable standby_replay:

      ceph fs set <fs_name> allow_standby_replay false
      
    2. If upgrading from Pacific <=16.2.5:

      ceph config set mon mon_mds_skip_sanity true
      
    3. Reduce the number of ranks to 1. (Make note of the original number of MDS daemons first if you plan to restore it later.)

      ceph status # ceph fs set <fs_name> max_mds 1
      
    4. Wait for the cluster to deactivate any non-zero ranks by periodically checking the status

      ceph status
      
    5. Take all standby MDS daemons offline on the appropriate hosts with

      systemctl stop ceph-mds@<daemon_name>
      
    6. Confirm that only one MDS is online and is rank 0 for your FS

      ceph status
      
    7. Upgrade the last remaining MDS daemon by installing the new packages and restarting the daemon

      systemctl restart ceph-mds.target
      
    8. Restart all standby MDS daemons that were taken offline

      systemctl start ceph-mds.target
      
    9. Restore the original value of max_mds for the volume

      ceph fs set <fs_name> max_mds <original_max_mds>
      
    10. If upgrading from Pacific <=16.2.5 (followup to step 5.2):

      ceph config set mon mon_mds_skip_sanity false
      
  6. Upgrade all radosgw daemons by upgrading packages and restarting daemons on all hosts

    systemctl restart ceph-radosgw.target
    
  7. Complete the upgrade by disallowing pre-Reef OSDs and enabling all new Reef-only functionality

    ceph osd require-osd-release reef
    
  8. If you set noout at the beginning, be sure to clear it with

    ceph osd unset noout
    
  9. Consider transitioning your cluster to use the cephadm deployment and orchestration framework to simplify cluster management and future upgrades. For more information on converting an existing cluster to cephadm, see https://docs.ceph.com/en/reef/cephadm/adoption/.

Post-upgrade

  1. Verify the cluster is healthy with ceph health. If your cluster is running Filestore, and you are upgrading directly from Pacific to Reef, a deprecation warning is expected. This warning can be temporarily muted using the following command

    ceph health mute OSD_FILESTORE
    
  2. 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 telemetry preview-all
    

    If you are comfortable with the data that is reported, you can opt-in to automatically report the high-level cluster metadata with

    ceph telemetry on
    

    The public dashboard that aggregates Ceph telemetry can be found at https://telemetry-public.ceph.com/.

Upgrading from pre-Pacific releases (like Octopus)

You must first upgrade to Pacific (16.2.z) or Quincy (17.2.z) before upgrading to Reef.

Brought to you by the Ceph Foundation

The Ceph Documentation is a community resource funded and hosted by the non-profit Ceph Foundation. If you would like to support this and our other efforts, please consider joining now.