diff options
| author | Omar Hamadeh <35840617+ScribblerCoder@users.noreply.github.com> | 2024-11-15 22:15:33 +0300 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2024-11-15 11:15:33 -0800 |
| commit | 8ebbf37e8ece3177822dafbdb4fddcef6f724969 (patch) | |
| tree | 345acdd5eec5304dc3a2f0c85f2da5812a6062ab /k8s | |
| parent | 008ac38ebcc4b3e370b299cf14fe894d5361bb04 (diff) | |
| download | seaweedfs-8ebbf37e8ece3177822dafbdb4fddcef6f724969.tar.xz seaweedfs-8ebbf37e8ece3177822dafbdb4fddcef6f724969.zip | |
Add a loop to wait for master and filer services in post-install-bucket-hook (#6240)
Add a loop to wait for master and filer services before creating buckets
Diffstat (limited to 'k8s')
| -rw-r--r-- | k8s/charts/seaweedfs/templates/post-install-bucket-hook.yaml | 24 |
1 files changed, 22 insertions, 2 deletions
diff --git a/k8s/charts/seaweedfs/templates/post-install-bucket-hook.yaml b/k8s/charts/seaweedfs/templates/post-install-bucket-hook.yaml index 2260bd84a..44d650898 100644 --- a/k8s/charts/seaweedfs/templates/post-install-bucket-hook.yaml +++ b/k8s/charts/seaweedfs/templates/post-install-bucket-hook.yaml @@ -32,9 +32,9 @@ spec: - name: WEED_CLUSTER_DEFAULT value: "sw" - name: WEED_CLUSTER_SW_MASTER - value: "{{ template "seaweedfs.name" . }}-master.{{ .Release.Namespace }}:9333" + value: "{{ template "seaweedfs.name" . }}-master.{{ .Release.Namespace }}:{{ .Values.master.port }}" - name: WEED_CLUSTER_SW_FILER - value: "{{ template "seaweedfs.name" . }}-filer-client.{{ .Release.Namespace }}:8888" + value: "{{ template "seaweedfs.name" . }}-filer-client.{{ .Release.Namespace }}:{{ .Values.filer.port }}" - name: POD_IP valueFrom: fieldRef: @@ -53,6 +53,26 @@ spec: - "/bin/sh" - "-ec" - | + wait_for_service() { + local url=$1 + local max_attempts=60 # 5 minutes total (5s * 60) + local attempt=1 + + echo "Waiting for service at $url..." + while [ $attempt -le $max_attempts ]; do + if wget -q --spider "$url" >/dev/null 2>&1; then + echo "Service at $url is up!" + return 0 + fi + echo "Attempt $attempt: Service not ready yet, retrying in 5s..." + sleep 5 + attempt=$((attempt + 1)) + done + echo "Service at $url failed to become ready within 5 minutes" + exit 1 + } + wait_for_service "http://$WEED_CLUSTER_SW_MASTER{{ .Values.master.readinessProbe.httpGet.path }}" + wait_for_service "http://$WEED_CLUSTER_SW_FILER{{ .Values.filer.readinessProbe.httpGet.path }}" {{- range $reg, $props := $.Values.filer.s3.createBuckets }} exec /bin/echo \ "s3.bucket.create --name {{ $props.name }}" |\ |
