flatcar-scripts/ci-automation/ci-config.env
Sayan Chowdhury 42608d3c67
ci-automation/azure: Add initial container tests infra for Azure (#274)
The Azure tests use a similar logic as the GCE tests where an the
instance type parameter normally used in AWS/Equinix Metal tests is
here used to specify whether the VM gets started in Gen V1 or V2 mode.

Signed-off-by: Sayan Chowdhury <schowdhury@microsoft.com>
Co-authored-by: Kai Lüke <pothos@users.noreply.github.com>
2022-05-27 08:01:59 +02:00

132 lines
4.8 KiB
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.
# Flatcar CI static configuration
# Build cache server for build artifacts.
# Required services:
# - http and https (WITHOUT auto-redirect)
# - ssh for BUILDCACHE_USER
BUILDCACHE_SERVER="bincache.flatcar-linux.net"
BUILDCACHE_PATH_PREFIX="/srv/bincache"
BUILDCACHE_USER="bincache"
RELEASES_SERVER="mirror.release.flatcar-linux.net"
CONTAINER_REGISTRY="ghcr.io/flatcar-linux"
GC_BUCKET="flatcar-linux"
DEFAULT_HTTP_IMAGE_URL_TEMPLATE="@PROTO@://${BUILDCACHE_SERVER}/images/@ARCH@/@VERNUM@"
if ! command -v pigz > /dev/null; then
# No PIGZ on Flatcar
PIGZ="docker run --rm -i ghcr.io/flatcar-linux/pigz --fast"
fi
CI_GIT_AUTHOR="flatcar-ci"
CI_GIT_EMAIL="infra+ci@flatcar-linux.org"
# build artifacts go here (in container)
CONTAINER_TORCX_ROOT="/home/sdk/build/torcx"
CONTAINER_IMAGE_ROOT="/home/sdk/build/images"
#
# Image / vendor tests settings
#
# NOTE that these settings are evaluated by the vendor-tests script inside the
# SDK container. To override, new values must be passed into the container.
# Use something like
# echo "export [VAR]=\"${[VALUE]}\\"" > sdk_container/.env
# in your CI to override, e.g.
# echo "export PARALLEL_TESTS=\"5\"" > sdk_container/.env
# to override the number of test cases to be run in parallel.
# -- QEMU --
QEMU_IMAGE_NAME="flatcar_production_image.bin"
QEMU_PARALLEL="${PARALLEL_TESTS:-20}"
# BIOS path within the SDK
QEMU_BIOS="/usr/share/qemu/bios-256k.bin"
# UEFI bios filename on build cache.
# Published by vms.sh as part of the qemu vendor build.
QEMU_UEFI_BIOS="flatcar_production_qemu_uefi_efi_code.fd"
# -- Equinix Metal --
EQUINIXMETAL_PARALLEL="${PARALLEL_TESTS:-4}"
# Metro is a set of Equinix Metal regions
EQUINIXMETAL_amd64_METRO="${EQUINIXMETAL_amd64_METRO:-SV}"
EQUINIXMETAL_arm64_METRO="${EQUINIXMETAL_arm64_METRO:-DA}"
# Name of the Equinix Metal image
EQUINIXMETAL_IMAGE_NAME="flatcar_production_packet_image.bin.bz2"
# Storage URL required to store user-data
EQUINIXMETAL_STORAGE_URL="${EQUINIXMETAL_STORAGE_URL:-gs://flatcar-jenkins/mantle/packet}"
# Equinix Metal default AMD64 instance type
EQUINIXMETAL_amd64_INSTANCE_TYPE="${EQUINIXMETAL_amd64_INSTANCE_TYPE:-c3.small.x86}"
# Space separated list of instance types. On those instances the
# cl.internet kola test will be run if this test is selected to run.
EQUINIXMETAL_amd64_MORE_INSTANCE_TYPES="c3.medium.x86 m3.large.x86 s3.xlarge.x86 n2.xlarge.x86"
# Equinix Metal default ARM64 instance type
EQUINIXMETAL_arm64_INSTANCE_TYPE="c3.large.arm"
# Space separated list of instance types. On those instances the
# cl.internet kola test will be run if this test is selected to run.
EQUINIXMETAL_arm64_MORE_INSTANCE_TYPES=""
# -- PXE --
PXE_KERNEL_NAME="flatcar_production_pxe.vmlinuz"
PXE_IMAGE_NAME="flatcar_production_pxe_image.cpio.gz"
GCE_IMAGE_NAME="flatcar_production_gce.tar.gz"
GCE_GCS_IMAGE_UPLOAD="gs://flatcar-jenkins/developer/gce-ci"
GCE_MACHINE_TYPE="${GCE_MACHINE_TYPE:-n1-standard-2}"
GCE_PARALLEL="${PARALLEL_TESTS:-4}"
# -- Digital Ocean --
# Use the "@PROTO@" "@ARCH@", "@CHANNEL@" and "@VERNUM@" placeholders. They will
# be replaced.
: ${DIGITALOCEAN_IMAGE_URL_TEMPLATE:="${DEFAULT_HTTP_IMAGE_URL_TEMPLATE}/flatcar_production_digitalocean_image.bin.bz2"}
: ${DIGITALOCEAN_REGION:='sfo3'}
: ${DIGITALOCEAN_MACHINE_SIZE:='s-2vcpu-2gb'}
DIGITALOCEAN_PARALLEL="${PARALLEL_TESTS:-8}"
# DIGITALOCEAN_TOKEN_JSON env var is used for credentials, and should
# come from sdk_container/.env. It must be base64-encoded.
# -- VMware ESX --
: ${VMWARE_ESX_IMAGE_NAME:='flatcar_production_vmware_ova.ova'}
VMWARE_ESX_PARALLEL="${PARALLEL_TESTS:-4}"
# VMWARE_ESX_CREDS should come from sdk_container/.env and must be
# base64-encoded.
# -- AWS --
: ${AWS_amd64_INSTANCE_TYPE:="t3.small"}
# Space separated list of instance types. On those instances the
# cl.internet kola test will be run if this test is selected to run.
: ${AWS_amd64_MORE_INSTANCE_TYPES:="m4.2xlarge"}
: ${AWS_arm64_INSTANCE_TYPE:="a1.large"}
# Space separated list of instance types. On those instances the
# cl.internet kola test will be run if this test is selected to run.
: ${AWS_arm64_MORE_INSTANCE_TYPES:=""}
: ${AWS_IAM_PROFILE:="ciauto-test"}
: ${AWS_REGION:="us-east-1"}
: ${AWS_AMI_ID:=""}
AWS_PARALLEL="${PARALLEL_TESTS:-8}"
# AWS_ACCESS_KEY_ID and AWS_SECRET_ACCESS_KEY should come from
# sdk_container/.env
# -- Azure --
: ${AZURE_IMAGE_NAME:="flatcar_production_azure_image.vhd"}
: ${AZURE_MACHINE_SIZE:="Standard_D2s_v4"}
: ${AZURE_MORE_MACHINE_SIZE:="Standard_D2s_v4"}
: ${AZURE_USE_GALLERY:=""}
: ${AZURE_USE_PRIVATE_IPS:=true}
: ${AZURE_VNET_SUBNET_NAME:="jenkins-vnet-westeurope"}
AZURE_PARALLEL="${PARALLEL_TESTS:-20}"
AZURE_LOCATION="${AZURE_LOCATION:-westeurope}"