diff options
author | Chris Evich <cevich@redhat.com> | 2019-06-13 11:32:06 -0400 |
---|---|---|
committer | Chris Evich <cevich@redhat.com> | 2019-06-14 15:47:07 -0400 |
commit | ab3105a46d18136c8be7416b46100df23282b9a1 (patch) | |
tree | e5865bd4c09168c7b8a44e01403bc4cef59910c7 /contrib/cirrus/lib.sh | |
parent | 11484580d35c7310242303fa0728e3681462f37f (diff) | |
download | podman-ab3105a46d18136c8be7416b46100df23282b9a1.tar.gz podman-ab3105a46d18136c8be7416b46100df23282b9a1.tar.bz2 podman-ab3105a46d18136c8be7416b46100df23282b9a1.zip |
Cirrus: Fix F30 ssh guarantee
The original solution using --wait does not function on F30, waiting
forever. Replace it with a simple 5-minute timeout loop.
Signed-off-by: Chris Evich <cevich@redhat.com>
Diffstat (limited to 'contrib/cirrus/lib.sh')
-rw-r--r-- | contrib/cirrus/lib.sh | 21 |
1 files changed, 19 insertions, 2 deletions
diff --git a/contrib/cirrus/lib.sh b/contrib/cirrus/lib.sh index 98685faa9..30141db67 100644 --- a/contrib/cirrus/lib.sh +++ b/contrib/cirrus/lib.sh @@ -208,8 +208,25 @@ setup_rootless() { # Works with older versions of bash printf "${_env_var_name}=%q\n" "$(printenv $_env_var_name)" >> "/home/$ROOTLESS_USER/.bashrc" done - echo "Ensure the systems ssh process is up and running" - systemctl --wait restart sshd # a regular 'start' could hang forever + + echo "Ensure the systems ssh process is up and running within 5 minutes" + systemctl start sshd + NOW=$(date +%s) + TIMEOUT=$(date --date '+5 minutes' +%s) + while [[ "$(date +%s)" -lt "$TIMEOUT" ]] + do + if timeout --foreground -k 1s 1s \ + ssh $ROOTLESS_USER@localhost \ + -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no -o CheckHostIP=no \ + true + then + break + else + sleep 2s + fi + done + [[ "$(date +%s)" -lt "$TIMEOUT" ]] || \ + die 11 "Timeout exceeded waiting for localhost ssh capability" } # Helper/wrapper script to only show stderr/stdout on non-zero exit |