Commit 44fe00d0 authored by Raphael Defosseux's avatar Raphael Defosseux

CI: unified VM scripting for option management

Signed-off-by: default avatarRaphael Defosseux <raphael.defosseux@eurecom.fr>
parent bf85f180
This diff is collapsed.
This diff is collapsed.
...@@ -20,8 +20,8 @@ ...@@ -20,8 +20,8 @@
# * contact@openairinterface.org # * contact@openairinterface.org
# */ # */
function usage { function create_usage {
echo "OAI VM Creation script" echo "OAI CI VM script"
echo " Original Author: Raphael Defosseux" echo " Original Author: Raphael Defosseux"
echo " Requirements:" echo " Requirements:"
echo " -- uvtool uvtool-libvirt apt-cacher" echo " -- uvtool uvtool-libvirt apt-cacher"
...@@ -31,9 +31,9 @@ function usage { ...@@ -31,9 +31,9 @@ function usage {
echo "" echo ""
echo "Usage:" echo "Usage:"
echo "------" echo "------"
echo " createVM.sh [OPTIONS]" echo " oai-ci-vm-tool create [OPTIONS]"
echo "" echo ""
echo "Options:" echo "Mandatory Options:"
echo "--------" echo "--------"
echo " --job-name #### OR -jn ####" echo " --job-name #### OR -jn ####"
echo " Specify the name of the Jenkins job." echo " Specify the name of the Jenkins job."
...@@ -41,14 +41,7 @@ function usage { ...@@ -41,14 +41,7 @@ function usage {
echo " --build-id #### OR -id ####" echo " --build-id #### OR -id ####"
echo " Specify the build ID of the Jenkins job." echo " Specify the build ID of the Jenkins job."
echo "" echo ""
echo " --variant enb-usrp OR -v1" variant_usage
echo " --variant basic-sim OR -v2"
echo " --variant phy-sim OR -v3"
echo " --variant cppcheck OR -v4"
echo " --variant gnb-usrp OR -v5"
echo " --variant nu-ue-usrp OR -v6"
echo " --variant enb-ethernet OR -v7"
echo " --variant ue-ethernet OR -v8"
echo " Specify the variant to build." echo " Specify the variant to build."
echo "" echo ""
echo " --help OR -h" echo " --help OR -h"
...@@ -56,158 +49,21 @@ function usage { ...@@ -56,158 +49,21 @@ function usage {
echo "" echo ""
} }
function variant_usage { function create_vm {
echo "OAI VM Build Check script" echo "############################################################"
echo " Original Author: Raphael Defosseux" echo "OAI CI VM script"
echo "" echo "############################################################"
echo " --variant enb-usrp OR -v1" echo "VM_NAME = $VM_NAME"
echo " --variant basic-sim OR -v2" echo "VM_MEMORY = $VM_MEMORY MBytes"
echo " --variant phy-sim OR -v3" echo "VM_CPU = $VM_CPU"
echo " --variant cppcheck OR -v4"
echo " --variant gnb-usrp OR -v5"
echo " --variant nu-ue-usrp OR -v6"
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
VM_MEMORY=2048
VM_CPU=4
while [[ $# -gt 0 ]] echo "############################################################"
do echo "Creating VM ($VM_NAME) on Ubuntu Cloud Image base"
key="$1" echo "############################################################"
uvt-kvm create $VM_NAME release=xenial --memory $VM_MEMORY --cpu $VM_CPU --unsafe-caching --template ci-scripts/template-host.xml
echo "Waiting for VM to be started"
uvt-kvm wait $VM_NAME --insecure
case $key in VM_IP_ADDR=`uvt-kvm ip $VM_NAME`
-h|--help) echo "$VM_NAME has for IP addr = $VM_IP_ADDR"
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
VM_MEMORY=8192
shift
;;
-v3)
VM_NAME=ci-phy-sim
shift
;;
-v4)
VM_NAME=ci-cppcheck
VM_MEMORY=8192
shift
;;
-v5)
VM_NAME=ci-gnb-usrp
shift
;;
-v6)
VM_NAME=ci-ue-nr-usrp
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
VM_MEMORY=8192
;;
phy-sim)
VM_NAME=ci-phy-sim
;;
cppcheck)
VM_NAME=ci-cppcheck
VM_MEMORY=8192
;;
gnb-usrp)
VM_NAME=ci-gnb-usrp
;;
nu-ue-usrp)
VM_NAME=ci-ue-nr-usrp
;;
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 "VM_MEMORY = $VM_MEMORY MBytes"
echo "VM_CPU = $VM_CPU"
echo "############################################################"
echo "Creating VM ($VM_NAME) on Ubuntu Cloud Image base"
echo "############################################################"
uvt-kvm create $VM_NAME release=xenial --memory $VM_MEMORY --cpu $VM_CPU --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
...@@ -20,15 +20,17 @@ ...@@ -20,15 +20,17 @@
# * contact@openairinterface.org # * contact@openairinterface.org
# */ # */
function usage { function destroy_usage {
echo "OAI VM Destroy script" echo "OAI CI VM script"
echo " Original Author: Raphael Defosseux" echo " Original Author: Raphael Defosseux"
echo " Requirements:"
echo " -- uvtool uvtool-libvirt apt-cacher"
echo "" echo ""
echo "Usage:" echo "Usage:"
echo "------" echo "------"
echo " destroyAllRunningVM.sh [OPTIONS]" echo " oai-ci-vm-tool destroy [OPTIONS]"
echo "" echo ""
echo "Options:" echo "Mandatory Options:"
echo "--------" echo "--------"
echo " --job-name #### OR -jn ####" echo " --job-name #### OR -jn ####"
echo " Specify the name of the Jenkins job." echo " Specify the name of the Jenkins job."
...@@ -36,66 +38,26 @@ function usage { ...@@ -36,66 +38,26 @@ function usage {
echo " --build-id #### OR -id ####" echo " --build-id #### OR -id ####"
echo " Specify the build ID of the Jenkins job." echo " Specify the build ID of the Jenkins job."
echo "" echo ""
echo "Options:"
echo "--------"
echo " --help OR -h" echo " --help OR -h"
echo " Print this help message." echo " Print this help message."
echo "" echo ""
} }
if [ $# -gt 4 ] function destroy_vm {
then echo "############################################################"
echo "Syntax Error: not the correct number of arguments" echo "OAI CI VM script"
echo "" echo "############################################################"
usage echo "VM_TEMPLATE = $VM_TEMPLATE"
exit 1
fi LIST_CI_VM=`uvt-kvm list | grep $VM_TEMPLATE`
VM_TEMPLATE=ci- for CI_VM in $LIST_CI_VM
JOB_NAME=XX do
BUILD_ID=XX VM_IP_ADDR=`uvt-kvm ip $CI_VM`
echo "VM to destroy: $CI_VM -- IP $VM_IP_ADDR"
while [[ $# -gt 0 ]] uvt-kvm destroy $CI_VM
do ssh-keygen -R $VM_IP_ADDR
key="$1" done
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
;;
*)
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
LIST_CI_VM=`uvt-kvm list | grep $VM_TEMPLATE`
for CI_VM in $LIST_CI_VM
do
VM_IP_ADDR=`uvt-kvm ip $CI_VM`
echo "VM to destroy: $CI_VM -- IP $VM_IP_ADDR"
uvt-kvm destroy $CI_VM
ssh-keygen -R $VM_IP_ADDR
done
exit 0
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment