- project:
name: yardstick
jobs:
+ - 'yardstick-{pod}'
- 'yardstick-daily-{stream}'
- 'yardstick-merge'
- 'yardstick-verify'
+ pod:
+ - opnfv-jump-1:
+ node: 'opnfv-jump-1'
+ installer_type: 'fuel'
+ installer_ip: '10.20.0.2'
+ - opnfv-jump-2:
+ node: 'opnfv-jump-2'
+ installer_type: 'foreman'
+ installer_ip: '172.30.10.73'
+
# stream: branch with - in place of / (eg. stable-helium)
# branch: branch (eg. stable/helium)
stream:
builders:
- shell: |
+ #!/bin/bash
+
echo "Running unit tests..."
cd $WORKSPACE
+ virtualenv $WORKSPACE/yardstick_venv
+ source $WORKSPACE/yardstick_venv/bin/activate
+ python setup.py develop > /dev/null 2>&1
./run_tests.sh
+ deactivate
- job-template:
name: 'yardstick-merge'
builders:
- shell: |
+ #!/bin/bash
+
echo "Running unit tests..."
cd $WORKSPACE
+ virtualenv $WORKSPACE/yardstick_venv
+ source $WORKSPACE/yardstick_venv/bin/activate
+ python setup.py develop > /dev/null 2>&1
./run_tests.sh
+ deactivate
+
+- job-template:
+ name: 'yardstick-{pod}'
+
+ project-type: freestyle
+
+ disabled: false
+
+ node: '{node}'
+
+ parameters:
+ - project-parameter:
+ project: '{project}'
+ - string:
+ name: INSTALLER_TYPE
+ default: '{installer_type}'
+ description: "Installer name that is used for deployment."
+ - string:
+ name: INSTALLER_IP
+ default: '{installer_ip}'
+ description: "Installer IP."
+
+ scm:
+ - git-scm:
+ credentials-id: '{ssh-credentials}'
+ refspec: ''
+ branch: master
+
+ logrotate:
+ daysToKeep: 30
+ numToKeep: 10
+ artifactDaysToKeep: -1
+ artifactNumToKeep: -1
+
+ builders:
+ - 'yardstick-fetch-os-creds'
+ - 'yardstick-ping'
+
+########################
+# builder macros
+########################
+- builder:
+ name: yardstick-ping
+ builders:
+ - shell: |
+ #!/bin/bash
+ set -o errexit
+ set -o pipefail
+
+ echo "Yardstick: prepare Yardstick environment"
+
+ # source openstack vars
+ if [[ ! -f $HOME/opnfv-openrc.sh ]]; then
+ echo "Unable to access file $HOME/opnfv-openrc.sh"
+ exit 1
+ fi
+ source $HOME/opnfv-openrc.sh
+
+ # check if cirros-0.3.3 image is already available
+ # if not, create the image
+ echo "Yardstick: configure the image"
+ IMAGE_NAME=cirros-0.3.3
+ if [[ ! $(nova image-show $IMAGE_NAME > /dev/null 2>&1) ]]; then
+ echo "Image $IMAGE_NAME doesn't exist. Creating image $IMAGE_NAME"
+ glance image-create --name cirros-0.3.3 --is-public true --disk-format qcow2 --container-format bare --file $HOME/yardstick/cirros-0.3.3-x86_64-disk.img
+ else
+ echo "Image $IMAGE_NAME exists. Proceeding with yardstick."
+ fi
+
+ # set virtualenv
+ echo "Yardstick: setup virtualenv"
+ cd $WORKSPACE
+ virtualenv $WORKSPACE/yardstick_venv
+ source $WORKSPACE/yardstick_venv/bin/activate
+ python setup.py develop > /dev/null 2>&1
+
+ # set virtualenv
+ echo "Yardstick: execute ping scenario"
+ yardstick task start samples/ping.yaml -v -d
+
+ # cleanup
+ echo "Yardstick: cleanup"
+ glance image-delete $IMAGE_NAME
+
+ # done
+ echo "Yardstick: done!"
+
+- builder:
+ name: yardstick-fetch-os-creds
+ builders:
+ - shell:
+ !include-raw ../../utils/fetch_os_creds.sh