From c86e759c283c0202238448b03acccbaf53f7e618 Mon Sep 17 00:00:00 2001 From: Jim Martens Date: Sat, 4 Nov 2023 16:24:13 +0100 Subject: [PATCH] Wait with installation until helm and microk8s are available --- terraform/modules/k8s-cluster/helm.tf | 21 ++++++++++++++++--- terraform/modules/k8s-cluster/manager-node.tf | 12 ++++++++++- terraform/modules/k8s-cluster/worker-node.tf | 5 +++++ 3 files changed, 34 insertions(+), 4 deletions(-) diff --git a/terraform/modules/k8s-cluster/helm.tf b/terraform/modules/k8s-cluster/helm.tf index 9b529dd..51edf06 100644 --- a/terraform/modules/k8s-cluster/helm.tf +++ b/terraform/modules/k8s-cluster/helm.tf @@ -4,7 +4,12 @@ resource "null_resource" "install_setup" { user = "terraform" type = "ssh" private_key = var.terraform_private_ssh_key - timeout = "2m" + timeout = "10m" + } + + provisioner "remote-exec" { + interpreter = ["bash", "-c"] + command = "while (test -z `command -v helm`); do echo \"Waiting for cloud init to finish...\";sleep 5;done" } provisioner "file" { @@ -48,7 +53,12 @@ resource "null_resource" "install_argocd_single" { user = "terraform" type = "ssh" private_key = var.terraform_private_ssh_key - timeout = "2m" + timeout = "10m" + } + + provisioner "remote-exec" { + interpreter = ["bash", "-c"] + command = "while (test -z `command -v helm`); do echo \"Waiting for cloud init to finish...\";sleep 5;done" } provisioner "remote-exec" { @@ -70,7 +80,12 @@ resource "null_resource" "install_argocd_ha" { user = "terraform" type = "ssh" private_key = var.terraform_private_ssh_key - timeout = "2m" + timeout = "10m" + } + + provisioner "remote-exec" { + interpreter = ["bash", "-c"] + command = "while (test -z `command -v helm`); do echo \"Waiting for cloud init to finish...\";sleep 5;done" } provisioner "file" { diff --git a/terraform/modules/k8s-cluster/manager-node.tf b/terraform/modules/k8s-cluster/manager-node.tf index 8ff6a92..572407e 100644 --- a/terraform/modules/k8s-cluster/manager-node.tf +++ b/terraform/modules/k8s-cluster/manager-node.tf @@ -119,7 +119,7 @@ resource "null_resource" "setup_tokens" { user = "terraform" type = "ssh" private_key = var.terraform_private_ssh_key - timeout = "2m" + timeout = "10m" } provisioner "local-exec" { @@ -130,6 +130,11 @@ resource "null_resource" "setup_tokens" { EOT } + provisioner "remote-exec" { + interpreter = ["bash", "-c"] + command = "while (test -z `command -v microk8s`); do echo \"Waiting for cloud init to finish...\";sleep 5;done" + } + provisioner "file" { content = templatefile("${path.module}/templates/add-node.sh", { @@ -166,6 +171,11 @@ resource "null_resource" "join_nodes" { command = "while [[ $(cat /tmp/current_joining_node.txt) != \"${count.index + 1}\" ]]; do echo \"${count.index + 1} is waiting...\";sleep 5;done" } + provisioner "remote-exec" { + interpreter = ["bash", "-c"] + command = "while (test -z `command -v microk8s`); do echo \"Waiting for cloud init to finish...\";sleep 5;done" + } + provisioner "file" { content = templatefile("${path.module}/templates/join.sh", { diff --git a/terraform/modules/k8s-cluster/worker-node.tf b/terraform/modules/k8s-cluster/worker-node.tf index 93d56e1..c669757 100644 --- a/terraform/modules/k8s-cluster/worker-node.tf +++ b/terraform/modules/k8s-cluster/worker-node.tf @@ -101,6 +101,11 @@ resource "null_resource" "join_workers" { command = "while [[ $(cat /tmp/current_joining_worker_node.txt) != \"${count.index}\" ]]; do echo \"${count.index} is waiting...\";sleep 5;done" } + provisioner "remote-exec" { + interpreter = ["bash", "-c"] + command = "while (test -z `command -v microk8s`); do echo \"Waiting for cloud init to finish...\";sleep 5;done" + } + provisioner "file" { content = templatefile("${path.module}/templates/join-worker.sh", {