ca1941e2db28600ce13be61d0baf4c8d8dac09fe
[yaml_builds.git] / tools / 2genesis.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 set -xe
19 LOGDIR="/var/log/akraino"
20 mkdir -p $LOGDIR
21 LOGFILE="$LOGDIR/${1}_$(date +"%Y%m%d%H%M%z")_$(basename $0|cut -d. -f1)"
22 echo "logging to $LOGFILE"
23 exec 1> >(tee -a $LOGFILE)
24 exec 2>&1
25
26 source $(dirname $0)/setenv.sh
27
28 if [ -z "$1" ]
29 then
30   echo "Please pass site name as command line argument"
31   exit -2
32 else
33   SITE=${SITE:-$1}
34   echo "SITE=$SITE"
35 fi
36
37 if [ -z "$YAML_BUILDS" ]
38 then
39   echo "Please set YAML_BUILDS"
40   exit -3
41 fi
42
43
44 source $(dirname $0)/env_$SITE.sh
45
46 cd $YAML_BUILDS
47 # Install OS on Genesis
48 python $YAML_BUILDS/scripts/jcopy.py $SITE.yaml $YAML_BUILDS/tools/j2/serverrc.j2 $YAML_BUILDS/tools/"$GENESIS_NAME"rc
49 /opt/akraino/redfish/install_server_os.sh --rc /opt/akraino/yaml_builds/tools/"$GENESIS_NAME"rc --skip-confirm
50
51 # Stage Airship files on Genesis
52 scp $YAML_BUILDS/tars/promenade-bundle-$SITE.tar $GENESIS_HOST:/tmp/
53 ssh $GENESIS_HOST << EOF
54   # TODO avoid following hard coding$
55   route add -net 192.168.41.0/24 gw 192.168.2.1 bond0.41
56   mkdir -p /root/akraino
57   cd /root/akraino/
58   cp /tmp/promenade-bundle-$SITE.tar .
59   tar -xmf promenade-bundle-$SITE.tar
60   mv configs/promenade-bundle/deploy_site.sh .
61 EOF
62
63 # Update BIOS settings on master and worker nodes
64 python $YAML_BUILDS/scripts/update_bios_settings.py $SITE.yaml
65
66 echo "#######################################"
67 echo "# $0 finished"
68 echo "#######################################"
69 #pkill -9 $$ && exit 0