debian-forge-composer/tools
Tomas Hozza 55825042f7 tools: Add script to generate all test cases in VMs
Add the `generate-all-test-cases` tool, which generates all defined image
test cases based on provided "distro x arch x image-type" combination
matrix and CLI arguments. Test cases are generated by running the
`generate-test-cases` tool inside an architecture-specific VM.

The tool requires a qcow2 image to be provided for each requested
architecture. These images are used to create ephemeral VMs used
for test case generation.

There appears to be an issue with entropy on all VMs for other
architecture than the host's one. It makes the generation of the first
test case usually fail due to the `go get` command failing with a "TLS
handshake timeout" error. There is a workaround to retry the generation
of a test case a maximum of 3 times in this case. In the usual case,
the test case generation passes on the second try. All subsequent test
case generations should complete successfully on the first try.

Add the `distro-arch-imagetype-map.json` file as the default source of
the "distro x arch x image-type" combination matrix for generating test
cases. Its content is based on the current content of the
`test/data/manifests` directory.

Update `test/README.md` to mention the `generate-all-test-cases` tool.
Add a note, that `generate-test-cases` must be run on a host with the
same architecture, as the intended test case's.

Known issues:
- The tool does not work with RHEL images because of missing "9p"
  filesystem support.

Signed-off-by: Tomas Hozza <thozza@redhat.com>
2021-02-01 10:22:28 +01:00
..
deploy tools: Add script to generate all test cases in VMs 2021-02-01 10:22:28 +01:00
test-case-generators tools: Add script to generate all test cases in VMs 2021-02-01 10:22:28 +01:00
clouddot_build_deploy.sh tools: add delpoy script for clouddot 2020-12-22 15:27:39 +01:00
deploy-openstack tools: add deploy-openstack 2020-10-20 15:43:30 +02:00
deploy-qemu tools: Fix checking of args number in deploy-qemu 2021-01-11 10:33:51 +01:00
gen-certs.sh tools: Add internal container names to certs 2021-01-30 13:20:11 +00:00
gen-user-data tools/gen-user-data: don't depend on python3-pyyaml 2020-11-24 13:08:44 +01:00
image-info distro/{rhel8,rhel84}: set systemd default targets 2021-01-21 11:58:06 +01:00
koji-compose.py kojiapi: support multi-build composes 2020-11-11 18:16:42 +01:00
libvirt_test.sh tests: move the libvirt test logic out of Jenkinsfile 2020-12-02 08:44:33 +01:00
prepare-source.sh tools/prepare-source: also call go generate ./... 2020-09-08 20:40:08 +02:00
provision.sh tools: Separate cert generation into its own script 2021-01-30 13:20:11 +00:00
run-koji-container.sh koji/test: use our quay mirror of the postgres container 2020-11-09 11:10:07 +01:00