blob: 22eea3f838fa5c45dedc5f0578e30013b19af06c (
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
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
|
#!/bin/bash
#placeholder for deployment script.
set -ex
# ./01-deploybundle.sh $opnfvtype $openstack $opnfvlab $opnfvsdn $opnfvfeature $opnfvdistro
#copy and download charms
cp $4/fetch-charms.sh ./fetch-charms.sh
#modify the ubuntu series wants to deploy
sed -i -- "s|distro=trusty|distro=$6|g" ./fetch-charms.sh
sh ./fetch-charms.sh $6
case "$1" in
'nonha' )
cp $4/juju-deployer/ovs-$4-nonha.yaml ./bundles.yaml
;;
'ha' )
cp $4/juju-deployer/ovs-$4-ha.yaml ./bundles.yaml
;;
'tip' )
cp $4/juju-deployer/ovs-$4-tip.yaml ./bundles.yaml
cp common/source/* ./
sed -i -- "s|branch: master|branch: stable/$2|g" ./*.yaml
;;
* )
cp $4/juju-deployer/ovs-$4-nonha.yaml ./bundles.yaml
;;
esac
#read the value from deployment.yaml
if [ -e ~/.juju/deployment.yaml ]; then
extport=`grep "ext-port" deployment.yaml | cut -d ' ' -f 4 | sed -e 's/ //'`
sed --i "s@#ext-port: \"eth1\"@ext-port: \"$extport\"@g" ./bundles.yaml
datanet=`grep "dataNetwork" deployment.yaml | cut -d ' ' -f 4 | sed -e 's/ //'`
sed --i "s@#os-data-network: 10.4.8.0/21@os-data-network: $datanet@g" ./bundles.yaml
admnet=`grep "admNetwork" deployment.yaml | cut -d ' ' -f 4 | sed -e 's/ //'`
sed --i "s@10.4.1.1@$admnet@g" ./bundles.yaml
fi
case "$3" in
'intelpod9' )
# As per your lab vip address list be deafult uses 10.9.1.11 - 10.9.1.20
sed -i -- 's/10.4.1.1/10.9.1.2/g' ./bundles.yaml
# choose the correct interface to use for data network
sed -i -- 's/#os-data-network: 10.4.8.0\/21/os-data-network: 10.9.12.0\/24/g' ./bundles.yaml
# Choose the external port to go out from gateway to use.
sed -i -- 's/#ext-port: "eth1"/ext-port: "eth1.905"/g' ./bundles.yaml
# Provide the gateway MAC to route the traffic externally.
sed -i -- 's/#gateway-mac: "default"/gateway-mac: "default"/g' ./bundles.yaml
;;
'attvirpod1' )
# As per your lab vip address list be deafult uses 10.4.1.11 - 10.4.1.20
sed -i -- 's/10.4.1.1/192.168.10.1/g' ./bundles.yaml
# Choose the external port to go out from gateway to use.
sed -i -- 's/#ext-port: "eth1"/ext-port: "eth1"/g' ./bundles.yaml
;;
'cengnlynxpod1' )
# Chose the hard drive(s) to use for CEPH OSD
sed -i -- 's|osd-devices: /srv|osd-devices: /dev/sdb|g' ./bundles.yaml
# As per your lab vip address list be deafult uses 10.4.1.11 - 10.4.1.20
sed -i -- 's/10.4.1.1/10.120.0.1/g' ./bundles.yaml
# choose the correct interface to use for data network
sed -i -- 's/#os-data-network: 10.4.8.0\/21/os-data-network: 172.16.121.0\/24/g' ./bundles.yaml
# Choose the external port to go out from gateway to use.
sed -i -- 's/#ext-port: "eth1"/ext-port: "eth1.1202"/g' ./bundles.yaml
;;
'juniperpod1' )
sed -i -- 's/10.4.1.1/172.16.50.1/g' ./bundles.yaml
sed -i -- 's/#ext-port: "eth1"/ext-port: "eth1"/g' ./bundles.yaml
;;
'ravellodemopod' )
sed -i -- 's/#ext-port: "eth1"/ext-port: "eth2"/g' ./bundles.yaml
;;
'custom' )
sed -i -- 's/10.4.1.1/192.168.122.1/g' ./bundles.yaml
sed -i -- 's/#ext-port: "eth1"/ext-port: "eth1"/g' ./bundles.yaml
;;
'default' )
sed -i -- 's/10.4.1.1/192.168.122.1/g' ./bundles.yaml
sed -i -- 's/#ext-port: "eth1"/ext-port: "eth1"/g' ./bundles.yaml
;;
esac
# lets put the if seperateor as "," as this will save me from world.
IFS=","
for feature in $5; do
case "$feature" in
'ipv6' )
sed -i -- 's/#prefer-ipv6: true/prefer-ipv6: true/g' ./bundles.yaml
;;
'dvr' )
sed -i -- 's/#enable-dvr: true/enable-dvr: true/g' ./bundles.yaml
sed -i -- 's/#l2-population: true/l2-population: true/g' ./bundles.yaml
;;
'sfc' )
sed -i -- 's/profile: "openvswitch-odl-Be"/profile: "openvswitch-odl-beryllium-sfc"/g' ./bundles.yaml
;;
'vpn' )
sed -i -- 's/profile: "openvswitch-odl-Be"/profile: "openvswitch-odl-beryllium-vpn"/g' ./bundles.yaml
;;
'odl_l3' )
sed -i -- 's/profile: "openvswitch-odl-Be"/profile: "openvswitch-odl-beryllium-l3"/g' ./bundles.yaml
;;
'dpdk' )
sed -i -- 's/#enable-dpdk: true/enable-dpdk: true/g' ./bundles.yaml
sed -i -- 's/#hugepages: "50%"/hugepages: "50%"/g' ./bundles.yaml
;;
'lxd' )
sed -i -- 's/#- - nova-compute:lxd/- - nova-compute:lxd/g' ./bundles.yaml
sed -i -- 's/#- lxd:lxd/- lxd:lxd/g' ./bundles.yaml
sed -i -- 's/#virt-type: lxd/virt-type: lxd/g' ./bundles.yaml
# adding the lxd subordinate charm
echo " lxd:" >> ./bundles.yaml
echo " charm: local:xenial/lxd" >> ./bundles.yaml
;;
esac
done
#changing the target to the openstack release we want to deploy.
sed -i -- "s|mitaka|$2|g" ./bundles.yaml
#update source if trusty is target distribution
case "$6" in
'trusty' )
sed -i -- "s|#source|source|g" ./bundles.yaml
;;
'xenial' )
#changing the target to the ubuntu distro we want to deploy.
sed -i -- "s|trusty|$6|g" ./bundles.yaml
;;
esac
echo "... Deployment Started ...."
juju-deployer -vW -d -t 3600 -c bundles.yaml $6-"$2"-nodes
juju-deployer -vW -d -t 7200 -r 5 -c bundles.yaml $6-"$2"
|