mirror of
https://github.com/jpetazzo/container.training.git
synced 2026-05-15 21:36:37 +00:00
Seems to help with AT&T fiber router. (Actually it takes a longer delay to make a difference, like 10 seconds, but this patch makes the delay configurable.)
36 lines
1.0 KiB
Bash
36 lines
1.0 KiB
Bash
# This file can be sourced in order to directly run commands on
|
|
# a group of VMs whose IPs are located in ips.txt of the directory in which
|
|
# the command is run.
|
|
|
|
pssh() {
|
|
if [ -z "$TAG" ]; then
|
|
>/dev/stderr echo "Variable \$TAG is not set."
|
|
return
|
|
fi
|
|
|
|
HOSTFILE="tags/$TAG/ips.txt"
|
|
|
|
[ -f $HOSTFILE ] || {
|
|
>/dev/stderr echo "Hostfile $HOSTFILE not found."
|
|
return
|
|
}
|
|
|
|
echo "[parallel-ssh] $@"
|
|
|
|
# There are some routers that really struggle with the number of TCP
|
|
# connections that we open when deploying large fleets of clusters.
|
|
# We're adding a 1 second delay here, but this can be cranked up if
|
|
# necessary - or down to zero, too.
|
|
sleep ${PSSH_DELAY_PRE-1}
|
|
|
|
$(which pssh || which parallel-ssh) -h $HOSTFILE -l ubuntu \
|
|
--par ${PSSH_PARALLEL_CONNECTIONS-100} \
|
|
--timeout 300 \
|
|
-O LogLevel=ERROR \
|
|
-O IdentityFile=tags/$TAG/id_rsa \
|
|
-O UserKnownHostsFile=/dev/null \
|
|
-O StrictHostKeyChecking=no \
|
|
-O ForwardAgent=yes \
|
|
"$@"
|
|
}
|