]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/log
ceph.git
2 days agocrimson/osd: fix CyanStore boot with crimson OSD 69331/head
Matan Breizman [Mon, 8 Jun 2026 12:45:20 +0000 (15:45 +0300)]
crimson/osd: fix CyanStore boot with crimson OSD

- Remove dead cyan_store.h includes from pg.cc and shard_services.cc.
- Fix CyanStore::mkfs to write type="cyanstore" instead of "memstore"
- Handle missing device class in OSD::start: stores that return an empty
  device class (e.g CyanStore) now fall back to is_rotational=false with
  a warning instead of throwing

Signed-off-by: Matan Breizman <mbreizma@redhat.com>
2 days agoMerge pull request #69865 from sunyuechi/wip-osd-asok-route-einval
Kefu Chai [Tue, 7 Jul 2026 08:27:25 +0000 (16:27 +0800)]
Merge pull request #69865 from sunyuechi/wip-osd-asok-route-einval

osd: report -EINVAL to on_finish in asok_route_to_pg catch

Reviewed-by: Ronen Friedman <rfriedma@redhat.com>
Reviewed-by: Kefu Chai <k.chai@proxmox.com>
2 days agoMerge pull request #69117 from linuxbox2/wip-tracker-76924
anrao19 [Tue, 7 Jul 2026 05:39:05 +0000 (11:09 +0530)]
Merge pull request #69117 from linuxbox2/wip-tracker-76924

rgwlc:  faithfully store lifecycle filters

2 days agoMerge pull request #69086 from harsimran-05/AddingHeadObjectMetricstoProm
anrao19 [Tue, 7 Jul 2026 05:38:48 +0000 (11:08 +0530)]
Merge pull request #69086 from harsimran-05/AddingHeadObjectMetricstoProm

rgw: add HEAD Object op metrics to perf counters and Prometheus export

2 days agoMerge pull request #68635 from chrisphoffman/wip-74110
Venky Shankar [Tue, 7 Jul 2026 03:11:40 +0000 (08:41 +0530)]
Merge pull request #68635 from chrisphoffman/wip-74110

qa: Use mount class in test_fscrypt to read/write and to compare trees

Reviewed-by: Venky Shankar <vshankar@redhat.com>
3 days agoMerge pull request #69578 from sseshasa/wip-osd-perf-counter-pg-rebuild-stats
Sridhar Seshasayee [Mon, 6 Jul 2026 13:03:52 +0000 (18:33 +0530)]
Merge pull request #69578 from sseshasa/wip-osd-perf-counter-pg-rebuild-stats

osd/PeeringState: add perf counters for PG rebuild times

Reviewed-by: Ronen Friedman <rfriedma@redhat.com>
3 days agoMerge pull request #69217 from rhcs-dashboard/wip-fix-user-creation-validation
Afreen Misbah [Mon, 6 Jul 2026 12:29:32 +0000 (17:59 +0530)]
Merge pull request #69217 from rhcs-dashboard/wip-fix-user-creation-validation

mgr/dashboard: fix-user-creation-validation

Reviewed-by: Afreen Misbah <afreen@ibm.com>
Reviewed-by: Pedro Gonzalez Gomez <pegonzal@redhat.com>
3 days agoMerge pull request #66037 from ShwetaBhosale1/fix_issue_73442_nfs_getting_restarted_t...
Redouane Kachach [Mon, 6 Jul 2026 10:31:08 +0000 (12:31 +0200)]
Merge pull request #66037 from ShwetaBhosale1/fix_issue_73442_nfs_getting_restarted_twice_in_case_of_reboot

mgr/cephadm: Stop NFS service/daemon from starting automatically after reboot, cephadm to manage startup

Reviewed-by: Adam King <adking@redhat.com>
3 days agoMerge pull request #67025 from ShwetaBhosale1/fix_issue_74492_set_nfs_default_protoco...
Redouane Kachach [Mon, 6 Jul 2026 10:30:37 +0000 (12:30 +0200)]
Merge pull request #67025 from ShwetaBhosale1/fix_issue_74492_set_nfs_default_protocol_as_4

mgr/cephadm: Updated NFS default protocol to v4 and v3 is enabled only when enable_nfsv3 is set in the spec

Reviewed-by: Redouane Kachach <rkachach@ibm.com>
Reviewed-by: Adam King <adking@redhat.com>
3 days agoMerge pull request #68890 from ShwetaBhosale1/fix_76579_nfs_precheck_for_placement_co...
Redouane Kachach [Mon, 6 Jul 2026 10:29:35 +0000 (12:29 +0200)]
Merge pull request #68890 from ShwetaBhosale1/fix_76579_nfs_precheck_for_placement_count_per_host

python-common: Adding precheck for placement count_per_host in NFSServiceSpec

Reviewed-by: Adam King <adking@redhat.com>
3 days agoMerge pull request #69551 from VallariAg/fix-nvmeofclient-daemon_name
Redouane Kachach [Mon, 6 Jul 2026 10:28:27 +0000 (12:28 +0200)]
Merge pull request #69551 from VallariAg/fix-nvmeofclient-daemon_name

mgr/dashboard: Fix daemon_name for NVMeoFClient

Reviewed-by: Redouane Kachach <rkachach@ibm.com>
Reviewed-by: Kushal Deb <Kushal.Deb@ibm.com>
3 days agoMerge pull request #69541 from ShwetaBhosale1/fix_issue_77463_fix_nfs_export_remove
Redouane Kachach [Mon, 6 Jul 2026 10:27:28 +0000 (12:27 +0200)]
Merge pull request #69541 from ShwetaBhosale1/fix_issue_77463_fix_nfs_export_remove

mgr/nfs: read full conf object when removing export URL

Reviewed-by: Adam King <adking@redhat.com>
3 days agoMerge pull request #69849 from adk3798/cephadm-delete-config-deps
Redouane Kachach [Mon, 6 Jul 2026 10:26:49 +0000 (12:26 +0200)]
Merge pull request #69849 from adk3798/cephadm-delete-config-deps

mgr/cephadm: clear daemon_config_deps entry for removed daemons

Reviewed-by: Shweta Bhosale <Shweta.Bhosale1@ibm.com>
3 days agoMerge pull request #69899 from ShwetaBhosale1/fix_issue_77891_delete_config_keys_set_...
Redouane Kachach [Mon, 6 Jul 2026 10:26:12 +0000 (12:26 +0200)]
Merge pull request #69899 from ShwetaBhosale1/fix_issue_77891_delete_config_keys_set_by_service_spec_config_field

mgr/cephadm: remove spec.config options when a service is removed

Reviewed-by: Adam King <adking@redhat.com>
3 days agoMerge pull request #69282 from rhcs-dashboard/fix-77115-main
Aashish Sharma [Mon, 6 Jul 2026 06:21:57 +0000 (11:51 +0530)]
Merge pull request #69282 from rhcs-dashboard/fix-77115-main

mgr/dashboard: rbd-mirroring - hide create/import token buttons for read-only users

Reviewed-by: Afreen Misbah <afreen@ibm.com>
4 days agoMerge pull request #69637 from xxhdx1985126/fix-balancer-upmap-underfull-scan
Kefu Chai [Sun, 5 Jul 2026 13:31:38 +0000 (21:31 +0800)]
Merge pull request #69637 from xxhdx1985126/fix-balancer-upmap-underfull-scan

osd: speed up upmap underfull fallback

Reviewed-by: Kefu Chai <k.chai@proxmox.com>
Reviewed-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
4 days agoMerge pull request #69905 from ronen-fr/wip-rf-328786-emptyflush
Ronen Friedman [Sun, 5 Jul 2026 12:28:41 +0000 (15:28 +0300)]
Merge pull request #69905 from ronen-fr/wip-rf-328786-emptyflush

crimson/osd: skip store flush for empty peering transactions

Reviewed-by: Kefu Chai <k.chai@proxmox.com>
Reviewed-by: Jose J Palacios-Perez <perezjos@uk.ibm.com>
4 days agoMerge pull request #69638 from AliMasarweh/wip-nbalacha-posix-versioned
Ali Masarwa [Sun, 5 Jul 2026 11:54:26 +0000 (14:54 +0300)]
Merge pull request #69638 from AliMasarweh/wip-nbalacha-posix-versioned

rgw/posix: fix delete markers

reviewed-by: Daniel Gryniewicz <dang@redhat.com>

4 days agoMerge pull request #69349 from NitzanMordhai/wip-nitzan-mgr-dispatch-throttle-increase
NitzanMordhai [Sun, 5 Jul 2026 10:14:25 +0000 (13:14 +0300)]
Merge pull request #69349 from NitzanMordhai/wip-nitzan-mgr-dispatch-throttle-increase

mgr: fix dispatch throttle bottleneck causing OSD connection timeouts

4 days agoMerge pull request #69353 from batrick/librados-nspace-dout
Kefu Chai [Sun, 5 Jul 2026 09:43:35 +0000 (17:43 +0800)]
Merge pull request #69353 from batrick/librados-nspace-dout

librados: print nspace only if present

Reviewed-by: Kefu Chai <k.chai@proxmox.com>
4 days agoMerge pull request #69819 from sunyuechi/wip-blk-spdk-env-opts-init
Kefu Chai [Sun, 5 Jul 2026 09:42:58 +0000 (17:42 +0800)]
Merge pull request #69819 from sunyuechi/wip-blk-spdk-env-opts-init

blk/spdk: call spdk_env_opts_init() before setting pci options

Reviewed-by: Kefu Chai <k.chai@proxmox.com>
Reviewed-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
4 days agoMerge pull request #69053 from tchaikov/wip-seastore-overwrite-update-checksum
Kefu Chai [Sun, 5 Jul 2026 00:41:27 +0000 (08:41 +0800)]
Merge pull request #69053 from tchaikov/wip-seastore-overwrite-update-checksum

crimson/seastore: skip LBA-leaf crc check for in-place delta-overwrite

Reviewed-by: Myoungwon Oh <ohmyoungwon@gmail.com>
4 days agoMerge pull request #69793 from anthonyeleven/caps
Anthony D'Atri [Sat, 4 Jul 2026 19:29:58 +0000 (15:29 -0400)]
Merge pull request #69793 from anthonyeleven/caps

doc: Improve src/common/options/mds-client.yaml.in

5 days agoMerge pull request #67779 from anthonyeleven/egregrioustypo
Anthony D'Atri [Sat, 4 Jul 2026 14:15:30 +0000 (10:15 -0400)]
Merge pull request #67779 from anthonyeleven/egregrioustypo

doc/rados/operations: Fix typos in erasure-code.rst

5 days agodoc/rados/operations: Fix typos in erasure-code.rst 67779/head
adatri [Fri, 13 Mar 2026 14:30:11 +0000 (10:30 -0400)]
doc/rados/operations: Fix typos in erasure-code.rst

Signed-off-by: adatri <anthony.datri@gmail.com>
5 days agoMerge pull request #69838 from ronen-fr/wip-rf-322936
Ronen Friedman [Sat, 4 Jul 2026 10:57:56 +0000 (13:57 +0300)]
Merge pull request #69838 from ronen-fr/wip-rf-322936

crimson/os/alienstore: make CnLog::_flush non-blocking

Reviewed-by: Kefu Chai <k.chai@proxmox.com>
Reviewed-by: Jose J Palacios-Perez <perezjos@uk.ibm.com>
5 days agoMerge pull request #69815 from rhcs-dashboard/subsystem-resourcepage
Afreen Misbah [Sat, 4 Jul 2026 09:42:43 +0000 (15:12 +0530)]
Merge pull request #69815 from rhcs-dashboard/subsystem-resourcepage

mgr/dashboard: NVMe-oF – Subsystem Resource page enhancements

Reviewed-by: Sagar Gopale <sagar.gopale@ibm.com>
5 days agoMerge pull request #69937 from tchaikov/wip-promql-test-deterministic
Afreen Misbah [Sat, 4 Jul 2026 09:41:37 +0000 (15:11 +0530)]
Merge pull request #69937 from tchaikov/wip-promql-test-deterministic

monitoring/ceph-mixin: scope test queries per dashboard

Reviewed-by: Afreen Misbah <afreen@ibm.com>
5 days agoMerge pull request #69656 from tchaikov/wip-crimson-common-dump-metric-value-map
Kefu Chai [Sat, 4 Jul 2026 02:03:47 +0000 (10:03 +0800)]
Merge pull request #69656 from tchaikov/wip-crimson-common-dump-metric-value-map

crimson/common: use the value_map passed to dump_metric_value_map()

Reviewed-by: Matan Breizman <mbreizma@redhat.com>
Reviewed-by: Josh Durgin <jdurgin@redhat.com>
5 days agoMerge pull request #69697 from tchaikov/wip-crimson-throttle-releaser
Kefu Chai [Sat, 4 Jul 2026 02:03:15 +0000 (10:03 +0800)]
Merge pull request #69697 from tchaikov/wip-crimson-throttle-releaser

crimson/osd: mark ThrottleReleaser [[nodiscard]]

Reviewed-by: Matan Breizman <mbreizma@redhat.com>
5 days agomonitoring/ceph-mixin: scope test queries per dashboard 69937/head
Kefu Chai [Sat, 4 Jul 2026 00:54:17 +0000 (08:54 +0800)]
monitoring/ceph-mixin: scope test queries per dashboard

get_dashboards_data() keeps every query in a single map keyed by
"<panel title>-<legendFormat>", but that id is not unique: several
dashboards have a panel titled "IOPS", "OSDs" or "Throughput". The
dashboard read last overwrites the earlier entry, so one query shadows
another and never gets tested. glob() walks the files in filesystem
order, so which query survives, and whether the test passes, depends on
readdir.

run-tox-promql-query-test hit this in "Test IOPS Read"
(ceph-cluster.feature): the scenario feeds ceph_osd_op_r but the id
resolved to a CephFS pool panel.

    FAILED:
      expr: "sum(rate(ceph_pool_rd{cluster=~"mycluster|",  pool_id=~"UNSET VARIABLE"}[1m]))", time: 1m,
          exp:"{} 2.5E+01"
          got:"nil"
    HOOK-ERROR in after_scenario: AssertionError:

pool_id is "UNSET VARIABLE" because the scenario does not set $mdatapool,
and no ceph_pool_rd series were fed, so the query returns nil. It only
fails when readdir returns cephfsdashboard after ceph-cluster-advanced,
so the earlier change that walked nested rows and made the winner
deterministic did not fix it; it fixed which query wins, not that the
wrong one can win.

