- project:
name: functest
+
+ pod:
+ - 'opnfv-jump-1'
+ - 'opnfv-jump-2'
jobs:
- - 'functest-test'
- - 'functest-daily-master'
+ - 'functest-{pod}'
+ - 'functest-openstack-bench-test'
+ - 'functest-openstack-tempest-smoke-test'
+ - 'functest-odl-test'
+ - 'functest-vims-test'
+ - 'functest-vping-test'
+ - 'functest-daily-{stream}'
+ - 'functest-merge'
+ - 'functest-verify'
# stream: branch with - in place of / (eg. stable-helium)
# branch: branch (eg. stable/helium)
somevar: 'foo'
- job-template:
- name: functest-test
+ name: functest-openstack-bench-test
+
+ project-type: freestyle
+
+ node: opnfv-jump-2
+
+ logrotate:
+ daysToKeep: 30
+ numToKeep: 10
+ artifactDaysToKeep: -1
+ artifactNumToKeep: -1
+
+ builders:
+ - shell: |
+ python $HOME/.functest/run_rally.py all
+
+- job-template:
+ name: functest-openstack-tempest-smoke-test
+
+ project-type: freestyle
+
+ node: opnfv-jump-2
+
+ logrotate:
+ daysToKeep: 30
+ numToKeep: 10
+ artifactDaysToKeep: -1
+ artifactNumToKeep: -1
+
+ builders:
+ - shell: |
+ rally verify start smoke
+ rally verify list
+
+- job-template:
+ name: functest-odl-test
project-type: freestyle
+ node: opnfv-jump-2
+
logrotate:
daysToKeep: 30
numToKeep: 10
builders:
- shell: |
- echo "Hello world from functest"
+ echo "put your CI scenario here"
- job-template:
- name: 'functest-daily-master'
+ name: functest-vims-test
+
+ project-type: freestyle
+
+ node: opnfv-jump-2
+
+ logrotate:
+ daysToKeep: 30
+ numToKeep: 10
+ artifactDaysToKeep: -1
+ artifactNumToKeep: -1
+
+ builders:
+ - shell: |
+ echo "put your CI scenario here"
+
+
+- job-template:
+ name: functest-vping-test
+
+ project-type: freestyle
+
+ node: opnfv-jump-2
+
+ logrotate:
+ daysToKeep: 30
+ numToKeep: 10
+ artifactDaysToKeep: -1
+ artifactNumToKeep: -1
+
+ builders:
+ - shell: |
+ python $HOME/.functest/vPing/vPing.py
+
+- job-template:
+ name: functest-{pod}
+
+ project-type: freestyle
+
+ node: '{pod}'
+
+ parameters:
+ - project-parameter:
+ project: '{project}'
+
+ scm:
+ - git-scm:
+ credentials-id: '{ssh-credentials}'
+ refspec: ''
+ branch: master
+
+ logrotate:
+ daysToKeep: 30
+ numToKeep: 10
+ artifactDaysToKeep: -1
+ artifactNumToKeep: -1
+
+ builders:
+ - 'functest-all'
+
+- job-template:
+ name: 'functest-daily-{stream}'
+
+ node: master
# Job template for daily builders
#
artifactDaysToKeep: '{build-artifact-days-to-keep}'
artifactNumToKeep: '{build-artifact-num-to-keep}'
+ parameters:
+ - project-parameter:
+ project: '{project}'
+
+ scm:
+ - git-scm:
+ credentials-id: '{ssh-credentials}'
+ refspec: ''
+ branch: '{branch}'
+
wrappers:
- ssh-agent-credentials:
user: '{ssh-credentials}'
- test-macro
builders:
- - shell: |
- echo "Hello world from functest {somevar} daily"
- - test-macro
+ - shell:
+ !include-raw docu-build.sh
postbuilders:
- test-macro
+- job-template:
+ name: 'functest-verify'
+
+ node: master
+
+ project-type: freestyle
+
+ logrotate:
+ daysToKeep: 30
+ numToKeep: 10
+ artifactDaysToKeep: -1
+ artifactNumToKeep: -1
+
+ parameters:
+ - project-parameter:
+ project: '{project}'
+ - gerrit-parameter:
+ branch: 'master'
+ scm:
+ - gerrit-trigger-scm:
+ credentials-id: '{ssh-credentials}'
+ refspec: '$GERRIT_REFSPEC'
+ choosing-strategy: 'gerrit'
+
+ wrappers:
+ - ssh-agent-credentials:
+ user: '{ssh-credentials}'
+
+ triggers:
+ - gerrit:
+ trigger-on:
+ - patchset-created-event:
+ exclude-drafts: 'false'
+ exclude-trivial-rebase: 'false'
+ exclude-no-code-change: 'false'
+ - draft-published-event
+ - comment-added-contains-event:
+ comment-contains-value: 'recheck'
+ - comment-added-contains-event:
+ comment-contains-value: 'reverify'
+ projects:
+ - project-compare-type: 'ANT'
+ project-pattern: 'functest'
+ branches:
+ - branch-compare-type: 'ANT'
+ branch-pattern: '**/master'
+
+ builders:
+ - shell:
+ !include-raw docu-verify.sh
+
+- job-template:
+ name: 'functest-merge'
+
+ node: master
+
+ # builder-merge job to run JJB update
+ #
+ # This job's purpose is to update all the JJB
+
+ project-type: freestyle
+
+ logrotate:
+ daysToKeep: 30
+ numToKeep: 40
+ artifactDaysToKeep: -1
+ artifactNumToKeep: 5
+
+ parameters:
+ - project-parameter:
+ project: '{project}'
+ - gerrit-parameter:
+ branch: 'master'
+
+ scm:
+ - gerrit-trigger-scm:
+ credentials-id: '{ssh-credentials}'
+ refspec: ''
+ choosing-strategy: 'default'
+
+ wrappers:
+ - ssh-agent-credentials:
+ user: '{ssh-credentials}'
+
+ triggers:
+ - gerrit:
+ trigger-on:
+ - change-merged-event
+ - comment-added-contains-event:
+ comment-contains-value: 'remerge'
+ projects:
+ - project-compare-type: 'ANT'
+ project-pattern: 'functest'
+ branches:
+ - branch-compare-type: 'ANT'
+ branch-pattern: '**/master'
+
+ builders:
+ - shell:
+ !include-raw docu-build.sh
+
+# macros
+- builder:
+ name: functest-all
+ builders:
+ - shell: |
+ echo "Functest: prepare Functest environment"
+ mkdir -p $HOME/functest/
+ source $HOME/functest/opnfv-openrc.sh
+
+ # WORKSPACE is the root of the functest repo
+ # go into WORKSPACE where the functest repo is cloned
+ cd $WORKSPACE
+
+ # prepare
+ echo "Functest: prepare Functest environment"
+ python $WORKSPACE/testcases/config_functest.py --debug $WORKSPACE/ start
+
+ # tempest
+ echo "Functest: run Tempest suite"
+ rally verify start smoke
+ rally verify list
+
+ # vPing
+ echo "Functest: run vPing"
+ python $WORKSPACE/testcases/vPing/CI/libraries/vPing.py --debug $WORKSPACE/
+
+ # rally
+ echo "Functest: run Functest Rally Bench suites"
+ python $WORKSPACE/testcases/VIM/OpenStack/CI/libraries/run_rally.py --debug $WORKSPACE/ all
+
+ # ODL
+ echo "Functest: run ODL suite"
+ $WORKSPACE/testcases/Controllers/ODL/CI/start_tests.sh
+
+ # collect results
+ echo "Functest: copy results and clean Functest environment"
+ mkdir -p $HOME/functest/results
+
+ # save tempest.conf for further troubleshooting
+ cp $HOME/.rally/for-deployment-*/tempest.conf $HOME/functest/results
+
+ # cleanup
+ python $WORKSPACE/testcases/config_functest.py --debug --force $WORKSPACE/ clean