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