Commit Graph

5028 Commits

Author SHA1 Message Date
Kotresh HR
10292cc86f Merge PR #70212 into main
* refs/pull/70212/head:
	qa/cephfs-mirror: Fix tests for ISO sync_time_stamp
	doc/cephfs-mirroring: document ISO-8601 sync timestamps
	cephfs_mirror: format sync timestamps as ISO-8601 local time
	tools/cephfs-mirror: report epoch time in last snap sync time

Reviewed-by: Karthik U S <karthik.u.s1@ibm.com>
2026-07-30 09:28:12 +05:30
Xuehan Xu
c8769a0f34 qa/config/crimson_qa_overrides.yaml: add test workload for LBC
Signed-off-by: Xuehan Xu <xuxuehan@qianxin.com>
2026-07-31 09:40:19 +08:00
Afreen Misbah
25187a4389
Merge pull request #70097 from tchaikov/wip-mgr-testcase-single-bounce
Reviewed-by: Afreen Misbah <afreen@ibm.com>
2026-07-29 18:26:36 +05:30
Oguzhan Ozmen
993f3f7c50
Merge pull request #70449 from BBoozmen/wip-oozmen-78572
qa/tasks/dnsmasq: set no-resolv on the systemd-resolved path
2026-07-27 09:22:26 -04:00
Laura Flores
165d47959c
Merge pull request #69684 from ljflores/wip-tracker-76927
qa/tasks: change collectl source to download.ceph.com

Reviewed-by: Patrick Donnelly <pdonnell@ibm.com>
Reviewed-by: Radosław Zarzyński <Radoslaw.Adam.Zarzynski@ibm.com>
2026-07-24 16:59:29 -05:00
Christopher Hoffman
0efbe10e14
Merge pull request #62342 from dparmar18/i62673
mgr/volumes: accept unit with subvolume resize

Reviewed-by: Rishabh Dave <ridave@redhat.com>
Reviewed-by: Neeraj Pratap Singh <neesingh@redhat.com>
Reviewed-by: Christopher Hoffman <choffman@redhat.com>
2026-07-24 09:28:15 -04:00
Kotresh HR
78b7fa265b qa/cephfs-mirror: Fix tests for ISO sync_time_stamp
Fixes: https://tracker.ceph.com/issues/76506
Signed-off-by: Kotresh HR <khiremat@redhat.com>
2026-07-23 17:16:42 +05:30
Oguzhan Ozmen
2a48100588 qa/tasks/dnsmasq: set no-resolv on the systemd-resolved path
On the systemd-resolved (debian) path, dnsmasq has only address= records
and no upstream, so queries it can't answer locally are forwarded via
/etc/resolv.conf which points back at systemd-resolved, which routes
the cname domains back to dnsmasq. The resulting loop burns a 5s
resolver retry per round trip which manifests itself in rgw s3tests
on Ubuntu running too slow hitting the job timeout.

Set no_resolv on that path so dnsmasq answers authoritatively and never
forwards. The rpm/NetworkManager path is unchanged, as dnsmasq there is
the system resolver and must forward upstream.

Fixes: https://tracker.ceph.com/issues/78572
Signed-off-by: Oguzhan Ozmen <oozmen@bloomberg.net>
2026-07-22 15:03:47 +00:00
Yuval Lifshitz
4b5506816b
Merge pull request #69666 from ShreeJejurikar/wip-rgw-kafka-4x-support
rgw: support kafka 4.x brokers
2026-07-22 17:26:53 +03:00
ShreeJejurikar
efe54523a4 rgw: support kafka 4.x brokers
librdkafka submodule

