mirror of
https://github.com/flatcar/scripts.git
synced 2025-08-07 04:56:58 +02:00
We still perform some tests using Gen 1 on amd64. Standard_D2s_v6 does not support this, but v5 will presumably be the last version that does, so hardcode that case. For Gen 2, you need to set the SKU for amd64 to work, and it has to use the gallery like arm64 already does. Using the gallery is possibly slightly slower, so ideally we would only upload the image once like we do for AWS, but let's just get it working for now. Signed-off-by: James Le Cuirot <jlecuirot@microsoft.com>
88 lines
2.7 KiB
Bash
Executable File
88 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_var="AZURE_${CIA_ARCH}_MACHINE_SIZE"
|
|
azure_instance_type="${!azure_instance_type_var}"
|
|
azure_vnet_subnet_name="jenkins-vnet-${AZURE_LOCATION}"
|
|
|
|
# Fetch the Azure image if not present
|
|
if [ -f "${AZURE_IMAGE_NAME}" ] ; then
|
|
echo "++++ ${CIA_TESTSCRIPT}: Using existing ${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
|
|
|
|
run_kola_tests() {
|
|
local instance_type="${1}"; shift
|
|
local instance_tapfile="${1}"; shift
|
|
local hyperv_gen sku
|
|
|
|
if [ "${instance_type}" = "V1" ]; then
|
|
hyperv_gen="V1"
|
|
sku="alpha"
|
|
# v5 is the last to support Gen 1. Only amd64 uses Gen 1.
|
|
instance_type="Standard_D2s_v5"
|
|
else
|
|
hyperv_gen="V2"
|
|
sku="alpha-gen2"
|
|
set -- --azure-use-gallery "${@}"
|
|
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}" \
|
|
--tapfile="${instance_tapfile}" \
|
|
--azure-size="${instance_type}" \
|
|
--azure-sku="${sku}" \
|
|
--azure-hyper-v-generation="${hyperv_gen}" \
|
|
${AZURE_USE_GALLERY} \
|
|
${AZURE_KOLA_VNET:+--azure-kola-vnet=${AZURE_KOLA_VNET}} \
|
|
${azure_vnet_subnet_name:+--azure-vnet-subnet-name=${azure_vnet_subnet_name}} \
|
|
${AZURE_USE_PRIVATE_IPS:+--azure-use-private-ips=${AZURE_USE_PRIVATE_IPS}} \
|
|
--image-version "${CIA_VERNUM}" \
|
|
"${@}"
|
|
}
|
|
|
|
query_kola_tests() {
|
|
shift; # ignore the instance type
|
|
kola list --platform=azure --filter "${@}"
|
|
}
|
|
|
|
other_instance_types=()
|
|
if [[ "${CIA_ARCH}" = 'amd64' ]]; then
|
|
other_instance_types+=('V1' 'Standard_NC6s_v3')
|
|
fi
|
|
|
|
run_kola_tests_on_instances \
|
|
"${azure_instance_type}" \
|
|
"${CIA_TAPFILE}" \
|
|
"${CIA_FIRST_RUN}" \
|
|
"${other_instance_types[@]}" \
|
|
'--' \
|
|
'cl.internet' 'cl.misc.nvidia'\
|
|
'--' \
|
|
"${@}"
|