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
- suite: daily
- <<: *brahmaputra
- - opnfv-jump-2:
+# fuel CI PODs
+ - baremetal:
+ slave-label: fuel-baremetal
installer: fuel
- suite: daily
- <<: *brahmaputra
- - intel-pod5:
- installer: joid
- suite: daily
+ 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
- - huawei-us-deploy-bare-1:
- installer: compass
- suite: daily
+ - virtual:
+ slave-label: fuel-virtual
+ installer: fuel
+ auto-trigger-name: 'daily-trigger-disabled'
<<: *brahmaputra
- - ericsson-pod1:
+
+# just in case if things go wrong
+ - lf-pod2:
+ slave-label: '{pod}'
installer: fuel
- suite: daily
+ 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
- virtual:
- installer: fuel
- suite: daily
+ slave-label: joid-virtual
+ installer: joid
+ auto-trigger-name: 'daily-trigger-disabled'
<<: *brahmaputra
- - huawei-virtual:
+
+# compass CI PODs
+ - baremetal:
+ slave-label: compass-baremetal
+ installer: compass
+ auto-trigger-name: 'daily-trigger-disabled'
+ <<: *master
+ - virtual:
+ slave-label: compass-virtual
installer: compass
- suite: daily
+ auto-trigger-name: 'daily-trigger-disabled'
+ <<: *master
+ - baremetal:
+ slave-label: compass-baremetal
+ installer: compass
+ auto-trigger-name: 'daily-trigger-disabled'
<<: *brahmaputra
- virtual:
- installer: joid
- suite: daily
+ 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
- suite: daily
- <<: *master
- - ericsson-pod1:
- installer: fuel
- suite: vtcdaily
- <<: *master
- - ericsson-pod2:
- installer: fuel
- suite: daily
+ - lf-pod1:
+ slave-label: '{pod}'
+ installer: apex
+ auto-trigger-name: 'daily-trigger-disabled'
<<: *master
- - intel-pod6:
+ - lf-pod1:
+ slave-label: '{pod}'
+ installer: apex
+ auto-trigger-name: 'daily-trigger-disabled'
+ <<: *brahmaputra
+#--------------------------------
+# None-CI PODs
+#--------------------------------
+ - orange-pod2:
+ slave-label: '{pod}'
installer: joid
- suite: daily
- <<: *master
- - intel-pod8:
- installer: compass
- suite: daily
- <<: *master
- - zte-build-1:
+ auto-trigger-name: 'daily-trigger-disabled'
+ <<: *brahmaputra
+ - zte-pod1:
+ slave-label: '{pod}'
installer: fuel
- suite: daily
+ auto-trigger-name: 'daily-trigger-disabled'
<<: *master
- orange-pod2:
+ slave-label: '{pod}'
installer: joid
- suite: daily
- <<: *master
- - opnfv-jump-1:
- installer: apex
- suite: daily
+ auto-trigger-name: 'daily-trigger-disabled'
<<: *master
- - virtual:
- installer: fuel
- suite: daily
+ - huawei-pod2:
+ slave-label: '{pod}'
+ installer: compass
+ auto-trigger-name: 'daily-trigger-disabled'
<<: *master
- - huawei-virtual:
+ - huawei-pod3:
+ slave-label: '{pod}'
installer: compass
- suite: daily
+ auto-trigger-name: 'yardstick-daily-huawei-pod3-trigger'
<<: *master
- - virtual:
- installer: joid
- suite: daily
+ - huawei-pod4:
+ slave-label: '{pod}'
+ installer: compass
+ auto-trigger-name: 'yardstick-daily-huawei-pod4-trigger'
<<: *master
#--------------------------------
+ testsuite:
+ - 'daily'
jobs:
- - 'yardstick-{installer}-{pod}-{suite}-{stream}'
+ - 'yardstick-{installer}-{pod}-{testsuite}-{stream}'
################################
# job templates
################################
- job-template:
- name: 'yardstick-{installer}-{pod}-{suite}-{stream}'
+ name: 'yardstick-{installer}-{pod}-{testsuite}-{stream}'
disabled: false
- throttle:
enabled: true
max-per-node: 1
+ option: 'project'
wrappers:
- build-name:
name: '$BUILD_NUMBER - Scenario: $DEPLOY_SCENARIO'
+ - timeout:
+ timeout: 180
+ abort: true
triggers:
- - 'yardstick-{pod}-trigger'
+ - '{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}}_{suite}.yaml
+ default: opnfv_${{NODE_NAME}}_{testsuite}.yaml
description: 'Path to test suite'
- string:
name: CI_DEBUG
builders:
- 'yardstick-cleanup'
#- 'yardstick-fetch-os-creds'
- - 'yardstick-{suite}'
+ - '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
- 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/} -e DEPLOY_SCENARIO=${DEPLOY_SCENARIO}"
-
- # 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}
-
- echo "Yardstick: done!"
+ - shell:
+ !include-raw: ./yardstick-daily.sh
- builder:
name: yardstick-vtcdaily
builders:
- - shell: |
- #!/bin/bash
- set -e
- [[ $CI_DEBUG == true ]] && redirect="/dev/stdout" || redirect="/dev/null"
-
- cd $WORKSPACE
- ./ci/apexlake-verify
+ - shell:
+ !include-raw: ./yardstick-vtcdaily.sh
- builder:
name: yardstick-fetch-os-creds
- 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:
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: ''
+ default: '-i 104.197.68.199:8086'
description: 'Arguments to use in order to choose the backend DB'
- parameter:
- name: 'yardstick-params-zte-build-1'
+ name: 'yardstick-params-virtual'
parameters:
- string:
name: YARDSTICK_DB_BACKEND
description: 'Arguments to use in order to choose the backend DB'
- parameter:
- name: 'yardstick-params-orange-pod2'
+ name: 'yardstick-params-compass-virtual'
parameters:
- string:
name: YARDSTICK_DB_BACKEND
description: 'Arguments to use in order to choose the backend DB'
- parameter:
- name: 'yardstick-params-virtual'
+ name: 'yardstick-params-huawei-pod3'
parameters:
- string:
name: YARDSTICK_DB_BACKEND
description: 'Arguments to use in order to choose the backend DB'
- parameter:
- name: 'yardstick-params-huawei-virtual'
+ name: 'yardstick-params-huawei-pod4'
parameters:
- string:
name: YARDSTICK_DB_BACKEND
#######################
# trigger for PODs to only run yardstick test suites
- trigger:
- name: 'yardstick-zte-build-1-trigger'
- triggers:
- - timed: '0 2 * * *'
-
-- trigger:
- name: 'yardstick-intel-pod5-trigger'
- triggers:
- - timed: ''
-
-- trigger:
- name: 'yardstick-intel-pod6-trigger'
- triggers:
- - timed: ''
-
-- trigger:
- name: 'yardstick-intel-pod8-trigger'
- triggers:
- - timed: ''
-
-- trigger:
- name: 'yardstick-ericsson-pod1-trigger'
- triggers:
- - timed: ''
-
-- trigger:
- name: 'yardstick-ericsson-pod2-trigger'
- triggers:
- - timed: ''
-
-- trigger:
- name: 'yardstick-opnfv-jump-1-trigger'
- triggers:
- - timed: ''
-
-- trigger:
- name: 'yardstick-opnfv-jump-2-trigger'
- triggers:
- - timed: ''
-
-- trigger:
- name: 'yardstick-huawei-us-deploy-bare-1-trigger'
- triggers:
- - timed: ''
-
-- trigger:
- name: 'yardstick-orange-pod2-trigger'
- triggers:
- - timed: ''
-
-- trigger:
- name: 'yardstick-virtual-trigger'
+ name: 'yardstick-daily-huawei-pod3-trigger'
triggers:
- - timed: ''
+ - timed: '0 1 * * *'
- trigger:
- name: 'yardstick-huawei-virtual-trigger'
+ name: 'yardstick-daily-huawei-pod4-trigger'
triggers:
- - timed: ''
+ - timed: '0 1 * * *'