diff options
Diffstat (limited to 'jjb/qtip/qtip-ci-jobs.yml')
-rw-r--r-- | jjb/qtip/qtip-ci-jobs.yml | 160 |
1 files changed, 160 insertions, 0 deletions
diff --git a/jjb/qtip/qtip-ci-jobs.yml b/jjb/qtip/qtip-ci-jobs.yml new file mode 100644 index 000000000..d33bdda32 --- /dev/null +++ b/jjb/qtip/qtip-ci-jobs.yml @@ -0,0 +1,160 @@ +#################################### +# job configuration for qtip +#################################### +- project: + name: qtip-ci-jobs + + project: 'qtip' + +#-------------------------------- +# BRANCH ANCHORS +#-------------------------------- + master: &master + stream: master + branch: '{stream}' + gs-pathname: '' + brahmaputra: &brahmaputra + stream: brahmaputra + branch: 'stable/{stream}' + gs-pathname: '{stream}' +#-------------------------------- +# POD, INSTALLER, AND BRANCH MAPPING +#-------------------------------- +# brahmaputra +#-------------------------------- + pod: + - dell-us-testing-bm-1: + installer: compass + <<: *brahmaputra + - orange-pod2: + installer: joid + <<: *brahmaputra + - dell-us-deploying-bm3: + installer: fuel + <<: *brahmaputra + +#-------------------------------- +# master +#-------------------------------- + - juniper-pod1: + installer: joid + <<: *master +# - zte-build-1: #would be confirmed with the ZTE lab by tomorrow +# installer: fuel +# <<: *master + +#-------------------------------- + jobs: + - 'qtip-{installer}-{pod}-daily-{stream}' + +################################ +# job templates +################################ +- job-template: + name: 'qtip-{installer}-{pod}-daily-{stream}' + + disabled: false + + parameters: + - project-parameter: + project: '{project}' + - '{pod}-defaults' + - '{installer}-defaults' + - string: + name: DEPLOY_SCENARIO + default: 'os-nosdn-nofeature-ha' + + scm: + - git-scm: + credentials-id: '{ssh-credentials}' + refspec: '' + branch: '{branch}' + + builders: + - 'qtip-cleanup' + - 'qtip-set-env' + - 'qtip-run-suite' + - 'qtip-pushtoDB' + + publishers: + - email: + recipients: nauman.ahad@xflowresearch.com, mofassir.arif@xflowresearch.com, vikram@nvirters.com + +########################### +#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" + docker pull opnfv/qtip:latest + cmd=" docker run -id -e $envs -e $suite 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 + 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 + +- 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 |