konflux: integrate Testing Farm for multi-arch kola testing#4030
konflux: integrate Testing Farm for multi-arch kola testing#4030Roshan-R wants to merge 22 commits intocoreos:testing-develfrom
Conversation
There was a problem hiding this comment.
Code Review
This pull request integrates Testing Farm for multi-arch kola testing by adding new Tekton and TMT configurations. The review has identified several important issues that need to be addressed. There are critical copy-paste errors in two shell scripts (tmt/tests/kola.sh and tmt/tests/test.sh) where diff headers have been included, which will cause them to fail. Additionally, there are high-severity concerns regarding the use of a privileged container, which is a security risk, and the hardcoding of a personal GitHub fork in the test scenarios, which impacts maintainability. Other medium-severity suggestions include verifying a potentially incorrect Fedora compose version and improving shell script robustness. Please address these points to ensure the changes are secure, correct, and maintainable.
| - name: GIT_URL | ||
| value: https://github.com/Roshan-R/fedora-coreos-config | ||
| - name: GIT_REF | ||
| value: kola-testing-farm |
There was a problem hiding this comment.
| - name: GIT_URL | ||
| value: https://github.com/Roshan-R/fedora-coreos-config | ||
| - name: GIT_REF | ||
| value: kola-testing-farm |
There was a problem hiding this comment.
|
/retest |
6e776e7 to
52b58ca
Compare
Enable execution of kola tests in Konflux through Testing Farm using the upstream tmt-via-testing-farm Tekton pipeline. This introduces two IntegrationTestScenario resources for x86_64 and aarch64, enabling Testing Farm to provision infrastructure and run kola via tmt. Other architectures are not yet enabled due to current Testing Farm provisioning limitations
52b58ca to
61f312b
Compare
tmt/tests/kola.sh
Outdated
| cosa buildextend-qemu | ||
| cosa kola run --rerun --allow-rerun-success=tags=needs-internet --build=latest --on-warn-failure-exit-77 --arch=$(arch) '--tag=!reprovision' --parallel=5 | ||
| mv $COSA_DIR/tmp/kola $TMT_TEST_DATA |
There was a problem hiding this comment.
we probably want to also test the ISO and build all the artifacts
| - name: IMAGE_TAG | ||
| value: v3.16 | ||
| - name: GIT_URL | ||
| value: https://github.com/Roshan-R/fedora-coreos-config |
| - name: IMAGE_TAG | ||
| value: v3.16 | ||
| - name: GIT_URL | ||
| value: https://github.com/Roshan-R/fedora-coreos-config |
tmt/plans/kola.fmf
Outdated
| /qemu: | ||
| summary: QEMU tests | ||
| tag: qemu | ||
| environment+: | ||
| PLATFORM: qemu |
There was a problem hiding this comment.
Let's split that in /build-qemu and /test-qemu at least
tmt/tests/kola.sh
Outdated
| env | grep --color=auto COREOS_ASSEMBLER; | ||
| local -r COREOS_ASSEMBLER_CONTAINER_LATEST="quay.io/coreos-assembler/coreos-assembler:latest"; | ||
| set -x; | ||
| podman run --rm -ti --security-opt=label=disable --privileged --uidmap=1000:0:1 --uidmap=0:1:1000 --uidmap=1001:1001:64536 -v=\${COSA_DIR}:/srv/ --device=/dev/kvm --device=/dev/fuse --tmpfs=/tmp -v=/var/tmp:/var/tmp --name=cosa \${COREOS_ASSEMBLER_CONFIG_GIT:+-v=\$COREOS_ASSEMBLER_CONFIG_GIT:/srv/src/config/:ro} \${COREOS_ASSEMBLER_GIT:+-v=\$COREOS_ASSEMBLER_GIT/src/:/usr/lib/coreos-assembler/:ro} \${COREOS_ASSEMBLER_ADD_CERTS:+-v=/etc/pki/ca-trust:/etc/pki/ca-trust:ro} \${COREOS_ASSEMBLER_CONTAINER_RUNTIME_ARGS} \${COREOS_ASSEMBLER_CONTAINER:-\$COREOS_ASSEMBLER_CONTAINER_LATEST} "\$@"; |
There was a problem hiding this comment.
we can drop the customization env vars here
tmt/tests/kola.sh
Outdated
| pushd ${COSA_DIR}/src/config | ||
| git checkout $CONFIG_COMMIT | ||
| popd | ||
| cosa buildextend-qemu |
There was a problem hiding this comment.
| cosa buildextend-qemu | |
| cosa osbuild qemu |
f9b2765 to
42b66b7
Compare
fca7f79 to
f4d9f74
Compare
f4d9f74 to
051c986
Compare
|
/retest |
06c8300 to
da3f958
Compare
da3f958 to
dd6a865
Compare
e3ac542 to
56f002b
Compare
|
/retest |
edd4824 to
cdb149d
Compare
57b9b52 to
55ad4fa
Compare
55ad4fa to
0ff4256
Compare
10fe25f to
9326d84
Compare
|
/retest |
1 similar comment
|
/retest |
| environment: | ||
| TEST_CASE: test-qemu | ||
|
|
||
| /build-iso: |
There was a problem hiding this comment.
Maybe we can put build-iso and test-iso in another VM to make the running time shorter?
Enable execution of kola tests in Konflux through Testing Farm using the upstream tmt-via-testing-farm Tekton pipeline.
This introduces two IntegrationTestScenario resources for x86_64 and aarch64, enabling Testing Farm to provision infrastructure and run kola via tmt. Other architectures are not yet enabled due to current Testing Farm provisioning limitations