Key the queries per dashboard (data['queries'][<dashboard>][<id>]) and
have each .feature name its dashboard in a Background step. The lookup is
confined to that dashboard, so a title/legend used elsewhere no longer
shadows it. A duplicate within one dashboard is still an error, unless it
is in a collapsed row.

ceph-cluster.feature covers ceph-cluster-advanced; the rest map to one
dashboard each.

Signed-off-by: Kefu Chai <k.chai@proxmox.com>
5 days agomgr/dashboard: NVMe-oF – Subsystem Resource page enhancements 69815/head
pujashahu [Fri, 3 Jul 2026 21:53:05 +0000 (03:23 +0530)]
mgr/dashboard: NVMe-oF – Subsystem Resource page enhancements

fixes:https://tracker.ceph.com/issues/77789

Signed-off-by: pujaoshahu <pshahu@redhat.com>
# Conflicts:
# src/pybind/mgr/dashboard/frontend/src/app/ceph/block/nvmeof-group-form/nvmeof-group-form.component.html
# src/pybind/mgr/dashboard/frontend/src/app/ceph/block/nvmeof-subsystem-overview/nvmeof-subsystem-overview.component.html
# src/pybind/mgr/dashboard/frontend/src/app/ceph/block/nvmeof-subsystem-overview/nvmeof-subsystem-overview.component.spec.ts
# src/pybind/mgr/dashboard/frontend/src/app/ceph/block/nvmeof-subsystem-overview/nvmeof-subsystem-overview.component.ts

5 days agoMerge pull request #69850 from rhcs-dashboard/edit-auth-subsystem
Afreen Misbah [Fri, 3 Jul 2026 20:18:27 +0000 (01:48 +0530)]
Merge pull request #69850 from rhcs-dashboard/edit-auth-subsystem

mgr/dashboard: NVMe-oF – Add edit authentication support for subsystem

Reviewed-by: Sagar Gopale <sagar.gopale@ibm.com>
5 days agodoc: Improve src/common/options/mds-client.yaml.in 69793/head
Anthony D'Atri [Sun, 28 Jun 2026 19:20:36 +0000 (15:20 -0400)]
doc: Improve src/common/options/mds-client.yaml.in

Signed-off-by: Anthony D'Atri <anthonyeleven@users.noreply.github.com>
6 days agomgr/dashboard: NVMe-oF – Add edit authentication support for subsystem 69850/head
pujashahu [Tue, 30 Jun 2026 20:51:53 +0000 (02:21 +0530)]
mgr/dashboard: NVMe-oF – Add edit authentication support for subsystem

Fixes: https://tracker.ceph.com/issues/77840
Signed-off-by: pujaoshahu <pshahu@redhat.com>
6 days agomgr/dashboard: NVMe-oF – Subsystem Resource page enhancements
pujashahu [Mon, 29 Jun 2026 19:42:04 +0000 (01:12 +0530)]
mgr/dashboard: NVMe-oF – Subsystem Resource page enhancements

fixes:https://tracker.ceph.com/issues/77789

Signed-off-by: pujaoshahu <pshahu@redhat.com>
6 days agoMerge pull request #69441 from rhcs-dashboard/edit-gateway
Afreen Misbah [Fri, 3 Jul 2026 14:44:51 +0000 (20:14 +0530)]
Merge pull request #69441 from rhcs-dashboard/edit-gateway

mgr/dashboard: Implement support for editing existing nvme-oF gateway groups through UI

Reviewed-by: Sagar Gopale <sagar.gopale@ibm.com>
6 days agoMerge pull request #69883 from imran-imtiaz/wip-dashboard-clone-snap-id
Imran Imtiaz [Fri, 3 Jul 2026 11:46:45 +0000 (12:46 +0100)]
Merge pull request #69883 from imran-imtiaz/wip-dashboard-clone-snap-id

mgr/dashboard: support snapshot_id in clone API for group snapshots

6 days agoMerge pull request #69243 from rhcs-dashboard/bug-3990-pr2
Afreen Misbah [Fri, 3 Jul 2026 11:27:42 +0000 (16:57 +0530)]
Merge pull request #69243 from rhcs-dashboard/bug-3990-pr2

mgr/dashboard : Add gateway filtering support for subsystem and namespace lists

Reviewed-by: Afreen Misbah <afreen@ibm.com>
Reviewed-by: Sagar Gopale <sagar.gopale@ibm.com>
6 days agoMerge pull request #69912 from Sodani/shsodani_rgw_caps_final
John Mulligan [Fri, 3 Jul 2026 11:09:49 +0000 (07:09 -0400)]
Merge pull request #69912 from Sodani/shsodani_rgw_caps_final

mgr/smb: Allow pool creation for empty RGW buckets

Reviewed-by: Avan Thakkar <athakkar@redhat.com>
Reviewed-by: Anoop C S <anoopcs@cryptolab.net>
Reviewed-by: John Mulligan <jmulligan@redhat.com>
6 days agomgr/dashboard: Implement support for editing existing nvme-oF gateway groups through UI 69441/head
pujashahu [Thu, 25 Jun 2026 19:12:45 +0000 (00:42 +0530)]
mgr/dashboard: Implement support for editing existing nvme-oF gateway groups through UI

Fixes: https://tracker.ceph.com/issues/77386
Signed-off-by: pujaoshahu <pshahu@redhat.com>
6 days agomgr/dashboard: Implement backword support for Create existing nvme-oF gateway groups...
pujashahu [Wed, 24 Jun 2026 08:08:54 +0000 (13:38 +0530)]
mgr/dashboard: Implement backword support for Create existing nvme-oF gateway groups through UI

Fixes : https://tracker.ceph.com/issues/77632

Signed-off-by: pujaoshahu <pshahu@redhat.com>
(cherry picked from commit 26b7e9e4849f8f0f1d044cb23cc94a5ce910061d)

6 days agomgr/dashboard: Implement NVMe-oF Gateway Group Resource Overview Page
pujashahu [Fri, 12 Jun 2026 22:05:13 +0000 (03:35 +0530)]
mgr/dashboard: Implement NVMe-oF Gateway Group Resource Overview Page

Fixes: https://tracker.ceph.com/issues/77383
Signed-off-by: pujaoshahu <pshahu@redhat.com>
(cherry picked from commit 254ab5383505962460d06b483dd931bf91c1f0b8)

6 days agomgr/dashboard : Enable cephadm-signed TLS for NVMeOf
Abhishek Desai [Mon, 15 Jun 2026 11:12:15 +0000 (16:42 +0530)]
mgr/dashboard : Enable cephadm-signed TLS for NVMeOf
fixes: https://tracker.ceph.com/issues/77406
Signed-off-by: Abhishek Desai <abhishek.desai1@ibm.com>
(cherry picked from commit 9623f6847cecf7f2e79f461420fce4821fd1b159)

6 days agomgr/dashboard : Add gateway filtering support for subsystem and namespace lists 69243/head
pujashahu [Tue, 2 Jun 2026 13:11:27 +0000 (18:41 +0530)]
mgr/dashboard : Add gateway filtering support for subsystem and namespace lists

Fixes: https://tracker.ceph.com/issues/77068
Signed-off-by: pujaoshahu <pshahu@redhat.com>
(cherry picked from commit e838bb19897ed4a8f6a548eca08e4fdd726e62f5)

 Conflicts:
