- project:
name: yardstick
- installer:
- - fuel:
+ project: 'yardstick'
+
+ pod:
+ - lf:
node: 'opnfv-jump-2'
installer_type: 'fuel'
installer_ip: '10.20.0.2'
- - foreman:
- node: 'opnfv-jump-2'
- installer_type: 'foreman'
- installer_ip: '172.30.10.73'
+ - ericsson:
+ node: 'yardstick-pod'
+ installer_type: 'fuel'
+ installer_ip: '10.20.0.2'
+
+ installer:
+ - fuel
jobs:
- - 'yardstick-{installer}-{stream}'
+ - 'yardstick-{installer}-{pod}-{stream}'
- 'yardstick-merge'
- 'yardstick-verify'
stream:
- master:
branch: 'master'
- - stable-arno:
- branch: 'stable/arno'
- gs-pathname: '/arno'
-
- project: 'yardstick'
- job-template:
name: 'yardstick-verify'
- project-type: freestyle
-
node: ericsson-build
- logrotate:
- daysToKeep: 30
- numToKeep: 10
- artifactDaysToKeep: -1
- artifactNumToKeep: -1
-
parameters:
- project-parameter:
project: '{project}'
refspec: '$GERRIT_REFSPEC'
choosing-strategy: 'gerrit'
- wrappers:
- - ssh-agent-credentials:
- user: '{ssh-credentials}'
-
triggers:
- gerrit:
trigger-on:
#
# This job's purpose is to update all the JJB
- project-type: freestyle
-
node: ericsson-build
- logrotate:
- daysToKeep: 30
- numToKeep: 40
- artifactDaysToKeep: -1
- artifactNumToKeep: 5
-
parameters:
- project-parameter:
project: '{project}'
refspec: ''
choosing-strategy: 'default'
- wrappers:
- - ssh-agent-credentials:
- user: '{ssh-credentials}'
-
triggers:
- gerrit:
trigger-on:
deactivate
- job-template:
- name: 'yardstick-{installer}-{stream}'
-
- project-type: freestyle
+ name: 'yardstick-{installer}-{pod}-{stream}'
disabled: false
parameters:
- project-parameter:
project: '{project}'
+ - '{pod}-parameters'
+ - string:
+ name: POD_NAME
+ default: '{pod}'
+ description: "POD where the job runs"
- string:
name: INSTALLER_TYPE
default: '{installer_type}'
refspec: ''
branch: master
- logrotate:
- daysToKeep: 30
- numToKeep: 10
- artifactDaysToKeep: -1
- artifactNumToKeep: -1
+ triggers:
+ - 'yardstick-trigger-{pod}'
builders:
+ - 'yardstick-cleanup'
- 'yardstick-fetch-os-creds'
- 'yardstick-daily'
publishers:
- email:
- recipients: ana.cunha@ericsson.com
+ recipients: ana.cunha@ericsson.com jorgen.w.karlsson@ericsson.com
########################
# builder macros
- shell: |
#!/bin/bash
set -o errexit
- set -o pipefail
echo "Yardstick: Run benchmark test suites ..."
- # Make sure we have latest image
- docker pull opnfv/yardstick-ci
+ # Pull the latest image
+ docker pull opnfv/yardstick
+
+ # Test suites to run
+ TEST_SUITES=opnfv_${POD_NAME}_daily.yaml
docker run \
--privileged=true \
-t \
-e "INSTALLER_TYPE=${INSTALLER_TYPE}" \
-e "INSTALLER_IP=${INSTALLER_IP}" \
- opnfv/yardstick-ci \
- run_benchmarks
+ -e "POD_NAME=${POD_NAME}" \
+ -e "EXTERNAL_NETWORK=net04_ext" \
+ opnfv/yardstick \
+ run_tests.sh \
+ $TEST_SUITES
echo "Yardstick: done!"
builders:
- shell:
!include-raw ../../utils/fetch_os_creds.sh
+
+- 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
+
+########################
+# parameter macros
+########################
+- parameter:
+ name: 'ericsson-parameters'
+ parameters:
+ - string:
+ name: GIT_BASE
+ default: https://gerrit.opnfv.org/gerrit/$PROJECT
+ description: "Used for overriding the GIT URL coming from Global Jenkins configuration in case if the stuff is done on none-LF HW."
+
+- parameter:
+ name: 'lf-parameters'
+ parameters:
+ - string:
+ name: GIT_BASE
+ default: ssh://gerrit.opnfv.org:29418/$PROJECT
+ description: "URL for LF POD"
+
+########################
+# trigger macros
+########################
+- trigger:
+ name: 'yardstick-trigger-ericsson'
+ triggers:
+ - timed: '@midnight'
+
+- trigger:
+ name: 'yardstick-trigger-lf'
+ triggers:
+ - timed: '#@midnight'