Skip to content

Commit cb2ac3f

Browse files
committed
Add connection timeout to ssh commands in makefiles
1 parent f8d07a9 commit cb2ac3f

2 files changed

Lines changed: 7 additions & 7 deletions

File tree

‎Makefile‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -177,7 +177,7 @@ run: ## Run a CMD command on all servers via SSH
177177
fi; \
178178
hosts=$$(ansible-inventory -i metal/inventory.sh --list | jq -r '._meta.hostvars | keys[]'); \
179179
for host in $${hosts}; do \
180-
ssh "$${host}" "$${cmd}" || continue; \
180+
ssh -o ConnectTimeout=10 "$${host}" "$${cmd}" || continue; \
181181
printf "done %s on %s\n" "$${cmd}" "$${host}"; \
182182
done
183183

‎metal/Makefile‎

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -206,14 +206,14 @@ _requirements:
206206

207207
kubeconfig.yaml:
208208
@for hst in $$(make --quiet inventory | xargs); do
209-
if ping -q -c 3 -w 3 $${hst} >/dev/null; then
210-
if ssh $${hst} "test -f /etc/rancher/k3s/k3s.yaml"; then
211-
scp $${hst}:/etc/rancher/k3s/k3s.yaml kubeconfig.yaml >/dev/null
212-
sed -i 's/127.0.0.1/10.10.10.100/' kubeconfig.yaml
213-
exit 0
214-
fi
209+
if ssh -o ConnectTimeout=4 $${hst} "test -f /etc/rancher/k3s/k3s.yaml"; then
210+
scp $${hst}:/etc/rancher/k3s/k3s.yaml kubeconfig.yaml >/dev/null
211+
sed -i 's/127.0.0.1/10.10.10.100/' kubeconfig.yaml
212+
exit 0
215213
fi
216214
done
215+
echo "$(__RED)error: k3s.yaml not found or all hosts offline$(__RESET)"
216+
exit 1
217217

218218
### Main
219219

0 commit comments

Comments
 (0)