ceph-mirror/qa
Kefu Chai 50ef945949 qa/cephadm: query iSCSI gateway FQDN from inside the container
rbd-target-api validates that the gateway hostname supplied by gwcli
matches the container's own socket.getfqdn(). Running the same call on
the host can return a different value when the host and container resolve
names differently (e.g. on Rocky 10), causing gateway creation to fail
with HTTP 400 and all subsequent gwcli configuration to break silently.

Query the FQDN from inside the iSCSI container directly so the value is
always consistent with what rbd-target-api expects. This also removes the
"run twice" workaround, which was compensating for host-side DNS
warm-up flakiness rather than addressing the underlying mismatch.

Fixes: https://tracker.ceph.com/issues/74577
Signed-off-by: Kefu Chai <k.chai@proxmox.com>
2026-06-01 18:40:51 +08:00
..
archs
cephfs Merge PR #67822 into main 2026-04-16 12:28:52 -04:00
client
clusters qa: remove vestiges of ceph-deploy 2026-04-14 09:03:58 -04:00
config qa: Add rgw singleton test to crimson 2026-04-06 07:48:46 +05:30
crontab qa/crontab/teuthology-cronjobs: Use debug flavor 2026-01-22 14:56:45 +02:00
debug
distros qa/distros/crimson-supported-all-distros 2026-05-05 22:15:36 +05:30
erasure-code qa: Add cauchy and 16K chunk size profiles 2025-08-15 09:53:42 +01:00
libceph
machine_types
mds
mgr_ttl_cache
mon/bootstrap
mon_election
msgr
nightlies
objectstore qa: remove vestiges of ceph-deploy 2026-04-14 09:03:58 -04:00
objectstore_cephfs
objectstore_crimson qa: exclude crimson from random-objectstore 2025-12-04 14:07:08 +05:30
objectstore_debug qa: Reduce number of osd threads when using compression 2025-11-27 07:45:07 +00:00
overrides qa: ignore expected OSD_ROOT_DOWN 2026-05-15 13:20:50 -04:00
packages qa: install ceph-osd-classic and ceph-osd-crimson 2025-11-12 18:11:49 +00:00
rbd qa: krbd_blkroset.t: eliminate a race in the open_count test 2026-01-22 16:41:14 +01:00
releases qa/workunits/cephtool/test: update to umbrella 2026-03-25 16:53:04 +00:00
rgw
rgw_bucket_sharding
rgw_frontend
rgw_pool_type
standalone Merge pull request #67715 from NitzanMordhai/wip-nitzan-is_pg_clean-hang-after-teardown 2026-05-11 13:15:14 -05:00
suites Merge PR #69055 into main 2026-05-28 13:57:54 -04:00
tasks Merge pull request #64293 from cbodley/wip-71265 2026-05-27 09:08:45 -04:00
timezone
workunits qa/cephadm: query iSCSI gateway FQDN from inside the container 2026-06-01 18:40:51 +08:00
.gitignore
.qa
asan.supp qa/{asan,lsan}.supp: suppress Python module and libstdc++ false positives 2025-09-06 08:52:02 +08:00
CMakeLists.txt
find-used-ports.sh
loopall.sh
lsan.supp qa/lsan.supp: suppress CPython 3.10 interpreter shutdown leaks 2026-04-25 21:44:44 +08:00
Makefile
mypy.ini
README
run_xfstests_qemu.sh
run_xfstests-obsolete.sh
run_xfstests.sh
run-standalone.sh
runallonce.sh
runoncfuse.sh
runonkclient.sh
setup-chroot.sh
test_import.py
tox.ini various: update pip+https URLs to new form. 2025-09-08 17:55:40 -07:00
valgrind.supp Merge pull request #66432 from stzuraski898/unittests-mgr 2026-04-23 09:52:23 -05:00

ceph-qa-suite
-------------

clusters/    - some predefined cluster layouts
suites/      - set suite

The suites directory has a hierarchical collection of tests.  This can be
freeform, but generally follows the convention of

  suites/<test suite name>/<test group>/...

A test is described by a yaml fragment.

A test can exist as a single .yaml file in the directory tree.  For example:

 suites/foo/one.yaml
 suites/foo/two.yaml

is a simple group of two tests.

A directory with a magic '+' file represents a test that combines all
other items in the directory into a single yaml fragment.  For example:

 suites/foo/bar/+
 suites/foo/bar/a.yaml
 suites/foo/bar/b.yaml
 suites/foo/bar/c.yaml

is a single test consisting of a + b + c.

A directory with a magic '%' file represents a test matrix formed from
all other items in the directory.  For example,

 suites/baz/%
 suites/baz/a.yaml
 suites/baz/b/b1.yaml
 suites/baz/b/b2.yaml
 suites/baz/c.yaml
 suites/baz/d/d1.yaml
 suites/baz/d/d2.yaml

is a 4-dimensional test matrix.  Two dimensions (a, c) are trivial (1
item), so this is really 2x2 = 4 tests, which are

  a + b1 + c + d1
  a + b1 + c + d2
  a + b2 + c + d1
  a + b2 + c + d2

A directory with a magic '$' file, or a directory whose name ends with '$',
represents a test where one of the non-magic items is chosen randomly.  For
example, both

 suites/foo/$
 suites/foo/a.yaml
 suites/foo/b.yaml
 suites/foo/c.yaml

and

 suites/foo$/a.yaml
 suites/foo$/b.yaml
 suites/foo$/c.yaml

is a single test, either a, b or c.  This can be used in conjunction with the
'%' file in the same (see below) or other directories to run a series of tests
without causing an unwanted increase in the total number of jobs run.

Symlinks are okay.

One particular use of symlinks is to combine '%' and the latter form of '$'
feature.  Consider supported_distros directory containing fragments that define
os_type and os_version:

 supported_distros/%
 supported_distros/centos.yaml
 supported_distros/rhel.yaml
 supported_distros/ubuntu.yaml

A test that links supported_distros as distros (a name that doesn't end with
'$') will be run three times: on centos, rhel and ubuntu.  A test that links
supported_distros as distros$ will be run just once: either on centos, rhel or
ubuntu, chosen randomly.

The teuthology code can be found in https://github.com/ceph/teuthology.git

Note: The performance suites clone CBT from master here: https://github.com/ceph/cbt.git
CBT will not support cosbench beyond release tag v0.3, therefore no qa suite should use cosbench.
cosbench support has been removed from qa/tasks/cbt.py.