ffa9aa55a644d41f139fe514f8461c75ca10fbea
[genesis.git] / compass / deploy / setup-env.sh
1 rm -rf compass-install
2 git clone http://git.openstack.org/stackforge/compass-install
3 cd compass-install
4
5 function join { local IFS="$1"; shift; echo "$*"; }
6 source ${SCRIPT_DIR}/../deploy/conf/${CONF_NAME}.conf
7 source ${SCRIPT_DIR}/../deploy/func.sh
8 if [[ ! -z $VIRT_NUMBER ]]; then
9     mac_array=$(${SCRIPT_DIR}/../deploy/mac_generator.sh $VIRT_NUMBER)
10     mac_list=$(join , $mac_array)
11     echo "pxe_boot_macs: [${mac_list}]" >> install/group_vars/all
12     echo "test: true" >> install/group_vars/all
13 fi
14 virsh list |grep compass
15 if [[ $? == 0 ]]; then
16     compass_old=`virsh list |grep compass|awk '{print$2}'`
17     virsh destroy ${compass_old}
18     virsh undefine ${compass_old}
19 fi
20 sudo vagrant up compass_nodocker
21 if [[ $? != 0 ]]; then
22     echo "installation of compass failed"
23     sudo vagrant destroy compass_nodocker
24     exit 1
25 fi
26 echo "compass is up"
27
28 tear_down_machines
29 if [[ -n $mac_array ]]; then
30     echo "bringing up pxe boot vms"
31     i=0
32     for mac in $mac_array; do
33         echo "creating vm disk for instance pxe${i}"
34         sudo qemu-img create -f raw /home/pxe${i}.raw ${VIRT_DISK}
35         sudo virt-install --accelerate --hvm --connect qemu:///system \
36              --name pxe$i --ram=$VIRT_MEM --pxe --disk /home/pxe$i.raw,format=raw \
37              --vcpus=$VIRT_CPUS --graphics vnc,listen=0.0.0.0 \
38              --network=bridge:virbr2,mac=$mac \
39              --network=bridge:virbr2 \
40              --network=bridge:virbr2 \
41              --network=bridge:virbr2 \
42              --noautoconsole --autostart --os-type=linux --os-variant=rhel6
43         if [[ $? != 0 ]]; then
44             echo "launching pxe${i} failed"
45             exit 1
46         fi
47         echo "checking pxe${i} state"
48         state=$(virsh domstate pxe${i})
49         if [[ "$state" == "running" ]]; then
50             echo "pxe${i} is running"
51             sudo virsh destroy pxe${i}
52         fi
53         echo "add network boot option and make pxe${i} reboot if failing"
54         sudo sed -i "/<boot dev='hd'\/>/ a\    <boot dev='network'\/>" /etc/libvirt/qemu/pxe${i}.xml
55         sudo sed -i "/<boot dev='network'\/>/ a\    <bios useserial='yes' rebootTimeout='0'\/>" /etc/libvirt/qemu/pxe${i}.xml
56         sudo virsh define /etc/libvirt/qemu/pxe${i}.xml
57         sudo virsh start pxe${i}
58         let i=i+1
59     done
60 fi
61 machines=${mac_list}