Fixed installation issue with kube-flannel.yml 51/11651/2
authorgarciadeblas <gerardo.garciadeblas@telefonica.com>
Fri, 21 Jan 2022 12:57:06 +0000 (13:57 +0100)
committerbeierlm <mark.beierl@canonical.com>
Tue, 15 Feb 2022 20:10:55 +0000 (21:10 +0100)
The installation of the local K8s cluster fails when kube-flannel.yml
is not found in the temp folder. The error that we see in the installation is
"error reading [/tmp/flannel.*****]: recognized file extensions are [.json .yaml .yml]"

This commit updates the function deploy_cni_provider to remove the silent
output when getting kube-flannel.yml. In addition, it adds several retries on error.
Finally, the error message has been modified to be more explicit about the error.

Change-Id: Ie979dc599d959bed778b3bd1e2c69257fcb51f63
Signed-off-by: garciadeblas <gerardo.garciadeblas@telefonica.com>
installers/install_kubeadm_cluster.sh

index d610bb6..70f6d9d 100755 (executable)
@@ -61,7 +61,8 @@ function deploy_cni_provider() {
     [ -z "${DEBUG_INSTALL}" ] || DEBUG beginning of function
     CNI_DIR="$(mktemp -d -q --tmpdir "flannel.XXXXXX")"
     trap 'rm -rf "${CNI_DIR}"' EXIT
-    wget -q https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml -P $CNI_DIR
+    wget --retry-on-host-error --retry-on-http-error 404,429,503 --tries=5 https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml -P $CNI_DIR
+    [ ! -f $CNI_DIR/kube-flannel.yml ] && FATAL "Cannot Install Flannel because $CNI_DIR/kube-flannel.yml was not found. Maybe the file https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml is temporarily not accessible"
     kubectl apply -f $CNI_DIR
     [ $? -ne 0 ] && FATAL "Cannot Install Flannel"
     [ -z "${DEBUG_INSTALL}" ] || DEBUG end of function