From 42eb52df3b46289ac6c76d9d5faa0473f8ca67c5 Mon Sep 17 00:00:00 2001 From: Dimitri Mazmanov Date: Mon, 11 Jul 2016 14:52:59 +0200 Subject: Add kingbird deployment scripts The scripts will be triggered by the CI and install kingbird on a controller. Change-Id: I3110aeb5dd20e53ca5816691ee2c7da24720630b Signed-off-by: Dimitri Mazmanov --- tools/kingbird/deploy.sh | 56 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 56 insertions(+) create mode 100755 tools/kingbird/deploy.sh (limited to 'tools/kingbird/deploy.sh') diff --git a/tools/kingbird/deploy.sh b/tools/kingbird/deploy.sh new file mode 100755 index 0000000..5a8c6a8 --- /dev/null +++ b/tools/kingbird/deploy.sh @@ -0,0 +1,56 @@ +#!/bin/bash + +INSTALLER_IP=10.20.0.2 + +usage() { + echo "usage: $0 -a " >&2 + +} + +error () { + logger -s -t "deploy.error" "$*" + exit 1 +} + +#Get options +while getopts ":a:" optchar; do + case "${optchar}" in + a) installer_ip=${OPTARG} ;; + *) echo "Non-option argument: '-${OPTARG}'" >&2 + usage + exit 2 + ;; + esac +done + +installer_ip=${installer_ip:-$INSTALLER_IP} + +ssh_options="-o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no" + +controller_ip=$(sshpass -p r00tme ssh 2>/dev/null $ssh_options root@${installer_ip} \ +'fuel node --env 1| grep controller | grep "True\| 1" | awk -F\| "{print \$5}" | tail -1' | \ +sed 's/ //g') &> /dev/null + +if [ -z $controller_ip ]; then + error "The controller $controller_ip is not up. Please check that the POD is correctly deployed." +fi + +# Copy install_kingbird.sh script to the controller +sshpass -p r00tme ssh 2>/dev/null $ssh_options root@${installer_ip} \ +"ssh $ssh_options ${controller_ip} \"cd /root/ && cat > install_kingbird.sh\"" < install_kingbird.sh &> /dev/null +# Set the rights and execute +sshpass -p r00tme ssh 2>/dev/null $ssh_options root@${installer_ip} \ +"ssh $ssh_options ${controller_ip} \"cd /root/ && chmod +x install_kingbird.sh\"" &> /dev/null +sshpass -p r00tme ssh 2>/dev/null $ssh_options root@${installer_ip} \ +"ssh $ssh_options ${controller_ip} \"cd /root/ && nohup /root/install_kingbird.sh \"" &> /dev/null + +engine_pid=$(sshpass -p r00tme ssh 2>/dev/null $ssh_options root@${installer_ip} "ssh $ssh_options ${controller_ip} \"pgrep kingbird-engine || echo dead\"") &> /dev/null +api_pid=$(sshpass -p r00tme ssh 2>/dev/null $ssh_options root@${installer_ip} "ssh $ssh_options ${controller_ip} \"pgrep kingbird-api || echo dead\"") &> /dev/null + +if [ "$engine_pid" == "dead" ]; then + error "Kingbird engine is not running." +fi + +if [ "$api_pid" == "dead" ]; then + error "Kingbird API is not running." +fi \ No newline at end of file -- cgit 1.2.3-korg