X-Git-Url: https://gerrit.opnfv.org/gerrit/gitweb?a=blobdiff_plain;f=jjb%2Fyardstick%2Fyardstick-ci-jobs.yml;h=48c335a03fa49357f7516d8243ab2b920f965d73;hb=b65b34f10e52dbb445b5c2654c67cf9d9a218ecd;hp=6283e5da1ef247e13c74de8b653f43ae744245dc;hpb=52db739c84cc51ad2ca82bbbc992c2c992b830b7;p=releng.git diff --git a/jjb/yardstick/yardstick-ci-jobs.yml b/jjb/yardstick/yardstick-ci-jobs.yml index 6283e5da1..48c335a03 100644 --- a/jjb/yardstick/yardstick-ci-jobs.yml +++ b/jjb/yardstick/yardstick-ci-jobs.yml @@ -13,80 +13,190 @@ stream: master branch: '{stream}' gs-pathname: '' + docker-tag: 'latest' brahmaputra: &brahmaputra stream: brahmaputra branch: 'stable/{stream}' gs-pathname: '{stream}' + docker-tag: 'brahmaputra.1.0' #-------------------------------- # POD, INSTALLER, AND BRANCH MAPPING #-------------------------------- -# brahmaputra +# Installers using labels +# CI PODs +# This section should only contain the installers +# that have been switched using labels for slaves #-------------------------------- pod: - - opnfv-jump-1: - installer: apex +# fuel CI PODs + - baremetal: + slave-label: fuel-baremetal + installer: fuel + auto-trigger-name: 'daily-trigger-disabled' + <<: *master + - virtual: + slave-label: fuel-virtual + installer: fuel + auto-trigger-name: 'daily-trigger-disabled' + <<: *master + - baremetal: + slave-label: fuel-baremetal + installer: fuel + auto-trigger-name: 'daily-trigger-disabled' <<: *brahmaputra - - opnfv-jump-2: + - virtual: + slave-label: fuel-virtual installer: fuel + auto-trigger-name: 'daily-trigger-disabled' + <<: *brahmaputra + +# just in case if things go wrong + - lf-pod2: + slave-label: '{pod}' + installer: fuel + auto-trigger-name: 'daily-trigger-disabled' + <<: *master + +# joid CI PODs + - baremetal: + slave-label: joid-baremetal + installer: joid + auto-trigger-name: 'daily-trigger-disabled' + <<: *master + - virtual: + slave-label: joid-virtual + installer: joid + auto-trigger-name: 'daily-trigger-disabled' + <<: *master + - baremetal: + slave-label: joid-baremetal + installer: joid + auto-trigger-name: 'daily-trigger-disabled' <<: *brahmaputra - - intel-pod5: + - virtual: + slave-label: joid-virtual installer: joid + auto-trigger-name: 'daily-trigger-disabled' + <<: *brahmaputra + +# 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' <<: *brahmaputra - - huawei-us-deploy-bare-1: + - virtual: + slave-label: compass-virtual installer: compass + auto-trigger-name: 'daily-trigger-disabled' <<: *brahmaputra #-------------------------------- -# master +# Installers not using labels +# CI PODs +# This section should only contain the installers +# that have not been switched using labels for slaves #-------------------------------- - - ericsson-pod1: - installer: fuel + - lf-pod1: + slave-label: '{pod}' + installer: apex + auto-trigger-name: 'daily-trigger-disabled' <<: *master - - ericsson-pod2: + - lf-pod1: + slave-label: '{pod}' + installer: apex + auto-trigger-name: 'daily-trigger-disabled' + <<: *brahmaputra +#-------------------------------- +# None-CI PODs +#-------------------------------- + - orange-pod2: + slave-label: '{pod}' + installer: joid + auto-trigger-name: 'daily-trigger-disabled' + <<: *brahmaputra + - zte-pod1: + slave-label: '{pod}' installer: fuel + auto-trigger-name: 'daily-trigger-disabled' <<: *master - - intel-pod6: + - orange-pod2: + slave-label: '{pod}' installer: joid + auto-trigger-name: 'daily-trigger-disabled' <<: *master - - intel-pod8: + - huawei-pod2: + slave-label: '{pod}' installer: compass + auto-trigger-name: 'daily-trigger-disabled' <<: *master - - zte-build-1: - installer: fuel - <<: *master - - orange-pod2: - installer: joid + - huawei-pod3: + slave-label: '{pod}' + installer: compass + auto-trigger-name: 'yardstick-daily-huawei-pod3-trigger' <<: *master - - opnfv-jump-1: - installer: apex + - huawei-pod4: + slave-label: '{pod}' + installer: compass + auto-trigger-name: 'yardstick-daily-huawei-pod4-trigger' <<: *master #-------------------------------- - loop: - - daily + testsuite: + - 'daily' jobs: - - 'yardstick-{installer}-{pod}-{loop}-{stream}' + - 'yardstick-{installer}-{pod}-{testsuite}-{stream}' ################################ # job templates ################################ - job-template: - name: 'yardstick-{installer}-{pod}-{loop}-{stream}' + name: 'yardstick-{installer}-{pod}-{testsuite}-{stream}' disabled: false + concurrent: true + + properties: + - throttle: + enabled: true + max-per-node: 1 + wrappers: - build-name: name: '$BUILD_NUMBER - Scenario: $DEPLOY_SCENARIO' + - timeout: + timeout: 180 + abort: true + + triggers: + - '{auto-trigger-name}' parameters: - project-parameter: project: '{project}' - - '{pod}-defaults' + - '{slave-label}-defaults' - '{installer}-defaults' - - 'yardstick-params-{pod}' + - 'yardstick-params-{slave-label}' + - string: + name: DEPLOY_SCENARIO + default: 'os-odl_l2-nofeature-ha' + - string: + name: DOCKER_TAG + default: '{docker-tag}' + description: 'Tag to pull docker image' - string: name: YARDSTICK_SUITE_NAME - default: opnfv_${{NODE_NAME}}_{loop}.yaml + default: opnfv_${{NODE_NAME}}_{testsuite}.yaml description: 'Path to test suite' - string: name: CI_DEBUG @@ -102,11 +212,11 @@ builders: - 'yardstick-cleanup' #- 'yardstick-fetch-os-creds' - - 'yardstick-daily' + - 'yardstick-{testsuite}' publishers: - email: - recipients: ana.cunha@ericsson.com jorgen.w.karlsson@ericsson.com + recipients: jean.gaoliang@huawei.com matthew.lijun@huawei.com ######################## # builder macros @@ -114,44 +224,14 @@ - builder: name: yardstick-daily builders: - - shell: | - #!/bin/bash - set -e - [[ $CI_DEBUG == true ]] && redirect="/dev/stdout" || redirect="/dev/null" - - # labconfig is used only for joid - labconfig="" - sshkey="" - if [[ ${INSTALLER_TYPE} == 'apex' ]]; then - instack_mac=$(sudo virsh domiflist instack | grep default | \ - grep -Eo "[0-9a-f]+:[0-9a-f]+:[0-9a-f]+:[0-9a-f]+:[0-9a-f]+:[0-9a-f]+") - INSTALLER_IP=$(/usr/sbin/arp -e | grep ${instack_mac} | awk {'print $1'}) - sshkey="-v /root/.ssh/id_rsa:/root/.ssh/id_rsa" - if [[ -n $(sudo iptables -L FORWARD |grep "REJECT"|grep "reject-with icmp-port-unreachable") ]]; then - #note: this happens only in opnfv-lf-pod1 - sudo iptables -D FORWARD -o virbr0 -j REJECT --reject-with icmp-port-unreachable - sudo iptables -D FORWARD -i virbr0 -j REJECT --reject-with icmp-port-unreachable - fi - elif [[ ${INSTALLER_TYPE} == 'joid' ]]; then - # If production lab then creds may be retrieved dynamically - # creds are on the jumphost, always in the same folder - labconfig="-v $LAB_CONFIG/admin-openrc:/home/opnfv/openrc" - # If dev lab, credentials may not be the default ones, just provide a path to put them into docker - # replace the default one by the customized one provided by jenkins config - fi - - opts="--privileged=true --rm" - envs="-e INSTALLER_TYPE=${INSTALLER_TYPE} -e INSTALLER_IP=${INSTALLER_IP} -e NODE_NAME=${NODE_NAME} -e EXTERNAL_NETWORK=${EXTERNAL_NETWORK} -e YARDSTICK_BRANCH=${GIT_BRANCH##origin/}" - - # Pull the latest image - docker pull opnfv/yardstick >$redirect - - # Run docker - cmd="sudo docker run ${opts} ${envs} ${labconfig} ${sshkey} opnfv/yardstick run_tests.sh ${YARDSTICK_DB_BACKEND} ${YARDSTICK_SUITE_NAME}" - echo "Yardstick: Running docker cmd: ${cmd}" - ${cmd} + - shell: + !include-raw: ./yardstick-daily.sh - echo "Yardstick: done!" +- builder: + name: yardstick-vtcdaily + builders: + - shell: + !include-raw: ./yardstick-vtcdaily.sh - builder: name: yardstick-fetch-os-creds @@ -162,48 +242,39 @@ - builder: name: yardstick-cleanup builders: - - shell: | - #!/bin/bash - [[ $CI_DEBUG == true ]] && redirect="/dev/stdout" || redirect="/dev/null" - - echo "Cleaning up docker containers/images..." - # Remove previous running containers if exist - if [[ ! -z $(docker ps -a | grep opnfv/yardstick) ]]; then - echo "Removing existing opnfv/yardstick containers..." - docker ps -a | grep opnfv/yardstick | awk '{print $1}' | xargs docker rm -f >$redirect - - fi - - # Remove existing images if exist - if [[ ! -z $(docker images | grep opnfv/yardstick) ]]; then - echo "Docker images to remove:" - docker images | head -1 && docker images | grep opnfv/yardstick - image_tags=($(docker images | grep opnfv/yardstick | awk '{print $2}')) - for tag in "${image_tags[@]}"; do - echo "Removing docker image opnfv/yardstick:$tag..." - docker rmi opnfv/yardstick:$tag >$redirect - - done - fi + - shell: + !include-raw: ./yardstick-cleanup.sh ######################## # parameter macros ######################## - parameter: - name: 'yardstick-params-intel-pod5' + name: 'yardstick-params-fuel-baremetal' + parameters: + - string: + name: YARDSTICK_DB_BACKEND + default: '-i 104.197.68.199:8086' + description: 'Arguments to use in order to choose the backend DB' +- parameter: + name: 'yardstick-params-fuel-virtual' parameters: - string: name: YARDSTICK_DB_BACKEND default: '' description: 'Arguments to use in order to choose the backend DB' - - parameter: - name: 'yardstick-params-intel-pod6' + name: 'yardstick-params-joid-baremetal' + parameters: + - string: + name: YARDSTICK_DB_BACKEND + default: '-i 104.197.68.199:8086' + description: 'Arguments to use in order to choose the backend DB' +- parameter: + name: 'yardstick-params-joid-virtual' parameters: - string: name: YARDSTICK_DB_BACKEND default: '' description: 'Arguments to use in order to choose the backend DB' - - parameter: name: 'yardstick-params-intel-pod8' parameters: @@ -211,39 +282,56 @@ name: YARDSTICK_DB_BACKEND default: '' description: 'Arguments to use in order to choose the backend DB' +- parameter: + name: 'yardstick-params-lf-pod1' + parameters: + - string: + name: YARDSTICK_DB_BACKEND + default: '-i 104.197.68.199:8086' + description: 'Arguments to use in order to choose the backend DB' - parameter: - name: 'yardstick-params-ericsson-pod1' + name: 'yardstick-params-lf-pod2' parameters: - string: name: YARDSTICK_DB_BACKEND - default: '-i 10.118.36.90:8086' + default: '-i 104.197.68.199:8086' description: 'Arguments to use in order to choose the backend DB' - parameter: - name: 'yardstick-params-ericsson-pod2' + name: 'yardstick-params-compass-baremetal' parameters: - string: name: YARDSTICK_DB_BACKEND - default: '-i 10.118.36.90:8086' + default: '-i 104.197.68.199:8086' description: 'Arguments to use in order to choose the backend DB' + - parameter: - name: 'yardstick-params-opnfv-jump-1' + name: 'yardstick-params-huawei-pod2' parameters: - string: name: YARDSTICK_DB_BACKEND - default: '-r 213.77.62.197/results' + default: '-i 104.197.68.199:8086' description: 'Arguments to use in order to choose the backend DB' + - parameter: - name: 'yardstick-params-opnfv-jump-2' + name: 'yardstick-params-zte-pod1' parameters: - string: name: YARDSTICK_DB_BACKEND - default: '-r 213.77.62.197/results' + default: '-i 104.197.68.199:8086' description: 'Arguments to use in order to choose the backend DB' - parameter: - name: 'yardstick-params-huawei-us-deploy-bare-1' + name: 'yardstick-params-orange-pod2' + parameters: + - string: + name: YARDSTICK_DB_BACKEND + default: '-i 104.197.68.199:8086' + description: 'Arguments to use in order to choose the backend DB' + +- parameter: + name: 'yardstick-params-virtual' parameters: - string: name: YARDSTICK_DB_BACKEND @@ -251,7 +339,7 @@ description: 'Arguments to use in order to choose the backend DB' - parameter: - name: 'yardstick-params-zte-build-1' + name: 'yardstick-params-compass-virtual' parameters: - string: name: YARDSTICK_DB_BACKEND @@ -259,9 +347,31 @@ description: 'Arguments to use in order to choose the backend DB' - parameter: - name: 'yardstick-params-orange-pod2' + name: 'yardstick-params-huawei-pod3' parameters: - string: name: YARDSTICK_DB_BACKEND default: '' description: 'Arguments to use in order to choose the backend DB' + +- parameter: + name: 'yardstick-params-huawei-pod4' + parameters: + - string: + name: YARDSTICK_DB_BACKEND + default: '' + description: 'Arguments to use in order to choose the backend DB' + +####################### +## trigger macros +####################### +# trigger for PODs to only run yardstick test suites +- trigger: + name: 'yardstick-daily-huawei-pod3-trigger' + triggers: + - timed: '0 1 * * *' + +- trigger: + name: 'yardstick-daily-huawei-pod4-trigger' + triggers: + - timed: '0 1 * * *'