metrics: install kata and launch-times test

This PR installs kata static tarball on metrics runner
and run launch-times tests.

Fixes: #7049

Signed-off-by: David Esparza <david.esparza.borquez@intel.com>
This commit is contained in:
David Esparza 2023-06-19 18:32:23 -06:00
parent d071a87c7b
commit fad3ac9f58
No known key found for this signature in database
GPG Key ID: EABE0B1A98CC3B7A
4 changed files with 80 additions and 33 deletions

View File

@ -55,4 +55,6 @@ jobs:
run-metrics-tests:
needs: build-kata-static-tarball-amd64
uses: ./.github/workflows/run-launchtimes-metrics.yaml
uses: ./.github/workflows/run-metrics.yaml
with:
tarball-suffix: -${{ github.event.pull_request.number}}-${{ github.event.pull_request.head.sha }}

View File

@ -1,19 +0,0 @@
name: CI | Run launch-times metrics
on:
workflow_call:
jobs:
launch-times-tests:
runs-on: metrics
env:
GOPATH: ${{ github.workspace }}
steps:
- uses: actions/checkout@v3
with:
ref: ${{ github.event.pull_request.head.sha }}
- name: run launch times on qemu
run: bash tests/metrics/gha-run.sh run-test-launchtimes-qemu
- name: run launch times on clh
run: bash tests/metrics/gha-run.sh run-test-launchtimes-clh

33
.github/workflows/run-metrics.yaml vendored Normal file
View File

@ -0,0 +1,33 @@
name: CI | Run test metrics
on:
workflow_call:
inputs:
tarball-suffix:
required: false
type: string
jobs:
run-metrics:
runs-on: metrics
env:
GOPATH: ${{ github.workspace }}
ARTIFACTS_DIR: kata-artifacts
steps:
- uses: actions/checkout@v3
with:
ref: ${{ github.event.pull_request.head.sha }}
- name: get-kata-tarball
uses: actions/download-artifact@v3
with:
name: kata-static-tarball-amd64${{ inputs.tarball-suffix }}
path: ${{ ARTIFACTS_DIR }}
- name: Install kata
run: bash tests/metrics/gha-run.sh install-kata ${{ ARTIFACTS_DIR }}
- name: run launch times on qemu
run: bash tests/metrics/gha-run.sh run-test-launchtimes-qemu
- name: run launch times on clh
run: bash tests/metrics/gha-run.sh run-test-launchtimes-clh

View File

@ -9,27 +9,58 @@ set -o errexit
set -o nounset
set -o pipefail
kata_tarball_dir=${2:-kata-artifacts}
metrics_dir="$(dirname "$(readlink -f "$0")")"
create_symbolic_links() {
hypervisor="${1:-qemu}"
local link_configuration_file="/opt/kata/share/defaults/kata-containers/configuration.toml"
local source_configuration_file="/opt/kata/share/defaults/kata-containers/configuration-${hypervisor}.toml"
if [ ${hypervisor} != 'qemu' ] && [ ${hypervisor} != 'clh' ]; then
exit 2
fi
sudo ln -sf "${source_configuration_file}" "${link_configuration_file}"
}
install_kata() {
local katadir="/opt/kata"
local destdir="/"
# Removing previous kata installation
sudo rm -rf "${katadir}"
pushd ${kata_tarball_dir}
for c in kata-static-*.tar.xz; do
echo "untarring tarball "${c}" into ${destdir}"
sudo tar -xvf "${c}" -C "${destdir}"
done
popd
}
function run_test_launchtimes() {
hypervisor="${1}"
hypervisor="${1}"
echo "Running launchtimes tests: "
echo "Running launchtimes tests: "
if [ "${hypervisor}" = 'qemu' ]; then
echo "qemu"
elif [ "${hypervisor}" = 'clh' ]; then
echo "clh"
fi
create_symbolic_links "${hypervisor}"
if [ "${hypervisor}" = 'qemu' ]; then
echo "qemu"
elif [ "${hypervisor}" = 'clh' ]; then
echo "clh"
fi
}
function main() {
action="${1:-}"
case "${action}" in
run-test-launchtimes-qemu) run_test_launchtimes "qemu" ;;
run-test-launchtimes-clh) run_test_launchtimes "clh" ;;
*) >&2 echo "Invalid argument"; exit 2 ;;
esac
action="${1:-}"
case "${action}" in
install-kata) install_kata ;;
run-test-launchtimes-qemu) run_test_launchtimes "qemu" ;;
run-test-launchtimes-clh) run_test_launchtimes "clh" ;;
*) >&2 echo "Invalid argument"; exit 2 ;;
esac
}
main "$@"