@@ -38,6 +38,9 @@ E2E_TEST_CMD="${TEMP_DIR}/e2e-${PLATFORM} ${COMMON_TEST_ARGS}"
38
38
# given control plane scope.
39
39
IN_MEMORY_E2E_TEST_CMD=" go test -v -timeout 900s -race ./test/e2e -args ${COMMON_TEST_ARGS} -in-memory-controllers=true -limited-scope-in-memory-controllers=false"
40
40
41
+ KUBEFED_UPGRADE_TEST_NS=" upgrade-test"
42
+ KUBEFED_UPGRADE_TEST_VERSION=" v0.5.0"
43
+
41
44
function build-binaries() {
42
45
${MAKE_CMD} hyperfed
43
46
${MAKE_CMD} controller
@@ -62,6 +65,25 @@ function run-e2e-tests() {
62
65
${E2E_TEST_CMD}
63
66
}
64
67
68
+ function run-e2e-upgrade-test() {
69
+ check-command-installed kubectl
70
+ check-command-installed helm
71
+
72
+ HOST_CLUSTER=" $( kubectl config current-context) "
73
+
74
+ echo " Installing an older kubefed version ${KUBEFED_UPGRADE_TEST_VERSION} "
75
+ helm install kubefed kubefed-charts/kubefed --namespace ${KUBEFED_UPGRADE_TEST_NS} --version=${KUBEFED_UPGRADE_TEST_VERSION} --create-namespace
76
+
77
+ deployment-image-as-expected " ${KUBEFED_UPGRADE_TEST_NS} " kubefed-admission-webhook admission-webhook " quay.io/kubernetes-multicluster/kubefed:${KUBEFED_UPGRADE_TEST_VERSION} "
78
+ deployment-image-as-expected " ${KUBEFED_UPGRADE_TEST_NS} " kubefed-controller-manager controller-manager " quay.io/kubernetes-multicluster/kubefed:${KUBEFED_UPGRADE_TEST_VERSION} "
79
+
80
+ echo " Upgrading kubefed to current version"
81
+ KUBEFED_NAMESPACE=$KUBEFED_UPGRADE_TEST_NS KIND_CLUSTER_NAME=${HOST_CLUSTER} KIND_LOAD_IMAGE=y ./scripts/deploy-kubefed.sh local/kubefed:e2e " ${join_cluster_list[@]-} "
82
+
83
+ deployment-image-as-expected " ${KUBEFED_UPGRADE_TEST_NS} " kubefed-admission-webhook admission-webhook " local/kubefed:e2e"
84
+ deployment-image-as-expected " ${KUBEFED_UPGRADE_TEST_NS} " kubefed-controller-manager controller-manager " local/kubefed:e2e"
85
+ }
86
+
65
87
function run-e2e-tests-with-in-memory-controllers() {
66
88
${IN_MEMORY_E2E_TEST_CMD}
67
89
}
@@ -138,7 +160,7 @@ echo "Downloading e2e test dependencies"
138
160
139
161
KIND_TAG=" v1.19.4@sha256:796d09e217d93bed01ecf8502633e48fd806fe42f9d02fdd468b81cd4e3bd40b" ./scripts/create-clusters.sh
140
162
141
- declare -a join_cluster_list=()
163
+ declare -a join_cluster_list=()
142
164
if [[ -z " ${JOIN_CLUSTERS} " ]]; then
143
165
for i in $( seq 2 " ${NUM_CLUSTERS} " ) ; do
144
166
join_cluster_list+=(" cluster${i} " )
@@ -178,3 +200,9 @@ run-namespaced-e2e-tests
178
200
179
201
echo " Deleting namespace-scoped kubefed"
180
202
KUBEFED_NAMESPACE=foo NAMESPACED=y DELETE_CLUSTER_RESOURCE=y ./scripts/delete-kubefed.sh
203
+
204
+ echo " Running e2e upgrade test"
205
+ run-e2e-upgrade-test
206
+
207
+ echo " Deleting kubefed"
208
+ KUBEFED_NAMESPACE=${KUBEFED_UPGRADE_TEST_NS} DELETE_CLUSTER_RESOURCE=y ./scripts/delete-kubefed.sh
0 commit comments