[DCAE-27] Ensure eth1 comes up on Ubuntu 14.04
[dcae/demo.git] / dcae-demo-controller / src / main / docker-build / controller-startup.sh
1 #!/bin/bash
2
3 set -v
4
5 apt-get install -y make 
6
7 export JAVA_HOME=/opt/app/java/jdk/jdk170
8 export GROOVY_HOME=/opt/app/groovy/246
9 export PATH=$JAVA_HOME/bin:$GROOVY_HOME/bin:/opt/app/git/2.4.1/bin:$PATH
10
11
12 cd /opt/app/dcae-controller-platform-server
13
14 export ZONE=$(grep ZONE /opt/app/dcae-controller/config.yaml | sed s/ZONE:.//)
15 export BASE=$(grep BASE /opt/app/dcae-controller/config.yaml | sed s/BASE:.//)
16
17 OPENSTACK_KEYNAME=$(grep OPENSTACK-KEYNAME /opt/app/dcae-controller/config.yaml | sed s/OPENSTACK-KEYNAME:.//)
18 NETWORK=$(grep OPENSTACK-PRIVATE-NETWORK /opt/app/dcae-controller/config.yaml | sed s/OPENSTACK-PRIVATE-NETWORK:.//)
19 FLAVOR=$(grep FLAVOR-LARGE /opt/app/dcae-controller/config.yaml | sed s/FLAVOR-LARGE:.//)
20
21 echo nameserver 10.0.0.1 >> /etc/resolv.conf
22
23 make gen-config sync restart
24
25 ## need to do 2 syncs to get all references working.
26 make sync
27
28 cat OPENECOMP-DEMO-$ZONE/hosts >> /etc/hosts
29
30 ## Add SSL CAs to Java 
31
32 (echo changeit ; echo yes ) | keytool -importcert -keystore /etc/ssl/certs/java/cacerts -alias simpledemo-root-ca -file config/simpledemo-root-ca.crt
33 (echo changeit ; echo yes ) | keytool -importcert -keystore /etc/ssl/certs/java/cacerts -alias simpledemo-server-ca -file config/simpledemo-server-ca.crt
34
35 bin/dcae-controller.sh undeploy-service-instance -i $ZONE -s vm-docker-host-1 &
36 bin/dcae-controller.sh undeploy-service-instance -i $ZONE -s vm-postgresql &
37 bin/dcae-controller.sh undeploy-service-instance -i $ZONE -s vm-cdap-cluster &
38
39 bin/dcae-controller.sh deploy-user -l $ZONE -p OPEN-ECOMP -u $OPENSTACK_KEYNAME
40
41 NETWORKPATH=/openstack/locations/$ZONE/projects/OPEN-ECOMP/networks/$NETWORK
42 KEYPATH=/openstack/locations/$ZONE/projects/OPEN-ECOMP/keypairs/$OPENSTACK_KEYNAME
43 FLAVORPATH=/openstack/locations/$ZONE/flavors/$FLAVOR
44
45 ## wait for flavor but since flavor name may have spaces which 'wait-for' does not support we do this hack
46 ## wait 11 minutes
47
48 i=0
49 until [ $i = "66" ]; do 
50   ((i++))
51   if [ -e "data/resources/$FLAVORPATH" ]; then break; fi
52   echo waiting for data/resources/$FLAVORPATH
53   sleep 10
54 done
55
56 sleep 1m
57 bin/dcae-controller.sh wait-for --timeout 300 --frequency 5 --path $NETWORKPATH --exists --verbose
58 bin/dcae-controller.sh wait-for --timeout 300 --frequency 5 --path $KEYPATH --exists --verbose
59 bin/dcae-controller.sh deploy-service-instance -i $ZONE -s vm-docker-host-1 
60
61 sleep 1m
62 bin/dcae-controller.sh wait-for --timeout 300 --frequency 5 --path $NETWORKPATH --exists --verbose
63 bin/dcae-controller.sh wait-for --timeout 300 --frequency 5 --path $KEYPATH --exists --verbose
64 bin/dcae-controller.sh deploy-service-instance -i $ZONE -s vm-postgresql  
65
66 sleep 2m
67 bin/dcae-controller.sh wait-for --timeout 300 --frequency 5 --path $NETWORKPATH --exists --verbose
68 bin/dcae-controller.sh wait-for --timeout 300 --frequency 5 --path $KEYPATH --exists --verbose
69 bin/dcae-controller.sh deploy-service-instance -i $ZONE -s vm-cdap-cluster
70
71 bin/dcae-controller.sh wait-for --timeout 900 --path /services/vm-docker-host-1/instances/$ZONE --attribute healthTestStatus --match GREEN --verbose
72 bin/dcae-controller.sh wait-for --timeout 900 --path /services/vm-postgresql/instances/$ZONE --attribute healthTestStatus --match GREEN --verbose
73
74
75 bin/dcae-controller.sh deploy-service-instance -i $ZONE -s docker-databus-controller
76
77
78
79 bin/dcae-controller.sh wait-for --timeout 900 --path /services/vm-cdap-cluster/instances/$ZONE --attribute healthTestStatus --match GREEN --verbose
80 #bin/dcae-controller.sh wait-for --timeout 900 --path /services/vm-controller/instances/$ZONE --attribute healthTestStatus --match GREEN --verbose
81
82 bin/dcae-controller.sh deploy-service-instance -i $ZONE -s cdap-helloworld 
83 bin/dcae-controller.sh deploy-service-instance -i $ZONE -s cdap-tca-hi-lo
84 bin/dcae-controller.sh deploy-service-instance -i $ZONE -s docker-common-event
85
86
87 while [ 1 ]; do sleep 1d; done
88