diff options
-rw-r--r-- | jjb/apex/apex.yaml | 30 | ||||
-rw-r--r-- | jjb/apex/scenarios.yaml.hidden | 3 | ||||
-rw-r--r-- | jjb/bottlenecks/bottlenecks-ci-jobs.yaml | 1 | ||||
-rw-r--r-- | jjb/bottlenecks/bottlenecks-run-suite.sh | 45 | ||||
-rw-r--r-- | jjb/compass4nfv/compass-ci-jobs.yaml | 20 | ||||
-rw-r--r-- | jjb/compass4nfv/compass-project-jobs.yaml | 2 | ||||
-rw-r--r-- | jjb/compass4nfv/compass-verify-jobs.yaml | 2 | ||||
-rwxr-xr-x | jjb/dovetail/dovetail-run.sh | 2 | ||||
-rw-r--r-- | jjb/fuel/fuel-project-jobs.yaml | 6 | ||||
-rwxr-xr-x | jjb/functest/functest-alpine.sh | 20 | ||||
-rw-r--r-- | jjb/functest/functest-daily-jobs.yaml | 3 | ||||
-rw-r--r-- | jjb/functest/functest-docker.yaml | 9 | ||||
-rw-r--r-- | jjb/global/releng-defaults.yaml | 8 | ||||
-rw-r--r-- | jjb/releng/opnfv-docker.yaml | 19 | ||||
-rw-r--r-- | jjb/releng/opnfv-utils.yaml | 3 | ||||
-rw-r--r-- | jjb/releng/releng-ci-jobs.yaml | 5 | ||||
-rw-r--r-- | jjb/xci/xci-daily-jobs.yaml | 69 | ||||
-rw-r--r-- | jjb/xci/xci-merge-jobs.yaml | 2 | ||||
-rwxr-xr-x | jjb/xci/xci-run-functest.sh | 12 | ||||
-rwxr-xr-x | jjb/xci/xci-set-scenario.sh | 4 | ||||
-rw-r--r-- | jjb/xci/xci-verify-jobs.yaml | 2 |
21 files changed, 206 insertions, 61 deletions
diff --git a/jjb/apex/apex.yaml b/jjb/apex/apex.yaml index 82f766e20..fd0e8269c 100644 --- a/jjb/apex/apex.yaml +++ b/jjb/apex/apex.yaml @@ -157,6 +157,10 @@ <<: *master - 'os-odl-sfc_queens-noha': <<: *master + - 'os-nosdn-calipso-noha': + <<: *master + - 'os-nosdn-calipso_queens-noha': + <<: *master - 'os-nosdn-nofeature-noha': <<: *euphrates - 'os-nosdn-nofeature-ha': @@ -191,8 +195,6 @@ <<: *euphrates - 'os-odl-sfc-ha': <<: *euphrates - - 'os-nosdn-calipso-noha': - <<: *euphrates platform: - 'baremetal' @@ -1649,6 +1651,22 @@ kill-phase-on: NEVER abort-all-job: true git-revision: false + - name: 'apex-os-nosdn-calipso-noha-baremetal-master' + node-parameters: false + current-parameters: false + predefined-parameters: | + OPNFV_CLEAN=yes + kill-phase-on: NEVER + abort-all-job: true + git-revision: false + - name: 'apex-os-nosdn-calipso_queens-noha-baremetal-master' + node-parameters: false + current-parameters: false + predefined-parameters: | + OPNFV_CLEAN=yes + kill-phase-on: NEVER + abort-all-job: true + git-revision: false # euphrates Builder - builder: @@ -1794,14 +1812,6 @@ kill-phase-on: NEVER abort-all-job: true git-revision: false - - name: 'apex-os-nosdn-calipso-noha-baremetal-euphrates' - node-parameters: false - current-parameters: false - predefined-parameters: | - OPNFV_CLEAN=yes - kill-phase-on: NEVER - abort-all-job: true - git-revision: false - builder: name: 'apex-upload-artifact' builders: diff --git a/jjb/apex/scenarios.yaml.hidden b/jjb/apex/scenarios.yaml.hidden index b032613a3..1e1ba3fc3 100644 --- a/jjb/apex/scenarios.yaml.hidden +++ b/jjb/apex/scenarios.yaml.hidden @@ -18,6 +18,8 @@ master: - 'os-odl-sfc-noha' - 'os-odl-sfc_queens-ha' - 'os-odl-sfc_queens-noha' + - 'os-nosdn-calipso-noha' + - 'os-nosdn-calipso_queens-noha' fraser: - 'os-nosdn-nofeature-ha' - 'os-odl-bgpvpn-ha' @@ -39,7 +41,6 @@ euphrates: - 'os-nosdn-kvm_ovs_dpdk-ha' - 'os-odl-sfc-noha' - 'os-odl-sfc-ha' - - 'os-nosdn-calipso-noha' danube: - 'os-nosdn-nofeature-noha' - 'os-nosdn-nofeature-ha' diff --git a/jjb/bottlenecks/bottlenecks-ci-jobs.yaml b/jjb/bottlenecks/bottlenecks-ci-jobs.yaml index 41b73a290..4c302dd52 100644 --- a/jjb/bottlenecks/bottlenecks-ci-jobs.yaml +++ b/jjb/bottlenecks/bottlenecks-ci-jobs.yaml @@ -79,6 +79,7 @@ - 'posca_feature_moon_tenants' - 'posca_feature_vnf_scale_out' - 'posca_factor_soak_throughputs' + - 'kubestone_deployment_capacity' jobs: - 'bottlenecks-{installer}-{suite}-{pod}-daily-{stream}' diff --git a/jjb/bottlenecks/bottlenecks-run-suite.sh b/jjb/bottlenecks/bottlenecks-run-suite.sh index 7a3db00c4..9b5e8eecf 100644 --- a/jjb/bottlenecks/bottlenecks-run-suite.sh +++ b/jjb/bottlenecks/bottlenecks-run-suite.sh @@ -24,7 +24,26 @@ OPENRC=/tmp/admin_rc.sh OS_CACERT=/tmp/os_cacert BOTTLENECKS_CONFIG=/tmp - +KUBESTONE_TEST_DIR=/home/opnfv/bottlenecks/testsuites/kubestone/testcases + +# Pulling Bottlenecks docker and passing environment variables +echo "INFO: pulling Bottlenecks docker ${DOCKER_TAG}" +docker pull opnfv/bottlenecks:${DOCKER_TAG} >$redirect + +opts="--privileged=true -id" +envs="-e INSTALLER_TYPE=${INSTALLER_TYPE} -e INSTALLER_IP=${INSTALLER_IP} \ + -e NODE_NAME=${NODE_NAME} -e EXTERNAL_NET=${EXTERNAL_NETWORK} \ + -e BRANCH=${BRANCH} -e GERRIT_REFSPEC_DEBUG=${GERRIT_REFSPEC_DEBUG} \ + -e BOTTLENECKS_DB_TARGET=${BOTTLENECKS_DB_TARGET} -e PACKAGE_URL=${PACKAGE_URL} \ + -e DEPLOY_SCENARIO=${DEPLOY_SCENARIO} -e BUILD_TAG=${BUILD_TAG}" +docker_volume="-v /var/run/docker.sock:/var/run/docker.sock -v /tmp:/tmp" + +cmd="docker run ${opts} ${envs} --name bottlenecks-load-master ${docker_volume} opnfv/bottlenecks:${DOCKER_TAG} /bin/bash" +echo "BOTTLENECKS INFO: running docker run commond: ${cmd}" +${cmd} >$redirect +sleep 5 + +# Run test suite if [[ $SUITE_NAME == *posca* ]]; then POSCA_SCRIPT=/home/opnfv/bottlenecks/testsuites/posca sudo rm -f ${OPENRC} @@ -116,23 +135,6 @@ if [[ $SUITE_NAME == *posca* ]]; then sudo ls -al ${BOTTLENECKS_CONFIG} fi - # Pulling Bottlenecks docker and passing environment variables - echo "INFO: pulling Bottlenecks docker ${DOCKER_TAG}" - docker pull opnfv/bottlenecks:${DOCKER_TAG} >$redirect - - opts="--privileged=true -id" - envs="-e INSTALLER_TYPE=${INSTALLER_TYPE} -e INSTALLER_IP=${INSTALLER_IP} \ - -e NODE_NAME=${NODE_NAME} -e EXTERNAL_NET=${EXTERNAL_NETWORK} \ - -e BRANCH=${BRANCH} -e GERRIT_REFSPEC_DEBUG=${GERRIT_REFSPEC_DEBUG} \ - -e BOTTLENECKS_DB_TARGET=${BOTTLENECKS_DB_TARGET} -e PACKAGE_URL=${PACKAGE_URL} \ - -e DEPLOY_SCENARIO=${DEPLOY_SCENARIO} -e BUILD_TAG=${BUILD_TAG}" - docker_volume="-v /var/run/docker.sock:/var/run/docker.sock -v /tmp:/tmp" - - cmd="docker run ${opts} ${envs} --name bottlenecks-load-master ${docker_volume} opnfv/bottlenecks:${DOCKER_TAG} /bin/bash" - echo "BOTTLENECKS INFO: running docker run commond: ${cmd}" - ${cmd} >$redirect - sleep 5 - # Running test cases through Bottlenecks docker if [[ $SUITE_NAME == posca_stress_traffic ]]; then TEST_CASE=posca_factor_system_bandwidth @@ -144,4 +146,11 @@ if [[ $SUITE_NAME == *posca* ]]; then testcase_cmd="docker exec bottlenecks-load-master python ${POSCA_SCRIPT}/../run_testsuite.py testcase $TEST_CASE $REPORT" echo "BOTTLENECKS INFO: running test case ${TEST_CASE} with report indicator: ${testcase_cmd}" ${testcase_cmd} >$redirect +elif [[ $SUITE_NAME == *kubestone* ]]; then + if [[ $SUITE_NAME == kubestone_deployment_capacity ]]; then + TEST_CASE=${KUBESTONE_TEST_DIR}/deployment_capacity.yaml + fi + testcase_cmd="docker exec bottlenecks-load-master python ${KUBESTONE_TEST_DIR}/../stress_test.py -c $TEST_CASE" + echo "BOTTLENECKS INFO: running test case ${TEST_CASE} with report indicator: ${testcase_cmd}" + ${testcase_cmd} >$redirect fi diff --git a/jjb/compass4nfv/compass-ci-jobs.yaml b/jjb/compass4nfv/compass-ci-jobs.yaml index 3a263d451..e5775b2d5 100644 --- a/jjb/compass4nfv/compass-ci-jobs.yaml +++ b/jjb/compass4nfv/compass-ci-jobs.yaml @@ -299,6 +299,24 @@ condition-kind: and condition-operands: - condition-kind: regex-match + regex: k8-nosdn-nofeature-ha + label: '{scenario}' + steps: + - trigger-builds: + - project: 'bottlenecks-compass-kubestone_deployment_capacity-{pod}-daily-{stream}' + current-parameters: false + predefined-parameters: + DEPLOY_SCENARIO={scenario} + block: true + same-node: true + block-thresholds: + build-step-failure-threshold: 'never' + failure-threshold: 'never' + unstable-threshold: 'FAILURE' + - conditional-step: + condition-kind: and + condition-operands: + - condition-kind: regex-match regex: master label: '{stream}' steps: @@ -435,7 +453,7 @@ description: "Directory where the cache to be used during the build is located." - string: name: PPA_REPO - default: "http://artifacts.opnfv.org/compass4nfv/package{ppa-pathname}" + default: "https://artifacts.opnfv.org/compass4nfv/package{ppa-pathname}" - string: name: PPA_CACHE default: "$WORKSPACE/work/repo/" diff --git a/jjb/compass4nfv/compass-project-jobs.yaml b/jjb/compass4nfv/compass-project-jobs.yaml index dc935f024..b85773405 100644 --- a/jjb/compass4nfv/compass-project-jobs.yaml +++ b/jjb/compass4nfv/compass-project-jobs.yaml @@ -129,7 +129,7 @@ description: "URL to Google Storage." - string: name: PPA_REPO - default: "http://artifacts.opnfv.org/compass4nfv/package{ppa-pathname}" + default: "https://artifacts.opnfv.org/compass4nfv/package{ppa-pathname}" - string: name: PPA_CACHE default: "$WORKSPACE/work/repo/" diff --git a/jjb/compass4nfv/compass-verify-jobs.yaml b/jjb/compass4nfv/compass-verify-jobs.yaml index beb857d94..f0cda8273 100644 --- a/jjb/compass4nfv/compass-verify-jobs.yaml +++ b/jjb/compass4nfv/compass-verify-jobs.yaml @@ -334,7 +334,7 @@ description: "URL to Google Storage." - string: name: PPA_REPO - default: "http://artifacts.opnfv.org/compass4nfv/package{ppa-pathname}" + default: "https://artifacts.opnfv.org/compass4nfv/package{ppa-pathname}" - string: name: PPA_CACHE default: "$WORKSPACE/work/repo/" diff --git a/jjb/dovetail/dovetail-run.sh b/jjb/dovetail/dovetail-run.sh index 23fbe9b6d..739da9eac 100755 --- a/jjb/dovetail/dovetail-run.sh +++ b/jjb/dovetail/dovetail-run.sh @@ -256,7 +256,7 @@ fi ubuntu_image=${image_path}/ubuntu-16.04-server-cloudimg-amd64-disk1.img if [[ ! -f ${ubuntu_image} ]]; then echo "Download image ubuntu-16.04-server-cloudimg-amd64-disk1.img ..." - wget -q -nc http://artifacts.opnfv.org/sdnvpn/ubuntu-16.04-server-cloudimg-amd64-disk1.img -P ${image_path} + wget -q -nc https://artifacts.opnfv.org/sdnvpn/ubuntu-16.04-server-cloudimg-amd64-disk1.img -P ${image_path} fi sudo cp ${ubuntu_image} ${DOVETAIL_IMAGES} diff --git a/jjb/fuel/fuel-project-jobs.yaml b/jjb/fuel/fuel-project-jobs.yaml index fc49f6348..40ba6e696 100644 --- a/jjb/fuel/fuel-project-jobs.yaml +++ b/jjb/fuel/fuel-project-jobs.yaml @@ -19,8 +19,14 @@ gs-pathname: '/{stream}' disabled: false + project-name: '{project}' + project-pattern: '{project}' + rtd-build-url: https://readthedocs.org/api/v2/webhook/opnfv-fuel/47205/ + rtd-token: 38f40bf6c08fd4bccb930871bc29b08404cf98b0 + jobs: - 'fuel-deploy-generic-daily-{stream}' + - '{project-name}-rtd-jobs' ######################## # job templates diff --git a/jjb/functest/functest-alpine.sh b/jjb/functest/functest-alpine.sh index 7adfdffc7..357068e0c 100755 --- a/jjb/functest/functest-alpine.sh +++ b/jjb/functest/functest-alpine.sh @@ -61,13 +61,15 @@ run_test() { case ${test_name} in connection_check|tenantnetwork1|tenantnetwork2|vmready1|vmready2|singlevm1|singlevm2|vping_ssh|vping_userdata|cinder_test|odl|api_check|snaps_health_check) FUNCTEST_IMAGE=${REPO}/functest-healthcheck:${DOCKER_TAG} ;; - tempest_smoke|rally_sanity|refstack_defcore|patrole|shaker|snaps_smoke|neutron_trunk|barbican) + tempest_smoke|neutron-tempest-plugin-api|rally_sanity|refstack_defcore|patrole|snaps_smoke|neutron_trunk|networking-bgpvpn|networking-sfc|barbican) FUNCTEST_IMAGE=${REPO}/functest-smoke:${DOCKER_TAG} ;; - tempest_full|rally_full) + shaker|vmtp) + FUNCTEST_IMAGE=${REPO}/functest-benchmarking:${DOCKER_TAG} ;; + tempest_full|tempest_scenario|rally_full) FUNCTEST_IMAGE=${REPO}/functest-components:${DOCKER_TAG} ;; - cloudify_ims|vyos_vrouter|juju_epc) + cloudify|cloudify_ims|heat_ims|vyos_vrouter|juju_epc) FUNCTEST_IMAGE=${REPO}/functest-vnf:${DOCKER_TAG} ;; - doctor-notification|bgpvpn|functest-odl-sfc|barometercollectd|fds) + doctor-notification|bgpvpn|functest-odl-sfc|barometercollectd|fds|vgpu|stor4nfv_os) FUNCTEST_IMAGE=${REPO}/functest-features:${DOCKER_TAG} ;; *) echo "Unkown test case $test_name" @@ -166,18 +168,24 @@ elif [ ${FUNCTEST_MODE} == 'tier' ]; then tiers=(${FUNCTEST_TIER}) run_tiers ${tiers} else + tests=(tempest_full tempest_scenario) if [ ${DEPLOY_TYPE} == 'baremetal' ] && [ "${HOST_ARCH}" != "aarch64" ]; then if [[ ${BRANCH} == "stable/fraser" ]]; then tiers=(healthcheck smoke features vnf parser) + tests=(tempest_full_parallel) else - tiers=(healthcheck smoke features vnf) + tiers=(healthcheck smoke benchmarking features vnf) fi else if [[ ${BRANCH} == "stable/fraser" ]]; then tiers=(healthcheck smoke features parser) + tests=(tempest_full_parallel) else - tiers=(healthcheck smoke features) + tiers=(healthcheck smoke benchmarking features) fi fi run_tiers ${tiers} + for test in "${tests[@]}"; do + run_test "$test" + done fi diff --git a/jjb/functest/functest-daily-jobs.yaml b/jjb/functest/functest-daily-jobs.yaml index 1239db5af..763d1d4f0 100644 --- a/jjb/functest/functest-daily-jobs.yaml +++ b/jjb/functest/functest-daily-jobs.yaml @@ -290,6 +290,8 @@ - 'patrole' - 'odl' - 'snaps_smoke' + - 'shaker' + - 'vmtp' - 'neutron_trunk' - 'doctor-notification' - 'bgpvpn' @@ -308,6 +310,7 @@ choices: - 'healthcheck' - 'smoke' + - 'benchmarking' - 'features' - 'components' - 'vnf' diff --git a/jjb/functest/functest-docker.yaml b/jjb/functest/functest-docker.yaml index 74738f280..fc2fd3cae 100644 --- a/jjb/functest/functest-docker.yaml +++ b/jjb/functest/functest-docker.yaml @@ -31,6 +31,7 @@ - 'components' - 'parser' - 'smoke' + - 'benchmarking' - 'vnf' exclude: @@ -38,6 +39,8 @@ image: 'parser' - stream: 'fraser' image: 'tempest' + - stream: 'fraser' + image: 'benchmarking' # settings for jobs run in multijob phases build-job-settings: &build-job-settings @@ -152,6 +155,10 @@ <<: *build-job-settings - name: 'functest-smoke-docker-build-arm64-{stream}' <<: *build-job-settings + - name: 'functest-benchmarking-docker-build-amd64-{stream}' + <<: *build-job-settings + - name: 'functest-benchmarking-docker-build-arm64-{stream}' + <<: *build-job-settings - name: 'functest-vnf-docker-build-amd64-{stream}' <<: *build-job-settings - name: 'functest-vnf-docker-build-arm64-{stream}' @@ -171,6 +178,8 @@ <<: *manifest-job-settings - name: 'functest-smoke-docker-manifest-{stream}' <<: *manifest-job-settings + - name: 'functest-benchmarking-docker-manifest-{stream}' + <<: *manifest-job-settings - name: 'functest-vnf-docker-manifest-{stream}' <<: *manifest-job-settings diff --git a/jjb/global/releng-defaults.yaml b/jjb/global/releng-defaults.yaml index 2e94767e8..ce008ca3b 100644 --- a/jjb/global/releng-defaults.yaml +++ b/jjb/global/releng-defaults.yaml @@ -11,6 +11,14 @@ node: master + # Defaults for global-jjb jobs + build-timeout: 60 + build-node: 'opnfv-build' + gerrit-server-name: 'gerrit.opnfv.org' + jenkins-ssh-credential: 'd42411ac011ad6f3dd2e1fa34eaa5d87f910eb2e' + jjb-version: '2.0.3' + lftools-version: '<1.0.0' + properties: - logrotate-default diff --git a/jjb/releng/opnfv-docker.yaml b/jjb/releng/opnfv-docker.yaml index 0d0659807..cb9d7f924 100644 --- a/jjb/releng/opnfv-docker.yaml +++ b/jjb/releng/opnfv-docker.yaml @@ -26,6 +26,11 @@ storperf-receivers: &storperf-receivers receivers: > mark.beierl@emc.com + yardstick-receivers: &yardstick-receivers + receivers: > + limingjiang@huawei.com + rexlee8776@gmail.com + emma.l.foley@intel.com other-receivers: &other-receivers receivers: '' @@ -107,6 +112,12 @@ dockerfile: 'Dockerfile' <<: *master <<: *other-receivers + - 'clover-sample-app': + project: 'clover' + dockerdir: 'samples/scenarios/sample_app' + dockerfile: 'Dockerfile' + <<: *master + <<: *other-receivers - 'cperf': project: 'cperf' <<: *master @@ -173,7 +184,13 @@ - 'yardstick': project: 'yardstick' <<: *master - <<: *other-receivers + <<: *yardstick-receivers + - 'yardstick-image-k8s': + project: 'yardstick' + dockerdir: 'docker/k8s' + <<: *master + <<: *yardstick-receivers + # projects with jobs for euphrates - 'barometer-collectd': project: 'barometer' diff --git a/jjb/releng/opnfv-utils.yaml b/jjb/releng/opnfv-utils.yaml index 1d50eb44e..71013f4ff 100644 --- a/jjb/releng/opnfv-utils.yaml +++ b/jjb/releng/opnfv-utils.yaml @@ -130,6 +130,7 @@ default-slaves: - lf-build1 - lf-build2 + - ericsson-build3 - ericsson-build4 allowed-multiselect: true ignore-offline-nodes: true @@ -144,6 +145,8 @@ - timed: '@midnight' builders: + - description-setter: + description: '$NODE_NAME' - install-ansible - run-ansible-build-server-playbook diff --git a/jjb/releng/releng-ci-jobs.yaml b/jjb/releng/releng-ci-jobs.yaml index 49abd7dd4..17fb6e42c 100644 --- a/jjb/releng/releng-ci-jobs.yaml +++ b/jjb/releng/releng-ci-jobs.yaml @@ -5,11 +5,6 @@ project-name: 'releng' build-timeout: 60 - build-node: 'lf-build1' - gerrit-server-name: 'gerrit.opnfv.org' - jenkins-ssh-credential: 'd42411ac011ad6f3dd2e1fa34eaa5d87f910eb2e' - jjb-version: '2.0.3' - lftools-version: '<1.0.0' rtd-build-url: 'https://readthedocs.org/api/v2/webhook/opnfv-releng/38594/' rtd-token: '291c6a0109493b4457e566d06141212452c65784' diff --git a/jjb/xci/xci-daily-jobs.yaml b/jjb/xci/xci-daily-jobs.yaml index 3627d1806..2c692dd45 100644 --- a/jjb/xci/xci-daily-jobs.yaml +++ b/jjb/xci/xci-daily-jobs.yaml @@ -99,6 +99,7 @@ phase: - 'deploy' - 'functest' + - 'yardstick' # ------------------------------- # jobs @@ -153,7 +154,7 @@ default: 'tier' - string: name: FUNCTEST_SUITE_NAME - default: 'healthcheck' + default: 'smoke' - string: name: CI_LOOP default: 'daily' @@ -183,6 +184,8 @@ XCI_FLAVOR=$XCI_FLAVOR CI_LOOP=$CI_LOOP XCI_DISTRO=$XCI_DISTRO + FUNCTEST_MODE=$FUNCTEST_MODE + FUNCTEST_SUITE_NAME=$FUNCTEST_SUITE_NAME same-node: true block: true - trigger-builds: @@ -202,6 +205,21 @@ build-step-failure-threshold: 'never' failure-threshold: 'never' unstable-threshold: 'FAILURE' + - trigger-builds: + - project: 'xci-yardstick-{pod}-{distro}-daily-{stream}' + current-parameters: false + predefined-parameters: | + DEPLOY_SCENARIO=$DEPLOY_SCENARIO + INSTALLER_TYPE=$INSTALLER_TYPE + XCI_FLAVOR=$XCI_FLAVOR + CI_LOOP=$CI_LOOP + XCI_DISTRO=$XCI_DISTRO + same-node: true + block: true + block-thresholds: + build-step-failure-threshold: 'never' + failure-threshold: 'never' + unstable-threshold: 'FAILURE' publishers: # yamllint disable rule:line-length @@ -265,7 +283,7 @@ default: 'tier' - string: name: FUNCTEST_SUITE_NAME - default: 'healthcheck' + default: 'smoke' - string: name: CI_LOOP default: 'daily' @@ -281,10 +299,10 @@ # -------------------------- # builder macros # -------------------------- -# These need to be properly fixed once the basic deployment and functest -# jobs are working outside of clean vm. -# One of the ugly fixes is moving functest preparation step into the -# deployment job itself since functest preparation requires some of the +# These need to be properly fixed once the basic deployment, functest, and +# yardstick jobs are working outside of clean vm. +# One of the ugly fixes is moving test preparation step into the +# deployment job itself since test preparation requires some of the # things from deployment job. With clean VM, this wasn't an issue # since everything was on clean VM. When we move things out of clean # VM, things are done in workspaces of the jobs that are different. @@ -306,12 +324,14 @@ echo "Removing $vm" sudo virsh destroy $vm > /dev/null 2>&1 || true sudo virsh undefine $vm > /dev/null 2>&1 || true + sudo killall -r vbmc > /dev/null 2>&1 || true + sudo rm -rf /root/.vbmc > /dev/null 2>&1 || true done echo "---------------------------------------------------------------------------------" cd $WORKSPACE/xci && ./xci-deploy.sh - echo "Prepare OPNFV VM for Functest" + echo "Prepare OPNFV VM for Tests" echo "---------------------------------------------------------------------------------" export XCI_PATH=$WORKSPACE export XCI_VENV=${XCI_PATH}/venv @@ -320,9 +340,8 @@ declare -x "\${var}" 2>/dev/null echo $var done < ${XCI_PATH}/.cache/xci.env && cd ${XCI_PATH}/xci && \ - ansible-playbook -i playbooks/dynamic_inventory.py playbooks/prepare-functest.yml - - echo "Run Functest" + ansible-playbook -i playbooks/dynamic_inventory.py playbooks/prepare-tests.yml + ssh root@192.168.122.2 "/root/prepare-tests.sh" echo "---------------------------------------------------------------------------------" - builder: @@ -330,7 +349,35 @@ builders: - shell: | #!/bin/bash - set -o errexit set -o pipefail ssh root@192.168.122.2 "/root/run-functest.sh" + functest_exit=$? + + case ${DEPLOY_SCENARIO[0]} in + os-*) + FUNCTEST_LOG=/root/functest-results/functest.log + ;; + k8-*) + FUNCTEST_LOG=/root/functest-results/functest-kubernetes.log + ;; + *) + echo "Unable to determine the installer. Exiting!" + exit $functest_exit + ;; + esac + + echo "Functest log" + echo "---------------------------------------------------------------------------------" + ssh root@192.168.122.2 "cat $FUNCTEST_LOG" + echo "---------------------------------------------------------------------------------" + exit ${functest_exit} +- builder: + name: 'xci-daily-yardstick-macro' + builders: + - shell: | + #!/bin/bash + set -o errexit + set -o pipefail + + ssh root@192.168.122.2 "/root/run-yardstick.sh" diff --git a/jjb/xci/xci-merge-jobs.yaml b/jjb/xci/xci-merge-jobs.yaml index 0cf1ab9e5..afa88a224 100644 --- a/jjb/xci/xci-merge-jobs.yaml +++ b/jjb/xci/xci-merge-jobs.yaml @@ -292,6 +292,8 @@ GERRIT_REFSPEC=$GERRIT_REFSPEC GERRIT_CHANGE_NUMBER=$GERRIT_CHANGE_NUMBER GERRIT_CHANGE_COMMIT_MESSAGE=$GERRIT_CHANGE_COMMIT_MESSAGE + FUNCTEST_MODE=$FUNCTEST_MODE + FUNCTEST_SUITE_NAME=$FUNCTEST_SUITE_NAME node-parameters: true kill-phase-on: '{kill-phase-on}' abort-all-job: '{abort-all-job}' diff --git a/jjb/xci/xci-run-functest.sh b/jjb/xci/xci-run-functest.sh index f46abe043..992194ca3 100755 --- a/jjb/xci/xci-run-functest.sh +++ b/jjb/xci/xci-run-functest.sh @@ -47,18 +47,22 @@ fi export XCI_PATH=/home/devuser/releng-xci export XCI_VENV=${XCI_PATH}/venv -ssh -F $HOME/.ssh/${DISTRO}-xci-vm-config ${DISTRO}_xci_vm "source $XCI_VENV/bin/activate; while read var; do declare -x \"\${var}\" 2>/dev/null; done < ${XCI_PATH}/.cache/xci.env && cd releng-xci/xci && ansible-playbook -i playbooks/dynamic_inventory.py playbooks/prepare-functest.yml" -echo "Running functest" +ssh -F $HOME/.ssh/${DISTRO}-xci-vm-config ${DISTRO}_xci_vm "source $XCI_VENV/bin/activate; \ + while read var; do declare -x \"\${var}\" 2>/dev/null; done < ${XCI_PATH}/.cache/xci.env && \ + cd releng-xci/xci && ansible-playbook -i playbooks/dynamic_inventory.py playbooks/prepare-tests.yml" +echo "Prepare OPNFV VM for Tests" +ssh -F $HOME/.ssh/${DISTRO}-xci-vm-config ${DISTRO}_xci_vm_opnfv "/root/prepare-tests.sh" +echo "Running Functest" ssh -F $HOME/.ssh/${DISTRO}-xci-vm-config ${DISTRO}_xci_vm_opnfv "/root/run-functest.sh" # Record exit code functest_exit=$? case ${DEPLOY_SCENARIO[0]} in os-*) - FUNCTEST_LOG=/root/results/functest.log + FUNCTEST_LOG=/root/functest-results/functest.log ;; k8-*) - FUNCTEST_LOG=/root/results/functest-kubernetes.log + FUNCTEST_LOG=/root/functest-results/functest-kubernetes.log ;; *) echo "Unable to determine the installer. Exiting!" diff --git a/jjb/xci/xci-set-scenario.sh b/jjb/xci/xci-set-scenario.sh index 7bc45f1c2..59c1ebf6e 100755 --- a/jjb/xci/xci-set-scenario.sh +++ b/jjb/xci/xci-set-scenario.sh @@ -8,6 +8,7 @@ # http://www.apache.org/licenses/LICENSE-2.0 ############################################################################## set -o pipefail +set -x #---------------------------------------------------------------------- # This script is used by CI and executed by Jenkins jobs. @@ -166,9 +167,10 @@ WORK_DIRECTORY=/tmp/$GERRIT_CHANGE_NUMBER/$DISTRO if [[ $GERRIT_PROJECT == "releng-xci" ]]; then determine_default_scenario +else + determine_scenario fi override_scenario -determine_scenario # ensure single scenario is impacted if [[ $(IFS=$'\n' echo ${DEPLOY_SCENARIO[@]} | wc -w) != 1 ]]; then diff --git a/jjb/xci/xci-verify-jobs.yaml b/jjb/xci/xci-verify-jobs.yaml index cc6de488f..020ec8bac 100644 --- a/jjb/xci/xci-verify-jobs.yaml +++ b/jjb/xci/xci-verify-jobs.yaml @@ -181,6 +181,8 @@ GERRIT_CHANGE_NUMBER=$GERRIT_CHANGE_NUMBER GERRIT_CHANGE_COMMIT_MESSAGE=$GERRIT_CHANGE_COMMIT_MESSAGE CI_LOOP=$CI_LOOP + FUNCTEST_MODE=$FUNCTEST_MODE + FUNCTEST_SUITE_NAME=$FUNCTEST_SUITE_NAME node-parameters: true kill-phase-on: FAILURE abort-all-job: true |