fix: retry kubeadm inventory generation until VM IPs appear
Some checks failed
Terraform Plan / Terraform Plan (push) Has been cancelled
Some checks failed
Terraform Plan / Terraform Plan (push) Has been cancelled
This commit is contained in:
@@ -104,8 +104,22 @@ jobs:
|
||||
env:
|
||||
KUBEADM_SSH_USER: ${{ secrets.KUBEADM_SSH_USER }}
|
||||
run: |
|
||||
TF_OUTPUT_JSON="$(terraform -chdir=terraform output -json)"
|
||||
printf '%s' "$TF_OUTPUT_JSON" | ./nixos/kubeadm/scripts/render-inventory-from-tf-output.py > nixos/kubeadm/scripts/inventory.env
|
||||
set -euo pipefail
|
||||
for attempt in 1 2 3 4 5 6; do
|
||||
echo "Inventory render attempt $attempt/6"
|
||||
TF_OUTPUT_JSON="$(terraform -chdir=terraform output -json)"
|
||||
if printf '%s' "$TF_OUTPUT_JSON" | ./nixos/kubeadm/scripts/render-inventory-from-tf-output.py > nixos/kubeadm/scripts/inventory.env; then
|
||||
exit 0
|
||||
fi
|
||||
|
||||
if [ "$attempt" -lt 6 ]; then
|
||||
echo "VM IPv4s not available yet; waiting 30s before retry"
|
||||
sleep 30
|
||||
fi
|
||||
done
|
||||
|
||||
echo "Failed to render kubeadm inventory after retries"
|
||||
exit 1
|
||||
|
||||
- name: Validate nix installation
|
||||
run: |
|
||||
|
||||
@@ -104,8 +104,22 @@ jobs:
|
||||
env:
|
||||
KUBEADM_SSH_USER: ${{ secrets.KUBEADM_SSH_USER }}
|
||||
run: |
|
||||
TF_OUTPUT_JSON="$(terraform -chdir=terraform output -json)"
|
||||
printf '%s' "$TF_OUTPUT_JSON" | ./nixos/kubeadm/scripts/render-inventory-from-tf-output.py > nixos/kubeadm/scripts/inventory.env
|
||||
set -euo pipefail
|
||||
for attempt in 1 2 3 4 5 6; do
|
||||
echo "Inventory render attempt $attempt/6"
|
||||
TF_OUTPUT_JSON="$(terraform -chdir=terraform output -json)"
|
||||
if printf '%s' "$TF_OUTPUT_JSON" | ./nixos/kubeadm/scripts/render-inventory-from-tf-output.py > nixos/kubeadm/scripts/inventory.env; then
|
||||
exit 0
|
||||
fi
|
||||
|
||||
if [ "$attempt" -lt 6 ]; then
|
||||
echo "VM IPv4s not available yet; waiting 30s before retry"
|
||||
sleep 30
|
||||
fi
|
||||
done
|
||||
|
||||
echo "Failed to render kubeadm inventory after retries"
|
||||
exit 1
|
||||
|
||||
- name: Run cluster reset
|
||||
run: |
|
||||
|
||||
@@ -152,8 +152,22 @@ jobs:
|
||||
env:
|
||||
KUBEADM_SSH_USER: ${{ secrets.KUBEADM_SSH_USER }}
|
||||
run: |
|
||||
TF_OUTPUT_JSON="$(terraform -chdir=terraform output -json)"
|
||||
printf '%s' "$TF_OUTPUT_JSON" | ./nixos/kubeadm/scripts/render-inventory-from-tf-output.py > nixos/kubeadm/scripts/inventory.env
|
||||
set -euo pipefail
|
||||
for attempt in 1 2 3 4 5 6; do
|
||||
echo "Inventory render attempt $attempt/6"
|
||||
TF_OUTPUT_JSON="$(terraform -chdir=terraform output -json)"
|
||||
if printf '%s' "$TF_OUTPUT_JSON" | ./nixos/kubeadm/scripts/render-inventory-from-tf-output.py > nixos/kubeadm/scripts/inventory.env; then
|
||||
exit 0
|
||||
fi
|
||||
|
||||
if [ "$attempt" -lt 6 ]; then
|
||||
echo "VM IPv4s not available yet; waiting 30s before retry"
|
||||
sleep 30
|
||||
fi
|
||||
done
|
||||
|
||||
echo "Failed to render kubeadm inventory after retries"
|
||||
exit 1
|
||||
|
||||
- name: Ensure nix and nixos-rebuild
|
||||
env:
|
||||
|
||||
Reference in New Issue
Block a user