aboutsummaryrefslogtreecommitdiff
path: root/k8s
diff options
context:
space:
mode:
authorOmar Hamadeh <35840617+ScribblerCoder@users.noreply.github.com>2024-11-15 22:15:33 +0300
committerGitHub <noreply@github.com>2024-11-15 11:15:33 -0800
commit8ebbf37e8ece3177822dafbdb4fddcef6f724969 (patch)
tree345acdd5eec5304dc3a2f0c85f2da5812a6062ab /k8s
parent008ac38ebcc4b3e370b299cf14fe894d5361bb04 (diff)
downloadseaweedfs-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.yaml24
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 }}" |\