From: beierlm Date: Thu, 10 Mar 2022 11:14:38 +0000 (-0500) Subject: Bug 1903: Better SSH check X-Git-Tag: v10.1.1-rc1^0 X-Git-Url: https://osm.etsi.org/gitweb/?a=commitdiff_plain;ds=sidebyside;h=refs%2Fchanges%2F31%2F12131%2F1;p=osm%2Fdevops.git Bug 1903: Better SSH check Changes the ssh port ready check from a simple 'is the port open?' to a full ssh login check to ensure that sshd is actually running on the target server. Adds timeout to ssh check Fixes bug 1903 Change-Id: I8c3f0d8e1ac450726bc3336c00e7fbdf405fe067 Signed-off-by: beierlm --- diff --git a/jenkins/ci-pipelines/ci_stage_3.groovy b/jenkins/ci-pipelines/ci_stage_3.groovy index 14736e94..801ddbb0 100644 --- a/jenkins/ci-pipelines/ci_stage_3.groovy +++ b/jenkins/ci-pipelines/ci_stage_3.groovy @@ -396,10 +396,16 @@ node("${params.NODE}") { println("Waiting for VM at ${IP_ADDRESS} to be reachable") alive = false - while (! alive) { - output=sh(returnStdout: true, script: "sleep 1 ; nc -zv ${IP_ADDRESS} 22 2>&1 || true").trim() - println("output is [$output]") - alive = output.contains("succeeded") + timeout(time: 1, unit: 'MINUTES') { + while (!alive) { + output = sh( + returnStatus: true, + script: "ssh -T -i ${SSH_KEY} " + + "-o StrictHostKeyChecking=no " + + "-o UserKnownHostsFile=/dev/null " + + "-o ConnectTimeout=5 ubuntu@${IP_ADDRESS} 'echo Alive'") + alive = (output == 0) + } } println("VM is ready and accepting ssh connections") } // stage("Spawn Remote VM")