diff options
author | Patrick Donnelly <pdonnell@ibm.com> | 2024-10-17 21:39:33 +0200 |
---|---|---|
committer | Patrick Donnelly <pdonnell@ibm.com> | 2024-10-21 18:16:36 +0200 |
commit | 4b084c608c1c347ad0e2c40c57ddc29d1498df39 (patch) | |
tree | 8212e37069f48c88cd325fa16e08f8009d36a520 /qa/cephfs | |
parent | Merge pull request #60323 from aclamk/wip-aclamk-fix-68528 (diff) | |
download | ceph-4b084c608c1c347ad0e2c40c57ddc29d1498df39.tar.xz ceph-4b084c608c1c347ad0e2c40c57ddc29d1498df39.zip |
qa/cephfs: override testing kernel with -k option
Normally, the fs suite overrides the kernel branch whenever the kernel client
is used, according to the matrix of configs. This prevents easily testing a new
kernel with the -k option to teuthology-suite. So, using the base config passed
to the script, detect if an alternate testing kernel is desired and use that
instead.
The scheduler still needs to do some work:
$ teuthology-suite ... --verbose -k wip-pdonnell-i66704 --filter k-testing
...
2024-10-18 00:29:43,875.875 DEBUG:teuthology.suite.merge:base kernel {'branch': 'wip-pdonnell-i66704', 'kdb': 1, 'sha1': '745cacd8f31e50d7f3b6039bbd8c9a8dfc07bf03', 'flavor': 'default'}
2024-10-18 00:29:43,875.875 DEBUG:teuthology.suite.merge:overriding testing kernel with {'branch': 'wip-pdonnell-i66704', 'kdb': 1, 'sha1': '745cacd8f31e50d7f3b6039bbd8c9a8dfc07bf03', 'flavor': 'default'}
vs.
$ teuthology-suite ... --verbose --filter k-testing
...
2024-10-17 20:04:52,265.265 DEBUG:teuthology.suite.merge:base kernel {'branch': 'distro', 'kdb': 1, 'sha1': 'distro'}
Which will only select jobs using the "testing" kernel.
See-also: https://github.com/ceph/teuthology/pull/2008
Fixes: https://tracker.ceph.com/issues/68603
Signed-off-by: Patrick Donnelly <pdonnell@ibm.com>
Diffstat (limited to 'qa/cephfs')
-rw-r--r-- | qa/cephfs/begin/3-kernel.yaml | 23 | ||||
-rw-r--r-- | qa/cephfs/mount/kclient/overrides/distro/testing/k-testing.yaml | 9 |
2 files changed, 32 insertions, 0 deletions
diff --git a/qa/cephfs/begin/3-kernel.yaml b/qa/cephfs/begin/3-kernel.yaml new file mode 100644 index 00000000000..e94a0d87dc8 --- /dev/null +++ b/qa/cephfs/begin/3-kernel.yaml @@ -0,0 +1,23 @@ +# When the --kernel option is given to teuthology-suite, the kernel is set for +# all nodes (also, the kernel is "distro" when the --kernel option is not set). +# We don't generally want to use a custom kernel for all tests, so unset it. +# The k-testing.yaml will set it, if given, for only the client nodes. +# +# Allow overriding this by using a branch ending in "-all". + +teuthology: + postmerge: + - | + local branch = yaml.kernel.branch + if branch and not yaml.kernel.branch:find "-all$" then + log.debug("removing default kernel specification: %s", yaml.kernel) + py_attrgetter(yaml.kernel).pop('branch', nil) + py_attrgetter(yaml.kernel).pop('deb', nil) + py_attrgetter(yaml.kernel).pop('flavor', nil) + py_attrgetter(yaml.kernel).pop('kdb', nil) + py_attrgetter(yaml.kernel).pop('koji', nil) + py_attrgetter(yaml.kernel).pop('koji_task', nil) + py_attrgetter(yaml.kernel).pop('rpm', nil) + py_attrgetter(yaml.kernel).pop('sha1', nil) + py_attrgetter(yaml.kernel).pop('tag', nil) + end diff --git a/qa/cephfs/mount/kclient/overrides/distro/testing/k-testing.yaml b/qa/cephfs/mount/kclient/overrides/distro/testing/k-testing.yaml index 2ee219125e7..048cd5ce8b9 100644 --- a/qa/cephfs/mount/kclient/overrides/distro/testing/k-testing.yaml +++ b/qa/cephfs/mount/kclient/overrides/distro/testing/k-testing.yaml @@ -1,3 +1,12 @@ +teuthology: + premerge: | + log.debug("base kernel %s", base_config.kernel) + local kernel = base_config.kernel + if kernel.branch ~= "distro" then + log.debug("overriding testing kernel with %s", kernel) + yaml_fragment.kernel.client = kernel + end + kernel: client: branch: testing |