Vendors librdkafka v2.12.1 as a submodule (default) and teaches the
notification teuthology task to set up Kafka 4.x KRaft brokers. The
distro-shipped librdkafka 1.6.1 cannot SCRAM-auth against Kafka 4.x
brokers (#75900); the bundled version fixes that. Build with
WITH_SYSTEM_RDKAFKA=ON to opt back into the distro library (floor 2.6.1).
follwinf changes needed with teh submodule:
* build kafka_stub only in case of system librdkafka
* use the same header location in submodule and system
* supress compilation warning to avoid -WError issues

2.12.1 matches Fedora(44)'s current librdkafka-devel, so the vendored copy
tracks a version that distro packagers have already vetted rather than
whichever release happens to be latest upstream.

The teuthology version matrix picks one of {3.9.2, 4.1, 4.2, 4.3} per run.
3.9.2 covers the last Zookeeper-based release for the migration cohort.
4.1/4.2/4.3 track Apache's current three supported minor lines and are
resolved to the latest patch at test time via dlcdn.apache.org/kafka/, so
new patches within a supported minor need no PR update. A new minor line
(4.4) requires renaming one YAML.
* new java version (17) is needed for kafka 4.2 and up (we wil use it on
  all version)
* kerberos task need to run before the kafka install task

After pulling this branch, fetch the new submodule:

    git submodule update --init src/librdkafka

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

Signed-off-by: ShreeJejurikar <shreemj8@gmail.com>
Co-authored-by: Yuval Lifshitz <ylifshit@ibm.com>
2026-07-22 10:29:04 +00:00
Abhishek Desai
0d0a241ba7 mgr/dashboard: grant hosts read to block-manager role
Block-manager users were denied access to the NVMe/TCP page because
host listing APIs require hosts read permission.

Fixes: https://tracker.ceph.com/issues/77952
Signed-off-by: Abhishek Desai <adesai@redhat.com>
2026-07-21 17:08:56 +05:30
sujay-d07
93a357c93c qa/rgw: Adding GSSAPI testing task for Bucket Notification Testing
This adds a Kerberos setup task, tells the Kafka task to emit GSSAPI listeners and broker principals, and updates notification tests to pass Kerberos credentials through to the bucket-notification suite. It enables the RGW Kafka notification coverage to run against GSSAPI-secured brokers.

Signed-off-by: sujay-d07 <sujaydongre07@gmail.com>
2026-07-16 12:12:20 +05:30
Venky Shankar
7d65abc9c1 Merge PR #68813 into main
* refs/pull/68813/head:
	tools/cephfs: make journal pointer/header failure explicit
	doc/cephfs: add note explainin the new batching technique
	tools/cephfs: document --max-rss usage in first-damage.py
	qa: test cephfs-journal-recovery event recover_dentries summary
	tools/cephfs: flush every journal event as soon as it is scanned

Reviewed-by: Venky Shankar <vshankar@redhat.com>
Reviewed-by: Patrick Donnelly <pdonnell@ibm.com>
2026-07-16 11:43:24 +05:30
John Mulligan
4423f22cff
Merge pull request #69892 from phlogistonjohn/jjm-teuth-remotectl
smb: add a teuthology test that exercises the gRPC over TCP interface of smb remote-control

Reviewed-by: Avan Thakkar <athakkar@redhat.com>
Reviewed-by: Rabinarayan Panigrahi <rapanigr@redhat.com>
2026-07-15 12:56:20 -04:00
kobi ginon
1d0eaf08ee
Merge pull request #69420 from kginonredhat/issue-77250-clean
qa/mgr: fix influx module_selftest health warning noise
2026-07-15 16:04:35 +03:00
Yuval Lifshitz
c0f1ffb960 test/kafka: support archived kafka versions
Fixes: https://tracker.ceph.com/issues/78214

Signed-off-by: Yuval Lifshitz <ylifshit@ibm.com>
2026-07-14 13:20:14 +00:00
Afreen Misbah
4522b9be68
Merge pull request #70034 from rhcs-dashboard/bucket-validator-fix
Reviewed-by: Aashish Sharma <aasharma@redhat.com>
Reviewed-by: Afreen Misbah <afreen@ibm.com>
2026-07-14 01:58:09 +05:30
Redouane Kachach
177897b4f8
Merge pull request #70084 from ShwetaBhosale1/fix_issue_78099_fix_qa_test_nfs.py
qa: fixed the NFS protocol version in test_nfs.py

Reviewed-by: Redouane Kachach <rkachach@ibm.com>
2026-07-13 11:18:48 +02:00
John Mulligan
bddb807fab qa/tasks: pass testdir path to smb workunit
Ensure that the testdir (parent dir of generated tls certs)
is made available to the smb test configuration used by
the workunit tests.

Signed-off-by: John Mulligan <jmulligan@redhat.com>
2026-07-11 10:38:31 -04:00
John Mulligan
655bd58510 qa/tasks: add support for embedding ssl/tls certs with templates
Update template.py jinja2 templating, to add support for extracting the
content of tls certs, generated by the ssl_keys task.

Signed-off-by: John Mulligan <jmulligan@redhat.com>
2026-07-11 10:38:31 -04:00
kobi ginon
93ff14d091
Merge branch 'main' into issue-77250-clean
Signed-off-by: kobi ginon <153318313+kginonredhat@users.noreply.github.com>
2026-07-11 13:27:02 +03:00
Kefu Chai
4af78378a9 qa/tasks/mgr: bounce the mgrs once per test class
The dashboard backend API suite occasionally fails in CI on the job's
7200 second timeout alone, with every test passing. Suite runtime
varies with builder load: identical runs of the same 311 tests took
anywhere from about 5400 to over 7000 seconds, and teardown needs
roughly another 180 seconds on top. On the runs that landed at the
high end, only 60 to 80 seconds of margin were left before the
timeout fired. Cutting setup overhead gives the suite that margin
back.

DashboardTestCase.setUpClass() restarted every mgr twice: once in
MgrTestCase.setup_mgrs(), and again right after in _assign_ports(),
whose only job is to set the per-mgr dashboard port, which has to
happen while the mgrs are down.

Let subclasses declare their module ports in a MODULE_PORTS class
attribute instead. setup_mgrs() assigns them while the daemons are
already stopped, so the single restart it performs picks them up and
the second stop/fail/restart cycle disappears.

The assignment loop moves to _assign_module_ports(). _assign_ports()
keeps its old stop/assign/restart contract for callers that reassign
ports outside class setup (test_prometheus, test_dashboard,
test_module_selftest) and delegates to the shared helper.

With 66 dashboard test classes per API suite run this removes one
full mgr bounce per class, roughly 10 to 15 minutes of wall clock in
the CI runs examined.

Signed-off-by: Kefu Chai <k.chai@proxmox.com>
2026-07-10 13:54:32 +08:00
Casey Bodley
ba6eb32e88
Merge pull request #69841 from cbodley/wip-qa-rgw-crypt-kmip-re-renable
Revert "Reapply "qa/rgw/crypt: disable failing kmip testing""

Reviewed-by: Adam Emerson <aemerson@redhat.com>
2026-07-09 13:21:04 -04:00
Shweta Bhosale
19dea175a3 qa: fixed the NFS protocol version in test_nfs.py
Fixes: https://tracker.ceph.com/issues/78099
Signed-off-by: Shweta Bhosale <Shweta.Bhosale1@ibm.com>
2026-07-09 20:02:26 +05:30
Nizamudeen A
0ad33c0965 mgr/dashboard: fix unncessary traceback when bucket not exist
UI has an async validator which calls the GET bucket API to make sure
the bucket name doesn't exist, but the proxy
was not properly handling the http_status_codes which results in raising
a massive traceback in logs whenever you type things in the bucket name
field. So handling that gracefully by capturing the proper status codes
for both RequestException and DashboardException

BEFORE
```
File "/usr/share/ceph/mgr/dashboard/services/exception.py", line 47, in dashboard_exception_handler
return handler(*args, **kwargs)
File "/lib/python3.9/site-packages/cherrypy/_cpdispatch.py", line 54, in _call_
return self.callable(*self.args, **self.kwargs)
File "/usr/share/ceph/mgr/dashboard/controllers/_base_controller.py", line 263, in inner
ret = func(*args, **kwargs)
File "/usr/share/ceph/mgr/dashboard/controllers/_rest_controller.py", line 193, in wrapper
return func(*vpath, **params)
File "/usr/share/ceph/mgr/dashboard/controllers/rgw.py", line 357, in get
result = self.proxy(daemon_name, 'GET', 'bucket', {'bucket': bucket})
File "/usr/share/ceph/mgr/dashboard/controllers/rgw.py", line 213, in proxy
raise DashboardException(e, http_status_code=http_status_code, component='rgw')
dashboard.exceptions.DashboardException: RGW REST API failed request with status code 404
(b'{"Code":"NoSuchBucket","Message":"","RequestId":"tx00000f14e08c1af0d5615-006'
b'71f54a7-3bc6-default","HostId":"3bc6-default-default"}')
2024-10-28T09:08:55.990+0000 7f89e045b640  0 [dashboard INFO request] [::ffff:10.74.18.122:51853] [GET] [500] [0.007s] [admin] [200.0B] /api/rgw/bucket/bucket-das
```

AFTER
```
Jul 08 09:28:28 ceph-node-00 ceph-mgr[2243]: [dashboard ERROR dashboard.rest_client] RGW REST API failed GET req status: 404
Jul 08 09:28:28 ceph-node-00 ceph-mgr[2243]: [dashboard INFO dashboard.services.exception] Dashboard Exception: RGW REST API failed request with status code 404
                                             (b'{"Code":"NoSuchBucket","Message":"","RequestId":"tx00000c029a81e5d154844-006'
                                              b'a4e183c-14251-default","HostId":"14251-default-default"}')
Jul 08 09:28:28 ceph-node-00 ceph-mgr[2243]: [dashboard INFO dashboard.tools] [::ffff:192.168.100.1:60408] [GET] [404] [0.078s] [admin] [200.0B] /api/rgw/bucket/testsa
```

Fixes: https://tracker.ceph.com/issues/78038
Signed-off-by: Nizamudeen A <nia@redhat.com>
2026-07-09 16:15:19 +05:30
Dhairya Parmar
fc3ca7725b qa: test cephfs-journal-recovery event recover_dentries summary
with capping the maximum RSS to 500 MiB

Partially-Fixes: https://tracker.ceph.com/issues/76422
Signed-off-by: Dhairya Parmar <dparmar@redhat.com>
2026-07-09 14:35:20 +05:30
Redouane Kachach
7b2217caf3
qa/cephadm: fix hardcoded 'sshd' unit name in setup_ca_signed_keys
setup_ca_signed_keys() hardcoded `systemctl restart sshd`, which fails
on Debian/Ubuntu where the SSH server unit is named `ssh.service`
rather than `sshd.service`. Try `ssh` first, fall back to `sshd` if
that fails, grouped so the fallback only fires on restart failure and
doesn't mask a failed config write.

Fixes: https://tracker.ceph.com/issues/77991
Signed-off-by: Redouane Kachach <rkachach@ibm.com>
2026-07-07 15:47:11 +02:00
Venky Shankar
d73bf27fa9
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>
2026-07-07 08:41:40 +05:30
Kefu Chai
56ae6e2a0b
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>
2026-07-03 09:17:51 +08:00
Karthik U S
fe7fa7b076 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>
2026-07-02 14:49:04 +05:30
Christopher Hoffman
aa70e12532 qa: Use mount class in test_fscrypt to read/write and to compare trees
In TestFSCryptVolumes, make sure to use mount class to
compare directory trees and to read/write files.

Fixes: https://tracker.ceph.com/issues/74110
Signed-off-by: Christopher Hoffman <choffman@redhat.com>
2026-07-01 16:42:23 +00:00
Casey Bodley
57342f5373 qa: pykmip task defaults to ceph fork
point the pykmip task to the ceph fork of the PyKMIP repo, which carries
fixes for newer python

Signed-off-by: Casey Bodley <cbodley@redhat.com>
2026-07-01 09:22:21 -04:00
Venky Shankar
fc9f8642b2 Merge PR #66558 into main
* refs/pull/66558/head:
	qa/cephfs: minor fix in comment
	qa/cephfs: give more time to tests in test_clone_stats.py
	qa/cephfs: increase number of files to cloned in test_clone_stats.py
	volumes/stats_util: improve log messages

Reviewed-by: Venky Shankar <vshankar@redhat.com>
Reviewed-by: Jos Collin <jcollin@redhat.com>
2026-07-01 11:14:38 +05:30
Venky Shankar
1d7f80b43b
Merge pull request #69031 from neesingh-rh/wip-71795
qa: fixing failures in TestShellOpts

Reviewed-by: Venky Shankar <vshankar@redhat.com>
2026-06-30 19:10:09 +05:30
Casey Bodley
283108e66b
Merge pull request #69371 from cbodley/wip-76961
qa/dnsmasq: use managed dnsmasq instead of editing resolv.conf

Reviewed-by: Oguzhan Ozmen <oozmen@bloomberg.net>
2026-06-30 08:30:26 -04:00
Kobi Ginon
e6679c37ac qa/mgr: fix influx module_selftest health warning noise
Skip influx selftests when the Python influxdb client is not installed.
Remove the ineffective testhost workaround and ignore the expected
MGR_INFLUX_NO_SERVER warning when the module runs without a server.

Fixes: https://tracker.ceph.com/issues/77250
Signed-off-by: Kobi Ginon <kginon@redhat.com>
2026-06-30 14:58:26 +03:00
Redouane Kachach
b9fdd67b58
Merge pull request #66663 from Shubhaj1810/fix-issue-2384421
mgr/nfs: include placement details and active/passive roles in cluster info

Reviewed-by: Shweta Bhosale <Shweta.Bhosale1@ibm.com>
2026-06-30 13:42:16 +02:00
Kefu Chai
1ccb756182 qa/cephfs: fix invalid escape sequence SyntaxWarnings
python 3.12 warns on unrecognized escape sequences in string literals.
fuse_mount's admin-socket pyscript and mount's nft payload carry regex
and shell escapes (\., \d, \;) that are meant literally, so make those
strings raw. filesystem's get_mds_addr docstring had a stray \/ in the
example address, which is just a slash, so drop the backslash.

Signed-off-by: Kefu Chai <k.chai@proxmox.com>
2026-06-29 09:36:12 +08:00
Afreen Misbah
98f04401bb
Merge pull request #69390 from rhcs-dashboard/fix-feedback-module
mgr/dashoard : Fix feedback module enablement


Reviewed-by: Naman Munet <nmunet@redhat.com>
2026-06-24 21:04:45 +05:30
Casey Bodley
69b89f2274
Merge pull request #65724 from adamemerson/wip-include-s3tests
Include s3-tests in ceph repo

Reviewed-by: Casey Bodley <cbodley@redhat.com>
2026-06-24 10:12:54 -04:00
Abhishek Desai
bdbfa8a15a mgr/dashboard : Fix feedback module enablement
fixes : https://tracker.ceph.com/issues/75734
Signed-off-by: Abhishek Desai <abhishek.desai1@ibm.com>
2026-06-24 13:08:01 +05:30
Laura Flores
5475faaddf qa/tasks: change collectl source to download.ceph.com
Getting it from our own service avoids exposing us to
supply chain attacks in our QA infrastructure.

Fixes: https://tracker.ceph.com/issues/76927
Signed-off-by: Laura Flores <lflores@ibm.com>
2026-06-23 15:13:33 -05:00
Kotresh HR
b80828fbad qa: Add mgr snapshot mirror status tests
Add teuthology coverage for `ceph fs snapshot mirror status`:
parity with asok peer_status, default idle metrics, stale omap
handling, error paths, filter scopes, daemon restart, and cache TTL.

Reuse existing peer_dir_status and metrics assertion helpers.
Adjust stale test wait for InstanceWatcher timeout and set a
short cache TTL in the cache test. Pass peer_uuid via --peer_uuid=
in the test helper for peer-only scope queries.

Fixes: https://tracker.ceph.com/issues/76686
Signed-off-by: Kotresh HR <khiremat@redhat.com>
2026-06-23 18:12:26 +05:30
Adam C. Emerson
d0c88cb53c
qa/rgw: Run s3-tests from within the Ceph repo
Signed-off-by: Adam C. Emerson <aemerson@redhat.com>
2026-06-22 19:33:47 -04:00
Casey Bodley
591ce1234b qa/dnsmasq: remove unused backup/replace_resolv()
Signed-off-by: Casey Bodley <cbodley@redhat.com>
2026-06-22 10:34:50 -04:00
Casey Bodley
617f553913 qa/dnsmasq: use managed dnsmasq instead of editing resolv.conf
this task was manually editing /etc/resolv.conf to configure dns names.
on ubuntu 24, these changes were getting clobbered by NetworkManager or
systemd service restarts

instead, manage dnsmasq depending on host distro. rpm-based distros use
NetworkManager's dnsmasq plugin, while deb-based distros use
systemd-resolved to point at the local dnsmasq

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

Signed-off-by: Casey Bodley <cbodley@redhat.com>
2026-06-22 10:34:50 -04:00
Kotresh HR
3fc6457a8f qa: Add tests for cephfs_mirror_directory perf counters
Verify counter dump registration, current-sync gauges while syncing
(full/delta), last-sync and summary counters after idle sync, and
extend mirror stats and remote-snap failure tests for per-directory
snaps_* and dir_state.

Fixes: https://tracker.ceph.com/issues/73457
Signed-off-by: Kotresh HR <khiremat@redhat.com>
2026-06-16 23:11:16 +05:30
Kotresh HR
28a2a2c882 qa/cephfs: Add test for duplicate directory acquire notify
Verify that reloading the mirroring module and removing a directory
does not leave a ghost replayer entry that keeps syncing snapshots.

Fixes: https://tracker.ceph.com/issues/77398
Signed-off-by: Kotresh HR <khiremat@redhat.com>
2026-06-15 16:15:33 +05:30
Kotresh HR
5bfb9a8db3
Merge pull request #68018 from kotreshhr/mirror-asok-metrics
tools/cephfs_mirror: Add metrics
2026-06-13 23:59:00 +05:30
Kotresh HR
1d676c2455 qa: Add mirror metrics testcases
Add testcases for newly introduced mirror
metrics and validate it via 'fs mirror peer status'
asok interface.

Fixes: https://tracker.ceph.com/issues/73453
Signed-off-by: Kotresh HR <khiremat@redhat.com>
2026-06-13 00:45:31 +05:30