diff options
Diffstat (limited to 'doc/dev/developer_guide/testing_integration_tests/tests-integration-testing-teuthology-kernel.rst')
-rw-r--r-- | doc/dev/developer_guide/testing_integration_tests/tests-integration-testing-teuthology-kernel.rst | 71 |
1 files changed, 71 insertions, 0 deletions
diff --git a/doc/dev/developer_guide/testing_integration_tests/tests-integration-testing-teuthology-kernel.rst b/doc/dev/developer_guide/testing_integration_tests/tests-integration-testing-teuthology-kernel.rst new file mode 100644 index 000000000..e7c20ee24 --- /dev/null +++ b/doc/dev/developer_guide/testing_integration_tests/tests-integration-testing-teuthology-kernel.rst @@ -0,0 +1,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 |