Use getopts in simulator_docker_run.sh
[sdc.git] / utils / webseal-simulator / scripts / simulator_docker_run.sh
1 #!/bin/bash
2
3 export IP=`ifconfig eth0 | awk -F: '/inet addr/ {gsub(/ .*/,"",$2); print $2}'`
4 export PREFIX=${NEXUS_DOCKER_REPO}'/onap'
5 PREFIX='onap'
6 RELEASE=latest
7 LOCAL=true
8 JAVA_OPTIONS=" -Xmx128m -Xms128m -Xss1m"
9
10 [ -f /opt/config/env_name.txt ] && DEP_ENV=$(cat /opt/config/env_name.txt)
11 [ -f /opt/config/nexus_username.txt ] && NEXUS_USERNAME=$(cat /opt/config/nexus_username.txt)    || NEXUS_USERNAME=release
12 [ -f /opt/config/nexus_password.txt ] && NEXUS_PASSWD=$(cat /opt/config/nexus_password.txt)      || NEXUS_PASSWD=sfWU3DFVdBr7GVxB85mTYgAW
13 [ -f /opt/config/nexus_docker_repo.txt ] && NEXUS_DOCKER_REPO=$(cat /opt/config/nexus_docker_repo.txt)
14
15 function usage {
16     cat <<EOF
17 usage: simulator_docker_run.sh [-e <ENV-NAME>] [-r <RELEASE-NAME>] [-h]
18 Optional arguments:
19     -e, --environment
20         Environment Name
21     -r, --release
22         Release Name
23     -u, --fe_url
24         frontend server url
25     -h, --help
26         Help
27 EOF
28 }
29
30 function cleanup {
31     echo "performing old dockers cleanup"
32     for old_container in $(docker ps -a | egrep "onap/sdc-simulator|Exit" | awk '{print $1}'); do
33        docker rm -f ${old_container}
34     done
35 }
36
37 function dir_perms {
38     mkdir -p /data/logs/WS/
39     chmod -R 777 /data/logs
40 }
41
42 while getopts "r:e:u:-:" OPTION "${@}"; do
43     case $OPTION in
44         r)
45             shift
46             RELEASE=${1}
47             ;;
48         e)
49             shift
50             DEP_ENV=${1}
51             ;;
52         u)
53             shift
54             FE_URL=${1}
55             ;;
56         -) # Workaround to support long option names
57             case "${OPTARG}" in
58                 release)
59                     shift
60                     RELEASE=${1}
61                     ;;
62                 environment)
63                     shift
64                     DEP_ENV=${1}
65                     ;;
66                 fe_url)
67                     shift
68                     FE_URL=${1}
69                     ;;
70             esac
71             ;;
72         ?)
73             usage
74             exit
75             ;;
76         *)
77             usage
78             exit 1
79     esac
80     shift
81 done
82
83 [ -f /opt/config/nexus_username.txt ] && docker login -u $NEXUS_USERNAME -p $NEXUS_PASSWD $NEXUS_DOCKER_REPO
84
85 cleanup
86
87
88 dir_perms
89 echo ${FE_URL}
90 # SDC-Simulator
91 docker run --detach --name sdc-sim \
92     --env FE_URL="${FE_URL}" \
93     --env JAVA_OPTIONS="${JAVA_OPTIONS}" \
94     --env ENVNAME="${DEP_ENV}" \
95     --env http_proxy=${http_proxy} \
96     --env https_proxy=${https_proxy} \
97     --env no_proxy=${no_proxy} \
98     --volume /etc/localtime:/etc/localtime:ro \
99     --volume /data/logs/WS/:/var/lib/jetty/logs \
100     --volume /data/environments:/root/chef-solo/environments \
101     --publish 8285:8080 \
102     --publish 8286:8443 ${PREFIX}/sdc-simulator:${RELEASE}
103
104 if [ $? -ne 0 ]; then
105     exit 1
106 fi