manually setup redfish tools to allow parallel run
[yaml_builds.git] / tools / 2genesis.sh
old mode 100644 (file)
new mode 100755 (executable)
index 0b70cd4..3c2888b
 # limitations under the License.                                             #
 ##############################################################################
 
-set -x
-TIMESTAMP=$(date +"%Y%m%d%H%M")
-echo "Logging to /var/log/yaml_builds/2genesis_$TIMESTAMP.log"
-exec > /var/log/yaml_builds/2genesis_$TIMESTAMP.log
+set -xe
+LOGDIR="/var/log/akraino"
+mkdir -p $LOGDIR
+LOGFILE="$LOGDIR/${1}_$(date +"%Y%m%d%H%M%z")_$(basename $0|cut -d. -f1)"
+echo "logging to $LOGFILE"
+exec 1> >(tee -a $LOGFILE)
 exec 2>&1
 
 source $(dirname $0)/setenv.sh
@@ -42,18 +44,38 @@ fi
 source $(dirname $0)/env_$SITE.sh
 
 cd $YAML_BUILDS
-# Install OS on Genesis
+
+echo "# Setup redfish tools to avoid race condition"
+/opt/akraino/redfish/setup_tools.sh
+
+FILENAME=$(mktemp)
+echo "# Updating BIOS settings on master and worker nodes in background [$FILENAME]"
+python $YAML_BUILDS/scripts/update_bios_settings.py $SITE.yaml >$FILENAME &
+
+echo "# Install OS on Genesis"
 python $YAML_BUILDS/scripts/jcopy.py $SITE.yaml $YAML_BUILDS/tools/j2/serverrc.j2 $YAML_BUILDS/tools/"$GENESIS_NAME"rc
-/opt/akraino/tools/install_server_os.sh --rc /opt/akraino/yaml_builds/tools/"$GENESIS_NAME"rc --skip-confirm
+/opt/akraino/redfish/install_server_os.sh --rc /opt/akraino/yaml_builds/tools/"$GENESIS_NAME"rc --skip-confirm
 
+echo "# Stage Airship files on Genesis"
 scp $YAML_BUILDS/tars/promenade-bundle-$SITE.tar $GENESIS_HOST:/tmp/
 ssh $GENESIS_HOST << EOF
   # TODO avoid following hard coding$
   route add -net 192.168.41.0/24 gw 192.168.2.1 bond0.41
   mkdir -p /root/akraino
-  cp /tmp/promenade-bundle-$SITE.tar /root/akraino/
   cd /root/akraino/
+  cp /tmp/promenade-bundle-$SITE.tar .
   tar -xmf promenade-bundle-$SITE.tar
+  mv configs/promenade-bundle/deploy_site.sh .
 EOF
-# Update BIOS Setting
-python $YAML_BUILDS/scripts/update_bios_settings.py $SITE.yaml
+
+echo "# Waiting for BIOS updates to finish on master and worker nodes"
+wait
+# Show output from BIOS updates on master and worker nodes
+cat $FILENAME
+rm $FILENAME
+
+echo "#######################################"
+echo "# $0 finished"
+echo "#######################################"
+#pkill -9 $$ && exit 0
+