1 ###################################
2 # job configuration for functest
3 ###################################
10 installer_type: 'fuel'
11 installer_ip: '10.20.0.2'
14 installer_type: 'foreman'
15 installer_ip: '172.30.10.73'
18 installer_type: 'apex'
19 installer_ip: '192.168.X.X'
23 installer_type: 'foreman'
24 installer_ip: '172.30.10.73'
27 - 'set-functest-env-{pod}'
29 - 'clean-functest-env-{pod}'
30 - 'set-functest-env-{installer}-{stream}'
31 - 'functest-{installer}-{stream}'
32 - 'clean-functest-env-{installer}-{stream}'
33 - 'functest-openstack-bench-test-{pod}'
34 - 'functest-openstack-tempest-smoke-test-{pod}'
35 - 'functest-odl-test-{pod}'
36 - 'functest-vims-{installer}-{stream}'
37 - 'functest-vping-test-{pod}'
38 - 'functest-daily-{stream}'
39 - 'functest-merge-{stream}'
40 - 'functest-verify-{stream}'
42 # stream: branch with - in place of / (eg. stable-arno)
43 # branch: branch (eg. stable/arno)
54 ################################
56 ################################
58 name: set-functest-env-{pod}
65 artifactDaysToKeep: -1
72 name: clean-functest-env-{pod}
79 artifactDaysToKeep: -1
86 name: set-functest-env-{installer}-{stream}
93 artifactDaysToKeep: -1
100 name: clean-functest-env-{installer}-{stream}
107 artifactDaysToKeep: -1
108 artifactNumToKeep: -1
114 name: functest-openstack-bench-test-{pod}
121 artifactDaysToKeep: -1
122 artifactNumToKeep: -1
125 - 'functest-rally-bench'
128 name: functest-openstack-tempest-smoke-test-{pod}
135 artifactDaysToKeep: -1
136 artifactNumToKeep: -1
139 - 'functest-tempest-smoke'
142 name: functest-odl-test-{pod}
149 artifactDaysToKeep: -1
150 artifactNumToKeep: -1
157 name: functest-vping-test-{pod}
164 artifactDaysToKeep: -1
165 artifactNumToKeep: -1
181 default: '{installer_type}'
182 description: "Installer name that is used for deployment."
185 default: '{installer_ip}'
186 description: "Installer IP."
191 credentials-id: '{ssh-credentials}'
198 artifactDaysToKeep: -1
199 artifactNumToKeep: -1
205 - 'functest-store-results'
208 name: functest-{installer}-{stream}
218 default: '{installer_type}'
219 description: "Installer name that is used for deployment."
222 default: '{installer_ip}'
223 description: "Installer IP."
226 default: ssh://gerrit.opnfv.org:29418/$PROJECT
227 description: "Override GIT_BASE"
231 credentials-id: '{ssh-credentials}'
238 artifactDaysToKeep: -1
239 artifactNumToKeep: -1
245 - 'functest-store-results'
248 name: functest-vims-{installer}-{stream}
258 default: '{installer_type}'
259 description: "Installer name that is used for deployment."
262 default: '{installer_ip}'
263 description: "Installer IP."
266 default: ssh://gerrit.opnfv.org:29418/$PROJECT
267 description: "Override GIT_BASE"
271 credentials-id: '{ssh-credentials}'
278 artifactDaysToKeep: -1
279 artifactNumToKeep: -1
285 name: 'functest-daily-{stream}'
287 # Job template for daily builders
289 # Required Variables:
290 # stream: branch with - in place of / (eg. stable)
291 # branch: branch (eg. stable)
293 varsetabove: '{somevar}'
296 daysToKeep: '{build-days-to-keep}'
297 numToKeep: '{build-num-to-keep}'
298 artifactDaysToKeep: '{build-artifact-days-to-keep}'
299 artifactNumToKeep: '{build-artifact-num-to-keep}'
304 - functest-parameter:
305 gs-pathname: '{gs-pathname}'
309 credentials-id: '{ssh-credentials}'
314 - 'functest-{stream}'
321 !include-raw ../opnfvdocs/docu-build.sh
327 name: 'functest-verify-{stream}'
332 artifactDaysToKeep: -1
333 artifactNumToKeep: -1
341 - gerrit-trigger-scm:
342 credentials-id: '{ssh-credentials}'
343 refspec: '$GERRIT_REFSPEC'
344 choosing-strategy: 'gerrit'
349 - patchset-created-event:
350 exclude-drafts: 'false'
351 exclude-trivial-rebase: 'false'
352 exclude-no-code-change: 'false'
353 - draft-published-event
354 - comment-added-contains-event:
355 comment-contains-value: 'recheck'
356 - comment-added-contains-event:
357 comment-contains-value: 'reverify'
359 - project-compare-type: 'ANT'
360 project-pattern: 'functest'
362 - branch-compare-type: 'ANT'
363 branch-pattern: '**/{branch}'
367 !include-raw ../opnfvdocs/docu-build.sh
370 name: 'functest-merge-{stream}'
372 # builder-merge job to run JJB update
374 # This job's purpose is to update all the JJB
379 artifactDaysToKeep: -1
389 - gerrit-trigger-scm:
390 credentials-id: '{ssh-credentials}'
392 choosing-strategy: 'default'
397 - change-merged-event
398 - comment-added-contains-event:
399 comment-contains-value: 'remerge'
401 - project-compare-type: 'ANT'
402 project-pattern: 'functest'
404 - branch-compare-type: 'ANT'
405 branch-pattern: '**/{branch}'
409 !include-raw ../opnfvdocs/docu-build.sh
411 ########################
413 ########################
415 name: functest-parameter
419 default: '{gs-pathname}'
420 description: "Version directory where the opnfv documents will be stored in gs repository"
422 name: FUNCTEST_REPO_DIR
423 default: "/home/opnfv/repos/functest"
424 description: "Directory where the Functest repository is cloned"
431 default: https://gerrit.opnfv.org/gerrit/$PROJECT
432 description: "Override GIT_BASE"
439 default: ssh://gerrit.opnfv.org:29418/$PROJECT
440 description: "Override GIT_BASE"
447 default: ssh://gerrit.opnfv.org:29418/$PROJECT
448 description: "Override GIT_BASE"
449 ########################
451 ########################
453 name: 'functest-master'
455 - pollscm: "H 9 * * *"
458 name: 'functest-stable-arno'
460 - pollscm: "H 21 * * *"
462 ########################
464 ########################
473 echo "Functest: running all the tests"
474 cmd="${FUNCTEST_REPO_DIR}/docker/run_tests.sh"
475 container_id=$(docker ps -a | grep opnfv/functest | awk '{print $1}' | head -1)
476 docker exec $container_id $cmd
479 name: set-functest-env
484 if [[ ${INSTALLER_TYPE} == 'apex' ]]; then
485 INSTALLER_IP=$(cat instack /var/lib/libvirt/dnsmasq/default.leases \
486 |sed 's/.*192/192/g' | sed 's/\ in.*//g')
488 echo "Functest: Start Docker and prepare environment"
489 envs="INSTALLER_TYPE=${INSTALLER_TYPE} -e INSTALLER_IP=${INSTALLER_IP}"
490 docker pull opnfv/functest:latest_stable
491 echo "Functest: Running docker run command: docker run -i -e $envs opnfv/functest /bin/bash &"
492 docker run -i -e $envs opnfv/functest /bin/bash &
495 container_id=$(docker ps -a | grep opnfv/functest | awk '{print $1}' | head -1)
496 echo "Container ID=${container_id}"
497 if [ -z ${container_id} ]; then
498 echo "Cannot find opnfv/functest container ID ${container_id}. Please check if it is existing."
502 echo "Starting the container: docker start ${container_id}"
503 docker start ${container_id}
506 if [ $(docker ps | grep opnfv/functest | wc -l) == 0 ]; then
507 echo "The container opnfv/functest with ID=${container_id} has not been properly started. Exiting..."
510 cmd="${FUNCTEST_REPO_DIR}/docker/prepare_env.sh"
511 echo "Executing command inside the docker: ${cmd}"
512 docker exec ${container_id} ${cmd}
521 echo "Functest: run vPing"
522 cmd="${FUNCTEST_REPO_DIR}/docker/run_tests.sh --test vping"
523 container_id=$(docker ps -a | grep opnfv/functest | awk '{print $1}' | head -1)
524 docker exec $container_id $cmd
533 echo "Functest: run ODL suite"
534 cmd="${FUNCTEST_REPO_DIR}/docker/run_tests.sh --test odl"
535 container_id=$(docker ps -a | grep opnfv/functest | awk '{print $1}' | head -1)
536 docker exec $container_id $cmd
539 name: functest-tempest-smoke
546 echo "Functest: run Tempest suite"
547 cmd="${FUNCTEST_REPO_DIR}/docker/run_tests.sh --test tempest"
548 container_id=$(docker ps -a | grep opnfv/functest | awk '{print $1}' | head -1)
549 docker exec $container_id $cmd
552 name: functest-rally-bench
558 echo "Functest: run Functest Rally Bench suites"
559 cmd="${FUNCTEST_REPO_DIR}/docker/run_tests.sh --test rally"
560 container_id=$(docker ps -a | grep opnfv/functest | awk '{print $1}' | head -1)
561 docker exec $container_id $cmd
570 echo "Functest: run Functest vIMS test"
571 cmd="${FUNCTEST_REPO_DIR}/docker/run_tests.sh --test vims"
572 container_id=$(docker ps -a | grep opnfv/functest | awk '{print $1}' | head -1)
573 docker exec $container_id $cmd
576 name: functest-store-results
579 !include-raw res-build.sh
582 name: functest-cleanup
587 echo "Cleaning up docker containers/images..."
589 # Remove previous running containers if exist
590 if [[ ! -z $(docker ps -a | grep opnfv/functest) ]]; then
591 echo "Removing existing opnfv/functest containers..."
592 docker ps | grep opnfv/functest | awk '{print $1}' | xargs docker stop
593 docker ps -a | grep opnfv/functest | awk '{print $1}' | xargs docker rm
596 # Remove existing images if exist
597 if [[ ! -z $(docker images | grep opnfv/functest) ]]; then
598 echo "Docker images to remove:"
599 docker images | head -1 && docker images | grep opnfv/functest
600 image_tags=($(docker images | grep opnfv/functest | awk '{print $2}'))
601 for tag in "${image_tags[@]}"; do
602 echo "Removing docker image opnfv/functest:$tag..."
603 docker rmi opnfv/functest:$tag