src/pybind/mgr/dashboard/frontend/src/app/ceph/block/nvmeof-namespaces-list/nvmeof-namespaces-list.component.spec.ts
src/pybind/mgr/dashboard/frontend/src/app/ceph/block/nvmeof-subsystems/nvmeof-subsystems.component.spec.ts

6 days agoMerge pull request #69856 from tchaikov/wip-seastar-sanitizer
Kefu Chai [Fri, 3 Jul 2026 07:30:31 +0000 (15:30 +0800)]
Merge pull request #69856 from tchaikov/wip-seastar-sanitizer

crimson: keep seastar's sanitizers in lockstep with WITH_ASAN

Reviewed-by: Matan Breizman <mbreizma@redhat.com>
6 days agoMerge pull request #69439 from rhcs-dashboard/fix-4877
Afreen Misbah [Fri, 3 Jul 2026 07:19:40 +0000 (12:49 +0530)]
Merge pull request #69439 from rhcs-dashboard/fix-4877

mgr/dashboard: Implement NVMe-oF Gateway Group Resource Overview Page

Reviewed-by: Sagar Gopale <sagar.gopale@ibm.com>
6 days agoMerge pull request #69753 from rhcs-dashboard/atollon-fixes
Afreen Misbah [Fri, 3 Jul 2026 07:18:59 +0000 (12:48 +0530)]
Merge pull request #69753 from rhcs-dashboard/atollon-fixes

mgr/dashboard: Add compression panels and PSU temperature

Reviewed-by: Nizamudeen A <nia@redhat.com>
Reviewed-by: Aashish Sharma <aasharma@redhat.com>
6 days agoMerge pull request #69757 from rhcs-dashboard/atollon-alerts
Afreen Misbah [Fri, 3 Jul 2026 07:18:23 +0000 (12:48 +0530)]
Merge pull request #69757 from rhcs-dashboard/atollon-alerts

mgr/dashboard: Add node proxy hardware alerts

Reviewed-by: Aashish Sharma <aasharma@redhat.com>
6 days agoMerge pull request #69864 from tchaikov/wip-rpm-build-deps
Kefu Chai [Fri, 3 Jul 2026 01:18:33 +0000 (09:18 +0800)]
Merge pull request #69864 from tchaikov/wip-rpm-build-deps

ceph.spec.in: drop rhel 8 support and use pkgconfig() when possible

Reviewed-by: John Mulligan <jmulligan@redhat.com>
6 days agoMerge pull request #69795 from tchaikov/wip-qa-cephfs-escape-warnings
Kefu Chai [Fri, 3 Jul 2026 01:17:51 +0000 (09:17 +0800)]
Merge pull request #69795 from tchaikov/wip-qa-cephfs-escape-warnings

qa/cephfs: fix invalid escape sequence SyntaxWarnings

Reviewed-by: Edwin Rodriguez <edwin.rodriguez1@ibm.com>
6 days agoMerge pull request #69908 from sunyuechi/crc32c-riscv-zbc-no-gp-tp
Kefu Chai [Fri, 3 Jul 2026 01:01:37 +0000 (09:01 +0800)]
Merge pull request #69908 from sunyuechi/crc32c-riscv-zbc-no-gp-tp

common/crc32c: stop using gp/tp as scratch in RISC-V Zbc CRC32C

Reviewed-by: Kefu Chai <k.chai@proxmox.com>
6 days agoMerge pull request #69652 from yzaken/bugfix_ceph_cli_watch_flag
Kefu Chai [Fri, 3 Jul 2026 00:42:33 +0000 (08:42 +0800)]
Merge pull request #69652 from yzaken/bugfix_ceph_cli_watch_flag

ceph.in: reject -w/--watch flags when used with subcommands

Reviewed-by: Kobi Ginon <kginon@redhat.com>
Reviewed-by: Kefu Chai <k.chai@proxmox.com>
6 days agoMerge pull request #69609 from mheler/wip-77538
mheler [Thu, 2 Jul 2026 22:16:59 +0000 (17:16 -0500)]
Merge pull request #69609 from mheler/wip-77538

mgr: filter root logger fallback

6 days agomointoring: Add hardware alerts 69757/head
Afreen Misbah [Thu, 2 Jul 2026 09:21:19 +0000 (14:51 +0530)]
mointoring: Add hardware alerts

Signed-off-by: Afreen Misbah <afreen@ibm.com>
6 days agomonitoring: add Ceph Hardware - Compression dashboard 69753/head
Afreen Misbah [Thu, 2 Jul 2026 00:55:13 +0000 (06:25 +0530)]
monitoring: add Ceph Hardware - Compression dashboard

Add comprehensive Grafana dashboard for monitoring hardware compression
metrics from FCM-enabled drives.

Signed-off-by: Afreen Misbah <afreen@ibm.com>
6 days agomonitoring: add panel descriptions and fix tooltip labels
Afreen Misbah [Wed, 1 Jul 2026 12:25:06 +0000 (17:55 +0530)]
monitoring: add panel descriptions and fix tooltip labels

Signed-off-by: Afreen Misbah <afreen@ibm.com>
6 days agomonitoring: add PSU temperature graph to hardware dashboard
Afreen Misbah [Thu, 25 Jun 2026 22:07:58 +0000 (03:37 +0530)]
monitoring: add PSU temperature graph to hardware dashboard

Signed-off-by: Afreen Misbah <afreen@ibm.com>
7 days agoMerge pull request #69901 from tchaikov/wip-vstart-without-mgr
Ilya Dryomov [Thu, 2 Jul 2026 17:22:45 +0000 (19:22 +0200)]
Merge pull request #69901 from tchaikov/wip-vstart-without-mgr

vstart.sh: create cephfs with fs new instead of fs volume create

Reviewed-by: Dhairya Parmar <dparmar@redhat.com>
Reviewed-by: Ilya Dryomov <idryomov@gmail.com>
7 days agocrimson/os/alienstore: make CnLog::_flush non-blocking 69838/head
Ronen Friedman [Tue, 30 Jun 2026 12:55:33 +0000 (12:55 +0000)]
crimson/os/alienstore: make CnLog::_flush non-blocking

CnLog::_flush() calls alien::submit_to(...).wait(), which blocks the
log flusher thread until the seastar reactor finishes outputting the
log entries. When the reactor writes to stderr and the pipe buffer is
full (e.g. two OSDs on the same host both dumping at debug level 20),
the reactor itself blocks on the write() syscall. Meanwhile BlueStore
threads filling the log buffer past m_max_new block in submit_entry()
waiting for the flusher - which is waiting for the reactor - which is
blocked on I/O. The kv thread cannot fire commit callbacks while it is
blocked on logging, so store transactions (including osdmap persistence)
hang indefinitely.

Fix by moving the entries into the lambda capture so _flush() can
return immediately without waiting.

