CI: hotfix :: Virtual machines are started sequentially to prevent crashes
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
This commit is contained in:
@@ -47,6 +47,42 @@ pipeline {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
stage ("Start VM -- cppcheck") {
|
||||||
|
steps {
|
||||||
|
sh "./ci-scripts/createVM.sh --variant cppcheck --job-name ${JOB_NAME} --build-id ${BUILD_ID}"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
stage ("Start VM -- enb-usrp") {
|
||||||
|
steps {
|
||||||
|
sh "./ci-scripts/createVM.sh --variant enb-usrp --job-name ${JOB_NAME} --build-id ${BUILD_ID}"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
stage ("Start VM -- basic-sim") {
|
||||||
|
steps {
|
||||||
|
sh "./ci-scripts/createVM.sh --variant basic-sim --job-name ${JOB_NAME} --build-id ${BUILD_ID}"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
stage ("Start VM -- phy-sim") {
|
||||||
|
steps {
|
||||||
|
sh "./ci-scripts/createVM.sh --variant phy-sim --job-name ${JOB_NAME} --build-id ${BUILD_ID}"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
stage ("Start VM -- enb-ethernet") {
|
||||||
|
steps {
|
||||||
|
sh "./ci-scripts/createVM.sh --variant enb-ethernet --job-name ${JOB_NAME} --build-id ${BUILD_ID}"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
stage ("Start VM -- ue-ethernet") {
|
||||||
|
steps {
|
||||||
|
sh "./ci-scripts/createVM.sh --variant ue-ethernet --job-name ${JOB_NAME} --build-id ${BUILD_ID}"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
stage ("Variant Builds") {
|
stage ("Variant Builds") {
|
||||||
parallel {
|
parallel {
|
||||||
stage ("Analysis with cppcheck") {
|
stage ("Analysis with cppcheck") {
|
||||||
|
|||||||
+11
-6
@@ -240,12 +240,17 @@ echo "JENKINS_WKSP = $JENKINS_WKSP"
|
|||||||
echo "ARCHIVES_LOC = $ARCHIVES_LOC"
|
echo "ARCHIVES_LOC = $ARCHIVES_LOC"
|
||||||
echo "BUILD_OPTIONS = $BUILD_OPTIONS"
|
echo "BUILD_OPTIONS = $BUILD_OPTIONS"
|
||||||
|
|
||||||
echo "############################################################"
|
IS_VM_ALIVE=`uvt-kvm list | grep -c $VM_NAME`
|
||||||
echo "Creating VM ($VM_NAME) on Ubuntu Cloud Image base"
|
|
||||||
echo "############################################################"
|
if [ $IS_VM_ALIVE -eq 0 ]
|
||||||
uvt-kvm create $VM_NAME release=xenial --memory 2048 --cpu 4 --unsafe-caching --template ci-scripts/template-host.xml
|
then
|
||||||
echo "Waiting for VM to be started"
|
echo "############################################################"
|
||||||
uvt-kvm wait $VM_NAME --insecure
|
echo "Creating VM ($VM_NAME) on Ubuntu Cloud Image base"
|
||||||
|
echo "############################################################"
|
||||||
|
uvt-kvm create $VM_NAME release=xenial --memory 2048 --cpu 4 --unsafe-caching --template ci-scripts/template-host.xml
|
||||||
|
echo "Waiting for VM to be started"
|
||||||
|
uvt-kvm wait $VM_NAME --insecure
|
||||||
|
fi
|
||||||
|
|
||||||
VM_IP_ADDR=`uvt-kvm ip $VM_NAME`
|
VM_IP_ADDR=`uvt-kvm ip $VM_NAME`
|
||||||
echo "$VM_NAME has for IP addr = $VM_IP_ADDR"
|
echo "$VM_NAME has for IP addr = $VM_IP_ADDR"
|
||||||
|
|||||||
Executable
+166
@@ -0,0 +1,166 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
function usage {
|
||||||
|
echo "OAI VM Creation script"
|
||||||
|
echo " Original Author: Raphael Defosseux"
|
||||||
|
echo " Requirements:"
|
||||||
|
echo " -- uvtool uvtool-libvirt apt-cacher"
|
||||||
|
echo " -- xenial image already synced"
|
||||||
|
echo " Default:"
|
||||||
|
echo " -- eNB with USRP"
|
||||||
|
echo ""
|
||||||
|
echo "Usage:"
|
||||||
|
echo "------"
|
||||||
|
echo " createVM.sh [OPTIONS]"
|
||||||
|
echo ""
|
||||||
|
echo "Options:"
|
||||||
|
echo "--------"
|
||||||
|
echo " --job-name #### OR -jn ####"
|
||||||
|
echo " Specify the name of the Jenkins job."
|
||||||
|
echo ""
|
||||||
|
echo " --build-id #### OR -id ####"
|
||||||
|
echo " Specify the build ID of the Jenkins job."
|
||||||
|
echo ""
|
||||||
|
echo " --variant enb-usrp OR -v1"
|
||||||
|
echo " --variant basic-sim OR -v2"
|
||||||
|
echo " --variant phy-sim OR -v3"
|
||||||
|
echo " --variant cppcheck OR -v4"
|
||||||
|
echo " --variant enb-ethernet OR -v7"
|
||||||
|
echo " --variant ue-ethernet OR -v8"
|
||||||
|
echo " Specify the variant to build."
|
||||||
|
echo ""
|
||||||
|
echo " --help OR -h"
|
||||||
|
echo " Print this help message."
|
||||||
|
echo ""
|
||||||
|
}
|
||||||
|
|
||||||
|
function variant_usage {
|
||||||
|
echo "OAI VM Build Check script"
|
||||||
|
echo " Original Author: Raphael Defosseux"
|
||||||
|
echo ""
|
||||||
|
echo " --variant enb-usrp OR -v1"
|
||||||
|
echo " --variant basic-sim OR -v2"
|
||||||
|
echo " --variant phy-sim OR -v3"
|
||||||
|
echo " --variant cppcheck OR -v4"
|
||||||
|
echo " --variant enb-ethernet OR -v7"
|
||||||
|
echo " --variant ue-ethernet OR -v8"
|
||||||
|
echo ""
|
||||||
|
}
|
||||||
|
|
||||||
|
if [ $# -lt 1 ] || [ $# -gt 6 ]
|
||||||
|
then
|
||||||
|
echo "Syntax Error: not the correct number of arguments"
|
||||||
|
echo ""
|
||||||
|
usage
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
VM_TEMPLATE=ci-
|
||||||
|
JOB_NAME=XX
|
||||||
|
BUILD_ID=XX
|
||||||
|
VM_NAME=ci-enb-usrp
|
||||||
|
|
||||||
|
while [[ $# -gt 0 ]]
|
||||||
|
do
|
||||||
|
key="$1"
|
||||||
|
|
||||||
|
case $key in
|
||||||
|
-h|--help)
|
||||||
|
shift
|
||||||
|
usage
|
||||||
|
exit 0
|
||||||
|
;;
|
||||||
|
-jn|--job-name)
|
||||||
|
JOB_NAME="$2"
|
||||||
|
shift
|
||||||
|
shift
|
||||||
|
;;
|
||||||
|
-id|--build-id)
|
||||||
|
BUILD_ID="$2"
|
||||||
|
shift
|
||||||
|
shift
|
||||||
|
;;
|
||||||
|
-v1)
|
||||||
|
VM_NAME=ci-enb-usrp
|
||||||
|
shift
|
||||||
|
;;
|
||||||
|
-v2)
|
||||||
|
VM_NAME=ci-basic-sim
|
||||||
|
shift
|
||||||
|
;;
|
||||||
|
-v3)
|
||||||
|
VM_NAME=ci-phy-sim
|
||||||
|
shift
|
||||||
|
;;
|
||||||
|
-v4)
|
||||||
|
VM_NAME=ci-cppcheck
|
||||||
|
shift
|
||||||
|
;;
|
||||||
|
-v7)
|
||||||
|
VM_NAME=ci-enb-ethernet
|
||||||
|
shift
|
||||||
|
;;
|
||||||
|
-v8)
|
||||||
|
VM_NAME=ci-ue-ethernet
|
||||||
|
shift
|
||||||
|
;;
|
||||||
|
--variant)
|
||||||
|
variant="$2"
|
||||||
|
case $variant in
|
||||||
|
enb-usrp)
|
||||||
|
VM_NAME=ci-enb-usrp
|
||||||
|
;;
|
||||||
|
basic-sim)
|
||||||
|
VM_NAME=ci-basic-sim
|
||||||
|
;;
|
||||||
|
phy-sim)
|
||||||
|
;;
|
||||||
|
cppcheck)
|
||||||
|
VM_NAME=ci-cppcheck
|
||||||
|
;;
|
||||||
|
enb-ethernet)
|
||||||
|
VM_NAME=ci-enb-ethernet
|
||||||
|
;;
|
||||||
|
ue-ethernet)
|
||||||
|
VM_NAME=ci-ue-ethernet
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
echo ""
|
||||||
|
echo "Syntax Error: Invalid Variant option -> $variant"
|
||||||
|
echo ""
|
||||||
|
variant_usage
|
||||||
|
exit 1
|
||||||
|
esac
|
||||||
|
shift
|
||||||
|
shift
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
echo "Syntax Error: unknown option: $key"
|
||||||
|
echo ""
|
||||||
|
usage
|
||||||
|
exit 1
|
||||||
|
esac
|
||||||
|
done
|
||||||
|
|
||||||
|
if [ "$JOB_NAME" == "XX" ] || [ "$BUILD_ID" == "XX" ]
|
||||||
|
then
|
||||||
|
VM_TEMPLATE=ci-
|
||||||
|
else
|
||||||
|
VM_TEMPLATE=${JOB_NAME}-b${BUILD_ID}-
|
||||||
|
fi
|
||||||
|
|
||||||
|
VM_NAME=`echo $VM_NAME | sed -e "s#ci-#$VM_TEMPLATE#"`
|
||||||
|
VM_CMDS=${VM_NAME}_cmds.txt
|
||||||
|
|
||||||
|
echo "VM_NAME = $VM_NAME"
|
||||||
|
|
||||||
|
echo "############################################################"
|
||||||
|
echo "Creating VM ($VM_NAME) on Ubuntu Cloud Image base"
|
||||||
|
echo "############################################################"
|
||||||
|
uvt-kvm create $VM_NAME release=xenial --memory 2048 --cpu 4 --unsafe-caching --template ci-scripts/template-host.xml
|
||||||
|
echo "Waiting for VM to be started"
|
||||||
|
uvt-kvm wait $VM_NAME --insecure
|
||||||
|
|
||||||
|
VM_IP_ADDR=`uvt-kvm ip $VM_NAME`
|
||||||
|
echo "$VM_NAME has for IP addr = $VM_IP_ADDR"
|
||||||
|
exit 0
|
||||||
Reference in New Issue
Block a user