X-Git-Url: https://gerrit.opnfv.org/gerrit/gitweb?a=blobdiff_plain;f=jjb%2Fyardstick%2Fyardstick-ci-jobs.yml;h=48c335a03fa49357f7516d8243ab2b920f965d73;hb=b65b34f10e52dbb445b5c2654c67cf9d9a218ecd;hp=fffd18331badbe9587e472fc0ecb897ed861fa4c;hpb=ab273f3fb5bdb3afcd240c09d4a69a5081b3bb93;p=releng.git diff --git a/jjb/yardstick/yardstick-ci-jobs.yml b/jjb/yardstick/yardstick-ci-jobs.yml index fffd18331..48c335a03 100644 --- a/jjb/yardstick/yardstick-ci-jobs.yml +++ b/jjb/yardstick/yardstick-ci-jobs.yml @@ -13,81 +13,195 @@ 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 + default: 'false' + description: "Show debut output information" scm: - git-scm: @@ -97,12 +211,12 @@ builders: - 'yardstick-cleanup' - - 'yardstick-fetch-os-creds' - - 'yardstick-daily' + #- 'yardstick-fetch-os-creds' + - '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 @@ -110,39 +224,14 @@ - builder: name: yardstick-daily builders: - - shell: | - #!/bin/bash - set +e - # 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" - 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 - 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=${GERRIT_BRANCH}" - - # Pull the latest image - docker pull opnfv/yardstick - - # 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 @@ -153,47 +242,39 @@ - builder: name: yardstick-cleanup builders: - - shell: | - #!/bin/bash - - 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 | grep opnfv/yardstick | awk '{print $1}' | xargs docker stop - docker ps -a | grep opnfv/yardstick | awk '{print $1}' | xargs docker rm - 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 - 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: @@ -201,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: '' + 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: '' + 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' + 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 @@ -241,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 @@ -249,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 * * *'