* refs/pull/66294/head:
qa: enforce centos9 for test
qa: rename distro
qa/suites/fs/bugs: use centos9 for squid upgrade test
qa: remove unused variables
qa: use centos9 for fs suites using k-testing
qa: update fs suite to rocky10
qa: skip dashboard install due to dependency noise
qa: only setup nat rules during bridge creation
qa: correct wording of comment
qa: use nft instead iptables
qa: use py3 builtin ipaddress module
Reviewed-by: Venky Shankar <vshankar@redhat.com>
Currently the code recreates these NAT rules for every mount. This only
needs to be done once by the first mount.
Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
rocky.10 does not support iptables with MASQUERADE targets. (Or maybe it
does with more prodding but it's easier to just switch to nft.)
Signed-off-by: Patrick Donnelly <pdonnell@ibm.com>
The feedback module hard-coded tracker.ceph.com as the Ceph issue
tracker hostname. This meant the dashboard test
test_issue_tracker_create_with_invalid_key actually performed an
HTTPS POST against the live production tracker on every CI run.
Whenever tracker.ceph.com returned an unexpected response (5xx,
gateway error, transient failure), the test would fail on
completely unrelated pull requests.
Add a runtime module option 'mgr/feedback/tracker_url' that
controls which host the CephTrackerClient talks to. The default
keeps the existing behaviour (tracker.ceph.com). The dashboard
test now sets this option to an unreachable hostname in setUpClass
so create_issue fails fast with a ConnectionError instead of
depending on tracker.ceph.com being reachable.
Combined with the prior commit's error-handling fix, the test now
deterministically verifies that any tracker failure is surfaced as
HTTP 400, without requiring network access.
Signed-off-by: Kefu Chai <k.chai@proxmox.com>
The crash and status mgr modules return positive errno values (e.g.
errno.EINVAL) on error. However, the ceph CLI (src/ceph.in) only
treats negative return codes as errors:
if ret < 0:
final_ret = -ret
A positive return code falls through and the CLI exits with 0, masking
the error. This causes commands like "ceph crash post" and "ceph crash
info <bad-id>" to return success (rc=0) despite failing, with the
error message only appearing on stderr.
This was observed in the wild and worked around in a77b47eeeb, which added a
stderr != "" check to ceph-crash's post_crash() as a mitigation.
Fix the root cause by negating the errno values in both modules,
consistent with the HandleCommandResult convention
(retval: "E.g. 0 or -errno.EINVAL") and the 154 other call sites
across mgr modules that already use negative errno.
Also add error-path tests for the crash module to cover the three
affected commands (info, post, archive).
See-also: a77b47eeeb
Fixes: https://tracker.ceph.com/issues/75937
Signed-off-by: Kefu Chai <k.chai@proxmox.com>
Under Centos 9 the Java 8 version is recognized by the substring
"java-1.8" rather than "java-8". So the grep has been modified to
accept either.
Signed-off-by: J. Eric Ivancich <ivancich@redhat.com>
(cherry picked from commit a49d4446e4)
Previously s3tests_java.py set JAVA_HOME using the `alternatives`
command. That had issues in that `alternatives` is not present on all
Ubuntu systems, and some installations of Java don't update
alternatives. So instead we look for a "java-8" jvm in /usr/lib/jvm/
and set JAVA_HOME to the first one we find.
Signed-off-by: J. Eric Ivancich <ivancich@redhat.com>
This commit ensure that we only pass --objectstore argument to
cephadm's add/apply OSD command only when the value is not the
default value, bluestore.
This is done to ensure older ceph releases, like Squid and Tentacle
do not fail, as --objectstore argument was only added in Umbrella.
Fixes: https://tracker.ceph.com/issues/75731
Signed-off-by: Shraddha Agrawal <shraddha.agrawal000@gmail.com>
ceph_osds() assumes all teuthology scratch devices are clean
and directly usable by:
> ceph orch apply osd --all-available-devices --method raw
However, in practice some devices may retain stale BlueStore metadata
(or other data) from previous runs. cephadm correctly skips such
devices, leading to fewer OSDs than expected and causing the test to
timeout waiting for an exact OSD count.
This change adds a pre-deployment cleanup step for `raw-osds` that:
- zaps any existing BlueStore metadata (`ceph-bluestore-tool zap-device`)
- removes filesystem signatures (`wipefs --all`)
- clears initial disk data (`dd`)
This ensures all scratch devices are truly available for OSD
deployment and prevents mismatches between expected and actual OSD
counts.
Fixes: https://tracker.ceph.com/issues/75218
Signed-off-by: Redouane Kachach <rkachach@ibm.com>
The following issues with the test are addressed:
1. The test was encountering assertion failure (assert backfillfull < 0.9) with
compression enabled. This was because the condition was not factoring in the
compression ratio. Without it the backfillfull ratio can easily exceed 1. By
factoring in the compression ratio, the backfillfull ratio will be in the
range (0 - n), where n can vary depending on the type of compression used.
2. The main contributing factor for (1) above is the amount of data written to
the pool. The writes were time-bound earlier leading to excess data and
eventually the assertion failure. By limiting the data written to the OSDs
to 50% of the OSD capacity in the first phase and only 20% in the re-write
phase, the outcome of the test is more deterministic regardless of
compression being enabled or not.
3. A potential false cluster error is avoided by swapping the setting of
the nearfull-ratio and backfill-ratio after the re-write phase.
4. Fix a couple of typos - s/tartget/target.
Fixes: https://tracker.ceph.com/issues/71005
Signed-off-by: Sridhar Seshasayee <sridhar.seshasayee@ibm.com>
In do_check(), ensure all the namespaces+listeners are
added in gateway (i.e. gateway not in CREATED state)
after gateway is restarted. This is to prevent going into
next iteration of tharshing while gateways are still being
updated.
Fixes: https://tracker.ceph.com/issues/75382
Signed-off-by: Vallari Agrawal <vallari.agrawal@ibm.com>
Instead of "ceph orch daemon restart",
wait for daemon to come backup on it's own
during revival.
Also improve do_check retry logic.
And some logging improvements in nvmeof.thrasher task.
Fixes: https://tracker.ceph.com/issues/75383
Signed-off-by: Vallari Agrawal <vallari.agrawal@ibm.com>
While deploying gateways with "ceph orch apply nvmeof",
--pool can be optional now. If not passed, a pool with
name ".nvmeof" would automatically be created.
In nvmeof task, "auto_pool_create: True" would skip --pool
in "ceph orch apply nvmeof".
Signed-off-by: Vallari Agrawal <vallari.agrawal@ibm.com>