]> git.proxmox.com Git - ceph.git/blob - ceph/doc/dev/developer_guide/testing_integration_tests/tests-integration-testing-teuthology-kernel.rst
update ceph source to reef 18.1.2
[ceph.git] / ceph / doc / dev / developer_guide / testing_integration_tests / tests-integration-testing-teuthology-kernel.rst
1 .. _tests-integration-testing-teuthology-kernel:
2
3 Integration Tests for Kernel Development
4 ========================================
5
6
7 .. _kernel-cephfs:
8
9 CephFS
10 ------
11
12 The ``fs`` suite runs various kernels as described by the `kernel YAML
13 fragments`_. These are symbolically linked by other sub-suites under the ``fs``
14 suite.
15
16 The matrix of fragments allows for testing the following configurations:
17
18 * The "stock" kernel on RHEL 8 (i.e. the kernel that ships with it).
19
20 * The `testing branch`_ by the kernel development team which represents the
21 patches undergoing active testing. These patches may or may not be in the next
22 upstream kernel release and include a mix of CephFS or kRBD changes. For the
23 testing kernel, we test with whatever distributions are specified by the
24 sub-suite. For example, the ``fs:functional`` sub-suite uses a random selection
25 of the `supported random distros`_.
26
27
28
29
30 Testing custom kernels
31 ----------------------
32
33 If you have a kernel branch on `ceph-client.git`_ and have built it using
34 shaman, then you can also test that easily by specifying an override for the
35 kernel. This is done via a YAML fragment passed to the ``teuthology-suite``
36 command:
37
38 ::
39
40 $ cat custom-kernel.yaml
41 overrides:
42 kernel:
43 branch: for-linus
44
45 This specifies an override for the kernel branch specified in the suite's
46 matrix. You can also specify an override as a tag or SHA1 for the ``kernel``
47 task. When overriding the kernel, you should reduce the selection of jobs as
48 the matrix will include a number of kernel configurations you won't care to
49 test, as mentioned in the :ref:`kernel-cephfs` section; the override YAML will
50 apply to all configurations of the kernel so it will result in duplicate tests.
51 The command to run tests will look like:
52
53 .. prompt:: bash $
54
55 teuthology-suite ... --suite fs --filter k-testing custom-kernel.yaml
56
57 Where ``...`` indicates other typical options that are normally specified when
58 running ``teuthology-suite``. The important filter ``--filter k-testing``
59 will limit the selection of jobs to those using the ``testing`` branch of the
60 kernel (see the `k-testing.yaml`_ file). So you'll only select jobs using the
61 kernel client with the ``testing`` branch. Your custom YAML file,
62 ``custom-kernel.yaml``, will further override the ``testing`` branch to use
63 whatever you specify.
64
65
66
67 .. _kernel YAML fragments: https://github.com/ceph/ceph/tree/63f84c50e0851d456fc38b3330945c54162dd544/qa/cephfs/mount/kclient/overrides/distro
68 .. _ceph-client.git: https://github.com/ceph/ceph-client/tree/testing
69 .. _testing branch: https://github.com/ceph/ceph-client/tree/testing
70 .. _supported random distros: https://github.com/ceph/ceph/blob/63f84c50e0851d456fc38b3330945c54162dd544/qa/suites/fs/functional/distro
71 .. _k-testing.yaml: https://github.com/ceph/ceph/blob/63f84c50e0851d456fc38b3330945c54162dd544/qa/cephfs/mount/kclient/overrides/distro/testing/k-testing.yaml