diff options
Diffstat (limited to 'compass/ci')
-rwxr-xr-x | compass/ci/build.sh | 26 | ||||
-rwxr-xr-x | compass/ci/deploy.sh | 14 | ||||
-rwxr-xr-x | compass/ci/launch.sh | 65 | ||||
-rwxr-xr-x | compass/ci/log.sh | 22 |
4 files changed, 110 insertions, 17 deletions
diff --git a/compass/ci/build.sh b/compass/ci/build.sh index 4e5b87b..2b7fd9a 100755 --- a/compass/ci/build.sh +++ b/compass/ci/build.sh @@ -84,7 +84,7 @@ EOF # BEGIN of variables to customize # BUILD_BASE=$(readlink -e ../build/) -RESULT_DIR="${BUILD_BASE}/release" +export RESULT_DIR="${BUILD_BASE}/release" BUILD_SPEC="${BUILD_BASE}/config.mk" CACHE_DIR="cache" LOCAL_CACHE_ARCH_NAME="compass-cache" @@ -112,11 +112,11 @@ DEBUG=0 INTEGRATION_TEST=0 FULL_INTEGRATION_TEST=0 INTERACTIVE=0 -BUILD_CACHE_URI= +export BUILD_CACHE_URI= BUILD_SPEC= BUILD_DIR= BUILD_LOG= -BUILD_VERSION= +export BUILD_VERSION= MAKE_ARGS= # # END of script assigned variables @@ -133,6 +133,8 @@ source ${INCLUDE_DIR}/build.sh.debug ############################################################################ # BEGIN of main # +build_prepare + while getopts "s:c:v:f:l:r:RtTh" OPTION do case $OPTION in @@ -376,15 +378,15 @@ mkdir -p ${BUILD_DIR} cp ${BUILD_BASE}/.versions ${BUILD_DIR} cp ${RESULT_DIR}/*.iso* ${BUILD_DIR} -if [ $POPULATE_CACHE -eq 1 ]; then - if [ ! -z ${BUILD_CACHE_URI} ]; then - echo "Building cache ..." - tar --dereference -C ${BUILD_BASE} -caf ${BUILD_BASE}/${LOCAL_CACHE_ARCH_NAME}.tgz ${CACHE_DIR} - echo "Uploading cache ${BUILD_CACHE_URI}/${REMOTE_CACHE_ARCH_NAME}" - ${REMOTE_ACCESS_METHD} -T ${BUILD_BASE}/${LOCAL_CACHE_ARCH_NAME}.tgz ${BUILD_CACHE_URI}/${REMOTE_CACHE_ARCH_NAME}.tgz - rm ${BUILD_BASE}/${LOCAL_CACHE_ARCH_NAME}.tgz - fi -fi +#if [ $POPULATE_CACHE -eq 1 ]; then +# if [ ! -z ${BUILD_CACHE_URI} ]; then +# echo "Building cache ..." +# tar --dereference -C ${BUILD_BASE} -caf ${BUILD_BASE}/${LOCAL_CACHE_ARCH_NAME}.tgz ${CACHE_DIR} +# echo "Uploading cache ${BUILD_CACHE_URI}/${REMOTE_CACHE_ARCH_NAME}" +# ${REMOTE_ACCESS_METHD} -T ${BUILD_BASE}/${LOCAL_CACHE_ARCH_NAME}.tgz ${BUILD_CACHE_URI}/${REMOTE_CACHE_ARCH_NAME}.tgz +# rm ${BUILD_BASE}/${LOCAL_CACHE_ARCH_NAME}.tgz +# fi +#fi echo "Success!!!" exit 0 # diff --git a/compass/ci/deploy.sh b/compass/ci/deploy.sh index fe754aa..197bf63 100755 --- a/compass/ci/deploy.sh +++ b/compass/ci/deploy.sh @@ -1,5 +1,9 @@ -SCRIPT_DIR=$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd ) -CONF_NAME=$1 -source ${SCRIPT_DIR}/../deploy/prepare.sh || exit $? -source ${SCRIPT_DIR}/../deploy/setup-env.sh || exit $? -source ${SCRIPT_DIR}/../deploy/deploy-vm.sh || exit $? +#set -x +COMPASS_DIR=`cd ${BASH_SOURCE[0]%/*}/../;pwd` +export COMPASS_DIR + +apt-get install screen +screen -ls |grep deploy|awk -F. '{print $1}'|xargs kill -9 +screen -wipe +#screen -dmSL deploy bash $COMPASS_DIR/ci/launch.sh $* +$COMPASS_DIR/ci/launch.sh $* diff --git a/compass/ci/launch.sh b/compass/ci/launch.sh new file mode 100755 index 0000000..316b06f --- /dev/null +++ b/compass/ci/launch.sh @@ -0,0 +1,65 @@ +#set -x +WORK_DIR=$COMPASS_DIR/ci/work + +if [[ $# -ge 1 ]];then + CONF_NAME=$1 +else + CONF_NAME=cluster +fi + +source ${COMPASS_DIR}/ci/log.sh +source ${COMPASS_DIR}/deploy/conf/${CONF_NAME}.conf +source ${COMPASS_DIR}/deploy/prepare.sh +source ${COMPASS_DIR}/deploy/network.sh + +if [[ ! -z $VIRT_NUMBER ]];then + source ${COMPASS_DIR}/deploy/host_vm.sh +else + source ${COMPASS_DIR}/deploy/host_baremetal.sh +fi + +source ${COMPASS_DIR}/deploy/compass_vm.sh +source ${COMPASS_DIR}/deploy/deploy_host.sh + +######################### main process + +if ! prepare_env;then + echo "prepare_env failed" + exit 1 +fi + +log_info "########## get host mac begin #############" +machines=`get_host_macs` +if [[ -z $machines ]];then + log_error "get_host_macs failed" + exit 1 +fi + +log_info "deploy host macs: $machines" +export machines + +log_info "########## set up network begin #############" +if ! create_nets;then + log_error "create_nets failed" + exit 1 +fi + +if ! launch_compass;then + log_error "launch_compass failed" + exit 1 +fi +if [[ ! -z $VIRT_NUMBER ]];then + if ! launch_host_vms;then + log_error "launch_host_vms failed" + exit 1 + fi +fi +if ! deploy_host;then + #tear_down_machines + #tear_down_compass + exit 1 +else + #tear_down_machines + #tear_down_compass + exit 0 +fi diff --git a/compass/ci/log.sh b/compass/ci/log.sh new file mode 100755 index 0000000..f54fdca --- /dev/null +++ b/compass/ci/log.sh @@ -0,0 +1,22 @@ +#!/bin/bash +reset=`tput sgr0` +red=`tput setaf 1` +green=`tput setaf 2` +yellow=`tput setaf 3` + +function log_info() { + echo -e "${green}$*${reset}" +} + +function log_warn() { + echo -e "${yellow}$*${reset}" +} + +function log_error() { + echo -e "${red}$*${reset}" +} + +function log_progress() { + echo -en "${yellow}$*\r${reset}" +} + |