From 0144d23bb27c1088aecb6bef6a25ab411a17cc84 Mon Sep 17 00:00:00 2001 From: Brad Davidson Date: Thu, 6 Jan 2022 16:05:59 -0800 Subject: [PATCH] Add basic etcd join test Signed-off-by: Brad Davidson --- scripts/test | 3 +++ scripts/test-run-etcd | 45 +++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 48 insertions(+) create mode 100755 scripts/test-run-etcd diff --git a/scripts/test b/scripts/test index 29504607f6..ffa312c70a 100755 --- a/scripts/test +++ b/scripts/test @@ -21,6 +21,9 @@ echo "Did test-run-basics $?" . ./scripts/test-run-compat echo "Did test-run-compat $?" +. ./scripts/test-run-etcd +echo "Did test-run-etcd $?" + . ./scripts/test-run-lazypull echo "Did test-run-lazypull $?" diff --git a/scripts/test-run-etcd b/scripts/test-run-etcd new file mode 100755 index 0000000000..755398557e --- /dev/null +++ b/scripts/test-run-etcd @@ -0,0 +1,45 @@ +#!/bin/bash + +all_services=( + coredns + local-path-provisioner + metrics-server + traefik +) + +export NUM_SERVERS=2 +export NUM_AGENTS=0 +export WAIT_SERVICES="${all_services[@]}" +export SERVER_1_ARGS="--cluster-init" + +server-post-hook() { + if [ $1 -eq 1 ]; then + local url=$(cat $TEST_DIR/servers/1/metadata/url) + export SERVER_ARGS="${SERVER_ARGS} --server $url" + fi +} +export -f server-post-hook + +export -f server-post-hook +start-test() { + echo "Cluster is up" +} +export -f start-test + +# --- create a basic cluster to test joining managed etcd +LABEL="ETCD-JOIN-BASIC" SERVER_ARGS="" run-test + +# --- create a basic cluster to test joining a managed etcd cluster with --agent-token set +LABEL="ETCD-JOIN-AGENTTOKEN" SERVER_ARGS="--agent-token ${RANDOM}${RANDOM}${RANDOM}" run-test + +# --- test joining a managed etcd cluster with incompatible configuration +test-post-hook() { + if [[ $1 -eq 0 ]]; then + return + fi + grep -sqF 'critical configuration value mismatch' $TEST_DIR/servers/2/logs/system.log +} +export -f test-post-hook +LABEL="ETCD-JOIN-MISMATCH" SERVER_2_ARGS="--cluster-cidr 10.0.0.0/16" run-test + +cleanup-test-env