From e179ec5cdff82921b07dbb297fe51b82f19fd9f5 Mon Sep 17 00:00:00 2001 From: "wu.zhihui" Date: Fri, 26 Aug 2016 11:18:04 +0800 Subject: [PATCH] qtip: move bash scripts out of qtip-ci-jobs.yml Change-Id: Ib48a1800b5d6d253c8bd8d383cf36c7119f6e9a4 Signed-off-by: wu.zhihui --- jjb/qtip/qtip-ci-jobs.yml | 85 ++++++----------------------------------------- jjb/qtip/qtip-cleanup.sh | 30 +++++++++++++++++ jjb/qtip/qtip-daily-ci.sh | 38 +++++++++++++++++++++ 3 files changed, 79 insertions(+), 74 deletions(-) create mode 100644 jjb/qtip/qtip-cleanup.sh create mode 100644 jjb/qtip/qtip-daily-ci.sh diff --git a/jjb/qtip/qtip-ci-jobs.yml b/jjb/qtip/qtip-ci-jobs.yml index d454b0f07..d0d6b47a3 100644 --- a/jjb/qtip/qtip-ci-jobs.yml +++ b/jjb/qtip/qtip-ci-jobs.yml @@ -13,6 +13,7 @@ stream: master branch: '{stream}' gs-pathname: '' + docker-tag: 'latest' #-------------------------------- # POD, INSTALLER, AND BRANCH MAPPING #-------------------------------- @@ -60,6 +61,10 @@ - string: name: DEPLOY_SCENARIO default: 'os-nosdn-nofeature-ha' + - string: + name: DOCKER_TAG + default: '{docker-tag}' + description: 'Tag to pull docker image' scm: - git-scm: @@ -72,9 +77,7 @@ builders: - 'qtip-cleanup' - - 'qtip-set-env' - - 'qtip-run-suite' - - 'qtip-pushtoDB' + - 'qtip-daily-ci' publishers: - email: @@ -84,82 +87,16 @@ #biuilder macros ########################### - builder: - name: qtip-set-env - builders: - - shell: | - #!/bin/bash - echo "Qtip: Start Docker and prepare environment" - envs="INSTALLER_TYPE=${INSTALLER_TYPE} -e INSTALLER_IP=${INSTALLER_IP} -e NODE_NAME=${NODE_NAME}" - suite="TEST_CASE=all" - dir_imgstore="${HOME}/imgstore" - img_volume="${dir_imgstore}:/home/opnfv/imgstore" - docker pull opnfv/qtip:latest - cmd=" docker run -id -e $envs -e $suite -v ${img_volume} opnfv/qtip:latest /bin/bash" - echo "Qtip: Running docker run command: ${cmd}" - ${cmd} - docker ps -a - container_id=$(docker ps | grep 'opnfv/qtip:latest' | awk '{print $1}' | head -1) - if [ $(docker ps | grep 'opnfv/qtip' | wc -l) == 0 ]; then - echo "The container opnfv/qtip with ID=${container_id} has not been properly started. Exiting..." - exit 1 - fi -- builder: - name: qtip-run-suite - builders: - - shell: | - #!/bin/bash - container_id=$(docker ps | grep 'opnfv/qtip:latest' | awk '{print $1}' | head -1) - if [[ ! -z ${container_id} ]]; then - echo "The container ID is: ${container_id}" - QTIP_REPO=/home/opnfv/repos/qtip - docker exec -t ${container_id} $QTIP_REPO/docker/run_qtip.sh - else - echo "Container ID not available" - fi - -- builder: - name: qtip-pushtoDB + name: qtip-daily-ci builders: - - shell: | - #!/bin/bash - - echo "Pushing available results to DB" - echo "The container id is:" - container_id=$(docker ps | grep 'opnfv/qtip:latest' | awk '{print $1}' | head -1) - if [[ ! -z ${container_id} ]]; then - echo "The condiner ID is: ${container_id}" - QTIP_REPO=/home/opnfv/repos/qtip - docker exec -t ${container_id} $QTIP_REPO/docker/push_db.sh - else - echo "Container ID not available" - fi + - shell: + !include-raw: ./qtip-daily-ci.sh - builder: name: qtip-cleanup builders: - - shell: | - #!/bin/bash - - echo "Cleaning up QTIP docker containers/images..." - # Remove previous running containers if exist - if [[ ! -z $(docker ps -a | grep opnfv/qtip) ]]; then - echo "Removing existing opnfv/qtip containers..." - running_containers=$(docker ps | grep opnfv/qtip | awk '{print $1}') - docker stop ${running_containers} - all_containers=$(docker ps -a | grep opnfv/qtip | awk '{print $1}') - docker rm ${all_containers} - fi - - # Remove existing images if exist - if [[ ! -z $(docker images | grep opnfv/qtip) ]]; then - echo "Docker images to remove:" - docker images | head -1 && docker images | grep opnfv/qtip - image_tags=($(docker images | grep opnfv/qtip | awk '{print $2}')) - for tag in "${image_tags[@]}"; do - echo "Removing docker image opnfv/qtip:$tag..." - docker rmi opnfv/qtip:$tag - done - fi + - shell: + !include-raw: ./qtip-cleanup.sh ################# #trigger macros diff --git a/jjb/qtip/qtip-cleanup.sh b/jjb/qtip/qtip-cleanup.sh new file mode 100644 index 000000000..b923aa2a8 --- /dev/null +++ b/jjb/qtip/qtip-cleanup.sh @@ -0,0 +1,30 @@ +#!/bin/bash +############################################################################## +# Copyright (c) 2016 ZTE and others. +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Apache License, Version 2.0 +# which accompanies this distribution, and is available at +# http://www.apache.org/licenses/LICENSE-2.0 +############################################################################## +echo "Cleaning up QTIP docker containers/images..." + +# Remove previous running containers if exist +if [[ ! -z $(docker ps -a | grep opnfv/qtip) ]]; then + echo "Removing existing opnfv/qtip containers..." + running_containers=$(docker ps | grep opnfv/qtip | awk '{print $1}') + docker stop ${running_containers} + all_containers=$(docker ps -a | grep opnfv/qtip | awk '{print $1}') + docker rm ${all_containers} +fi + +# Remove existing images if exist +if [[ ! -z $(docker images | grep opnfv/qtip) ]]; then + echo "Docker images to remove:" + docker images | head -1 && docker images | grep opnfv/qtip + image_tags=($(docker images | grep opnfv/qtip | awk '{print $2}')) + for tag in "${image_tags[@]}"; do + echo "Removing docker image opnfv/qtip:$tag..." + docker rmi opnfv/qtip:$tag + done +fi + diff --git a/jjb/qtip/qtip-daily-ci.sh b/jjb/qtip/qtip-daily-ci.sh new file mode 100644 index 000000000..4fdc04345 --- /dev/null +++ b/jjb/qtip/qtip-daily-ci.sh @@ -0,0 +1,38 @@ +#!/bin/bash +############################################################################## +# Copyright (c) 2016 ZTE and others. +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Apache License, Version 2.0 +# which accompanies this distribution, and is available at +# http://www.apache.org/licenses/LICENSE-2.0 +############################################################################## +set -e + +envs="INSTALLER_TYPE=${INSTALLER_TYPE} -e INSTALLER_IP=${INSTALLER_IP} -e NODE_NAME=${NODE_NAME}" +suite="TEST_CASE=all" +dir_imgstore="${HOME}/imgstore" +img_volume="${dir_imgstore}:/home/opnfv/imgstore" + +echo "Qtip: Pulling docker image: opnfv/qtip:${DOCKER_TAG}" +docker pull opnfv/qtip:$DOCKER_TAG + +cmd=" docker run -id -e $envs -e $suite -v ${img_volume} opnfv/qtip:${DOCKER_TAG} /bin/bash" +echo "Qtip: Running docker command: ${cmd}" +${cmd} + +container_id=$(docker ps | grep "opnfv/qtip:${DOCKER_TAG}" | awk '{print $1}' | head -1) +if [ $(docker ps | grep 'opnfv/qtip' | wc -l) == 0 ]; then + echo "The container opnfv/qtip with ID=${container_id} has not been properly started. Exiting..." + exit 1 +else + echo "The container ID is: ${container_id}" + QTIP_REPO=/home/opnfv/repos/qtip + + echo "Run Qtip test" + docker exec -t ${container_id} $QTIP_REPO/docker/run_qtip.sh + + echo "Pushing available results to DB" + docker exec -t ${container_id} $QTIP_REPO/docker/push_db.sh +fi + +echo "Qtip done!" -- 2.16.6