This is a corrected version of the approach in commit 511af83e274
("crimson/os/alienstore/alien_log: _flush concurrently", PR #55262),
which was reverted in 4d52d1d22b7 because its lambda captured the
EntryVector by reference - the caller would clear/reuse the vector
before the lambda finished, causing a "pure virtual method called"
crash (https://tracker.ceph.com/issues/64140). The fix here avoids
that by swapping the entries out of the caller's vector and moving
them into the lambda's capture, so the lambda owns them for their
full lifetime.

Fixes: https://tracker.ceph.com/issues/77826
Fixes (failure of the 1st attempt): https://tracker.ceph.com/issues/64140
Assisted-by: Claude <claude.ai>
Signed-off-by: Ronen Friedman <rfriedma@redhat.com>
7 days agomgr/cephadm: Add documentation for RGW keyring capability dependencies 69912/head
Shweta Sodani [Thu, 2 Jul 2026 16:22:11 +0000 (21:52 +0530)]
mgr/cephadm: Add documentation for RGW keyring capability dependencies

This serves as a reminder for maintainers to verify whether capability
changes in the RGW service should also be applied to SMB and NFS
services to maintain consistency across services that use librgw.

Signed-off-by: Shweta Sodani <ssodani@redhat.com>
7 days agoMerge pull request #69750 from rhcs-dashboard/atollon-dash
Afreen Misbah [Thu, 2 Jul 2026 15:54:09 +0000 (21:24 +0530)]
Merge pull request #69750 from rhcs-dashboard/atollon-dash

mgr/dashboard:  Add hardware monitoring dashboard using node proxy metrics

Reviewed-by: Nizamudeen A <nia@redhat.com>
Reviewed-by: Aashish Sharma <aasharma@redhat.com>
Reviewed-by: Guillaume Abrioux <gabrioux@ibm.com>
7 days agomgr/dashboard: support clone_by_snap_id flag in clone API for group snapshots 69883/head
Imran Imtiaz [Wed, 1 Jul 2026 15:31:52 +0000 (16:31 +0100)]
mgr/dashboard: support clone_by_snap_id flag in clone API for group snapshots

The clone API endpoint POST /api/block/image/{image_spec}/snap/{snapshot_name}/clone
only accepted a snapshot name, which uses rbd_clone3 (clone by name). This only works
for snapshots in the user namespace.

Group snapshots (with .group prefix, in RBD_SNAP_NAMESPACE_TYPE_GROUP namespace)
require rbd_clone4 (clone by snap ID). The rbd Python binding already supports this:
passing an int for p_snapshot triggers rbd_clone4.

Add an optional clone_by_snap_id boolean flag to the clone endpoint. When set, the
path parameter is treated as a numeric snap ID and passed directly as an int to
rbd.RBD().clone(). Clone format 2 is enforced because this flag is intended for
non-user namespace snapshots which cannot be protected (a prerequisite for clone
format 1).

Usage:
  POST /api/block/image/{image_spec}/snap/{snap_id}/clone
  {"clone_by_snap_id": true, ...}

Fixes: https://tracker.ceph.com/issues/77875
Signed-off-by: Imran Imtiaz <imran.imtiaz@uk.ibm.com>
Assisted-by: IBM Bob
7 days agoMerge pull request #69813 from phlogistonjohn/jjm-smb-rgw-doc-fixes
John Mulligan [Thu, 2 Jul 2026 14:05:00 +0000 (10:05 -0400)]
Merge pull request #69813 from phlogistonjohn/jjm-smb-rgw-doc-fixes

doc: fix some small errors and oversights for new rgw shares

Reviewed-by: Anoop C S <anoopcs@cryptolab.net>
Reviewed-by: Anthony D Atri <anthony.datri@gmail.com>
Reviewed-by: Avan Thakkar <athakkar@redhat.com>
7 days agoMerge pull request #69081 from karthik-us1/mirroring-checkpoints
Kotresh HR [Thu, 2 Jul 2026 13:01:37 +0000 (18:31 +0530)]
Merge pull request #69081 from karthik-us1/mirroring-checkpoints

tool/cephfs_mirror: Adding checkpoints for mirroring

Reviewed-by: Kotresh HR <khiremat@redhat.com>
7 days agoMerge pull request #69434 from benhanokh/dedup_limits
Gabriel Benhanokh [Thu, 2 Jul 2026 12:30:33 +0000 (15:30 +0300)]
Merge pull request #69434 from benhanokh/dedup_limits

rgw/dedup: extend shard scaling to support larger clusters

7 days agoMerge pull request #67968 from leonidc/prepare_import_migr_new_way
Ilya Dryomov [Thu, 2 Jul 2026 12:16:40 +0000 (14:16 +0200)]
Merge pull request #67968 from leonidc/prepare_import_migr_new_way

librbd/migration/NativeFormat: support specifying mon_host and key via spec

Reviewed-by: Ilya Dryomov <idryomov@gmail.com>
7 days agomgr/smb: Allow pool creation for empty RGW buckets
Shweta Sodani [Thu, 2 Jul 2026 11:23:46 +0000 (16:53 +0530)]
mgr/smb: Allow pool creation for empty RGW buckets

When an RGW bucket is empty, SMB clients cannot create directories,
files, or upload data because the default.rgw.buckets.data pool does
not yet exist. The previous CephX capabilities ('mon allow r') did not
permit pool creation during the first write operation.

The fix changes the mon capability from 'allow r' to 'allow *' to
enable pool creation on the first write to an empty RGW bucket. Once
the pool exists, subsequent operations succeed normally.

Fixes: https://tracker.ceph.com/issues/77764
Signed-off-by: Shweta Sodani <ssodani@redhat.com>
7 days agocommon/crc32c: stop using gp/tp as scratch in RISC-V Zbc CRC32C 69908/head
Sun Yuechi [Thu, 2 Jul 2026 09:26:59 +0000 (02:26 -0700)]
common/crc32c: stop using gp/tp as scratch in RISC-V Zbc CRC32C

crc32c_zbc's fold-by-four loop used gp (x3) and tp (x4) as scratch for
two folding temporaries. Save/restore around the loop is not enough:
they are ABI-reserved, so a signal delivered mid-loop runs its handler
with a corrupted tp, and the first TLS access there faults.

On riscv64 this reliably crashes the crimson/seastore unittests
unittest-transaction-manager and unittest-omap-manager, where seastar's
stall-detector timer fires often: the process dies with SIGSEGV in the
linker's TLS path with garbage in gp/tp.

Fixes: https://tracker.ceph.com/issues/77904
Signed-off-by: Sun Yuechi <sunyuechi@iscas.ac.cn>
7 days agovstart.sh: only skip fs volume create when there's no mgr to run it 69901/head
Kefu Chai [Thu, 2 Jul 2026 05:48:38 +0000 (13:48 +0800)]
vstart.sh: only skip fs volume create when there's no mgr to run it

The mgr volumes module handles fs volume ls/create, not the monitor, so
without a mgr (CEPH_NUM_MGR=0) the "wait for volume module to load" loop
spun forever. Open-coding fs new unconditionally, my first attempt,
changed pool creation for every vstart user and dropped the wait, so
cephfs tests calling `fs volume ...` right after vstart.sh returns could
race a module still mid-load.

create_fs_volume() branches on CEPH_NUM_MGR instead. With a mgr it still
calls fs volume ls/create. Without one it runs the plain mon commands fs
volume create wraps: osd pool create cephfs.<name>.{meta,data}, then fs
new <name> <meta> <data>. The wait stays at its one call site above the
per-filesystem loop, so it runs once regardless of CEPH_NUM_FS, not once
per filesystem.

Verified against a local vstart: mgr present, fs volume ls polls once
then creates CEPH_NUM_FS=2 filesystems with no repeated poll;
CEPH_NUM_MGR=0, no poll, fs new creates 'a' directly, HEALTH_OK.

Signed-off-by: Kefu Chai <k.chai@proxmox.com>
7 days agomgr/dashboard: Implement NVMe-oF Gateway Group Resource Overview Page 69439/head
pujashahu [Fri, 12 Jun 2026 22:05:13 +0000 (03:35 +0530)]
mgr/dashboard: Implement NVMe-oF Gateway Group Resource Overview Page

Fixes: https://tracker.ceph.com/issues/77383
Signed-off-by: pujaoshahu <pshahu@redhat.com>
7 days agorgw/posix: fix for posix versioning test 69638/head
Ali Masarwa [Thu, 2 Jul 2026 10:04:20 +0000 (13:04 +0300)]
rgw/posix: fix for posix versioning test
to expect a temporary 0 byte file instead of a dangling link

Signed-off-by: Ali Masarwa <amasarwa@redhat.com>
7 days agocrimson/osd: skip store flush for empty peering transactions 69905/head
Ronen Friedman [Wed, 1 Jul 2026 03:50:24 +0000 (03:50 +0000)]
crimson/osd: skip store flush for empty peering transactions

dispatch_context_transaction submits a real empty transaction to
AlienStore even when the peering context has no store ops. This
goes through the AlienCollection lock and thread pool slot machinery.
Under load from broadcast_map_to_pgs (many PGAdvanceMap operations
running concurrently with recovery), some of these empty transactions
get stuck inside AlienStore's pipeline and never reach BlueStore,
causing PGAdvanceMap to hang at complete_rctx indefinitely.

Fix by skipping the store round-trip for empty transactions. The
on_commit callbacks are still collected and fired, preserving the
fix from b0f5e1086a6 ("crimson/osd/pg: also trigger callbacks for
empty peering transactions"). The store flush that commit added was
incidental to the callback fix and is unnecessary here: the peering
pipeline's exclusive process stage already guarantees that prior
peering transactions on the same PG have completed.

Assisted-by: Claude <claude.ai>
Signed-off-by: Ronen Friedman <rfriedma@redhat.com>
7 days agoqa/test_mirroring: Add tests for mirroring checkpoints 69081/head
Karthik U S [Sat, 16 May 2026 03:15:50 +0000 (08:45 +0530)]
qa/test_mirroring: Add tests for mirroring checkpoints

Adding integration tests for validating the cephfs mirroring
checkpoints feature

Fixes: https://tracker.ceph.com/issues/73454
Signed-off-by: Karthik U S <karthik.u.s1@ibm.com>
7 days agodoc: Add docs and pending release notes for mirroring checkpoints
Karthik U S [Thu, 4 Jun 2026 11:47:05 +0000 (17:17 +0530)]
doc: Add docs and pending release notes for mirroring checkpoints

Adding documentations and pending release notes for the mirroring
checkpoints feature.

Fixes: https://tracker.ceph.com/issues/73454
Signed-off-by: Karthik U S <karthik.u.s1@ibm.com>
7 days agomgr/mirroring,tools/cephfs_mirror: Handle checkpoint state transition
Karthik U S [Wed, 10 Jun 2026 05:48:25 +0000 (11:18 +0530)]
mgr/mirroring,tools/cephfs_mirror: Handle checkpoint state transition

When a new checkpoint is being added or when the daemon gets restarted,
it will check whether the newly created checkpoint or any other old
checkpoints have already been mirrored onto the remote peer. If so, it
will transition to the correct state by checking for the highest snap id
present on the remote, and setting all the checkpoints which have snap id
lesser than or equal to that of the remote to COMPLETE. This is done by
sending an acquire notification from the mirroring module to the mirror
daemon, which is handled in the add_directory path, by adding the directory
to be checked for the state transition in the tick thread.
This path gets triggered:
a) when the daemon gets restarted
b) when the peer mapping changes
c) by sending the acquire notification from checkpoint add/now CLIs.
d) when mirroring module restarts

