Fixing k8s api timing
This commit is contained in:
parent
12cde3acac
commit
1e63d0cbc8
|
|
@ -1091,8 +1091,8 @@ resource "helm_release" "argocd" {
|
|||
version = var.argocd.version
|
||||
namespace = var.argocd.namespace
|
||||
create_namespace = true
|
||||
timeout = 600
|
||||
wait = true
|
||||
timeout = 1200
|
||||
wait = false
|
||||
|
||||
values = [
|
||||
yamlencode({
|
||||
|
|
@ -1221,6 +1221,7 @@ resource "null_resource" "argocd_ready" {
|
|||
namespace = var.argocd.namespace
|
||||
version = var.argocd.version
|
||||
node_selector = jsonencode(local.argocd_node_selector)
|
||||
readiness_check = "2"
|
||||
}
|
||||
|
||||
provisioner "local-exec" {
|
||||
|
|
@ -1228,10 +1229,44 @@ resource "null_resource" "argocd_ready" {
|
|||
command = <<EOT
|
||||
set -euo pipefail
|
||||
|
||||
namespace="${self.triggers.namespace}"
|
||||
kubeconfig="${self.triggers.kubeconfig_path}"
|
||||
|
||||
dump_argocd_readiness_debug() {
|
||||
echo
|
||||
echo "Argo CD readiness diagnostics:"
|
||||
kubectl --kubeconfig "$kubeconfig" -n "$namespace" get deploy,statefulset,replicaset,pods,svc,endpoints -o wide || true
|
||||
echo
|
||||
kubectl --kubeconfig "$kubeconfig" -n "$namespace" get events --sort-by=.lastTimestamp | tail -80 || true
|
||||
echo
|
||||
kubectl --kubeconfig "$kubeconfig" -n "$namespace" describe pods || true
|
||||
echo
|
||||
kubectl --kubeconfig "$kubeconfig" -n "$namespace" logs deployment/argocd-repo-server --tail=120 || true
|
||||
kubectl --kubeconfig "$kubeconfig" -n "$namespace" logs deployment/argocd-server --tail=120 || true
|
||||
kubectl --kubeconfig "$kubeconfig" -n "$namespace" logs statefulset/argocd-application-controller --tail=120 || true
|
||||
}
|
||||
|
||||
rollout_if_present() {
|
||||
target="$1"
|
||||
if ! kubectl --kubeconfig "$kubeconfig" -n "$namespace" get "$target" >/dev/null 2>&1; then
|
||||
echo "Argo CD $target is not present yet; skipping rollout wait."
|
||||
return 0
|
||||
fi
|
||||
if ! kubectl --kubeconfig "$kubeconfig" -n "$namespace" rollout status "$target" --timeout=600s; then
|
||||
echo "Timed out waiting for Argo CD $target." >&2
|
||||
dump_argocd_readiness_debug
|
||||
exit 1
|
||||
fi
|
||||
}
|
||||
|
||||
kubectl --kubeconfig "${self.triggers.kubeconfig_path}" wait --for=condition=Established --timeout=180s crd/applications.argoproj.io
|
||||
kubectl --kubeconfig "${self.triggers.kubeconfig_path}" -n "${self.triggers.namespace}" rollout status deployment/argocd-repo-server --timeout=300s
|
||||
kubectl --kubeconfig "${self.triggers.kubeconfig_path}" -n "${self.triggers.namespace}" rollout status deployment/argocd-server --timeout=300s
|
||||
kubectl --kubeconfig "${self.triggers.kubeconfig_path}" -n "${self.triggers.namespace}" rollout status statefulset/argocd-application-controller --timeout=300s
|
||||
rollout_if_present deployment/argocd-applicationset-controller
|
||||
rollout_if_present statefulset/argocd-application-controller
|
||||
rollout_if_present deployment/argocd-dex-server
|
||||
rollout_if_present deployment/argocd-notifications-controller
|
||||
rollout_if_present deployment/argocd-redis
|
||||
rollout_if_present deployment/argocd-repo-server
|
||||
rollout_if_present deployment/argocd-server
|
||||
EOT
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue