From 830d15d4c886ca0afddee4c2ed7ecec4a6acdab0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fabiano=20Fid=C3=AAncio?= Date: Fri, 28 Nov 2025 18:22:34 +0100 Subject: [PATCH] tests: Adapt to using kata-tools MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Instead of relying and the fully bloated kata tarball. Signed-off-by: Fabiano FidĂȘncio --- .github/workflows/basic-ci-amd64.yaml | 21 +++++++++++-- .github/workflows/ci.yaml | 10 +++--- .github/workflows/run-k8s-tests-on-aks.yaml | 10 +++--- .../run-k8s-tests-on-nvidia-gpu.yaml | 10 +++--- .../run-kata-coco-stability-tests.yaml | 10 +++--- .github/workflows/run-kata-coco-tests.yaml | 28 ++++++++++++++--- tests/common.bash | 31 +++++++++++++------ tests/functional/kata-agent-apis/gha-run.sh | 1 + tests/integration/kubernetes/gha-run.sh | 2 +- tests/integration/nydus/gha-run.sh | 1 + tests/stability/gha-stability-run.sh | 2 +- 11 files changed, 87 insertions(+), 39 deletions(-) diff --git a/.github/workflows/basic-ci-amd64.yaml b/.github/workflows/basic-ci-amd64.yaml index 6b984784cb..883e3429c2 100644 --- a/.github/workflows/basic-ci-amd64.yaml +++ b/.github/workflows/basic-ci-amd64.yaml @@ -147,9 +147,18 @@ jobs: name: kata-static-tarball-amd64${{ inputs.tarball-suffix }} path: kata-artifacts + - name: get-kata-tools-tarball + uses: actions/download-artifact@d3f86a106a0bac45b974a628896c90dbdf5c8093 # v4.3.0 + with: + name: kata-tools-static-tarball-amd64${{ inputs.tarball-suffix }} + path: kata-tools-artifacts + - name: Install kata run: bash tests/integration/nydus/gha-run.sh install-kata kata-artifacts + - name: Install kata-tools + run: bash tests/integration/nydus/gha-run.sh install-kata-tools kata-tools-artifacts + - name: Run nydus tests timeout-minutes: 10 run: bash tests/integration/nydus/gha-run.sh run @@ -367,8 +376,16 @@ jobs: name: kata-static-tarball-amd64${{ inputs.tarball-suffix }} path: kata-artifacts - - name: Install kata - run: bash tests/functional/kata-agent-apis/gha-run.sh install-kata kata-artifacts + - name: get-kata-tools-tarball + uses: actions/download-artifact@d3f86a106a0bac45b974a628896c90dbdf5c8093 # v4.3.0 + with: + name: kata-tools-static-tarball-amd64${{ inputs.tarball-suffix }} + path: kata-tools-artifacts + + - name: Install kata & kata-tools + run: | + bash tests/functional/kata-agent-apis/gha-run.sh install-kata kata-artifacts + bash tests/functional/kata-agent-apis/gha-run.sh install-kata-tools kata-tools-artifacts - name: Run kata agent api tests with agent-ctl run: bash tests/functional/kata-agent-apis/gha-run.sh run diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml index 30185c6e1b..1c8d849d62 100644 --- a/.github/workflows/ci.yaml +++ b/.github/workflows/ci.yaml @@ -233,14 +233,14 @@ jobs: env: TARGET_BRANCH: ${{ inputs.target-branch }} - - name: get-kata-tarball + - name: get-kata-tools-tarball uses: actions/download-artifact@d3f86a106a0bac45b974a628896c90dbdf5c8093 # v4.3.0 with: - name: kata-static-tarball-amd64-${{ inputs.tag }} - path: kata-artifacts + name: kata-tools-static-tarball-amd64-${{ inputs.tag }} + path: kata-tools-artifacts - - name: Install tools - run: bash tests/integration/kubernetes/gha-run.sh install-kata-tools kata-artifacts + - name: Install kata-tools + run: bash tests/integration/kubernetes/gha-run.sh install-kata-tools kata-tools-artifacts - name: Copy binary into Docker context run: | diff --git a/.github/workflows/run-k8s-tests-on-aks.yaml b/.github/workflows/run-k8s-tests-on-aks.yaml index 7cc8ece905..1a347c487c 100644 --- a/.github/workflows/run-k8s-tests-on-aks.yaml +++ b/.github/workflows/run-k8s-tests-on-aks.yaml @@ -93,14 +93,14 @@ jobs: env: TARGET_BRANCH: ${{ inputs.target-branch }} - - name: get-kata-tarball + - name: get-kata-tools-tarball uses: actions/download-artifact@d3f86a106a0bac45b974a628896c90dbdf5c8093 # v4.3.0 with: - name: kata-static-tarball-amd64${{ inputs.tarball-suffix }} - path: kata-artifacts + name: kata-tools-static-tarball-amd64${{ inputs.tarball-suffix }} + path: kata-tools-artifacts - - name: Install kata - run: bash tests/integration/kubernetes/gha-run.sh install-kata-tools kata-artifacts + - name: Install kata-tools + run: bash tests/integration/kubernetes/gha-run.sh install-kata-tools kata-tools-artifacts - name: Download Azure CLI uses: azure/setup-kubectl@776406bce94f63e41d621b960d78ee25c8b76ede # v4.0.1 diff --git a/.github/workflows/run-k8s-tests-on-nvidia-gpu.yaml b/.github/workflows/run-k8s-tests-on-nvidia-gpu.yaml index 13dd27f6b3..dd3c71ee70 100644 --- a/.github/workflows/run-k8s-tests-on-nvidia-gpu.yaml +++ b/.github/workflows/run-k8s-tests-on-nvidia-gpu.yaml @@ -63,14 +63,14 @@ jobs: env: TARGET_BRANCH: ${{ inputs.target-branch }} - - name: get-kata-tarball + - name: get-kata-tools-tarball uses: actions/download-artifact@d3f86a106a0bac45b974a628896c90dbdf5c8093 # v4.3.0 with: - name: kata-static-tarball-amd64${{ inputs.tarball-suffix }} - path: kata-artifacts + name: kata-tools-static-tarball-amd64${{ inputs.tarball-suffix }} + path: kata-tools-artifacts - - name: Install kata - run: bash tests/integration/kubernetes/gha-run.sh install-kata-tools kata-artifacts + - name: Install kata-tools + run: bash tests/integration/kubernetes/gha-run.sh install-kata-tools kata-tools-artifacts - name: Uninstall previous `kbs-client` if: matrix.environment.name != 'nvidia-gpu' diff --git a/.github/workflows/run-kata-coco-stability-tests.yaml b/.github/workflows/run-kata-coco-stability-tests.yaml index 0918952e00..7158233166 100644 --- a/.github/workflows/run-kata-coco-stability-tests.yaml +++ b/.github/workflows/run-kata-coco-stability-tests.yaml @@ -84,14 +84,14 @@ jobs: env: TARGET_BRANCH: ${{ inputs.target-branch }} - - name: get-kata-tarball + - name: get-kata-tools-tarball uses: actions/download-artifact@d3f86a106a0bac45b974a628896c90dbdf5c8093 # v4.3.0 with: - name: kata-static-tarball-amd64${{ inputs.tarball-suffix }} - path: kata-artifacts + name: kata-tools-static-tarball-amd64${{ inputs.tarball-suffix }} + path: kata-tools-artifacts - - name: Install kata - run: bash tests/integration/kubernetes/gha-run.sh install-kata-tools kata-artifacts + - name: Install kata-tools + run: bash tests/integration/kubernetes/gha-run.sh install-kata-tools kata-tools-artifacts - name: Log into the Azure account uses: azure/login@a457da9ea143d694b1b9c7c869ebb04ebe844ef5 # v2.3.0 diff --git a/.github/workflows/run-kata-coco-tests.yaml b/.github/workflows/run-kata-coco-tests.yaml index 1216a11b95..da2a21a360 100644 --- a/.github/workflows/run-kata-coco-tests.yaml +++ b/.github/workflows/run-kata-coco-tests.yaml @@ -79,6 +79,15 @@ jobs: env: TARGET_BRANCH: ${{ inputs.target-branch }} + - name: get-kata-tools-tarball + uses: actions/download-artifact@d3f86a106a0bac45b974a628896c90dbdf5c8093 # v4.3.0 + with: + name: kata-tools-static-tarball-amd64${{ inputs.tarball-suffix }} + path: kata-tools-artifacts + + - name: Install kata-tools + run: bash tests/integration/kubernetes/gha-run.sh install-kata-tools kata-tools-artifacts + - name: Deploy Kata timeout-minutes: 20 run: bash tests/integration/kubernetes/gha-run.sh deploy-kata @@ -178,14 +187,14 @@ jobs: env: TARGET_BRANCH: ${{ inputs.target-branch }} - - name: get-kata-tarball + - name: get-kata-tools-tarball uses: actions/download-artifact@d3f86a106a0bac45b974a628896c90dbdf5c8093 # v4.3.0 with: - name: kata-static-tarball-amd64${{ inputs.tarball-suffix }} - path: kata-artifacts + name: kata-tools-static-tarball-amd64${{ inputs.tarball-suffix }} + path: kata-tools-artifacts - - name: Install kata - run: bash tests/integration/kubernetes/gha-run.sh install-kata-tools kata-artifacts + - name: Install kata-tools + run: bash tests/integration/kubernetes/gha-run.sh install-kata-tools kata-tools-artifacts - name: Log into the Azure account uses: azure/login@a457da9ea143d694b1b9c7c869ebb04ebe844ef5 # v2.3.0 @@ -301,6 +310,15 @@ jobs: env: TARGET_BRANCH: ${{ inputs.target-branch }} + - name: get-kata-tools-tarball + uses: actions/download-artifact@d3f86a106a0bac45b974a628896c90dbdf5c8093 # v4.3.0 + with: + name: kata-tools-static-tarball-amd64${{ inputs.tarball-suffix }} + path: kata-tools-artifacts + + - name: Install kata-tools + run: bash tests/integration/kubernetes/gha-run.sh install-kata-tools kata-tools-artifacts + - name: Remove unnecessary directories to free up space run: | sudo rm -rf /usr/local/.ghcup diff --git a/tests/common.bash b/tests/common.bash index f082b9e0dc..e027bb59b6 100644 --- a/tests/common.bash +++ b/tests/common.bash @@ -457,31 +457,42 @@ log_level = "debug" EOF } -function install_kata_core() { - declare -r katadir="$1" +function install_tarball() { + declare -r installed_dir="${1}" + declare -r tarball_dir="${2}" + declare -r tarball="${3}" + declare -r remove_tarball_dir="${4}" declare -r destdir="/" - declare -r kata_tarball="kata-static.tar.zst" - # Removing previous kata installation - sudo rm -rf "${katadir}" + if [[ "${remove_tarball_dir}" == "true" ]]; then + # Removing previous tarball installation + sudo rm -rf "${installed_dir}" + fi - pushd "${kata_tarball_dir}" - sudo tar --zstd -xvf "${kata_tarball}" -C "${destdir}" + pushd "${tarball_dir}" + sudo tar --zstd -xvf "${tarball}" -C "${destdir}" popd } function install_kata_tools() { declare -r katadir="/opt/kata" + declare -r tarballdir="${1:-kata-tools-artifacts}" + declare -r local_bin_dir="/usr/local/bin/" - # TODO: implement a better way to install the tools - see issue #8864. - install_kata_core "${katadir}" + install_tarball "${katadir}" "${tarballdir}" "kata-tools-static.tar.zst" false + + # create symbolic links to kata-tools components + for b in "${katadir}"/bin/* ; do + sudo ln -sf "${b}" "${local_bin_dir}/$(basename $b)" + done } function install_kata() { declare -r katadir="/opt/kata" + declare -r tarballdir="kata-artifacts" declare -r local_bin_dir="/usr/local/bin/" - install_kata_core "${katadir}" + install_tarball "${katadir}" "${tarballdir}" "kata-static.tar.zst" true # create symbolic links to kata components for b in "${katadir}"/bin/* ; do diff --git a/tests/functional/kata-agent-apis/gha-run.sh b/tests/functional/kata-agent-apis/gha-run.sh index 8ff12571c5..b23eaa59d9 100755 --- a/tests/functional/kata-agent-apis/gha-run.sh +++ b/tests/functional/kata-agent-apis/gha-run.sh @@ -38,6 +38,7 @@ function main() { case "${action}" in install-dependencies) install_dependencies ;; install-kata) install_kata ;; + install-kata-tools) install_kata_tools "${2:-}" ;; run) run ;; *) >&2 die "Invalid argument" ;; esac diff --git a/tests/integration/kubernetes/gha-run.sh b/tests/integration/kubernetes/gha-run.sh index 48695e27d0..98cbac07a5 100755 --- a/tests/integration/kubernetes/gha-run.sh +++ b/tests/integration/kubernetes/gha-run.sh @@ -616,7 +616,7 @@ function main() { deploy-coco-kbs) deploy_coco_kbs ;; deploy-k8s) deploy_k8s ${CONTAINER_ENGINE:-} ${CONTAINER_ENGINE_VERSION:-};; install-bats) install_bats ;; - install-kata-tools) install_kata_tools ;; + install-kata-tools) install_kata_tools "${2:-}" ;; install-kbs-client) install_kbs_client ;; get-cluster-credentials) get_cluster_credentials "" ;; deploy-csi-driver) return 0 ;; diff --git a/tests/integration/nydus/gha-run.sh b/tests/integration/nydus/gha-run.sh index 1f26dc8b68..3ff504e8de 100755 --- a/tests/integration/nydus/gha-run.sh +++ b/tests/integration/nydus/gha-run.sh @@ -60,6 +60,7 @@ function main() { case "${action}" in install-dependencies) install_dependencies ;; install-kata) install_kata ;; + install-kata-tools) install_kata_tools "${2:-}" ;; run) run ;; *) >&2 die "Invalid argument" ;; esac diff --git a/tests/stability/gha-stability-run.sh b/tests/stability/gha-stability-run.sh index 8c5cfb82fd..450cb47254 100755 --- a/tests/stability/gha-stability-run.sh +++ b/tests/stability/gha-stability-run.sh @@ -30,7 +30,7 @@ function main() { case "${action}" in create-cluster) create_cluster ;; install-bats) install_bats ;; - install-kata-tools) install_kata_tools ;; + install-kata-tools) install_kata_tools "${2:-}" ;; get-cluster-credentials) get_cluster_credentials ;; deploy-snapshotter) deploy_snapshotter ;; deploy-kata-aks) deploy_kata "aks" ;;