summaryrefslogtreecommitdiffstats
path: root/build/f_isoroot/f_tacker-pluginbuild/Makefile
diff options
context:
space:
mode:
authorMichael Polenchuk <mpolenchuk@mirantis.com>2017-03-17 14:24:28 +0400
committerMichael Polenchuk <mpolenchuk@mirantis.com>2017-03-17 14:38:30 +0400
commit2fff9fec802617a34aa4ceac8f328d34101189c6 (patch)
treeba384b29c2eb8046ba632b7dd4fbdc5d9e79fc24 /build/f_isoroot/f_tacker-pluginbuild/Makefile
parent4b647cf926eeb373a90dee77d1dc915ae5a6c665 (diff)
Catch nodes flapping issue
Wait for nodes to become online to row down the bug https://bugs.launchpad.net/fuel/+bug/1672969 Change-Id: Ic0621a415461c1552ebfc9cd7d1ab2061ea7a8cb Signed-off-by: Michael Polenchuk <mpolenchuk@mirantis.com>
Diffstat (limited to 'build/f_isoroot/f_tacker-pluginbuild/Makefile')
0 files changed, 0 insertions, 0 deletions
179' href='#n179'>179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226
####################################
# job configuration for bottlenecks
####################################
- project:
    name: bottlenecks-ci-jobs

    project: 'bottlenecks'

#--------------------------------
# BRANCH ANCHORS
#--------------------------------
    master: &master
        stream: master
        branch: '{stream}'
        #This is used for common project file storage
        gs-pathname: ''
        #This is used for different test suite dependent packages storage
        gs-packagepath: '/{suite}'
        #docker tag used for version control
        docker-tag: 'latest'
    colorado: &colorado
        stream: colorado
        branch: 'stable/{stream}'
        gs-pathname: '/{stream}'
        gs-packagepath: '/{stream}/{suite}'
        docker-tag: 'stable'
#--------------------------------
# POD, INSTALLER, AND BRANCH MAPPING
#--------------------------------
#    Installers using labels
#            CI PODs
# This section should only contain the installers
# that have been switched using labels for slaves
#--------------------------------
    pod:
#compass CI PODs
        - baremetal:
            slave-label: compass-baremetal
            installer: compass
            auto-trigger-name: 'daily-trigger-disabled'
            <<: *master
        - virtual:
            slave-label: compass-virtual
            installer: compass
            auto-trigger-name: 'daily-trigger-disabled'
            <<: *master
        - baremetal:
            slave-label: compass-baremetal
            installer: compass
            auto-trigger-name: 'daily-trigger-disabled'
            <<: *colorado
        - virtual:
            slave-label: compass-virtual
            installer: compass
            auto-trigger-name: 'daily-trigger-disabled'
            <<: *colorado

#--------------------------------
#        None-CI PODs
#--------------------------------
       # - orange-pod2:
       #     slave-label: '{pod}'
       #     installer: joid
       #     auto-trigger-name: 'daily-trigger-disabled'
       #     <<: *colorado
       # - orange-pod2:
       #     slave-label: '{pod}'
       #     installer: joid
       #     auto-trigger-name: 'daily-trigger-disabled'
       #     <<: *master
#--------------------------------------------
    suite:
        - 'rubbos'
        - 'vstf'

    jobs:
        - 'bottlenecks-{installer}-{suite}-{pod}-daily-{stream}'

################################
# job templates
################################
- job-template:
    name: 'bottlenecks-{installer}-{suite}-{pod}-daily-{stream}'

    wrappers:
        - build-name:
            name: '$BUILD_NUMBER - Scenario: $DEPLOY_SCENARIO'
        - timeout:
            timeout: 180
            abort: true

    triggers:
        - '{auto-trigger-name}'

    parameters:
        - project-parameter:
            project: '{project}'
        - gerrit-parameter:
            branch: '{branch}'
        - '{slave-label}-defaults'
        - '{installer}-defaults'
        - 'bottlenecks-params-{slave-label}'
        - string:
            name: REPO_DIR
            default: "/home/opnfv/bottlenecks"
            description: "Directory where the repository is cloned"
        - string:
            name: DEPLOY_SCENARIO
            default: 'os-odl_l2-nofeature-ha'
        - string:
            name: GERRIT_REFSPEC_DEBUG
            default: 'false'
            description: "Gerrit refspec for debug."
        - string:
            name: SUITE_NAME
            default: '{suite}'
            description: "test suite name."
        - string:
            name: DOCKER_TAG
            default: '{docker-tag}'
            description: "docker image tag used for version control"

    scm:
        - git-scm

    builders:
        - 'bottlenecks-env-cleanup'
        - 'bottlenecks-run-suite'

    publishers:
        - email:
            recipients: hongbo.tianhongbo@huawei.com matthew.lijun@huawei.com liangqi1@huawei.com sunshine.wang@huawei.com

