From: beierlm Date: Thu, 10 Mar 2022 11:14:38 +0000 (-0500) Subject: Bug 1903: Better SSH check X-Git-Tag: v12.0.0rc1~30 X-Git-Url: https://osm.etsi.org/gitweb/?a=commitdiff_plain;h=49c463378083dd80e7638c26782fd6d6d7d768fd;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 61e9fd8f..c203313a 100644 --- a/jenkins/ci-pipelines/ci_stage_3.groovy +++ b/jenkins/ci-pipelines/ci_stage_3.groovy @@ -418,10 +418,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")