v20.2.1 Tentacle released
This is the first minor release in the Tentacle series. We recommend that all users update to this release.
Release Date ¶
April 06, 2026
Notable Changes ¶
OSD / BlueStore ¶
- EC Recovery: Fixed a length calculation bug in erase_after_ro_offset() that caused empty shards to retain data, leading to shard_size >= tobj_size assertion failures when recovering small objects in EC pools.
- BlueFS Volume Selector: Updated the BlueFS volume selector to properly account for file size changes when recovering the WAL in envelope mode.
- BlueFS: Fixed a bug where stat() missed the actual file size update after indexing WAL envelope files.
Monitor (mon) ¶
- Fast EC Restrictions: Denied the ability to enable EC optimizations ("fast EC") for non-4K-aligned chunk sizes. Unaligned chunk sizes handled by fast EC perform poorly and suffer from bugs, so attempts to force this configuration are now rejected.
- Peering: Ensured ceph pg repeer proposes a correctly sized pg temp, as optimized EC cannot cope with mismatched sizes.
- NVMeoF Gateway: Added a new nvme-gw listeners command to display all existing listeners (including auto-listeners) inside a pool/group.
- NVMeoF Failover: Overhauled the NVMeoF Gateway fast-failover logic. Beacon timeouts are now evaluated within prepare_beacon to support shorter intervals, and the mechanism for detecting monitor slowness was improved.
librbd & rbd-mirror ¶
- RBD: Introduced a new
RBD_LOCK_MODE_EXCLUSIVE_TRANSIENTpolicy forrbd_lock_acquire(). This is a low-level interface intended to allow a peer to grab exclusive lock manually for short periods of time with other peers pausing their activity and waiting for the lock to be released rather than instantly aborting I/O and returning an error. It's possible to switch fromRBD_LOCK_MODE_EXCLUSIVEtoRBD_LOCK_MODE_EXCLUSIVE_TRANSIENTpolicy and vice versa even if the lock is already held.
Ceph Object Gateway (RGW) ¶
- Multi-Part Operations: Fixed conditional validation handling in MultiWrite, Delete, and MultiDelete workflows.
mgr/dashboard ¶
- UI Navigation: Redesigned the main landing page; the "Dashboard" navigation item was renamed to "Overview" and uses a new carbonized productive card layout.
- NVMeoF Management: Added the nvmeof get_subsystems CLI command, fixed JSON output indentation for NVMeoF CLI commands, and reverted the server_addr API parameter back to traddr for consistency.
- Hosts View: Fixed a bug causing the IP addresses of hosts to be hidden on the Hosts page due to an issue with fact merging.
- Forms & Modals: Standardized forms onto the Carbon Design System, including the pools form, service form, multi-site realm token export modal, delete zone modal, and password change forms.
- Form Validation: Generalized form error handling and validations using a new cdValidate directive.
mgr/cephadm ¶
- Monitoring Stack: Bumped the default container image versions for the monitoring stack: Prometheus to v3.6.0, Node-exporter to v1.9.1, Alertmanager to v0.28.1, and Grafana to v12.2.0.
Security Changes ¶
- Monitoring Stack Images: Updated Prometheus, Alertmanager, and Grafana container image versions, picking up upstream security and stability fixes.
Configuration Changes ¶
bluefs_check_volume_selector_on_mount: The previous bluefs_check_volume_selector_on_umount debug setting was renamed and repurposed. It now checks for volume selector inconsistencies on both mount and unmount phases.mon_nvmeofgw_beacon_grace: The default grace period before marking a gateway as failed has been reduced from 10 seconds to 7 seconds for faster failover.nvmeof_mon_client_tick_period: The default beacon tick interval has been lowered from 2 seconds to 1 second.
Changelog ¶
[rgw][tentacle] backport of cloud-restore related PRs (pr#65830, Soumya Koduri)
Add normalization and casesensitive options to the subvolume group creation command (pr#65564, Venky Shankar, Xavi Hernandez)
auth: msgr2 can return incorrect allowed_modes through AuthBadMethodFrame (pr#65336, Miki Patel)
backports variants improvements and Dockerfile.build changes (pr#66010, John Mulligan, Zack Cerza)
Beacon diff (pr#66958, Leonid Chernin, Samuel Just)
blk/kernel: bring "bdev_async_discard" config parameter back (pr#65609, Igor Fedotov)
blk/kernel: improve DiscardThread life cycle (pr#65213, Igor Fedotov)
bluestore/BlueFS: fix bytes_written_slow counter with aio_write (pr#66355, chungfengz)
build-with-container: add argument groups to organize options (pr#65628, John Mulligan)
build-with-container: build image variants (pr#65946, John Mulligan)
ceph-mixin: Update monitoring mixin (pr#65692, Aashish Sharma, SuperQ, Ankush Behl)
ceph-volume: fix UdevData initialisation from empty /run/udev/data/* file (pr#65923, Matteo Paramatti)
ceph-volume: lvm.Lvm.setup_metadata_devices refactor (pr#65925, Guillaume Abrioux)
ceph-volume: support additional dmcrypt params (pr#65544, Guillaume Abrioux)
ceph-volume: use udev data instead of LVM subprocess in get_devices() (pr#65921, Guillaume Abrioux)
ceph_release, doc/dev: update tentacle as stable release (pr#65988, Laura Flores)
cephadm, debian/rules: Use system packages for cephadm bundled dependencies (pr#66256, Kefu Chai)
cephadm: fix building rpm-sourced cephadm zippapp on el10 (pr#65292, John Mulligan)
cephadm: set default image for tentacle release (pr#65719, Adam King)
cephadm: support custom distros by falling back to ID_LIKE (pr#65696, bachmanity1)
cephfs-journal-tool: Journal trimming issue (pr#65601, Kotresh HR)
client: fix async/sync I/O stalling due to buffer list exceeding INT_MAX (pr#65256, Dhairya Parmar)
client: fix dump_mds_requests to valid json format (issue#73639, pr#66156, haoyixing)
client: fix unmount hang after lookups (pr#65254, Dhairya Parmar)
client: use path supplied in statfs (pr#65132, Christopher Hoffman)
common/frag: properly convert frag_t to net/store endianness (pr#66540, Patrick Donnelly, Max Kellermann)
common: Allow PerfCounters to return a provided service ID (pr#65587, Adam C. Emerson)
debian/control: add iproute2 to build dependencies (pr#66737, Kefu Chai)
debian/control: Add libxsimd-dev build dependency for vendored Arrow (pr#66248, Kefu Chai)
debian/control: record python3-packaging dependency for ceph-volume (pr#66590, Thomas Lamprecht, Max R. Carrara)
doc/cephfs: fix docs for pause_purging and pause_cloning (pr#66452, Rishabh Dave)
doc/mgr/smb: document the 'provider' option for smb share (pr#65617, Sachin Prabhu)
doc/radosgw: change all intra-docs links to use ref (1 of 6) (pr#67043, Ville Ojamo)
doc/radosgw: change all intra-docs links to use ref (2 of 6) (pr#67084, Ville Ojamo)
doc/radosgw: Cosmetic improvements and ref links in account.rst (pr#67064, Ville Ojamo)
doc/rbd/rbd-config-ref: add clone settings section (pr#66175, Ilya Dryomov)
doc: add Tentacle to os recommendations (pr#66464, Casey Bodley, Joseph Mundackal)
doc: fetch releases from main branch (pr#67002, Patrick Donnelly)
doc: Pin pip to <25.3 for RTD as a workaround for pybind in admin/doc-read-the-docs.txt (pr#66106, Ville Ojamo)
doc: Remove sphinxcontrib-seqdiag Python package from RTD builds (pr#67296, Ville Ojamo)
doc: Update dashboard pending release notes (pr#65984, Afreen Misbah)
encode: Fix bad use of DENC_DUMP_PRE (pr#66565, Adam Kupczyk)
Fast failover (pr#67150, leonidc, Leonid Chernin)
Fix multifs auth caps check (pr#65358, Kotresh HR)
Form retains old data when switching from edit to create (pr#65654, pujashahu)
Generalize error handling for angular forms (pr#66904, Afreen Misbah)
github: pin GH Actions to SHA-1 commit (pr#65761, Ernesto Puerta)
install-deps.sh: install proper compiler version on Debian/Ubuntu (pr#66015, Dan Mick)
install-deps: Replace apt-mirror (pr#66672, David Galloway)
libcephfs: New feature - add ceph_setlk and ceph_getlk functions (pr#65258, Giorgos Kappes)
librbd: fix ExclusiveLock::accept_request() when !is_state_locked() (pr#66628, Ilya Dryomov)
librbd: introduce RBD_LOCK_MODE_EXCLUSIVE_TRANSIENT (pr#67279, Ilya Dryomov)
mds/FSMap: fix join_fscid being incorrectly reset for active MDS during filesystem removal (pr#65777, ethanwu)
mds/MDSDaemon: unlock
mds\_lockwhile shutting down Beacon and others (pr#64885, Max Kellermann)mds: dump export_ephemeral_random_pin as double (pr#65163, Enrico Bocchi)
mds: fix rank 0 marked damaged if stopping fails after Elid flush (pr#65778, ethanwu)
mds: Fix readdir when osd is full (pr#65346, Kotresh HR)
mds: fix snapdiff result fragmentation (pr#65362, Igor Fedotov, Md Mahamudur Rahaman Sajib)
mds: include auth credential in session dump (pr#65255, Patrick Donnelly)
mds: Return ceph.dir.subvolume vxattr (pr#65779, Edwin Rodriguez)
mds: skip charmap handler check for MDS requests (pr#64953, Patrick Donnelly)
mds: wrong snap check for directory with parent snaps (pr#65259, Patrick Donnelly)
mgr/alerts: enforce ssl context to SMTP_SSL (pr#66140, Nizamudeen A)
mgr/cephadm: Add some new fields to the cephadm NVMEoF spec file (pr#66987, Gil Bregman)
mgr/cephadm: bump monitoring stack versions (pr#65895, Nizamudeen A)
mgr/cephadm: Change the default of max hosts per namespace in NVMEoF to 16 (pr#66819, Gil Bregman)
mgr/cephadm: don't mark nvmeof daemons without pool and group in name as stray (pr#65594, Adam King)
mgr/cephadm: update grafana conf for disconnected environment (pr#66209, Nizamudeen A)
mgr/cephadm: Use a persistent volume to store Loki DB (pr#66023, Aashish Sharma)
mgr/DaemonServer: fixed mistype for mgr_osd_messages (pr#63345, Konstantin Shalygin)
mgr/DaemonState: Minimise time we hold the DaemonStateIndex lock (pr#65464, Brad Hubbard)
mgr/dasboard : Carbonize pools form (pr#66789, Abhishek Desai, Ankit Kumar)
mgr/dashboard : Fixed labels issue (pr#66603, Abhishek Desai)
mgr/dashboard : Carbonize -> Report an issue modal (pr#66048, Abhishek Desai)
mgr/dashboard : fix - about model tooltip issue (pr#66276, Devika Babrekar)
mgr/dashboard : fix - CephFS Authorize Modal Update issue (pr#66419, Devika Babrekar)
mgr/dashboard : fix css for carbon input fields (pr#65490, Abhishek Desai)
mgr/dashboard : Fix secure-monitoring-stack creds issue (pr#65943, Abhishek Desai)
mgr/dashboard : Fixed mirrored image usage info bar (pr#65491, Abhishek Desai)
mgr/dashboard : Fixed usage bar for secondary site in rbd mirroing (pr#65927, Abhishek Desai)
mgr/dashboard : Fixed warning icon colour issue with carbon colour (pr#66271, Abhishek Desai)
mgr/dashboard : Hide suppressed alert on landing page (pr#65737, Abhishek Desai)
mgr/dashboard : Remove subalerts details for multiple subalerts (pr#66295, Abhishek Desai)
mgr/dashboard : Skip calls until secure_monitoring_stack is enabled (pr#65673, Abhishek Desai)
mgr/dashboard: --no-group-append default value to False, aligned with old cli" (pr#65678, Tomer Haskalovitch)
mgr/dashboard: Add Archive zone configuration to the Dashboard (pr#67131, Aashish Sharma)
mgr/dashboard: add customizations to table-actions (pr#65956, Naman Munet)
mgr/dashboard: Add full page tearsheet component (pr#66892, Afreen Misbah)
mgr/dashboard: Add generic wizard component (pr#66893, Afreen Misbah)
mgr/dashboard: add get_subsystem nvme command (pr#66941, Tomer Haskalovitch)
mgr/dashboard: add indentation to the json output of nvmeof cli commands (pr#66940, Tomer Haskalovitch)
mgr/dashboard: add multiple ceph users deletion (pr#65658, Pedro Gonzalez Gomez)
mgr/dashboard: add nsid param to ns add command (pr#65677, Tomer Haskalovitch)
mgr/dashboard: add nsid param to ns list command (pr#65749, Tomer Haskalovitch)
mgr/dashboard: Add overview page and change 'Dashboard' to 'Overview' (pr#67118, Afreen Misbah)
mgr/dashboard: Add productive card component (pr#67147, Afreen Misbah)
mgr/dashboard: add text-label-list component (pr#66312, Pedro Gonzalez Gomez)
mgr/dashboard: Adding QAT Compression dropdown on RGW Service form (pr#66642, Devika Babrekar)
mgr/dashboard: allow deletion of non-default zone and zonegroup (pr#66211, Aashish Sharma)
mgr/dashboard: Allow FQDN in Connect Cluster form -> Cluster API URL (pr#65622, Aashish Sharma)
mgr/dashboard: Blank entry for Storage Capacity in dashboard under Cluster > Expand Cluster > Review (pr#65705, Naman Munet)
mgr/dashboard: bump validator package to address vulnerability (pr#66227, Naman Munet)
mgr/dashboard: Carbonize - Multisite Zone (pr#67117, Dnyaneshwari Talwekar)
mgr/dashboard: Carbonize Administration module > Create Realm/Zone group/zone (pr#66986, Dnyaneshwari Talwekar)
mgr/dashboard: Carbonize multisite sync policy forms (pr#66302, Naman Munet)
mgr/dashboard: carbonize service form (pr#66978, Pedro Gonzalez Gomez)
mgr/dashboard: Carbonize the Change Password Form (pr#66401, Afreen Misbah)
mgr/dashboard: carbonize-delete-zone-modal (pr#67100, Sagar Gopale)
mgr/dashboard: carbonize-delete-zonegroup-modal (pr#67014, Sagar Gopale)
mgr/dashboard: carbonized-multisite-export-realm-token-modal (pr#66649, Sagar Gopale)
mgr/dashboard: change the default max namespace from 4096 to None in subsystem add command (pr#65951, Tomer Haskalovitch)
mgr/dashboard: Edit user via UI throwing multiple server errors (pr#66081, Naman Munet)
mgr/dashboard: empty-data-message (pr#66902, Sagar Gopale)
mgr/dashboard: fetch all namespaces in a gateway group (pr#67140, Afreen Misbah)
mgr/dashboard: fix command alias help message (pr#65750, Tomer Haskalovitch)
mgr/dashboard: fix dashboard freeze on missing smb permissions (pr#65873, Pedro Gonzalez Gomez)
mgr/dashboard: fix data mismatch in Advance section in Tiering (pr#65672, Dnyaneshwari Talwekar)
mgr/dashboard: Fix display of IP address in host page (pr#67146, Afreen Misbah)
mgr/dashboard: fix icon alignment in navigation header (pr#66091, Naman Munet)
mgr/dashboard: fix misaligned text links on login page (pr#66052, prik73, Afreen Misbah)
mgr/dashboard: fix missing schedule interval in rbd API (pr#65560, Nizamudeen A)
mgr/dashboard: fix multi-cluster route reload logic (pr#66504, Aashish Sharma)
mgr/dashboard: fix multisite wizard realm configuration mode (pr#66017, Aashish Sharma)
mgr/dashboard: fix None force param handling in ns add_host so it won't raise exceptions (pr#65679, Tomer Haskalovitch)
mgr/dashboard: fix ns add and resize commands help (pr#66939, Tomer Haskalovitch)
mgr/dashboard: fix oauth2-service creation UI error (pr#66139, Nizamudeen A)
mgr/dashboard: fix prometheus API error when not configured (pr#65856, Nizamudeen A)
mgr/dashboard: fix rbd form mirroring toggle (pr#65874, Nizamudeen A)
mgr/dashboard: fix RBD mirror schedule inheritance in pool and image APIs (pr#67107, Imran Imtiaz)
mgr/dashboard: fix smb button and table column (pr#65657, Pedro Gonzalez Gomez)
mgr/dashboard: Fix table width expansion on manager module dropdown selection #74089 (pr#66647, Sagar Gopale)
mgr/dashboard: fix the separation between CLI and API only commands (pr#65781, Tomer Haskalovitch)
mgr/dashboard: Fix timestamps in APIs (pr#66029, Afreen Misbah)
mgr/dashboard: fix total capacity value in dashboard (pr#65647, Nizamudeen A)
mgr/dashboard: fix typo in error when gw does not exist (pr#66956, Tomer Haskalovitch)
mgr/dashboard: fix zone update API forcing STANDARD storage class (pr#65619, Aashish Sharma)
mgr/dashboard: fixes for quick-bootstrap script (pr#67040, Nizamudeen A)
mgr/dashboard: FS - Attach Command showing undefined for MountData (pr#65675, Dnyaneshwari Talwekar)
mgr/dashboard: Group similar alerts (pr#65493, Abhishek Desai)
mgr/dashboard: Handle pool creation in tiering local storage class creation (pr#65680, Dnyaneshwari, Naman Munet)
mgr/dashboard: Maintain sentence case consistency in side nav bar titles (pr#66050, Aashish Sharma)
mgr/dashboard: ns list now support not passing nqn param (pr#65897, Tomer Haskalovitch)
mgr/dashboard: raise exception if both size and rbd_image_size are being passed in ns add (pr#65816, Tomer Haskalovitch)
mgr/dashboard: rbd consistency group and snapshot APIs (pr#66935, Imran Imtiaz)
mgr/dashboard: Remove illegible texts from the dashboard (pr#66306, Afreen Misbah)
mgr/dashboard: remove not needed 'cli_version' field from gw info com… (pr#66942, Tomer Haskalovitch)
mgr/dashboard: Remove the time dropdown from grafana iframe (pr#65853, Abhishek Desai)
mgr/dashboard: removes nx folder (pr#67003, Afreen Misbah)
mgr/dashboard: rename 'Zone Group' labels to 'Zonegroup' (pr#66790, Sagar Gopale)
mgr/dashboard: Rename Alerts tab to All Alerts (pr#66532, Sagar Gopale)
mgr/dashboard: Rename side-nav panel items (pr#65846, Naman Munet)
mgr/dashboard: replace bootstrap badges with carbon tags (pr#66350, pujaoshahu)
mgr/dashboard: replace usage or progress bar with carbon meter chart (pr#66934, Naman Munet)
mgr/dashboard: rgw accounts form group mode disable option is not working (pr#66351, Naman Munet)
mgr/dashboard: server side table rendering improvements (pr#65828, Nizamudeen A)
mgr/dashboard: service creation fails if service name is same as sevice type (pr#66481, Naman Munet)
mgr/dashboard: Set max subsystem count to 512 rather than 4096 (pr#66284, Afreen Misbah)
mgr/dashboard: support gw get_stats and listener info (pr#65896, Tomer Haskalovitch)
mgr/dashboard: Tiering form - Placement Target in Advanced Section (pr#65653, Dnyaneshwari Talwekar)
mgr/dashboard: update teuth_ref hash in api test (pr#66706, Nizamudeen A)
mgr/dashboard:[NFS] add Subvolume Groups and Subvolumes in "Edit NFS Export form" (pr#65650, Dnyaneshwari Talwekar)
mgr/prometheus: Handle empty/invalid JSON from orch get-security-config (pr#65906, Sunnatillo)
mgr/telemetry: add 'ec_optimizations' flag to 'basic_pool_flags' collection (pr#65969, Laura Flores)
mgr/vol: handling the failed non-atomic operation (pr#65728, Neeraj Pratap Singh)
mgr/vol: keep and show clone source info (pr#64650, Rishabh Dave)
mgr/volumes: Keep mon caps if auth key has remaining mds/osd caps (pr#65262, Enrico Bocchi)
mgr/volumes: remove unnecessary log error lines from earmark handling (pr#66991, Avan Thakkar)
mgr: avoid explicit dropping of ref (pr#65005, Milind Changire)
mgr:python: avoid pyo3 errors by running certain cryptographic functions in a child process (pr#66794, Nizamudeen A, John Mulligan, Paulo E. Castro)
mon/FSCommands: avoid unreachable code triggering compiler warning (pr#65261, Patrick Donnelly)
mon/MgrMonitor: add a space before "is already disabled" (pr#64687, Zehua Qi)
mon/OSDMonitor.cc: optionally display availability status in json (pr#65794, Shraddha Agrawal)
mon: Add command "nvme-gw listeners" (pr#66584, Vallari Agrawal)
mon: ceph pg repeer should propose a correctly sized pg temp (pr#66324, Alex Ainscow)
mon: Deny EC optimizations (fast EC) for non-4k-aligned chunk-sizes (pr#67319, Alex Ainscow)
monc: synchronize tick() of MonClient with shutdown() (pr#66916, Radoslaw Zarzynski)
monitoring: fix "In" OSDs in Cluster-Advanced grafana panel. Also change units from decbytes to bytes wherever used in the panel (pr#65670, Aashish Sharma)
monitoring: fix "Total gateway" and "Ceph Health NVMeoF WARNING" grafana graphs (pr#66225, Vallari Agrawal)
monitoring: fix CephPgImbalance alert rule expression (pr#66828, Aashish Sharma)
monitoring: Fix Filesystem grafana dashboard units (pr#66018, Ankush Behl)
monitoring: fix MTU Mismatch alert rule and expr (pr#65708, Aashish Sharma)
monitoring: fix rgw_servers filtering in rgw sync overview grafana (pr#66989, Aashish Sharma)
monitoring: Fixes for smb overview (pr#66019, Ankush Behl)
monitoring: make cluster matcher backward compatible for pre-reef metrics (pr#66984, Aashish Sharma)
monitoring: update NVMeoFTooManyNamespaces to 4096 ns (pr#67039, Vallari Agrawal)
monitoring: upgrade grafana version to 12.3.1 (pr#66963, Aashish Sharma)
nvmeof: refactor beacon timer for exact frequency timing with drift correction (pr#66536, Alexander Indenbaum)
Objecter: respect higher epoch subscription in tick (pr#66972, Nitzan Mordechai)
os/bluestore: cumulative patch to fix extent map resharding and around (pr#65964, Igor Fedotov, Adam Kupczyk, Jaya Prakash)
os/bluestore: fix vselector update after enveloped WAL recovery (pr#67333, Igor Fedotov, Adam Kupczyk)
os/bluestore: introduce device type specific allocation policy (pr#66839, Igor Fedotov)
osd/ECUtil: Fix erase_after_ro_offset length calculation and add tests (pr#66825, Alex Ainscow)
osd/PeeringState: re-evaluate full OSDs while waiting for recovery re… (pr#65701, Nitzan Mordechai)
osd/scrub: do not reduce min chunk on preemption (pr#66214, Ronen Friedman)
osd/scrub: fix blocked scrub accounting (pr#66220, Ronen Friedman)
osd/scrub: new/modified perf counters for scrub preemption (pr#66234, Ronen Friedman)
osd: Do not remove objects with divergent logs if only partial writes (pr#66725, Alex Ainscow)
osd: Fix fast EC truncate to whole stripe (pr#66543, Alex Ainscow)
osd: Fix for num_bytes mismatch occurring from snapshot workloads with partial writes in fast_ec (pr#67137, Jon Bailey)
osd: Fix memory leak of ECDummyOp (pr#66977, Alex Ainscow)
osd: Fix stats mismatch cluster error seen during scrubbing occasionally (pr#65793, Jon Bailey)
osd: Relax missing entry assert for partial writes (pr#65860, Alex Ainscow)
osd: stop scrub_purged_snaps() from ignoring osd_beacon_report_interval (pr#65478, Radoslaw Zarzynski)
pickup object corpus 20.2.0 380 gdbcbbd3f281 (pr#66592, Nitzan Mordechai)
prometheus: Add Cephadm orch ps output metric to prometheus (pr#66760, Ankush Behl)
pybind/mgr/dashboard: dashboard/requirements-lint.txt: re-pin rsscheck (pr#66877, Ronen Friedman)
pybind/mgr/pg_autoscaler: Introduce dynamic threshold to improve scal… (pr#66871, Prashant D)
pybind/mgr: pin cheroot version in requirements-required.txt (pr#65635, Adam King)
pybind/rados: Add list_lockers() and break_lock() to Rados Python interface (pr#65098, Gil Bregman)
qa/multisite: switch to boto3 (pr#67318, Shilpa Jagannath, Adam C. Emerson)
qa/rgw: bucket notifications use pynose (pr#67449, Casey Bodley, Adam C. Emerson)
qa/standalone/availability.sh: retry after feature is turned on (pr#67226, Shraddha Agrawal)
qa/suites/nvmeof: add upgrade sub-suite (pr#65583, Vallari Agrawal)
qa/suites/rados/thrash-old-clients: Add OSD warnings to ignore list (pr#65369, Naveen Naidu)
qa/suites/rbd/valgrind: don't hardcode os_type in memcheck.yaml (pr#66196, Ilya Dryomov)
qa/suites/upgrade: add "Replacing daemon mds" to ignorelist (issue#71615, issue#50279, pr#64888, Venky Shankar)
qa/suites: wait longer before stopping OSDs with valgrind (pr#63716, Nitzan Mordechai)
qa/tasks/ceph_manager: population must be a sequence (pr#64746, Kyr Shatskyy)
qa/tasks/qemu: rocky 10 enablement (pr#67283, Ilya Dryomov)
qa/tasks/rbd_mirror_thrash: don't use random.randrange() on floats (pr#67163, Ilya Dryomov)
qa/tasks/workunit: fix no module named 'pipes' (pr#66250, Kyr Shatskyy)
qa/tests: added inital draft for tentacle-p2p (pr#67765, Patrick Donnelly, Yuri Weinstein)
qa/tests: added messages to the whitelist (pr#65645, Laura Flores, Yuri Weinstein)
qa/tests: wait for module to be available for connection (pr#67196, Nizamudeen A)
qa/valgrind.supp: make gcm_cipher_internal suppression more resilient (pr#67281, Ilya Dryomov)
qa/workunits/nvmeof/basic_tests: use nvme-cli 2.13 (pr#67285, Vallari Agrawal)
qa/workunits/rados: remove cache tier test (pr#65540, Nitzan Mordechai)
qa/workunits/rbd: adapt rbd_mirror.sh for trial nodes (pr#67152, Ilya Dryomov)
qa/workunits/rbd: reduce randomized sleeps in live import tests (pr#67154, Ilya Dryomov)
qa/workunits/rbd: use the same qemu-iotests version throughout (pr#67282, Ilya Dryomov)
qa/workunits/rgw: drop netstat usage (pr#67184, Kyr Shatskyy)
qa/workunits: add Rocky Linux support to librados tests (pr#67091, Nitzan Mordechai)
qa: Disable OSD benchmark from running for tests (pr#67068, Sridhar Seshasayee)
qa: don't assume that /dev/sda or /dev/vda is present in unmap.t (pr#67077, Ilya Dryomov)
qa: Fix test_with_health_warn_with_2_active_MDSs (pr#65260, Kotresh HR)
qa: ignore cluster warning (evicting unresponsive ...) with tasks/mgr-osd-full (issue#73278, pr#66125, Venky Shankar)
qa: Improve scalability test (pr#66224, Vallari Agrawal)
qa: krbd_blkroset.t: eliminate a race in the open_count test (pr#67075, Ilya Dryomov)
qa: Run RADOS suites with ec optimizations on and off (pr#65471, Jamie Pryde)
qa: suppress OpenSSL valgrind leaks (pr#65660, Laura Flores)
rbd-mirror: add cluster fsid to remote meta cache key (pr#66297, Mykola Golub)
rbd-mirror: allow incomplete demote snapshot to sync after rbd-mirror daemon restart (pr#66164, VinayBhaskar-V)
Relax scrub of shard sizes for upgraded EC pools (pr#66021, Alex Ainscow)
Revert "Merge pull request #66958 from Hezko/wip-74413-tentacle" (pr#67750, Patrick Donnelly)
Revert "PrimeryLogPG: don't accept ops with mixed balance_reads and rwordered flags" (pr#66611, Radoslaw Zarzynski)
RGW | fix conditional Delete, MultiDelete and Put (pr#65949, Ali Masarwa)
RGW | fix conditional MultiWrite (pr#67425, Ali Masarwa)
rgw/account: bucket acls are not completely migrated once the user is migrated to an account (pr#65666, kchheda3)
rgw/admin: Add max-entries and marker to bucket list (pr#65485, Tobias Urdin)
rgw/lc: LCOpAction_CurrentExpiration checks mtime for delete markers (pr#65965, Casey Bodley)
rgw/tentacle: clean up .rgw_op.cc.swn file (pr#66161, Soumya Koduri)
rgw: add metric when send message with kafka and ampq (pr#65904, Hoai-Thu Vuong)
rgw: fix 'bucket rm --bypass-gc' for copied objects (pr#66004, Casey Bodley)
rgw: fix
radosgw-admin object unlink <span></span>.<span></span>.<span></span>.(pr#66151, J. Eric Ivancich)RGW: multi object delete op; skip olh update for all deletes but the last one (pr#65488, Oguzhan Ozmen)
rgw: update keystone repo stable branch to 2024.2 (pr#66241, Kyr Shatskyy)
rpm: default to gcc-toolset-13, not just for crimson (pr#65752, John Mulligan, Casey Bodley)
scripts/build/ceph.spec.in: fix rhel version checks (pr#66865, Ronen Friedman)
src/ceph_osd, osd: Implement running benchmark during OSD creation - Phase 1 (pr#65522, Sridhar Seshasayee)
src: Move the decision to build the ISA plugin to the top level make file (pr#67894, Alex Ainscow)
sync build-with-container patches from main (pr#65843, John Mulligan, Dan Mick)
systemd services: fix installing ceph-volume@ (pr#66861, Thomas Lamprecht)
tasks/cbt_performance: Tolerate exceptions during performance data up… (pr#66102, Nitzan Mordechai)
test/ceph_assert.cc: Disable core files (pr#66334, Bob Ham)
test/neorados: Catch timeouts in Poll test (pr#65605, Adam C. Emerson)
test: disable known flaky tests in run-rbd-unit-tests (pr#67559, Ilya Dryomov)
tools: handle get-attr as read-only ops in ceph_objectstore_tool (pr#66537, Jaya Prakash)