f102421f35f81dc6be64ca4bd2fc50eb47394868
[releng.git] / jjb / apex / apex-iso-verify.sh
1 #!/bin/bash
2 set -o errexit
3 set -o nounset
4 set -o pipefail
5
6 # log info to console
7 echo "Starting the Apex iso verify."
8 echo "--------------------------------------------------------"
9 echo
10
11 source $BUILD_DIRECTORY/../opnfv.properties
12
13 if ! rpm -q virt-install > /dev/null; then
14   sudo yum -y install virt-install
15 fi
16
17 # define a clean function
18 rm_apex_iso_verify () {
19 if sudo virsh list --all | grep apex-iso-verify | grep running; then
20     sudo virsh destroy apex-iso-verify
21 fi
22 if sudo virsh list --all | grep apex-iso-verify; then
23     sudo virsh undefine apex-iso-verify
24 fi
25 }
26
27 # Make sure a pre-existing iso-verify isn't there
28 rm_apex_iso_verify
29
30 #make sure there is not an existing console log file for the VM
31 sudo rm -f /var/log/libvirt/qemu/apex-iso-verify-console.log
32
33 # run an install from the iso
34 # This streams a serial console to tcp port 3737 on localhost
35 sudo virt-install -n apex-iso-verify -r 4096 --vcpus 4 --os-variant=rhel7 \
36  --accelerate -v --noautoconsole \
37  --disk path=/var/lib/libvirt/images/apex-iso-verify.qcow2,size=30,format=qcow2 \
38  -l $BUILD_DIRECTORY/release/OPNFV-CentOS-7-x86_64-$OPNFV_ARTIFACT_VERSION.iso \
39  --extra-args 'console=ttyS0 console=ttyS0,115200n8 serial inst.ks=file:/iso-verify.ks inst.stage2=hd:LABEL=OPNFV\x20CentOS\x207\x20x86_64:/' \
40  --initrd-inject $BUILD_DIRECTORY/../ci/iso-verify.ks \
41  --serial file,path=/var/log/libvirt/qemu/apex-iso-verify-console.log
42
43 echo "Waiting for install to finish..."
44 sleep 10
45 end_time=$(($SECONDS+1500))
46 while ! [[ `sudo tail -n1 /var/log/libvirt/qemu/apex-iso-verify-console.log` =~ 'Power down' ]]; do
47   if [ $SECONDS -gt $end_time ] || ! sudo virsh list --all | grep apex-iso-verify | grep running > /dev/null; then
48     sudo cat /var/log/libvirt/qemu/apex-iso-verify-console.log
49     sudo virsh list --all
50     echo "Error: Failed to find power down message after install"
51     exit 1
52   fi
53   sleep 10
54 done
55
56 sudo cat /var/log/libvirt/qemu/apex-iso-verify-console.log
57
58 # clean up
59 rm_apex_iso_verify
60
61 echo
62 echo "--------------------------------------------------------"
63 echo "Done!"