########################
# builder macros
########################
- builder:
    name: bottlenecks-env-cleanup
    builders:
        - shell: |
            #!/bin/bash
            set -e
            [[ $GERRIT_REFSPEC_DEBUG == true ]] && redirect="/dev/stdout" || redirect="/dev/null"

            echo "Bottlenecks: docker containers/images cleaning up"
            if [[ ! -z $(docker ps -a | grep opnfv/bottlenecks) ]]; then
                echo "removing existing opnfv/bottlenecks containers"
                docker ps -a | grep opnfv/bottlenecks | awk '{print $1}' | xargs docker rm -f >$redirect
            fi

            if [[ ! -z $(docker images | grep opnfv/bottlenecks) ]]; then
                echo "Bottlenecks: docker images to remove:"
                docker images | head -1 && docker images | grep opnfv/bottlenecks
                image_tags=($(docker images | grep opnfv/bottlenecks | awk '{print $2}'))
                for tag in "${image_tags[@]}"; do
                    echo "Removing docker image opnfv/bottlenecks:$tag..."
                    docker rmi opnfv/bottlenecks:$tag >$redirect
                done
            fi

- builder:
    name: bottlenecks-run-suite
    builders:
        - shell: |
            #!/bin/bash
            set -e
            [[ $GERRIT_REFSPEC_DEBUG == true ]] && redirect="/dev/stdout" || redirect="/dev/null"

            echo "Bottlenecks: to pull image opnfv/bottlenecks:${DOCKER_TAG}"
            docker pull opnfv/bottlenecks:$DOCKER_TAG >${redirect}

            echo "Bottlenecks: docker start running"
            opts="--privileged=true -id"
            envs="-e INSTALLER_TYPE=${INSTALLER_TYPE} -e INSTALLER_IP=${INSTALLER_IP} \
                  -e NODE_NAME=${NODE_NAME} -e EXTERNAL_NET=${EXTERNAL_NETWORK} \
                  -e BOTTLENECKS_BRANCH=${BOTTLENECKS_BRANCH} -e GERRIT_REFSPEC_DEBUG=${GERRIT_REFSPEC_DEBUG} \
                  -e BOTTLENECKS_DB_TARGET=${BOTTLENECKS_DB_TARGET} -e PACKAGE_URL=${PACKAGE_URL}"
            cmd="sudo docker run ${opts} ${envs} opnfv/bottlenecks:${DOCKER_TAG} /bin/bash"
            echo "Bottlenecks: docker cmd running ${cmd}"
            ${cmd} >${redirect}

            echo "Bottlenecks: obtain docker id"
            container_id=$(docker ps | grep "opnfv/bottlenecks:${DOCKER_TAG}" | awk '{print $1}' | head -1)
            if [ -z ${container_id} ]; then
                echo "Cannot find opnfv/bottlenecks container ID ${container_id}. Please check if it exists."
                docker ps -a
                exit 1
            fi

            echo "Bottlenecks: to prepare openstack environment"
            prepare_env="${REPO_DIR}/ci/prepare_env.sh"
            echo "Bottlenecks: docker cmd running: ${prepare_env}"
            sudo docker exec ${container_id} ${prepare_env}

            echo "Bottlenecks: to run testsuite ${SUITE_NAME}"
            run_testsuite="${REPO_DIR}/run_tests.sh -s ${SUITE_NAME}"
            echo "Bottlenecks: docker cmd running: ${run_testsuite}"
            sudo docker exec ${container_id} ${run_testsuite}

####################
# parameter macros
####################

- parameter:
    name: 'bottlenecks-params-compass-baremetal'
    parameters:
        - string:
            name: BOTTLENECKS_DB_TARGET
            default: '104.197.68.199:8086'
            description: 'Arguments to use in order to choose the backend DB'

- parameter:
    name: 'bottlenecks-params-compass-virtual'
    parameters:
        - string:
            name: BOTTLENECKS_DB_TARGET
            default: ''
            description: 'Arguments to use in order to choose the backend DB'

- parameter:
    name: 'bottlenecks-params-orange-pod2'
    parameters:
        - string:
            name: BOTTLENECKS_DB_TARGET
            default: '104.197.68.199:8086'
            description: 'Arguments to use in order to choose the backend DB'