Fixes: https://tracker.ceph.com/issues/73454
Signed-off-by: Karthik U S <karthik.u.s1@ibm.com>
7 days agotools/cephfs_mirror: update checkpoint status during snapshot sync
Karthik U S [Sat, 16 May 2026 00:50:03 +0000 (06:20 +0530)]
tools/cephfs_mirror: update checkpoint status during snapshot sync

When the sync completes or fails for a checkpointed snapshot, transition
the status of that checkpoint from CREATED/FAILED to COMPLETE/FAILED in
the do_sync_snaps() along with the timestamp of the event.

Fixes: https://tracker.ceph.com/issues/73454
Signed-off-by: Karthik U S <karthik.u.s1@ibm.com>
7 days agotools/cephfs_mirror: Helper functions for mirroring checkpoints
Karthik U S [Tue, 12 May 2026 23:21:53 +0000 (04:51 +0530)]
tools/cephfs_mirror: Helper functions for mirroring checkpoints

Implementation of helper functions and data structures for the
snapshot based mirroring checkpoints feature.

Fixes: https://tracker.ceph.com/issues/73454
Signed-off-by: Karthik U S <karthik.u.s1@ibm.com>
7 days agomgr/mirroring: Add mirroring checkpoint CLIs
Karthik U S [Sat, 16 May 2026 00:49:59 +0000 (06:19 +0530)]
mgr/mirroring: Add mirroring checkpoint CLIs

Add mgr checkpoint add/remove/ls/now commands that read and write
checkpoint metadata on the primary filesystem via do_snap_md_op.

Sample CLIs:
ceph fs snapshot mirror checkpoint add <vol-name> <dir-root> <snap-name>
ceph fs snapshot mirror checkpoint remove <vol-name> <dir-root> <snap-name>
ceph fs snapshot mirror checkpoint ls <vol-name> <dir-root>
ceph fs snapshot mirror checkpoint now <vol-name> <dir-root>

Fixes: https://tracker.ceph.com/issues/73454
Signed-off-by: Karthik U S <karthik.u.s1@ibm.com>
7 days agomgr/promethues: fixed tests and refactor module.py 69750/head
Afreen Misbah [Wed, 1 Jul 2026 11:19:00 +0000 (16:49 +0530)]
mgr/promethues: fixed tests and refactor module.py

- Update tests to check for queries in nested row panels
- fix tox tests
- add named tuple

Signed-off-by: Afreen Misbah <afreen@ibm.com>
7 days agomgr/prometheus: refactor hardware metrics
Afreen Misbah [Tue, 30 Jun 2026 14:09:13 +0000 (19:39 +0530)]
mgr/prometheus: refactor hardware metrics

- export `firmware_version` labels from `node_proxy_storage_capacity_bytes` metrics to be used in device firmware panel
- improve iterations for performance - dropping redundant node_proxy_firmware() RPC; firmware data is already
  present in the fullreport response, and removing unnecessary loops.
- replace health if/elif chain with HEALTH_STATUS_MAP dict lookup
- rename metrics to ceph_hardware_*, fix component labels and add tests
- added unit test cases
- add serial name, slot info to capacity metric
- fix health metrics showing ID instead of component name

Signed-off-by: Afreen Misbah <afreen@ibm.com>
7 days agomonitoring: improve hardware Grafana dashboard panels
Afreen Misbah [Thu, 25 Jun 2026 18:58:53 +0000 (00:28 +0530)]
monitoring: improve hardware Grafana dashboard panels

