mirror of
https://github.com/flatcar/scripts.git
synced 2025-08-16 01:16:59 +02:00
65 lines
2.3 KiB
Bash
Executable File
65 lines
2.3 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 Equinix Metal vendor image.
|
|
# This script is supposed to run in the mantle container.
|
|
# This script requires the PXE images to be built.
|
|
|
|
source ci-automation/vendor_test.sh
|
|
|
|
# Equinix Metal ARM server are not yet hourly available in the default `SV` metro
|
|
equinixmetal_metro_var="EQUINIXMETAL_${CIA_ARCH}_METRO"
|
|
equinixmetal_metro="${!equinixmetal_metro_var}"
|
|
|
|
EQUINIXMETAL_INSTANCE_TYPE_VAR="EQUINIXMETAL_${CIA_ARCH}_INSTANCE_TYPE"
|
|
EQUINIXMETAL_INSTANCE_TYPE="${!EQUINIXMETAL_INSTANCE_TYPE_VAR}"
|
|
MORE_INSTANCE_TYPES_VAR="EQUINIXMETAL_${CIA_ARCH}_MORE_INSTANCE_TYPES"
|
|
MORE_INSTANCE_TYPES=( ${!MORE_INSTANCE_TYPES_VAR} )
|
|
|
|
# The maximum is 6h coming from the ore GC duration parameter
|
|
timeout=6h
|
|
|
|
BASE_URL="http://${BUILDCACHE_SERVER}/images/${CIA_ARCH}/${CIA_VERNUM}"
|
|
|
|
run_kola_tests() {
|
|
local instance_type="${1}"; shift
|
|
local instance_tapfile="${1}"; shift
|
|
|
|
timeout --signal=SIGQUIT "${timeout}" \
|
|
kola run \
|
|
--board="${CIA_ARCH}-usr" \
|
|
--basename="ci-${CIA_VERNUM/+/-}-${CIA_ARCH}" \
|
|
--platform=equinixmetal \
|
|
--tapfile="${instance_tapfile}" \
|
|
--parallel="${EQUINIXMETAL_PARALLEL}" \
|
|
--equinixmetal-image-url="${BASE_URL}/${EQUINIXMETAL_IMAGE_NAME}" \
|
|
--equinixmetal-installer-image-kernel-url="${BASE_URL}/${PXE_KERNEL_NAME}" \
|
|
--equinixmetal-installer-image-cpio-url="${BASE_URL}/${PXE_IMAGE_NAME}" \
|
|
--equinixmetal-metro="${equinixmetal_metro}" \
|
|
--equinixmetal-plan="${instance_type}" \
|
|
--equinixmetal-project="${EQUINIXMETAL_PROJECT}" \
|
|
--equinixmetal-storage-url="${EQUINIXMETAL_STORAGE_URL}" \
|
|
--gce-json-key=<(set +x; echo "${GCP_JSON_KEY}" | base64 --decode) \
|
|
--equinixmetal-api-key="${EQUINIXMETAL_KEY}" \
|
|
"${@}"
|
|
}
|
|
|
|
query_kola_tests() {
|
|
shift; # ignore the instance type
|
|
kola list --platform=equinixmetal --filter "${@}"
|
|
}
|
|
|
|
run_kola_tests_on_instances \
|
|
"${EQUINIXMETAL_INSTANCE_TYPE}" \
|
|
"${CIA_TAPFILE}" \
|
|
"${CIA_FIRST_RUN}" \
|
|
"${MORE_INSTANCE_TYPES[@]}" \
|
|
'--' \
|
|
'cl.internet' \
|
|
'--' \
|
|
"${@}"
|