shdsbilling/on-premise/main/rancher_v2.9.1/source/rancher-2.9.1/tests/v2prov/README.md

2.3 KiB

v2prov Integration Tests

These are a set of provisioning-v2 integration tests.

These tests are designed to be run on a single-node cluster (due to the usage of HostPath volumes), and perform e2e validations of v2prov + CAPR using systemd-node.

Test Categories

There are three major categories of tests that are contained within this test suite.

General

General tests, for example, ensuring system-agent version is as expected.

Provisioning_MP

Provisioning tests encompass creation and deletion of v2prov clusters. MP stands for machine-provisioned, and will use nodepools to manage the test infrastructure.

Provisioning_Custom

Provisioning tests encompass creation and deletion of v2prov clusters. Custom will use a "Custom" cluster and the framework manually creates systemd-node pods.

Operation_MP

Operation tests are day 2 operation tests like encryption key rotation, certificate rotation, and etcd snapshot creation/restore. MP stands for machine-provisioned, and will use nodepools to manage the test infrastructure.

Operation_Custom

Operation tests are day 2 operation tests like encryption key rotation, certificate rotation, and etcd snapshot creation/restore. Custom will use a "Custom" cluster and the framework manually creates systemd-node pods.

Test Naming Format

Within the tests folder, there are mutliple types of tests. They notably all have a format like to ensure we do not clog up individual pipeline stages as they are resource intensive.

Test_<Category>_<TestName>

<Category> corresponds to the categories listed above.

Running Locally

You can run these tests locally on a machine that can support running systemd within containers.

If you invoke make provisioning-tests, it will run all of the provisioning/general tests.

You can customize the tests you run through the use of the environment variables: V2PROV_TEST_RUN_REGEX and V2PROV_TEST_DIST.

V2PROV_TEST_DIST can be either k3s (default) or rke2 V2PROV_TEST_RUN_REGEX is a regex string indicating the pattern of tests to match. You can selectively run tests by setting this, for example:

V2PROV_TEST_RUN_REGEX=Test_Operation_Custom_EncryptionKeyRotation V2PROV_TEST_DIST=rke2 make provisioning-tests

would specifically run the Test_Operation_Custom_EncryptionKeyRotation test with RKE2.