project: '{name}'
pod:
- - opnfv-jump-1:
+ - intel-us-deploy-virtual-2:
installer: apex
- opnfv-jump-2:
installer: fuel
- orange-pod2:
installer: joid
- huawei-us-deploy-bare-1:
- installer: compass4nfv
+ installer: compass
- intel-pod5:
installer: joid
- suite:
- - 'daily':
- suitename: 'functest-daily'
- - 'tempest':
- suitename: 'functest-suite'
- - 'rally':
- suitename: 'functest-suite'
- - 'odl':
- suitename: 'functest-suite'
- - 'vims':
- suitename: 'functest-suite'
- - 'vping':
- suitename: 'functest-suite'
+ testsuite:
+ - 'daily'
+ - 'suite'
jobs:
- - 'functest-{installer}-{pod}-{suite}-{stream}'
+ - 'functest-{installer}-{pod}-{testsuite}-{stream}'
- 'functest-verify-{stream}'
stream:
# job template
################################
- job-template:
- name: 'functest-{installer}-{pod}-{suite}-{stream}'
+ name: 'functest-{installer}-{pod}-{testsuite}-{stream}'
+
+ wrappers:
+ - build-name:
+ name: '$BUILD_NUMBER: $FUNCTEST_SUITE_NAME $SDN_CONTROLLER $OPNFV_FEATURE'
parameters:
- project-parameter:
project: '{project}'
- '{pod}-defaults'
- '{installer}-defaults'
- - string:
- name: FUNCTEST_SUITE_NAME
- default: '{suite}'
+ - 'functest-{testsuite}-parameter'
- functest-parameter
scm:
branch: '{branch}'
builders:
- - '{obj:suitename}'
+ - 'functest-{testsuite}-builder'
- job-template:
name: 'functest-verify-{stream}'
########################
# parameter macros
########################
+- parameter:
+ name: functest-daily-parameter
+ parameters:
+ - string:
+ name: FUNCTEST_SUITE_NAME
+ default: 'daily'
+ description: "Suite name to run"
+- parameter:
+ name: functest-suite-parameter
+ parameters:
+ - choice:
+ name: FUNCTEST_SUITE_NAME
+ choices:
+ - 'tempest'
+ - 'rally'
+ - 'odl'
+ - 'vims'
+ - 'vping'
- parameter:
name: functest-parameter
parameters:
name: FUNCTEST_REPO_DIR
default: "/home/opnfv/repos/functest"
description: "Directory where the Functest repository is cloned"
+ - string:
+ name: PUSH_RESULTS_TO_DB
+ default: "true"
+ description: "Push the results of all the tests to the resultDB"
########################
# trigger macros
########################
# builder macros
########################
- builder:
- name: functest-daily
+ name: functest-daily-builder
builders:
- 'functest-cleanup'
- 'set-functest-env'
- 'functest-all'
-# - 'functest-store-results'
+ - 'functest-store-results'
- builder:
- name: functest-suite
+ name: functest-suite-builder
builders:
- shell: |
#!/bin/bash
set +e
-
+ flag=""
+ if [ "${PUSH_RESULTS_TO_DB}" == "true" ]; then
+ flag="-r"
+ fi
echo "Functest: run $FUNCTEST_SUITE_NAME"
- cmd="${FUNCTEST_REPO_DIR}/docker/run_tests.sh --test $FUNCTEST_SUITE_NAME"
+ cmd="${FUNCTEST_REPO_DIR}/docker/run_tests.sh --test $FUNCTEST_SUITE_NAME ${flag}"
container_id=$(docker ps -a | grep opnfv/functest | awk '{print $1}' | head -1)
docker exec $container_id $cmd
- shell: |
#!/bin/bash
set +e
-
+ flag=""
+ if [ "${PUSH_RESULTS_TO_DB}" == "true" ]; then
+ flag="-r"
+ fi
echo "Functest: running all the tests"
- cmd="${FUNCTEST_REPO_DIR}/docker/run_tests.sh"
+ cmd="${FUNCTEST_REPO_DIR}/docker/run_tests.sh ${flag}"
container_id=$(docker ps -a | grep opnfv/functest | awk '{print $1}' | head -1)
docker exec $container_id $cmd
- shell: |
#!/bin/bash
set +e
+ # labconfig is used only for joid
+ labconfig=""
if [[ ${INSTALLER_TYPE} == 'apex' ]]; then
INSTALLER_IP=$(grep instack /var/lib/libvirt/dnsmasq/default.leases \
|awk '{print $3}' | head -n 1)
sshkey="-v /root/.ssh/id_rsa:/root/.ssh/id_rsa"
+ sudo iptables -D FORWARD -o virbr0 -j REJECT --reject-with icmp-port-unreachable
+ sudo iptables -D FORWARD -i virbr0 -j REJECT --reject-with icmp-port-unreachable
+ elif [[ ${INSTALLER_TYPE} == 'joid' ]]; then
+ # If production lab then creds may be retrieved dynamically
+ # creds are on the jumphost, always in the same folder
+ labconfig="-v /var/lib/jenkins/joid_config/admin-openrc:/home/opnfv/functest/conf/openstack.creds"
+ # If dev lab, credentials may not be the default ones, just provide a path to put them into docker
+ # replace the default one by the customized one provided by jenkins config
+ if [ -n "${LAB_CONFIG}" ]; then
+ labconfig="-v ${LAB_CONFIG}:/home/opnfv/functest/conf/openstack.creds"
+ fi
fi
echo "Functest: Start Docker and prepare environment"
envs="INSTALLER_TYPE=${INSTALLER_TYPE} -e INSTALLER_IP=${INSTALLER_IP} -e NODE_NAME=${NODE_NAME}"
- labconfig=""
- # If production lab then creds may be retrieved dynamically
- # If dev lab, credentials may not be the default ones, just provide a path to put them into docker
- if [ -n "${LAB_CONFIG}" ]; then
- labconfig="-v ${LAB_CONFIG}:/home/opnfv/functest/conf/openstack.creds"
- fi
+
+ dir_result="${HOME}/opnfv/functest/reports"
+ mkdir -f ${dir_result}
+ rm -rf ${dir_result}/*
+ $res_volume="-v ${dir_result}:/home/opnfv/functest/results"
docker pull opnfv/functest:latest_stable
- cmd="docker run -id -e $envs ${labconfig} ${sshkey} opnfv/functest:latest_stable /bin/bash"
+ cmd="docker run -id -e $envs ${labconfig} ${sshkey} ${res_volume} opnfv/functest:latest_stable /bin/bash"
echo "Functest: Running docker run command: ${cmd}"
${cmd}
docker ps -a