update node lables for tenant-ceph and nova
[yaml_builds.git] / tools / 1prom-gen.sh
1 #!/bin/bash
2 ##############################################################################
3 # Copyright (c) 2018 AT&T Intellectual Property. All rights reserved.        #
4 #                                                                            #
5 # Licensed under the Apache License, Version 2.0 (the "License"); you may    #
6 # not use this file except in compliance with the License.                   #
7 #                                                                            #
8 # You may obtain a copy of the License at                                    #
9 #       http://www.apache.org/licenses/LICENSE-2.0                           #
10 #                                                                            #
11 # Unless required by applicable law or agreed to in writing, software        #
12 # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT  #
13 # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.           #
14 # See the License for the specific language governing permissions and        #
15 # limitations under the License.                                             #
16 ##############################################################################
17
18
19 # re-generate prom config
20
21 set -xe
22
23 LOGDIR="/var/log/akraino"
24 mkdir -p $LOGDIR
25 LOGFILE="$LOGDIR/${1}_$(date +"%Y%m%d%H%M%z")_$(basename $0|cut -d. -f1)"
26 echo "logging to $LOGFILE"
27 exec 1> >(tee -a $LOGFILE)
28 exec 2>&1
29
30 source $(dirname $0)/setenv.sh
31
32 PROMENADE_IMAGE=quay.io/airshipit/promenade:009f3de7ecf6afcdd2783ac7a12470394d7dfab3
33
34 if [ -z "$1" ]
35 then
36   echo "Please pass site name as command line argument"
37   exit -2
38 else
39   SITE=${SITE:-$1}
40   echo "SITE=$SITE"
41 fi
42 source $(dirname $0)/env_$SITE.sh
43
44 if [ ! -d "$AIRSHIP_TREASUREMAP" ]; then
45   echo "ERROR: Missing AIRSHIP_TREASUREMAP directory [$AIRSHIP_TREASUREMAP]."
46   exit -1
47 fi
48
49 if [ ! -d "$AIRSHIP_TEMPLATES" ]; then
50   echo "ERROR: Missing AIRSHIP_TEMPLATES directory [$AIRSHIP_TEMPLATES]."
51   exit -1
52 fi
53
54 # Check that we are root
55 if [[ $(whoami) != "root" ]]
56 then
57   echo "Must be root to run $0"
58   exit -1
59 fi
60
61 if [ -z "$YAML_BUILDS" ]
62 then
63   echo "Please set YAML_BUILDS"
64   exit -3
65 else
66   export WORKSPACE=$YAML_BUILDS
67   echo "WORKSPACE=$WORKSPACE"
68   cd $YAML_BUILDS
69 fi
70
71 (
72 echo "# Collecting config files in $AIRSHIP_TREASUREMAP/site/$SITE"
73 cd $AIRSHIP_TREASUREMAP
74 rm -rf $AIRSHIP_TREASUREMAP/${SITE}_collected
75 mkdir -p  $AIRSHIP_TREASUREMAP/${SITE}_collected
76 $AIRSHIP_TREASUREMAP/tools/airship pegleg site -r /target collect $SITE -s ${SITE}_collected || true
77 )
78
79 (
80 echo "# Rendering config files in $AIRSHIP_TREASUREMAP/site/$SITE"
81 cd $AIRSHIP_TREASUREMAP
82 $AIRSHIP_TREASUREMAP/tools/airship pegleg site -r /target render $SITE > ${SITE}_render.yaml || true
83 )
84
85 (
86 echo "# Generating certs for $AIRSHIP_TREASUREMAP/site/$SITE"
87 cd $AIRSHIP_TREASUREMAP
88 rm -rf $AIRSHIP_TREASUREMAP/${SITE}_certs
89 mkdir -p  $AIRSHIP_TREASUREMAP/${SITE}_certs
90 $AIRSHIP_TREASUREMAP/tools/airship promenade generate-certs -o /target/${SITE}_certs /target/${SITE}_collected/*.yaml
91 )
92
93 (
94 echo "# Copying certs to $AIRSHIP_TREASUREMAP/site/$SITE"
95 cd $AIRSHIP_TREASUREMAP
96 mkdir -p  $AIRSHIP_TREASUREMAP/site/${SITE}/secrets/certificates
97 cp $AIRSHIP_TREASUREMAP/${SITE}_certs/certificates.yaml $AIRSHIP_TREASUREMAP/site/${SITE}/secrets/certificates
98 )
99
100 (
101 echo "# Collecting config files with certs in $AIRSHIP_TREASUREMAP/site/$SITE"
102 cd $AIRSHIP_TREASUREMAP
103 rm -rf $AIRSHIP_TREASUREMAP/${SITE}_collected
104 mkdir -p  $AIRSHIP_TREASUREMAP/${SITE}_collected
105 $AIRSHIP_TREASUREMAP/tools/airship pegleg site -r /target collect $SITE -s ${SITE}_collected
106 )
107
108 (
109 echo "# Generating Promenade bundle with $AIRSHIP_TREASUREMAP/${SITE}_collected"
110 cd $AIRSHIP_TREASUREMAP
111 rm -rf $AIRSHIP_TREASUREMAP/${SITE}_bundle
112 mkdir -p  $AIRSHIP_TREASUREMAP/${SITE}_bundle
113 $AIRSHIP_TREASUREMAP/tools/airship promenade build-all --validators -o /target/${SITE}_bundle /target/${SITE}_collected/*.yaml
114 )
115
116 (
117 echo "# Copying scripts to $AIRSHIP_TREASUREMAP/${SITE}_bundle"
118   SHIPYARD_PASSWORD=$(grep "^data:" $AIRSHIP_TREASUREMAP/site/$SITE/secrets/passphrases/ucp_shipyard_keystone_password.yaml | awk '{print $2}')
119   INGRESS_DOMAIN=$(grep "ingress_domain:" $AIRSHIP_TREASUREMAP/site/$SITE/networks/common-addresses.yaml | awk '{print $2}')
120   AUTH_URL="http://iam-sw.${INGRESS_DOMAIN}:80/v3"
121   MAAS_URL="http://maas-sw.${INGRESS_DOMAIN}:80/MAAS/#/dashboard"
122   AIRFLOW_URL=
123   REGION_NAME=$SITE
124
125   DEPLOY_SCRIPT=$AIRSHIP_TREASUREMAP/${SITE}_bundle/deploy_site.sh
126   IPTABLES_SCRIPT=$AIRSHIP_TREASUREMAP/${SITE}_bundle/update_iptables.sh
127
128   cp $YAML_BUILDS/tools/deploy_site.sh $AIRSHIP_TREASUREMAP/${SITE}_bundle
129   sed -i -e "s|OS_AUTH_URL=|OS_AUTH_URL=\"${AUTH_URL}\"|g" $DEPLOY_SCRIPT
130   sed -i -e "s/OS_PASSWORD=/OS_PASSWORD=$SHIPYARD_PASSWORD/g" $DEPLOY_SCRIPT
131   sed -i -e "s/REGION_NAME=/REGION_NAME=$REGION_NAME/g" $DEPLOY_SCRIPT
132   sed -i -e "s|MAAS_URL=|MAAS_URL=${MAAS_URL}|g" $DEPLOY_SCRIPT
133   sed -i -e "s|AIRFLOW_URL=|AIRFLOW_URL=${AIRFLOW_URL}|g" $DEPLOY_SCRIPT
134
135   cp $YAML_BUILDS/tools/update_iptables.sh $AIRSHIP_TREASUREMAP/${SITE}_bundle
136   sed -i -e "s,HOST_INTERFACE=,HOST_INTERFACE=$HOST_INTERFACE,g" $IPTABLES_SCRIPT
137   sed -i -e "s,PXE_INTERFACE=,PXE_INTERFACE=$PXE_INTERFACE,g" $IPTABLES_SCRIPT
138
139   cp $YAML_BUILDS/tools/cleanup.sh $AIRSHIP_TREASUREMAP/${SITE}_bundle
140 )
141
142 (
143     echo "# Generating Promenade tar bundle $YAML_BUILDS/tars/promenade-bundle-$SITE.tar"
144     mkdir -p $YAML_BUILDS/tars
145     rm -f $YAML_BUILDS/tars/promenade-bundle-$SITE.tar
146     tar cvf $YAML_BUILDS/tars/promenade-bundle-$SITE.tar --transform 's,^,configs/promenade-bundle/,' -C $AIRSHIP_TREASUREMAP/${SITE}_bundle .
147     tar rvf $YAML_BUILDS/tars/promenade-bundle-$SITE.tar --transform 's,^,configs/promenade/,' -C $AIRSHIP_TREASUREMAP/${SITE}_collected  .
148     tar rvf $YAML_BUILDS/tars/promenade-bundle-$SITE.tar -C $AIRSHIP_TREASUREMAP tools global
149 )
150
151 echo "#######################################"
152 echo "# $0 finished"
153 echo "#######################################"
154
155 #pkill -9 $$ && exit 0