Skip to content

Commit 7a2a7f1

Browse files
authored
Merge branch 'master' into mcevik-production-deployment
2 parents 86da8e3 + 487a472 commit 7a2a7f1

File tree

2 files changed

+284
-1
lines changed

2 files changed

+284
-1
lines changed

configuration/renci_testbed/aw2.sh

Lines changed: 283 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,283 @@
1+
#!/bin/bash
2+
3+
TEMP_FILE=/tmp/trap.txt
4+
CONFIG_DIR="/var/tmp"
5+
TMP_DIR="/var/tmp"
6+
WORK_DIR="$HOME"
7+
8+
9+
DELAY=3
10+
DATE=$(date +%Y%m%d-%H%M%S)
11+
PWD=`pwd`
12+
13+
HOSTNAME=$(hostname)
14+
15+
case ${HOSTNAME} in
16+
bf40g1.renci.ben)
17+
SITE="renci"
18+
TYPE="lc"
19+
;;
20+
bf40g1.duke.ben)
21+
SITE="duke"
22+
TYPE="lc"
23+
;;
24+
bf40g1.unc.ben)
25+
SITE="unc"
26+
TYPE="lc"
27+
;;
28+
bf40g1.ncsu.ben)
29+
SITE="ncsu"
30+
TYPE="lc"
31+
;;
32+
atlanticwave-sdx-controller.renci.ben)
33+
SITE="renci"
34+
TYPE="sdx"
35+
;;
36+
s1)
37+
SITE="mia"
38+
TYPE="lc"
39+
;;
40+
awsdx-ctrl.cloud.rnoc.gatech.edu)
41+
SITE="atl"
42+
TYPE="lc"
43+
;;
44+
dtn01.ls.lsst.org)
45+
SITE="chl"
46+
TYPE="lc"
47+
;;
48+
awsdx-app.cloud.rnoc.gatech.edu)
49+
SITE="atl"
50+
TYPE="sdx"
51+
;;
52+
# sdxlc.ampath.net)
53+
# SITE="mia"
54+
# TYPE="lc"
55+
# ;;
56+
# awsdx-ctrl.cloud.rnoc.gatech.edu)
57+
# SITE="atl"
58+
# TYPE="lc"
59+
# ;;
60+
# acanets-chile)
61+
# SITE="chl"
62+
# TYPE="lc"
63+
# ;;
64+
# awsdx-app.cloud.rnoc.gatech.edu)
65+
# SITE="atl"
66+
# TYPE="sdx"
67+
# ;;
68+
esac
69+
70+
#SITE=$(hostnamectl --transient | cut -d- -f3 | cut -d. -f1) # renci | duke | unc | ncsu
71+
#TYPE=$(hostnamectl --transient | cut -d- -f2 ) # sdx | lc
72+
73+
AW_REPO="https://github.com/atlanticwave-sdx/atlanticwave-proto.git"
74+
#AW_BRANCH="mcevik-production-deployment"
75+
AW_BRANCH="master"
76+
AW_CONFIG="awave-production"
77+
AW_MANIFEST="awave-production.manifest"
78+
MODE="attached"
79+
80+
clean_up (){
81+
82+
# Perform program exit housekeeping
83+
echo "--- ERROR" > $TEMP_FILE 2>&1
84+
exit
85+
}
86+
87+
trap clean_up SIGHUP SIGINT SIGTERM
88+
89+
90+
faillog() {
91+
echo "$1" >&2
92+
}
93+
94+
95+
fail() {
96+
faillog "ERROR: $@"
97+
clean_up
98+
}
99+
100+
101+
title(){
102+
echo ""
103+
echo "============================================================================== "
104+
echo "--- $1"
105+
echo "============================================================================== "
106+
}
107+
108+
109+
usage(){
110+
echo -e " Usage: $0 [-c] [-b] [-r] [-H]"
111+
echo -e "\t -H: Usage"
112+
echo -e "\t -c: clean files"
113+
echo -e "\t -b: clean files and build docker image"
114+
echo -e "\t -r: run docker container"
115+
echo
116+
}
117+
118+
119+
cleanup_files(){
120+
TMP_DIR=$1
121+
WORK_DIR=$2
122+
TYPE=$3
123+
rm -rf ${TMP_DIR}/atlanticwave-proto
124+
rm -rf ${WORK_DIR}/atlanticwave-proto
125+
rm -rf ${WORK_DIR}/setup-${TYPE}-controller.sh
126+
rm -rf ${WORK_DIR}/start-${TYPE}-controller.sh
127+
}
128+
129+
130+
cleanup_docker(){
131+
TYPE=$1
132+
for i in `docker ps -a -q`; do echo "--- Container: $i" ; docker stop $i; docker rm -v $i; done
133+
for i in `docker images | grep none | awk '{print $3}'`; do docker rmi $i ; done
134+
}
135+
136+
delete_docker_images(){
137+
TYPE=$1
138+
for i in `docker ps -a -q`; do echo "--- Container: $i" ; docker stop $i; docker rm -v $i; done
139+
for i in `docker images -q`; do docker rmi $i ; done
140+
}
141+
142+
build_docker_image(){
143+
REPO=$1
144+
BR=$2
145+
TMP_DIR=$3
146+
WORK_DIR=$4
147+
TYPE=$5
148+
CONFIG=$6
149+
MANIFEST=$7
150+
151+
cd $TMP_DIR
152+
title "Clone Branch ${BR} - Configuration: ${CONFIG} - Manifest: ${MANIFEST}"
153+
git clone -b $BR $REPO
154+
cp ${TMP_DIR}/atlanticwave-proto/configuration/${CONFIG}/setup-${TYPE}-controller.sh ${WORK_DIR}
155+
chmod +x ${WORK_DIR}/setup-${TYPE}-controller.sh
156+
cd ${WORK_DIR}
157+
./setup-${TYPE}-controller.sh -R ${REPO} -B ${BR} -G ${CONFIG} -H ${MANIFEST}
158+
}
159+
160+
161+
build_docker_image_local(){
162+
REPO=$1
163+
BR=$2
164+
TMP_DIR=$3
165+
WORK_DIR=$4
166+
TYPE=$5
167+
CONFIG=$6
168+
MANIFEST=$7
169+
170+
cd $TMP_DIR
171+
cp ${TMP_DIR}/atlanticwave-proto/configuration/${CONFIG}/setup-${TYPE}-controller.sh ${WORK_DIR}
172+
chmod +x ${WORK_DIR}/setup-${TYPE}-controller.sh
173+
cd ${WORK_DIR}
174+
./setup-${TYPE}-controller.sh -R ${REPO} -B ${BR} -G ${CONFIG} -H ${MANIFEST}
175+
176+
}
177+
178+
run_docker_container(){
179+
SITE=$1
180+
WORK_DIR=$2
181+
TYPE=$3
182+
MODE=$4
183+
CONFIG=$5
184+
MANIFEST=$6
185+
186+
cd ${WORK_DIR}
187+
echo "--- $0 - SITE: $SITE "
188+
echo "--- $0 - MODE: $MODE "
189+
echo "--- $0 - CONFIG: $CONFIG"
190+
echo "--- $0 - MANIFEST: $MANIFEST"
191+
./start-${TYPE}-controller.sh ${SITE} ${MODE} ${CONFIG} ${MANIFEST}
192+
}
193+
194+
195+
stop_docker_container(){
196+
for i in `docker ps -a -q`; do echo "--- Container: $i" ; docker stop $i; done
197+
}
198+
199+
200+
while getopts "R:B:G:H:m:S:T:cdbprsH" opt; do
201+
case $opt in
202+
R)
203+
AW_REPO=${OPTARG}
204+
;;
205+
B)
206+
AW_BRANCH=${OPTARG}
207+
;;
208+
G)
209+
# Set this to the directories under git atlanticwave-proto/configuration (eg. renci_testbed, awave-production)
210+
AW_CONFIG=${OPTARG}
211+
;;
212+
H)
213+
AW_MANIFEST=${OPTARG}
214+
;;
215+
m)
216+
MODE=${OPTARG}
217+
;;
218+
S)
219+
SITE=${OPTARG}
220+
;;
221+
T)
222+
TYPE=${OPTARG}
223+
;;
224+
c)
225+
title "Cleanup Files"
226+
cleanup_files ${TMP_DIR} ${WORK_DIR} ${TYPE}
227+
228+
title "Cleanup Docker Containers and Images"
229+
cleanup_docker ${TYPE}
230+
;;
231+
d)
232+
title "Cleanup Files"
233+
cleanup_files ${TMP_DIR} ${WORK_DIR} ${TYPE}
234+
235+
title "Cleanup Docker Containers and Images"
236+
delete_docker_images ${TYPE}
237+
;;
238+
b)
239+
title "Cleanup Files"
240+
cleanup_files ${TMP_DIR} ${WORK_DIR} ${TYPE}
241+
title "Cleanup Docker Containers and Images"
242+
cleanup_docker ${TYPE}
243+
title "Build Docker Image"
244+
build_docker_image $AW_REPO $AW_BRANCH $TMP_DIR $WORK_DIR $TYPE $AW_CONFIG $AW_MANIFEST
245+
;;
246+
p)
247+
title "Cleanup Docker Containers and Images"
248+
cleanup_docker ${TYPE}
249+
title "Build Docker Image"
250+
build_docker_image_local $AW_REPO $AW_BRANCH $TMP_DIR $WORK_DIR $TYPE $AW_CONFIG $AW_MANIFEST
251+
;;
252+
r)
253+
title "Run Docker Container for TYPE: ${TYPE} - MODE: $MODE - SITE: $SITE - CONFIGURATION: $AW_CONFIG - MANIFEST: $AW_MANIFEST"
254+
echo "--- $0 - SITE: $SITE "
255+
echo "--- $0 - MODE: $MODE "
256+
echo "--- $0 - CONFIG: $CONFIG"
257+
echo "--- $0 - MANIFEST: $MANIFEST"
258+
run_docker_container $SITE $WORK_DIR $TYPE $MODE $AW_CONFIG $AW_MANIFEST
259+
#run_docker_container $SITE $AW_MANIFEST $AW_CONFIG
260+
261+
;;
262+
s)
263+
title "Stop Docker Containers"
264+
stop_docker_container
265+
;;
266+
h)
267+
usage
268+
clean_up
269+
;;
270+
\?)
271+
echo "Invalid option: -$OPTARG" >&2
272+
usage
273+
clean_up
274+
;;
275+
:)
276+
echo "Option -$OPTARG requires an argument." >&2
277+
usage
278+
clean_up
279+
;;
280+
esac
281+
done
282+
283+

requirements.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,4 +29,4 @@ aniso8601==3.0.2
2929
flask-restful==0.3.6
3030
testfixtures==6.8.2
3131
mock>=0.8.0
32-
#oslo.config>=8.0.1
32+
oslo.config>=8.0.1

0 commit comments

Comments
 (0)