unoverse 0.1.146 → 0.1.147
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
|
@@ -17,3 +17,12 @@ become = True
|
|
|
17
17
|
become_method = sudo
|
|
18
18
|
become_user = root
|
|
19
19
|
become_ask_pass = False
|
|
20
|
+
|
|
21
|
+
[ssh_connection]
|
|
22
|
+
# A transient TCP timeout must not kill a deploy: a single dropped SYN to a busy
|
|
23
|
+
# or far-away VM read as UNREACHABLE on the very first task. Retry the connect
|
|
24
|
+
# (ConnectionAttempts) and the connection (retries) before declaring the host gone.
|
|
25
|
+
# The -C/ControlMaster/ControlPersist flags are ansible's defaults, restated
|
|
26
|
+
# because ssh_args REPLACES them rather than appending.
|
|
27
|
+
ssh_args = -C -o ControlMaster=auto -o ControlPersist=60s -o ConnectionAttempts=5 -o ConnectTimeout=15 -o ServerAliveInterval=15 -o ServerAliveCountMax=4
|
|
28
|
+
retries = 3
|
package/operator/lib/deploy.sh
CHANGED
|
@@ -819,8 +819,20 @@ EOF
|
|
|
819
819
|
# never been migrated, and reported success. The stamp is written only after install,
|
|
820
820
|
# database and verify have all passed, so an interrupted setup resumes as a setup.
|
|
821
821
|
if [ -z "$subcommand" ]; then
|
|
822
|
-
|
|
823
|
-
|
|
822
|
+
# "COULD NOT ASK" IS NOT "NOT SET UP". ssh exits 255 on a connection failure and
|
|
823
|
+
# with the remote command's status otherwise — and a transient timeout here once
|
|
824
|
+
# reclassified a healthy, deployed server as first-time, pointing a full install at
|
|
825
|
+
# it. Retry the connect, and if the host still cannot be reached, stop and say so
|
|
826
|
+
# rather than guessing what it is.
|
|
827
|
+
local stamp_probe=0
|
|
828
|
+
ssh -o BatchMode=yes -o StrictHostKeyChecking=accept-new -o ConnectTimeout=15 \
|
|
829
|
+
-o ConnectionAttempts=5 \
|
|
830
|
+
"$deploy_user@$deploy_host" 'test -f /opt/gravity/.setup-complete' >/dev/null 2>&1 || stamp_probe=$?
|
|
831
|
+
if [ "$stamp_probe" -eq 255 ]; then
|
|
832
|
+
rm -f "$tmp_inventory"
|
|
833
|
+
fail "Cannot reach $deploy_user@$deploy_host over SSH (tried 5 times). Check the network / security-group admin rule, then: unoverse deploy $cloud"
|
|
834
|
+
exit 1
|
|
835
|
+
elif [ "$stamp_probe" -ne 0 ]; then
|
|
824
836
|
echo ""
|
|
825
837
|
info "This server's setup has not finished. Running it ${DIM}(install, database, verify)${NC}"
|
|
826
838
|
subcommand="first-time"
|
package/package.json
CHANGED