| node ('build') { |
| stage 'Redeploy CiaB build node' |
| try { |
| maasOps: { |
| sh "maas login maas http://10.90.0.2/MAAS/api/2.0 ${apiKey}" |
| sh "maas maas machine release ${systemId}" |
| |
| timeout(time: 15) { |
| waitUntil { |
| try { |
| sh "maas maas machine read ${systemId} | grep Ready" |
| return true |
| } catch (exception) { |
| return false |
| } |
| } |
| } |
| |
| sh 'maas maas machines allocate' |
| sh "maas maas machine deploy ${systemId}" |
| |
| timeout(time: 30) { |
| waitUntil { |
| try { |
| sh "maas maas machine read ${systemId} | grep Deployed" |
| return true |
| } catch (exception) { |
| return false |
| } |
| } |
| } |
| } |
| |
| stage 'Wait for SSH on the CiaB build node' |
| sh 'ssh-keygen -f "/home/ubuntu/.ssh/known_hosts" -R 10.90.0.253' |
| timeout(time: 15) { |
| waitUntil { |
| try { |
| sh "sshpass -p ${headnodepass} ssh -oStrictHostKeyChecking=no -l ${headnodeuser} 10.90.0.253 curl -o cord-in-a-box.sh https://raw.githubusercontent.com/opencord/cord/master/scripts/cord-in-a-box.sh" |
| return true |
| } catch (exception) { |
| return false |
| } |
| } |
| } |
| |
| stage 'Run CORD-in-a-Box script' |
| sh "sshpass -p ${headnodepass} ssh -oStrictHostKeyChecking=no -l ${headnodeuser} 10.90.0.253 bash cord-in-a-box.sh -t" |
| |
| currentBuild.result = 'SUCCESS' |
| } catch (err) { |
| currentBuild.result = 'FAILURE' |
| step([$class: 'Mailer', notifyEveryUnstableBuild: true, recipients: 'cord-dev@opencord.org', sendToIndividuals: false]) |
| } finally { |
| } |
| |
| echo "RESULT: ${currentBuild.result}" |
| } |