- CPU/NVMe temp: change from stat to gauge panels with colored
  arc thresholds (green/yellow/red) and proper °C units
- Health panels: wrap queries in max() aggregation to show
  single worst-case value instead of overlapping series
- Pie charts: switch to donut style with visible legends
- Fan RPM: use locale unit for comma formatting instead of
  short which auto-scaled to "K"
- Fix temperature panels units
- Add Device List and Platform Firmware table panels

Fixes https://tracker.ceph.com/issues/77723

Signed-off-by: Afreen Misbah <afreen@ibm.com>
7 days agomgr/prometheus: Rename node_proxy_memory_capacity_mib to node_proxy_memory_capacity_bytes
Afreen Misbah [Thu, 25 Jun 2026 18:58:21 +0000 (00:28 +0530)]
mgr/prometheus: Rename node_proxy_memory_capacity_mib to node_proxy_memory_capacity_bytes

Prometheus naming conventions require base units (bytes not MiB)

Signed-off-by: Afreen Misbah <afreen@ibm.com>
7 days agomonitoring: fix hardware Grafana dashboard and health metrics
Afreen Misbah [Thu, 25 Jun 2026 08:18:19 +0000 (13:48 +0530)]
monitoring: fix hardware Grafana dashboard and health metrics

- Fix fan repeating panels: set multi=true on fan_speeds template
  variable so Grafana generates one panel per fan instead of one
- Remove TACH-only regex filter on fan_speeds template and AVG
  Cooling query so all system fans are visible regardless of naming
- Replace duplicate Power Control panel with Network health panel
- Fix NVMe drive count to use storage_capacity_bytes{protocol=NVMe}
  instead of counting temperature sensors (inaccurate proxy)
- Normalize all hostname filters to regex match (=~) for consistency
- Register hardware.libsonnet in dashboards.libsonnet so the
  dashboard JSON is generated during ceph-mixin builds
- Add temperatures category to prometheus health metrics loop

Signed-off-by: Afreen Misbah <afreen@ibm.com>
Assisted-by: Claude
Signed-off-by: Afreen Misbah <afreen@ibm.com>
7 days agomgr/prometheus: use orchestrator API for node-proxy hardware metrics
Afreen Misbah [Thu, 25 Jun 2026 08:13:38 +0000 (13:43 +0530)]
mgr/prometheus: use orchestrator API for node-proxy hardware metrics

The hardware metrics exporter was reading cephadm's private KV store
directly via get_store_prefix('mgr/cephadm/node_proxy/data'). This
had two problems:

1. get_store_prefix() is module-scoped, so from the prometheus module
   it searched under prometheus's own namespace instead of cephadm's,
   resulting in zero metrics being exported despite metric definitions
   appearing at /metrics.

2. The firmware key was accessed as 'firmwares' (plural) but the
   stored field is 'firmware' (singular), causing all firmware version
   metrics to be silently empty.

Use node_proxy_fullreport() and node_proxy_firmware() via the
OrchestratorClientMixin instead. This routes through cephadm's
NodeProxyCache which handles KV access and firmware key compat
correctly. Follows the same pattern as set_cephadm_daemon_status_metrics()
and get_smb_metadata().

Signed-off-by: Afreen Misbah <afreen@ibm.com>
Assisted-by: Claude
Signed-off-by: Afreen Misbah <afreen@ibm.com>
7 days agomonitoring: add hardware metrics Grafana dashboard
Afreen Misbah [Thu, 11 Jun 2026 23:56:00 +0000 (05:26 +0530)]
monitoring: add hardware metrics Grafana dashboard

Signed-off-by: Afreen Misbah <afreen@ibm.com>
7 days agomgr/prometheus: add node-proxy hardware metrics exporter
Afreen Misbah [Thu, 11 Jun 2026 23:55:55 +0000 (05:25 +0530)]
mgr/prometheus: add node-proxy hardware metrics exporter

Signed-off-by: Afreen Misbah <afreen@ibm.com>
7 days agoMerge pull request #69894 from tchaikov/wip-fix-nvmeof-spec
Ilya Dryomov [Thu, 2 Jul 2026 08:01:15 +0000 (10:01 +0200)]
Merge pull request #69894 from tchaikov/wip-fix-nvmeof-spec

mgr/dashboard: fix stale nvmeof spec tests from a semantic merge conflict

Reviewed-by: Dnyaneshwari Talwekar <dtalweka@redhat.com>
7 days agomgr/dashboard: Fix daemon_name for NVMeoFClient 69551/head
Vallari Agrawal [Mon, 8 Jun 2026 06:25:42 +0000 (11:55 +0530)]
mgr/dashboard: Fix daemon_name for NVMeoFClient

Reset self.daemon_name for matched gateway, to ensure
correct daemon_name is set when server_address param
is passed to the NVMeoFClient object.

Right now, NVMeoFClient().daemon_name shows same daemon_name
for all gateways within the group.

Also add unit test for NVMeoFClient in
src/pybind/mgr/dashboard/tests/test_nvmeof_client.py

Fixes: https://tracker.ceph.com/issues/77469
Signed-off-by: Vallari Agrawal <vallari.agrawal@ibm.com>
7 days agoMerge pull request #69868 from bluikko/wip-doc-radosgw-sts-cleanup
bluikko [Thu, 2 Jul 2026 05:57:31 +0000 (12:57 +0700)]
Merge pull request #69868 from bluikko/wip-doc-radosgw-sts-cleanup

doc/radosgw: improve style slightly in STS.rst

7 days agomgr/cephadm: remove spec.config options when a service is removed 69899/head
Shweta Bhosale [Thu, 2 Jul 2026 04:56:09 +0000 (10:26 +0530)]
mgr/cephadm: remove spec.config options when a service is removed

For each key in spec.config, validate the option name and run
config rm on the service's config section. Call this from
remove_service() before spec_store.rm() schedules daemon removal.

Fixes: https://tracker.ceph.com/issues/77891
Signed-off-by: Shweta Bhosale <Shweta.Bhosale1@ibm.com>
7 days agomgr/dashboard: fix stale nvmeof spec tests from a semantic merge conflict 69894/head
Kefu Chai [Thu, 2 Jul 2026 03:04:45 +0000 (11:04 +0800)]
mgr/dashboard: fix stale nvmeof spec tests from a semantic merge conflict

mgr-dashboard-frontend-unittests has been failing on main since 2026-07-01,
unrelated to whatever PR triggers it. Bisected to cfe12305fb1, the merge
commit for PR #68180.

6182e67ea4 ("mgr/dashboard: NVMe Onboarding Setup Cards") moved gateway
group selection out of NvmeofSubsystemsComponent and
NvmeofNamespacesListComponent into a new NvmeofGatewayGroupFilterComponent,
dropping gwGroups, updateGroupSelectionState, handleGatewayGroupsError,
onGroupClear, and getSubsystems from both. Clean on its own.

PR #68180 forked from main in April, before that refactor existed, and
added three new tests against the old API. Also clean on its own, and never
rebased. Both PRs only touch lines the other doesn't, so when #68180 merged
34 minutes after 6182e67ea4, git's 3-way merge combined them without a
conflict. The merge is the only place the bug exists: new tests calling
methods the sibling parent had already deleted. TypeError at runtime,
TS2339/TS2551 from tsc, every run since. CI never caught it: GitHub was
showing #68180's make check as green from a run a full day older than
6182e67ea4.

