flatcar-scripts/ci-automation/vendor-testing/azure.sh
Krzesimir Nowak cec96aeec5 ci-automation/vendor-testing/azure.sh: Small fixes
Fix some comments, quote some variables.
2022-06-02 18:40:06 +02:00

86 lines
2.7 KiB
Bash
Executable File

#!/bin/bash
# Copyright (c) 2021 The Flatcar Maintainers.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
set -euo pipefail
# Test execution script for the azure vendor image.
# This script is supposed to run in the mantle container.
source ci-automation/vendor_test.sh
# $@ now contains tests / test patterns to run
board="${CIA_ARCH}-usr"
basename="ci-${CIA_VERNUM//+/-}-${CIA_ARCH}"
azure_instance_type="${AZURE_MACHINE_SIZE}"
azure_vnet_subnet_name="jenkins-vnet-${AZURE_LOCATION}"
IS_AMD64=${CIA_ARCH//arm64/}
azure_profile_config_file=''
secret_to_file azure_profile_config_file "${AZURE_PROFILE}"
azure_auth_config_file=''
secret_to_file azure_auth_config_file "${AZURE_AUTH_CREDENTIALS}"
# Fetch the Azure image if not present
if [ -f "${AZURE_IMAGE_NAME}" ] ; then
echo "++++ ${CIA_TESTSCRIPT}: Using existing ${work_dir}/${AZURE_IMAGE_NAME} for testing ${CIA_VERNUM} (${CIA_ARCH}) ++++"
else
echo "++++ ${CIA_TESTSCRIPT}: downloading ${AZURE_IMAGE_NAME} for ${CIA_VERNUM} (${CIA_ARCH}) ++++"
copy_from_buildcache "images/${CIA_ARCH}/${CIA_VERNUM}/${AZURE_IMAGE_NAME}.bz2" .
cp --sparse=always <(lbzcat "${AZURE_IMAGE_NAME}.bz2") "${AZURE_IMAGE_NAME}"
rm "${AZURE_IMAGE_NAME}.bz2"
fi
if [[ "${CIA_ARCH}" == "arm64" ]]; then
AZURE_USE_GALLERY="--azure-use-gallery"
fi
run_kola_tests() {
local instance_type="${1}"; shift
local instance_tapfile="${1}"; shift
local hyperv_gen="v2"
if [ "${instance_type}" = "v1" ]; then
hyperv_gen="v1"
instance_type="${azure_instance_type}"
fi
# Align timeout with ore azure gc --duration parameter
timeout --signal=SIGQUIT 6h \
kola run \
--board="${board}" \
--basename="${basename}" \
--parallel="${AZURE_PARALLEL}" \
--offering=basic \
--platform=azure \
--azure-image-file="${AZURE_IMAGE_NAME}" \
--azure-location="${AZURE_LOCATION}" \
--azure-profile="${azure_profile_config_file}" \
--azure-auth="${azure_auth_config_file}" \
--torcx-manifest="${CIA_TORCX_MANIFEST}" \
--tapfile="${instance_tapfile}" \
--azure-size="${instance_type}" \
--azure-hyper-v-generation="${hyperv_gen}" \
${AZURE_USE_GALLERY} \
${azure_vnet_subnet_name:+--azure-vnet-subnet-name=${azure_vnet_subnet_name}} \
${AZURE_USE_PRIVATE_IPS:+--azure-use-private-ips=${AZURE_USE_PRIVATE_IPS}} \
"${@}"
}
query_kola_tests() {
shift; # ignore the instance type
kola list --platform=azure --filter "${@}"
}
run_kola_tests_on_instances \
"${azure_instance_type}" \
"${CIA_TAPFILE}" \
"${CIA_FIRST_RUN}" \
${IS_AMD64:+v1} \
'--' \
'cl.internet' \
'--' \
"${@}"