Removed fuel from Genesis master since fuel has moved to repo fuel.
[genesis.git] / compass / deploy / network.sh
1 function destroy_nets() {
2     sudo virsh net-destroy mgmt > /dev/null 2>&1
3     sudo virsh net-undefine mgmt > /dev/null 2>&1
4     
5     sudo virsh net-destroy install > /dev/null 2>&1
6     sudo virsh net-undefine install > /dev/null 2>&1
7     rm -rf $COMPASS_DIR/deploy/work/network/*.xml
8 }
9
10 function setup_om_bridge() {
11     local device=$1
12     local gw=$2
13     ip link set br_install down
14     ip addr flush $device
15     brctl delbr br_install
16
17     brctl addbr br_install
18     brctl addif br_install $device
19     ip link set br_install up
20
21     shift;shift
22     for ip in $*;do
23         ip addr add $ip dev br_install
24     done
25
26     route add default gw $gw
27 }
28
29 function setup_om_nat() {
30     # create install network
31     sed -e "s/REPLACE_BRIDGE/br_install/g" \
32         -e "s/REPLACE_NAME/install/g" \
33         -e "s/REPLACE_GATEWAY/$INSTALL_GW/g" \
34         -e "s/REPLACE_MASK/$INSTALL_MASK/g" \
35         -e "s/REPLACE_START/$INSTALL_IP_START/g" \
36         -e "s/REPLACE_END/$INSTALL_IP_END/g" \
37         $COMPASS_DIR/deploy/template/network/nat.xml \
38         > $WORK_DIR/network/install.xml
39     
40     sudo virsh net-define $WORK_DIR/network/install.xml
41     sudo virsh net-start install
42 }
43
44 function create_nets() {
45     destroy_nets
46     
47     # create mgmt network
48     sed -e "s/REPLACE_BRIDGE/br_mgmt/g" \
49         -e "s/REPLACE_NAME/mgmt/g" \
50         -e "s/REPLACE_GATEWAY/$MGMT_GW/g" \
51         -e "s/REPLACE_MASK/$MGMT_MASK/g" \
52         -e "s/REPLACE_START/$MGMT_IP_START/g" \
53         -e "s/REPLACE_END/$MGMT_IP_END/g" \
54         $COMPASS_DIR/deploy/template/network/nat.xml \
55         > $WORK_DIR/network/mgmt.xml
56     
57     sudo virsh net-define $WORK_DIR/network/mgmt.xml
58     sudo virsh net-start mgmt
59     
60     # create install network
61     if [[ ! -z $VIRT_NUMBER ]];then
62         setup_om_nat
63     else
64         mask=`echo $INSTALL_MASK | awk -F'.' '{print ($1*(2^24)+$2*(2^16)+$3*(2^8)+$4)}'`
65         mask_len=`echo "obase=2;${mask}"|bc|awk -F'0' '{print length($1)}'`
66         setup_om_bridge $OM_NIC $OM_GW $INSTALL_GW/$mask_len $OM_IP
67     fi
68
69 }
70