nvmeof-namespaces-list.component.spec.ts: the dedup test is real, current
logic, it just called the old listNamespaces() instead of fetchData().
Fixed the call. The other two duplicate NvmeofGatewayGroupFilterComponent's
own spec; removed.

nvmeof-subsystems.component.spec.ts: same story, all three duplicate the
filter component's spec; removed.

Both removed error tests also checked preventDefault() on the error object,
which had no coverage elsewhere. Added that to
NvmeofGatewayGroupFilterComponent's spec, and hit a second bug while writing
it: the file's throwError(() => err) is the RxJS 7 factory overload, this
project is on RxJS 6.6.3, so it was emitting the arrow function itself as
the error. The existing error test never noticed since it only checks side
effects, not the error's identity. Used throwError(err) instead.

Verified: jest passes on all three spec files (was 6 failing), tsc -p
tsconfig.spec.json --noEmit is clean (was 17 errors), full block/nvmeof
sweep is 29/29 suites, 216/216 tests.

Fixes: cfe12305fb1
Signed-off-by: Kefu Chai <k.chai@proxmox.com>
7 days agoceph.spec.in: drop the python3_pkgversion macro 69864/head
Kefu Chai [Wed, 1 Jul 2026 10:22:21 +0000 (18:22 +0800)]
ceph.spec.in: drop the python3_pkgversion macro

python3_pkgversion picked the native python3 package name on RHEL7, where
python3 was python34/python36 before 7.6 (cea9d18c). RHEL7 and RHEL8 are
gone, so on every supported distro (el9, el10, fedora, suse, openEuler) it
is always 3.

Replace python%{python3_pkgversion} with python3 and drop the fallback
default. No supported distro overrides it to build against a non-default
python flavor, so that capability goes too.

Signed-off-by: Kefu Chai <k.chai@proxmox.com>
7 days agoceph.spec.in: use python3dist() for Python BuildRequires
Kefu Chai [Wed, 1 Jul 2026 09:35:05 +0000 (17:35 +0800)]
ceph.spec.in: use python3dist() for Python BuildRequires

Many Python deps were split across %if suse / %if rhel branches only
because openSUSE spells them CamelCase (PrettyTable, PyYAML, Sphinx,
CherryPy, Routes, Jinja2) and fedora/rhel/openEuler lowercase. The
python3dist() provides resolve the same on el9, el10, openEuler and
openSUSE, so those splits collapse to single lines.

Spell the deps python%{python3_pkgversion}dist(), matching the spec's
existing python%{python3_pkgversion}-Foo convention. Version constraints
and feature guards are preserved.

The dist name is the PyPI project name, not always the rpm name minus
python3-: python3-dateutil provides python3dist(python-dateutil), and
python3-saml provides python3dist(python3-saml).

Left as package names: the bare interpreter; python3-devel and numpy-devel,
which have no python3dist() provide; the build toolchain (setuptools,
Cython, pip, wheel); and the ceph-internal python3-* subpackages, which are
versioned = release deps.

Signed-off-by: Kefu Chai <k.chai@proxmox.com>
7 days agoceph.spec.in: use pkgconfig() for library BuildRequires
Kefu Chai [Wed, 1 Jul 2026 08:26:43 +0000 (16:26 +0800)]
ceph.spec.in: use pkgconfig() for library BuildRequires

Library BuildRequires used per-distro -devel package names, some split
across %if suse / %if rhel branches only because the names differ. The
pkgconfig() virtual provides resolve identically on every rpm distro; the
spec already relies on them for fuse3, systemd and udev.

Switch every library dependency that ships a .pc to pkgconfig(), preserving
version constraints and feature guards. This collapses the suse-vs-rhel
naming splits (nss, keyutils, openssl, ldap, ibverbs, rdmacm, lz4, thrift,
libcryptopp) and the dedicated split blocks (nlohmann_json, lttng-ust,
babeltrace, expat) into single lines, and folds the duplicated xmlsec1 devel
packages together.

Left as package names: libaio and xfsprogs ship no reliable .pc; gperftools
carries version and tcmalloc-variant logic; numa is unconditional on rhel
but crimson-only on suse; and the xmlsec1 runtime backend plugins are
runtime test deps, not build-time pkgconfig() deps.

Signed-off-by: Kefu Chai <k.chai@proxmox.com>
7 days agoceph.spec.in: drop RHEL <= 8 support
Kefu Chai [Wed, 1 Jul 2026 07:31:52 +0000 (15:31 +0800)]
ceph.spec.in: drop RHEL <= 8 support

RHEL 8 and CentOS 8 left the supported test matrix in 2023 (449db416,
7a1dce1e). RHEL 8 has also been unbuildable since CMakeLists.txt began
requiring Python >= 3.9: it ships python 3.6 by default, so cmake refuses
to configure. The spec still carried the el8 conditionals, so assume
rhel >= 9 and drop them:

- remove branches reachable only on rhel <= 8: the gperftools 2.6.1
  BuildRequires, the tracker-36508 tcmalloc-libs requirement, and the
  dataclasses backport, which also targeted that dead python 3.6
- collapse "rhel >= 8" and "rhel >= 9" to plain "rhel"; with the floor at
  9 this is a no-op for rhel 9/10, fedora, suse and openEuler
- keep the rhel 9-vs-10 checks (== 9, < 10, >= 10)

Signed-off-by: Kefu Chai <k.chai@proxmox.com>
7 days agodoc/rbd: elaborate on key-ref syntax (existing in S3Stream and new in NativeFormat) 67968/head
Ilya Dryomov [Wed, 1 Jul 2026 11:17:40 +0000 (13:17 +0200)]
doc/rbd: elaborate on key-ref syntax (existing in S3Stream and new in NativeFormat)

Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
7 days agoqa/suites/rbd: add mon_host + key[-ref] coverage to migration-external
Ilya Dryomov [Mon, 29 Jun 2026 09:40:02 +0000 (11:40 +0200)]
qa/suites/rbd: add mon_host + key[-ref] coverage to migration-external

Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
7 days agoqa/suites/rbd: use client.0 entity in migration-external tests
Ilya Dryomov [Mon, 29 Jun 2026 11:39:50 +0000 (13:39 +0200)]
qa/suites/rbd: use client.0 entity in migration-external tests

Currently client.admin is passed for client_name and that doesn't
exercise client_name handling much as client.admin is the default.

When deploying multiple clusters the ceph task distributes keyrings
with only the key for the initial monitor and client.admin key.  Other
keys (e.g. client.0) are present only on their respective clusters, so
client.0's key for cluster2 needs to be obtained on cluster1 explicitly
with "ceph auth get".

Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
7 days agolibrbd/migration/NativeFormat: support specifying mon_host and key via spec
Leonid Chernin [Mon, 2 Feb 2026 06:01:14 +0000 (08:01 +0200)]
librbd/migration/NativeFormat: support specifying mon_host and key via spec

migration:
           -take  secret_key from spec
           -take  mon_host from the spec
           -ignore source keyring, source ceph.conf - bypass them
           -added validations of the new way schema
           -get key from the KV DB if key in spec  is actually key-ref

Fixes: https://tracker.ceph.com/issues/68177
Signed-off-by: Leonid Chernin <leonidc@il.ibm.com>
Signed-off-by: Ilya Dryomov <idryomov@gmail.com>