X-Git-Url: https://gerrit.opnfv.org/gerrit/gitweb?a=blobdiff_plain;f=jjb%2Fxci%2Fxci-daily-jobs.yaml;h=fe3da8b3c87fd4afe08e42d224db6a47ae3c8916;hb=a78697d4c2304ee4dcc56f3d8580a02d27dc00e1;hp=47bd83c8a51fa7f617e437d0634ea775b3a501fa;hpb=6a6a11f6c065e53f8138da4fadc3da16bb06c825;p=releng.git diff --git a/jjb/xci/xci-daily-jobs.yaml b/jjb/xci/xci-daily-jobs.yaml index 47bd83c8a..fe3da8b3c 100644 --- a/jjb/xci/xci-daily-jobs.yaml +++ b/jjb/xci/xci-daily-jobs.yaml @@ -17,66 +17,19 @@ # ------------------------------- scenario: - 'os-nosdn-nofeature-noha': - auto-trigger-name: 'daily-trigger-disabled' deploy-scenario: 'os-nosdn-nofeature' installer-type: 'osa' - xci-flavor: 'mini' - - 'os-nosdn-osm-noha': - auto-trigger-name: 'daily-trigger-disabled' - deploy-scenario: 'os-nosdn-osm' - installer-type: 'osa' - xci-flavor: 'mini' - - 'os-odl-nofeature-noha': - auto-trigger-name: 'daily-trigger-disabled' - deploy-scenario: 'os-odl-nofeature' - installer-type: 'osa' - xci-flavor: 'mini' - - 'os-odl-bgpvpn-noha': - auto-trigger-name: 'daily-trigger-disabled' - deploy-scenario: 'os-odl-bgpvpn' - installer-type: 'osa' - xci-flavor: 'mini' - - 'os-odl-sfc-noha': - auto-trigger-name: 'daily-trigger-disabled' - deploy-scenario: 'os-odl-sfc' - installer-type: 'osa' - xci-flavor: 'mini' - - 'k8-nosdn-nofeature-noha': - auto-trigger-name: 'daily-trigger-disabled' - deploy-scenario: 'k8-nosdn-nofeature' - installer-type: 'kubespray' - xci-flavor: 'mini' - - 'k8-canal-nofeature-noha': - auto-trigger-name: 'daily-trigger-disabled' - deploy-scenario: 'k8-canal-nofeature' - installer-type: 'kubespray' - xci-flavor: 'mini' + xci-flavor: 'noha' - 'k8-calico-nofeature-noha': - auto-trigger-name: 'daily-trigger-disabled' deploy-scenario: 'k8-calico-nofeature' installer-type: 'kubespray' - xci-flavor: 'mini' - - 'k8-contiv-nofeature-noha': - auto-trigger-name: 'daily-trigger-disabled' - deploy-scenario: 'k8-contiv-nofeature' - installer-type: 'kubespray' - xci-flavor: 'mini' - - 'k8-flannel-nofeature-noha': - auto-trigger-name: 'daily-trigger-disabled' - deploy-scenario: 'k8-flannel-nofeature' - installer-type: 'kubespray' - xci-flavor: 'mini' - - 'k8-nosdn-istio-noha': - auto-trigger-name: 'daily-trigger-disabled' - deploy-scenario: 'k8-nosdn-istio' - installer-type: 'kubespray' - xci-flavor: 'mini' + xci-flavor: 'noha' # ------------------------------- # XCI PODs # ------------------------------- pod: - - virtual: + - baremetal: <<: *master # ------------------------------- @@ -84,14 +37,14 @@ # ------------------------------- distro: - 'ubuntu': - disabled: false - slave-label: xci-virtual + disabled: true + slave-label: xci-baremetal - 'centos': disabled: true - slave-label: xci-virtual + slave-label: xci-baremetal - 'opensuse': - disabled: false - slave-label: xci-virtual + disabled: true + slave-label: xci-baremetal # ------------------------------- # Phases @@ -99,6 +52,7 @@ phase: - 'deploy' - 'functest' + - 'yardstick' # ------------------------------- # jobs @@ -129,9 +83,12 @@ - '^xci-functest.*' - '^bifrost-.*periodic.*' - '^osa-.*periodic.*' - block-level: 'NODE' + blocking-level: 'NODE' - logrotate-default + triggers: + - timed: '@midnight' + parameters: - string: name: DEPLOY_SCENARIO @@ -145,15 +102,20 @@ - label: name: SLAVE_LABEL default: '{slave-label}' + all-nodes: false + node-eligibility: 'ignore-offline' - string: name: XCI_DISTRO default: '{distro}' + - string: + name: FUNCTEST_VERSION + default: 'hunter' - string: name: FUNCTEST_MODE default: 'tier' - string: name: FUNCTEST_SUITE_NAME - default: 'healthcheck' + default: 'smoke' - string: name: CI_LOOP default: 'daily' @@ -162,9 +124,6 @@ default: https://gerrit.opnfv.org/gerrit/$PROJECT description: 'Git URL to use on this Jenkins Slave' - triggers: - - '{auto-trigger-name}' - wrappers: - ssh-agent-wrapper - build-timeout: @@ -183,6 +142,9 @@ XCI_FLAVOR=$XCI_FLAVOR CI_LOOP=$CI_LOOP XCI_DISTRO=$XCI_DISTRO + FUNCTEST_VERSION=$FUNCTEST_VERSION + FUNCTEST_MODE=$FUNCTEST_MODE + FUNCTEST_SUITE_NAME=$FUNCTEST_SUITE_NAME same-node: true block: true - trigger-builds: @@ -194,6 +156,7 @@ XCI_FLAVOR=$XCI_FLAVOR CI_LOOP=$CI_LOOP XCI_DISTRO=$XCI_DISTRO + FUNCTEST_VERSION=$FUNCTEST_VERSION FUNCTEST_MODE=$FUNCTEST_MODE FUNCTEST_SUITE_NAME=$FUNCTEST_SUITE_NAME same-node: true @@ -202,6 +165,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 @@ -225,7 +203,7 @@ - '^xci-functest.*' - '^bifrost-.*periodic.*' - '^osa-.*periodic.*' - block-level: 'NODE' + blocking-level: 'NODE' - throttle: enabled: true max-per-node: 1 @@ -253,19 +231,24 @@ default: 'osa' - string: name: XCI_FLAVOR - default: 'mini' + default: 'noha' - string: name: XCI_DISTRO default: 'ubuntu' - label: name: SLAVE_LABEL default: '{slave-label}' + all-nodes: false + node-eligibility: 'ignore-offline' + - string: + name: FUNCTEST_VERSION + default: 'hunter' - string: name: FUNCTEST_MODE default: 'tier' - string: name: FUNCTEST_SUITE_NAME - default: 'healthcheck' + default: 'smoke' - string: name: CI_LOOP default: 'daily' @@ -281,10 +264,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. @@ -300,9 +283,28 @@ set -o errexit set -o pipefail - cd $WORKSPACE/xci && ./xci-deploy.sh + echo "Cleaning the leftovers from the earlier run" + echo "---------------------------------------------------------------------------------" + for vm in $(sudo virsh list --all --name | grep -v xci_vm); do + 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 "---------------------------------------------------------------------------------" + + # select the right PDF/IDF + export PDF=$WORKSPACE/xci/var/${NODE_NAME}-pdf.yml + export IDF=$WORKSPACE/xci/var/${NODE_NAME}-idf.yml + if [[ "$NODE_NAME" =~ "virtual" ]]; then + export PDF=$WORKSPACE/xci/var/pdf.yml + export IDF=$WORKSPACE/xci/var/idf.yml + fi + + cd $WORKSPACE/xci && ./xci-deploy.sh -p $PDF -i $IDF - echo "Prepare OPNFV VM for Functest" + echo "Prepare OPNFV VM for Tests" echo "---------------------------------------------------------------------------------" export XCI_PATH=$WORKSPACE export XCI_VENV=${XCI_PATH}/venv @@ -311,9 +313,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: @@ -321,7 +322,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"