From 520a72c8e6579fcedf4451a260dce339a93a7c88 Mon Sep 17 00:00:00 2001 From: Marc CARRE Date: Thu, 6 Apr 2017 10:47:30 +0100 Subject: [PATCH] Lock kubeadm's Kubernetes version. Without this commit, `kubeadm` typically upgrades whichever version of Kubernetes is installed, sometimes leading to conflicts in between components' version. This fixes the issue behind #2876 and should avoid build failures like [weave/8373](https://circleci.com/gh/weaveworks/weave/8373). --- test/840_weave_kube_3_test.sh | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/test/840_weave_kube_3_test.sh b/test/840_weave_kube_3_test.sh index d206524e..8b0a5214 100755 --- a/test/840_weave_kube_3_test.sh +++ b/test/840_weave_kube_3_test.sh @@ -24,7 +24,11 @@ tear_down_kubeadm docker_on $HOST1 run --rm --privileged --net=host --entrypoint=/usr/sbin/ipset weaveworks/weave-npc create test_840_ipset bitmap:ip range 192.168.1.0/24 || true docker_on $HOST1 run --rm --privileged --net=host --entrypoint=/usr/sbin/ipset weaveworks/weave-npc add test_840_ipset 192.168.1.11 -run_on $HOST1 "sudo systemctl start kubelet && sudo kubeadm init --token=$TOKEN" +# kubeadm init upgrades to latest Kubernetes version by default, therefore we try to lock the version using the below option: +k8s_version="$(run_on $HOST1 "kubelet --version" | grep -oP "(?<=Kubernetes )v[\d\.\-beta]+")" +k8s_version_option="$([[ "$k8s_version" > "v1.6" ]] && echo "kubernetes-version" || echo "use-kubernetes-version")" + +run_on $HOST1 "sudo systemctl start kubelet && sudo kubeadm init --$k8s_version_option=$k8s_version --token=$TOKEN" run_on $HOST2 "sudo systemctl start kubelet && sudo kubeadm join --token=$TOKEN $HOST1IP" run_on $HOST3 "sudo systemctl start kubelet && sudo kubeadm join --token=$TOKEN $HOST1IP"