Anaconda installer gating tests.
Additionally to the tests (tests*.yml
) contains also playbooks for runnning the tests from localhost on a remote test runner. The runner can be provisioned by linchpin
. See run_tests_remotely.sh script as an example of the playbooks usage.
The remote test runner can be provided in any way. To be used by the playbooks:
private_key_file
in ansible config. By default the remote_user
for running the tests is root
.gating_test_runner
group of remote_config/inventory.The runner can be provisioned in a cloud by linchpin as in the script:
credentials
variable of topology. So the credentials file clouds.yml
should contain profile ci-rhos
. The file can be placed to ~/.config/linchpin
directory or the directory containing the file can be set by linchpin
--creds-path
option.keypair
value of linchpin topology file. It should correspond to the key defined in ansible config. The topology file also defines image to be used for test runner.root
, fedora
, cloud-user
) and updates ansible config with the value.Test runner environment is prepared by prepare-test-runner.yml
playbook:
test_runner_repos
variable. It can be useful for example for adding a repository with scratch build to be tested or adding repositories for test dependencies missing on remote runner.artifacts
variable.Normally the testing system runs all the tests*.yml
playbooks.
WARNING:
The test playbooks are run on localhost
(test runner provided by the testing system). They change the test runner environment (eg install packages) so most probably you don't want to run them as they are - on your local host.
The script updates hosts
value of the test playbooks to use remote host from gating_test_runner
group as test runner (using a playbook).
If you want to run the tests playbooks separately make sure the hosts
variable in the test playbook is set to remote test runner (eg. gating_test_runner
).
The test playbooks need artifacts
variable supplied as can be seen in the script. (Normally testing system takes care of this.)
Repositories (base and additional) used for installation test are defined in repos configuration. Their URL can be either defined explicitly or looked up in specified repositories of the test runner.
There is a text and a vnc variant of dirinstall test. Both will run all the kickstarts found in roles/dirinstall/templates/kickstarts.
The results and logs are fetched from remote host into local host directory defined by artifacts
variable passed to the playbooks. This value can be passed also to the script with -a
option.