2020-07-21 15:12:01 +03:00
#!/bin/bash
set -eou pipefail
2020-10-29 19:19:31 +03:00
export USER_DISKS_MOUNTS = "/var/lib/extra,/var/lib/p1,/var/lib/p2"
2020-07-21 15:12:01 +03:00
source ./hack/test/e2e.sh
PROVISIONER = qemu
CLUSTER_NAME = e2e-${ PROVISIONER }
case " ${ CI :- false } " in
true )
2020-09-26 00:00:43 +03:00
QEMU_FLAGS = ""
2020-07-21 15:12:01 +03:00
INSTALLER_TAG = " ${ TAG } "
; ;
*)
2020-07-29 19:39:47 +03:00
QEMU_FLAGS = "--with-bootloader=false"
2020-07-21 15:12:01 +03:00
INSTALLER_TAG = "latest"
; ;
esac
case " ${ CUSTOM_CNI_URL :- false } " in
false )
CUSTOM_CNI_FLAG =
; ;
*)
CUSTOM_CNI_FLAG = " --custom-cni-url= ${ CUSTOM_CNI_URL } "
; ;
esac
2020-08-27 23:23:20 +03:00
case " ${ WITH_UEFI :- false } " in
true )
QEMU_FLAGS = " ${ QEMU_FLAGS } --with-uefi "
; ;
esac
2020-12-21 21:01:37 +03:00
case " ${ USE_DISK_IMAGE :- false } " in
false )
DISK_IMAGE_FLAG =
; ;
*)
2020-12-22 21:14:13 +03:00
tar -xf _out/metal-amd64.tar.gz -C _out/
2020-12-21 21:01:37 +03:00
DISK_IMAGE_FLAG = "--disk-image-path=_out/disk.raw --with-apply-config"
; ;
esac
2020-07-21 15:12:01 +03:00
function create_cluster {
2020-07-24 17:47:32 +03:00
build_registry_mirrors
2020-07-21 15:12:01 +03:00
" ${ TALOSCTL } " cluster create \
--provisioner " ${ PROVISIONER } " \
--name " ${ CLUSTER_NAME } " \
--masters= 3 \
2020-12-17 15:47:58 +03:00
--mtu 1450 \
2020-07-21 15:12:01 +03:00
--memory 2048 \
--cpus 2.0 \
--cidr 172.20.1.0/24 \
2020-10-29 19:19:31 +03:00
--user-disk /var/lib/extra:100MB \
--user-disk /var/lib/p1:100MB:/var/lib/p2:100MB \
2020-09-23 14:08:47 -07:00
--install-image ${ REGISTRY :- ghcr .io } /talos-systems/installer:${ INSTALLER_TAG } \
2020-07-21 15:12:01 +03:00
--with-init-node= false \
2020-10-30 01:08:05 +03:00
--cni-bundle-url ${ ARTIFACTS } /talosctl-cni-bundle-'${ARCH}' .tar.gz \
2020-07-21 15:12:01 +03:00
--crashdump \
2020-12-22 21:14:13 +03:00
${ DISK_IMAGE_FLAG } \
2020-07-24 17:47:32 +03:00
${ REGISTRY_MIRROR_FLAGS } \
2020-07-21 15:12:01 +03:00
${ QEMU_FLAGS } \
${ CUSTOM_CNI_FLAG }
" ${ TALOSCTL } " config node 172.20.1.2
}
function destroy_cluster( ) {
2020-07-31 00:41:42 +03:00
" ${ TALOSCTL } " cluster destroy --name " ${ CLUSTER_NAME } " --provisioner " ${ PROVISIONER } "
2020-07-21 15:12:01 +03:00
}
create_cluster
get_kubeconfig
run_talos_integration_test
run_kubernetes_integration_test
2020-07-31 00:41:42 +03:00
destroy_cluster