1 ###################################
2 # job configuration for functest
3 ###################################
10 installer_type: 'fuel'
11 installer_ip: '10.20.0.2'
12 functest_repo_dir: '/home/opnfv/repos/functest'
15 installer_type: 'foreman'
16 installer_ip: '172.30.10.73'
17 functest_repo_dir: '/home/opnfv/repos/functest'
21 installer_type: 'foreman'
22 installer_ip: '172.30.10.73'
23 functest_repo_dir: '/home/opnfv/repos/functest'
26 - 'set-functest-env-{pod}'
28 - 'clean-functest-env-{pod}'
29 - 'set-functest-env-{installer}-{stream}'
30 - 'functest-{installer}-{stream}'
31 - 'clean-functest-env-{installer}-{stream}'
32 - 'functest-openstack-bench-test-{pod}'
33 - 'functest-openstack-tempest-smoke-test-{pod}'
34 - 'functest-odl-test-{pod}'
35 - 'functest-vims-{installer}-{stream}'
36 - 'functest-vping-test-{pod}'
37 - 'functest-daily-{stream}'
38 - 'functest-merge-{stream}'
39 - 'functest-verify-{stream}'
41 # stream: branch with - in place of / (eg. stable-arno)
42 # branch: branch (eg. stable/arno)
53 ################################
55 ################################
57 name: set-functest-env-{pod}
59 project-type: freestyle
66 artifactDaysToKeep: -1
75 name: clean-functest-env-{pod}
77 project-type: freestyle
84 artifactDaysToKeep: -1
92 name: set-functest-env-{installer}-{stream}
94 project-type: freestyle
101 artifactDaysToKeep: -1
102 artifactNumToKeep: -1
109 name: clean-functest-env-{installer}-{stream}
111 project-type: freestyle
118 artifactDaysToKeep: -1
119 artifactNumToKeep: -1
125 name: functest-openstack-bench-test-{pod}
127 project-type: freestyle
134 artifactDaysToKeep: -1
135 artifactNumToKeep: -1
138 - 'functest-rally-bench'
142 name: functest-openstack-tempest-smoke-test-{pod}
144 project-type: freestyle
151 artifactDaysToKeep: -1
152 artifactNumToKeep: -1
155 - 'functest-tempest-smoke'
158 name: functest-odl-test-{pod}
160 project-type: freestyle
167 artifactDaysToKeep: -1
168 artifactNumToKeep: -1
176 name: functest-vping-test-{pod}
178 project-type: freestyle
185 artifactDaysToKeep: -1
186 artifactNumToKeep: -1
195 project-type: freestyle
204 default: '{installer_type}'
205 description: "Installer name that is used for deployment."
208 default: '{installer_ip}'
209 description: "Installer IP."
211 name: FUNCTEST_REPO_DIR
212 default: '{functest_repo_dir}'
213 description: "Directory where the root functest repo is cloned in the docker."
218 credentials-id: '{ssh-credentials}'
225 artifactDaysToKeep: -1
226 artifactNumToKeep: -1
230 - 'functest-store-results'
234 name: functest-{installer}-{stream}
236 project-type: freestyle
245 default: '{installer_type}'
246 description: "Installer name that is used for deployment."
249 default: '{installer_ip}'
250 description: "Installer IP."
252 name: FUNCTEST_REPO_DIR
253 default: '{functest_repo_dir}'
254 description: "Directory where the root functest repo is cloned in the docker."
257 default: ssh://gerrit.opnfv.org:29418/$PROJECT
258 description: "Override GIT_BASE"
262 credentials-id: '{ssh-credentials}'
269 artifactDaysToKeep: -1
270 artifactNumToKeep: -1
274 - 'functest-store-results'
278 name: functest-vims-{installer}-{stream}
280 project-type: freestyle
289 default: '{installer_type}'
290 description: "Installer name that is used for deployment."
293 default: '{installer_ip}'
294 description: "Installer IP."
296 name: FUNCTEST_REPO_DIR
297 default: '{functest_repo_dir}'
298 description: "Directory where the root functest repo is cloned in the docker."
301 default: ssh://gerrit.opnfv.org:29418/$PROJECT
302 description: "Override GIT_BASE"
306 credentials-id: '{ssh-credentials}'
313 artifactDaysToKeep: -1
314 artifactNumToKeep: -1
320 name: 'functest-daily-{stream}'
324 # Job template for daily builders
326 # Required Variables:
327 # stream: branch with - in place of / (eg. stable)
328 # branch: branch (eg. stable)
330 project-type: freestyle
331 varsetabove: '{somevar}'
334 daysToKeep: '{build-days-to-keep}'
335 numToKeep: '{build-num-to-keep}'
336 artifactDaysToKeep: '{build-artifact-days-to-keep}'
337 artifactNumToKeep: '{build-artifact-num-to-keep}'
342 - functest-parameter:
343 gs-pathname: '{gs-pathname}'
347 credentials-id: '{ssh-credentials}'
352 - ssh-agent-credentials:
353 user: '{ssh-credentials}'
356 - 'functest-{stream}'
363 !include-raw ../opnfvdocs/docu-build.sh
369 name: 'functest-verify-{stream}'
373 project-type: freestyle
378 artifactDaysToKeep: -1
379 artifactNumToKeep: -1
387 - gerrit-trigger-scm:
388 credentials-id: '{ssh-credentials}'
389 refspec: '$GERRIT_REFSPEC'
390 choosing-strategy: 'gerrit'
393 - ssh-agent-credentials:
394 user: '{ssh-credentials}'
399 - patchset-created-event:
400 exclude-drafts: 'false'
401 exclude-trivial-rebase: 'false'
402 exclude-no-code-change: 'false'
403 - draft-published-event
404 - comment-added-contains-event:
405 comment-contains-value: 'recheck'
406 - comment-added-contains-event:
407 comment-contains-value: 'reverify'
409 - project-compare-type: 'ANT'
410 project-pattern: 'functest'
412 - branch-compare-type: 'ANT'
413 branch-pattern: '**/{branch}'
417 !include-raw ../opnfvdocs/docu-build.sh
420 name: 'functest-merge-{stream}'
424 # builder-merge job to run JJB update
426 # This job's purpose is to update all the JJB
428 project-type: freestyle
433 artifactDaysToKeep: -1
443 - gerrit-trigger-scm:
444 credentials-id: '{ssh-credentials}'
446 choosing-strategy: 'default'
449 - ssh-agent-credentials:
450 user: '{ssh-credentials}'
455 - change-merged-event
456 - comment-added-contains-event:
457 comment-contains-value: 'remerge'
459 - project-compare-type: 'ANT'
460 project-pattern: 'functest'
462 - branch-compare-type: 'ANT'
463 branch-pattern: '**/{branch}'
467 !include-raw ../opnfvdocs/docu-build.sh
469 ########################
471 ########################
473 name: functest-parameter
477 default: '{gs-pathname}'
478 description: "Version directory where the opnfv documents will be stored in gs repository"
485 default: https://gerrit.opnfv.org/gerrit/$PROJECT
486 description: "Override GIT_BASE"
493 default: ssh://gerrit.opnfv.org:29418/$PROJECT
494 description: "Override GIT_BASE"
501 default: ssh://gerrit.opnfv.org:29418/$PROJECT
502 description: "Override GIT_BASE"
503 ########################
505 ########################
507 name: 'functest-master'
509 - pollscm: "H 9 * * *"
512 name: 'functest-stable-arno'
514 - pollscm: "H 21 * * *"
516 ########################
518 ########################
527 # Remove any docker containers leftovers
528 $ docker ps | grep opnfv/functest | awk '{print $1}' | xargs docker stop &>/dev/null
529 $ docker ps -a | grep opnfv/functest | awk '{print $1}' | xargs docker rm &>/dev/null
530 $ docker images | grep opnfv/functest | awk '{print $3}' | xargs docker rmi &>/dev/null
532 # Pull and store fresh image from Dockerhub
533 $ docker pull opnfv/functest
535 # Run Docker and Functest tests
536 cmd="${FUNCTEST_REPO_DIR}/docker/start.sh"
537 docker run -t -e "INSTALLER_TYPE=${INSTALLER_TYPE}" \
538 -e "INSTALLER_IP=${INSTALLER_IP}" opnfv/functest $cmd
542 name: set-functest-env
548 echo "Functest: spawn Docker and run Functest suite"
549 cmd="${FUNCTEST_REPO_DIR}/docker/start.sh"
550 docker run -t -e "INSTALLER_TYPE=${INSTALLER_TYPE}" \
551 -e "INSTALLER_IP=${INSTALLER_IP}" opnfv/functest $cmd
561 echo "Functest: run vPing"
562 cmd="python ${FUNCTEST_REPO_DIR}/testcases/vPing/CI/libraries/vPing.py \
563 --debug ${FUNCTEST_REPO_DIR}/ -r"
564 docker run -t -e "INSTALLER_TYPE=${INSTALLER_TYPE}" \
565 -e "INSTALLER_IP=${INSTALLER_IP}" opnfv/functest $cmd
574 echo "Functest: run ODL suite"
575 cmd="${FUNCTEST_REPO_DIR}/testcases/Controllers/ODL/CI/start_tests.sh"
576 docker run -t -e "INSTALLER_TYPE=${INSTALLER_TYPE}" \
577 -e "INSTALLER_IP=${INSTALLER_IP}" opnfv/functest $cmd
580 name: functest-tempest-smoke
587 echo "Functest: run Tempest suite"
588 cmd="rally verify start smoke; rally verify list;"
589 docker run -t -e "INSTALLER_TYPE=${INSTALLER_TYPE}" \
590 -e "INSTALLER_IP=${INSTALLER_IP}" opnfv/functest $cmd
595 name: functest-rally-bench
601 echo "Functest: run Functest Rally Bench suites"
602 cmd="python ${FUNCTEST_REPO_DIR}/testcases/VIM/OpenStack/CI/libraries/run_rally.py \
603 --debug ${FUNCTEST_REPO_DIR}/ all"
604 docker run -t -e "INSTALLER_TYPE=${INSTALLER_TYPE}" \
605 -e "INSTALLER_IP=${INSTALLER_IP}" opnfv/functest $cmd
614 cmd="python ${FUNCTEST_REPO_DIR}/testcases/vIMS/CI/vIMS.py \
615 --debug ${FUNCTEST_REPO_DIR}/"
616 docker run -t -e "INSTALLER_TYPE=${INSTALLER_TYPE}" \
617 -e "INSTALLER_IP=${INSTALLER_IP}" opnfv/functest $cmd
622 name: functest-store-results
625 !include-raw res-build.sh
628 name: functest-cleanup
634 # cleanup: remove any docker containers leftovers
635 $ docker ps | grep opnfv/functest | awk '{print $1}' | xargs docker stop &>/dev/null
636 $ docker ps -a | grep opnfv/functest | awk '{print $1}' | xargs docker rm &>/dev/null
637 $ docker images | grep opnfv/functest | awk '{print $3}' | xargs docker rmi &>/dev/null