File: tests-integration-testing-teuthology-kernel.rst

package info (click to toggle)
ceph 18.2.8%2Bds-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 1,186,356 kB
  • sloc: cpp: 6,282,106; ansic: 3,507,390; python: 375,284; asm: 216,381; java: 133,450; sh: 125,595; xml: 39,398; ruby: 32,026; makefile: 29,004; javascript: 23,994; cs: 18,980; perl: 9,709; sql: 7,833; lisp: 5,920; pascal: 3,109; ada: 1,681; yacc: 478; awk: 188; f90: 55; php: 1
file content (71 lines) | stat: -rw-r--r-- 2,933 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
.. _tests-integration-testing-teuthology-kernel:

Integration Tests for Kernel Development
========================================


.. _kernel-cephfs:

CephFS
------

The ``fs`` suite runs various kernels as described by the `kernel YAML
fragments`_. These are symbolically linked by other sub-suites under the ``fs``
suite.

The matrix of fragments allows for testing the following configurations:

* The "stock" kernel on RHEL 8 (i.e. the kernel that ships with it).

* The `testing branch`_ by the kernel development team which represents the
  patches undergoing active testing. These patches may or may not be in the next
  upstream kernel release and include a mix of CephFS or kRBD changes. For the
  testing kernel, we test with whatever distributions are specified by the
  sub-suite. For example, the ``fs:functional`` sub-suite uses a random selection
  of the `supported random distros`_.




Testing custom kernels
----------------------

If you have a kernel branch on `ceph-client.git`_ and have built it using
shaman, then you can also test that easily by specifying an override for the
kernel. This is done via a YAML fragment passed to the ``teuthology-suite``
command:

::

    $ cat custom-kernel.yaml
    overrides:
      kernel:
        branch: for-linus

This specifies an override for the kernel branch specified in the suite's
matrix. You can also specify an override as a tag or SHA1 for the ``kernel``
task. When overriding the kernel, you should reduce the selection of jobs as
the matrix will include a number of kernel configurations you won't care to
test, as mentioned in the :ref:`kernel-cephfs` section; the override YAML will
apply to all configurations of the kernel so it will result in duplicate tests.
The command to run tests will look like:

.. prompt:: bash $

    teuthology-suite ... --suite fs --filter k-testing custom-kernel.yaml

Where ``...`` indicates other typical options that are normally specified when
running ``teuthology-suite``. The important filter ``--filter k-testing``
will limit the selection of jobs to those using the ``testing`` branch of the
kernel (see the `k-testing.yaml`_ file). So you'll only select jobs using the
kernel client with the ``testing`` branch. Your custom YAML file,
``custom-kernel.yaml``, will further override the ``testing`` branch to use
whatever you specify.



.. _kernel YAML fragments: https://github.com/ceph/ceph/tree/63f84c50e0851d456fc38b3330945c54162dd544/qa/cephfs/mount/kclient/overrides/distro
.. _ceph-client.git: https://github.com/ceph/ceph-client/tree/testing
.. _testing branch: https://github.com/ceph/ceph-client/tree/testing
.. _supported random distros: https://github.com/ceph/ceph/blob/63f84c50e0851d456fc38b3330945c54162dd544/qa/suites/fs/functional/distro
.. _k-testing.yaml: https://github.com/ceph/ceph/blob/63f84c50e0851d456fc38b3330945c54162dd544/qa/cephfs/mount/kclient/overrides/distro/testing/k-testing.yaml