summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--docs/ci/tables/ci-build-servers.rst4
-rwxr-xr-xjjb/3rd_party_ci/create-apex-vms.sh12
-rwxr-xr-xjjb/3rd_party_ci/detect-snapshot.sh30
-rwxr-xr-xjjb/3rd_party_ci/download-netvirt-artifact.sh38
-rwxr-xr-xjjb/3rd_party_ci/install-netvirt.sh32
-rw-r--r--jjb/3rd_party_ci/odl-netvirt.yaml287
-rwxr-xr-xjjb/3rd_party_ci/postprocess-netvirt.sh11
-rw-r--r--jjb/airship/airship-rtd-jobs.yaml (renamed from jjb/sfc/sfc-rtd-jobs.yaml)17
-rw-r--r--jjb/airship/airship.yaml220
-rw-r--r--jjb/airship/cntt.yaml768
-rwxr-xr-xjjb/apex/apex-build.sh98
-rwxr-xr-xjjb/apex/apex-deploy.sh213
-rwxr-xr-xjjb/apex/apex-download-artifact.sh89
-rwxr-xr-xjjb/apex/apex-fetch-logs.sh25
-rwxr-xr-xjjb/apex/apex-fetch-snap-info.sh46
-rw-r--r--jjb/apex/apex-functest-scenario.sh18
-rwxr-xr-xjjb/apex/apex-iso-verify.sh75
-rw-r--r--jjb/apex/apex-jjb-renderer.py51
-rw-r--r--jjb/apex/apex-project-jobs.yaml146
-rw-r--r--jjb/apex/apex-rtd-jobs.yaml20
-rw-r--r--jjb/apex/apex-snapshot-create.sh105
-rw-r--r--jjb/apex/apex-snapshot-deploy.sh184
-rwxr-xr-xjjb/apex/apex-unit-test.sh33
-rwxr-xr-xjjb/apex/apex-upload-artifact.sh163
-rw-r--r--jjb/apex/apex-verify-jobs.yaml409
-rw-r--r--jjb/apex/apex.yaml2008
-rw-r--r--jjb/apex/apex.yaml.j21361
-rw-r--r--jjb/apex/scenarios.yaml.hidden68
-rw-r--r--jjb/apex/update-build-result.groovy5
-rw-r--r--jjb/armband/armband-ci-jobs.yaml2
-rw-r--r--jjb/availability/availability-rtd-jobs.yaml25
-rw-r--r--jjb/availability/availability.yaml8
-rw-r--r--jjb/barometer/barometer-rtd-jobs.yaml6
-rw-r--r--jjb/barometer/barometer.yaml39
-rw-r--r--jjb/bottlenecks/bottlenecks-cleanup.sh17
-rw-r--r--jjb/bottlenecks/bottlenecks-project-jobs.yaml222
-rw-r--r--jjb/bottlenecks/bottlenecks-rtd-jobs.yaml21
-rw-r--r--jjb/bottlenecks/bottlenecks-run-suite.sh125
-rw-r--r--jjb/calipso/calipso.yaml2
-rw-r--r--jjb/ci_gate_security/opnfv-ci-gate-security.yaml5
-rw-r--r--jjb/cirv/cirv-views.yaml (renamed from jjb/ves/ves-views.yaml)4
-rw-r--r--jjb/cirv/cirv.yaml71
-rw-r--r--jjb/conductor/conductor.yaml8
-rw-r--r--jjb/cperf/cirros-upload.yaml.ansible39
-rw-r--r--jjb/cperf/cperf-ci-jobs.yaml210
-rwxr-xr-xjjb/cperf/cperf-prepare-robot.sh32
-rwxr-xr-xjjb/cperf/cperf-robot-netvirt-csit.sh186
-rw-r--r--jjb/cperf/cperf-upload-logs-csit.sh12
-rw-r--r--jjb/cperf/cperf-views.yaml6
-rw-r--r--jjb/cperf/csit-clean.yaml.ansible11
-rw-r--r--jjb/cperf/parse-node-yaml.py71
-rw-r--r--jjb/daisy4nfv/daisy-daily-jobs.yaml423
-rwxr-xr-xjjb/daisy4nfv/daisy-deploy.sh75
-rw-r--r--jjb/daisy4nfv/daisy-project-jobs.yaml312
-rw-r--r--jjb/daisy4nfv/daisy-rtd-jobs.yaml12
-rwxr-xr-xjjb/daisy4nfv/daisy4nfv-basic.sh6
-rwxr-xr-xjjb/daisy4nfv/daisy4nfv-build-kolla-image.sh68
-rwxr-xr-xjjb/daisy4nfv/daisy4nfv-build.sh41
-rwxr-xr-xjjb/daisy4nfv/daisy4nfv-download-artifact.sh86
-rw-r--r--jjb/daisy4nfv/daisy4nfv-merge-jobs.yaml226
-rwxr-xr-xjjb/daisy4nfv/daisy4nfv-smoke-test.sh6
-rwxr-xr-xjjb/daisy4nfv/daisy4nfv-upload-artifact.sh96
-rw-r--r--jjb/daisy4nfv/daisy4nfv-verify-jobs.yaml225
-rw-r--r--jjb/doctor/doctor.yaml54
-rw-r--r--jjb/dovetail/dovetail-project-jobs.yaml2
-rw-r--r--jjb/dovetail/dovetail-rtd-jobs.yaml8
-rwxr-xr-xjjb/dovetail/dovetail-run.sh5
-rw-r--r--jjb/fuel/fuel-daily-jobs.yaml75
-rw-r--r--jjb/fuel/fuel-docker-jobs.yaml6
-rw-r--r--jjb/fuel/fuel-rtd-jobs.yaml6
-rw-r--r--jjb/fuel/fuel-verify-jobs.yaml6
-rwxr-xr-xjjb/functest/functest-alpine.sh270
-rwxr-xr-xjjb/functest/functest-cleanup.sh40
-rw-r--r--jjb/functest/functest-daily-jobs.yaml304
-rw-r--r--jjb/functest/functest-docker.yaml82
-rwxr-xr-xjjb/functest/functest-env-presetup.sh58
-rw-r--r--jjb/functest/functest-exit.sh11
-rwxr-xr-xjjb/functest/functest-k8.sh46
-rw-r--r--jjb/functest/functest-kubernetes-docker.yaml70
-rw-r--r--jjb/functest/functest-kubernetes-pi.yaml533
-rw-r--r--jjb/functest/functest-kubernetes-project-jobs.yaml209
-rw-r--r--jjb/functest/functest-kubernetes.yaml475
-rw-r--r--jjb/functest/functest-pi.yaml926
-rw-r--r--jjb/functest/functest-project-jobs.yaml203
-rw-r--r--jjb/functest/functest-rtd-jobs.yaml24
-rwxr-xr-xjjb/functest/functest-suite.sh21
-rw-r--r--jjb/functest/functest.ovn.yaml1245
-rw-r--r--jjb/functest/functest.yaml633
-rw-r--r--jjb/functest/xtesting-docker.yaml83
-rw-r--r--jjb/functest/xtesting-pi.yaml444
-rw-r--r--jjb/functest/xtesting-project-jobs.yaml209
-rw-r--r--jjb/functest/xtesting.yaml292
-rw-r--r--jjb/global/releng-macros.yaml23
-rw-r--r--jjb/global/slave-params.yaml18
-rw-r--r--jjb/ipv6/ipv6-rtd-jobs.yaml24
-rw-r--r--jjb/ipv6/ipv6-views.yaml6
-rw-r--r--jjb/ipv6/ipv6.yaml8
-rw-r--r--jjb/kuberef/Vagrantfile70
-rwxr-xr-xjjb/kuberef/kuberef-run-linting.sh130
-rw-r--r--jjb/kuberef/kuberef-verify-jobs.yaml55
-rw-r--r--jjb/kuberef/kuberef-views.yaml6
-rw-r--r--jjb/kuberef/tox.ini28
-rwxr-xr-xjjb/kvmfornfv/kvmfornfv-download-artifact.sh39
-rw-r--r--jjb/kvmfornfv/kvmfornfv-rtd-jobs.yaml13
-rwxr-xr-xjjb/kvmfornfv/kvmfornfv-test.sh33
-rwxr-xr-xjjb/kvmfornfv/kvmfornfv-upload-artifact.sh85
-rw-r--r--jjb/kvmfornfv/kvmfornfv-views.yaml6
-rw-r--r--jjb/kvmfornfv/kvmfornfv.yaml386
-rw-r--r--jjb/laas/laas.yml (renamed from jjb/pharos/pharos-tools.yml)25
-rw-r--r--jjb/laas/shell/backup-dashboard.sh (renamed from jjb/pharos/shell/backup-dashboard.sh)12
-rw-r--r--jjb/laas/shell/deploy-dashboard.sh (renamed from jjb/pharos/shell/deploy-dashboard.sh)4
-rw-r--r--jjb/octopus/octopus-views.yaml7
-rw-r--r--jjb/onosfw/onosfw-rtd-jobs.yaml13
-rw-r--r--jjb/onosfw/onosfw-views.yaml6
-rw-r--r--jjb/onosfw/onosfw.yaml192
-rw-r--r--jjb/opnfvdocs/docs-rtd.yaml2
-rw-r--r--jjb/opnfvdocs/opnfvdocs.yaml2
-rw-r--r--jjb/ovn4nfv/ovn4nfv-daily-jobs.yaml88
-rw-r--r--jjb/ovn4nfv/ovn4nfv-project-jobs.yaml60
-rw-r--r--jjb/ovn4nfv/ovn4nfv-rtd-jobs.yaml20
-rw-r--r--jjb/ovno/ovno-rtd-jobs.yaml13
-rw-r--r--jjb/ovno/ovno-views.yaml6
-rw-r--r--jjb/promise/promise-views.yaml6
-rw-r--r--jjb/releng/opnfv-docker-arm.yaml52
-rw-r--r--jjb/releng/opnfv-docker.sh10
-rw-r--r--jjb/releng/opnfv-docker.yaml172
-rw-r--r--jjb/releng/opnfv-repo-archiver.sh68
-rw-r--r--jjb/releng/opnfv-utils.yaml40
-rw-r--r--jjb/releng/releng-jobs.yaml (renamed from jjb/releng/releng-rtd-jobs.yaml)1
-rw-r--r--jjb/releng/releng-release-jobs.yaml2
-rw-r--r--jjb/sdnvpn/sdnvpn-rtd-jobs.yaml20
-rw-r--r--jjb/sdnvpn/sdnvpn-views.yaml6
-rw-r--r--jjb/sfc/sfc-project-jobs.yaml110
-rw-r--r--jjb/sfc/sfc-views.yaml7
-rw-r--r--jjb/snaps/snaps-rtd-jobs.yaml12
-rw-r--r--jjb/snaps/snaps-verify-jobs.yaml81
-rw-r--r--jjb/snaps/snaps-views.yaml6
-rw-r--r--jjb/storperf/storperf-verify-jobs.yaml2
-rw-r--r--jjb/ves/ves-rtd-jobs.yaml13
-rw-r--r--jjb/ves/ves.yaml8
-rwxr-xr-xjjb/yardstick/yardstick-cleanup.sh36
-rw-r--r--jjb/yardstick/yardstick-daily-jobs.yaml509
-rwxr-xr-xjjb/yardstick/yardstick-daily.sh75
-rwxr-xr-xjjb/yardstick/yardstick-get-k8s-conf.sh13
-rw-r--r--jjb/yardstick/yardstick-project-jobs.yaml238
-rw-r--r--jjb/yardstick/yardstick-rtd-jobs.yaml20
-rw-r--r--releases/hunter/dovetail.yaml9
-rw-r--r--releases/iruya/airship.yaml27
-rw-r--r--releases/iruya/barometer.yaml25
-rw-r--r--releases/iruya/bottlenecks.yaml9
-rw-r--r--releases/iruya/doctor.yaml24
-rw-r--r--releases/iruya/edgecloud.yaml9
-rw-r--r--releases/iruya/fds.yaml9
-rw-r--r--releases/iruya/fuel.yaml24
-rw-r--r--releases/iruya/opnfvdocs.yaml9
-rw-r--r--releases/iruya/rocket.yaml9
-rw-r--r--releases/iruya/stor4nfv.yaml11
-rw-r--r--releases/iruya/storperf.yaml14
-rw-r--r--releases/iruya/vswitchperf.yaml9
-rw-r--r--releases/iruya/yardstick.yaml17
-rw-r--r--[-rwxr-xr-x]releases/jerma/airship.yaml (renamed from jjb/kvmfornfv/kvmfornfv-build.sh)19
-rw-r--r--releases/jerma/moon.yaml9
-rw-r--r--releases/jerma/opnfvdocs.yaml9
-rw-r--r--releases/kali/functest.yaml15
-rw-r--r--releases/leguer/functest.yaml15
-rw-r--r--tox.ini3
166 files changed, 6482 insertions, 12254 deletions
diff --git a/docs/ci/tables/ci-build-servers.rst b/docs/ci/tables/ci-build-servers.rst
index ad16865..b752a7b 100644
--- a/docs/ci/tables/ci-build-servers.rst
+++ b/docs/ci/tables/ci-build-servers.rst
@@ -18,10 +18,6 @@
- aarch64
- Ubuntu 16.04
- `Armband ENEA Team`_
- * - `ericsson-build3 <https://build.opnfv.org/ci/computer/ericsson-build3>`_
- - x86_64
- - Ubuntu 16.04
- - `Dianfeng Du`_
* - `ericsson-build4 <https://build.opnfv.org/ci/computer/ericsson-build4>`_
- x86_64
- Ubuntu 16.04
diff --git a/jjb/3rd_party_ci/create-apex-vms.sh b/jjb/3rd_party_ci/create-apex-vms.sh
deleted file mode 100755
index 0744ac8..0000000
--- a/jjb/3rd_party_ci/create-apex-vms.sh
+++ /dev/null
@@ -1,12 +0,0 @@
-#!/bin/bash
-set -o errexit
-set -o nounset
-set -o pipefail
-
-# clone opnfv sdnvpn repo
-git clone https://gerrit.opnfv.org/gerrit/p/sdnvpn.git $WORKSPACE/sdnvpn
-
-. $WORKSPACE/sdnvpn/odl-pipeline/odl-pipeline-common.sh
-pushd $LIB
-./test_environment.sh --env-number $APEX_ENV_NUMBER --cloner-info $CLONER_INFO --snapshot-disks $SNAPSHOT_DISKS --vjump-hosts $VIRTUAL_JUMPHOSTS
-popd
diff --git a/jjb/3rd_party_ci/detect-snapshot.sh b/jjb/3rd_party_ci/detect-snapshot.sh
deleted file mode 100755
index 77788aa..0000000
--- a/jjb/3rd_party_ci/detect-snapshot.sh
+++ /dev/null
@@ -1,30 +0,0 @@
-#!/bin/bash
-set -o errexit
-set -o nounset
-set -o pipefail
-
-echo "Detecting requested OpenStack branch and topology type in gerrit comment"
-parsed_comment=$(echo $GERRIT_EVENT_COMMENT_TEXT | sed -n 's/^.*check-opnfv\s*//p')
-parsed_comment=$(echo $parsed_comment | sed -n 's/\s*$//p')
-if [ ! -z "$parsed_comment" ]; then
- if echo $parsed_comment | grep -E '^[a-z]+-(no)?ha'; then
- os_version=${parsed_comment%%"-"*}
- topo=${parsed_comment#*"-"}
- echo "OS version detected in gerrit comment: ${os_version}"
- echo "Topology type detected in gerrit comment: ${topo}"
- else
- echo "Invalid format given for scenario in gerrit comment: ${parsed_comment}...aborting"
- exit 1
- fi
-else
- echo "No scenario given in gerrit comment, will use default (master OpenStack, noha)"
- os_version='master'
- topo='noha'
-fi
-
-echo "Writing variables to file"
-cat > detected_snapshot << EOI
-OS_VERSION=$os_version
-TOPOLOGY=$topo
-SNAP_CACHE=$HOME/snap_cache/$os_version/$topo
-EOI
diff --git a/jjb/3rd_party_ci/download-netvirt-artifact.sh b/jjb/3rd_party_ci/download-netvirt-artifact.sh
deleted file mode 100755
index ac7f76c..0000000
--- a/jjb/3rd_party_ci/download-netvirt-artifact.sh
+++ /dev/null
@@ -1,38 +0,0 @@
-#!/bin/bash
-set -o errexit
-set -o nounset
-set -o pipefail
-
-echo "Attempting to fetch the artifact location from ODL Jenkins"
-if [ "$ODL_BRANCH" != 'master' ]; then
- DIST=$(echo ${ODL_BRANCH} | sed -rn 's#([a-zA-Z]+)/([a-zA-Z]+)#\2#p')
- ODL_BRANCH=$(echo ${ODL_BRANCH} | sed -rn 's#([a-zA-Z]+)/([a-zA-Z]+)#\1%2F\2#p')
-else
- DIST='neon'
-fi
-
-echo "ODL Distribution is ${DIST}"
-ODL_ZIP="karaf-SNAPSHOT.zip"
-CHANGE_DETAILS_URL="https://git.opendaylight.org/gerrit/changes/${GERRIT_PROJECT}~${ODL_BRANCH}~${GERRIT_CHANGE_ID}/detail"
-# due to limitation with the Jenkins Gerrit Trigger, we need to use Gerrit REST API to get the change details
-ODL_BUILD_JOB_NUM=$(curl --fail ${CHANGE_DETAILS_URL} | grep -Eo "${GERRIT_PROJECT}-distribution-check-${DIST}/[0-9]+" | tail -1 | grep -Eo [0-9]+)
-DISTRO_CHECK_CONSOLE_LOG="https://logs.opendaylight.org/releng/vex-yul-odl-jenkins-1/${GERRIT_PROJECT}-distribution-check-${DIST}/${ODL_BUILD_JOB_NUM}/console.log.gz"
-NETVIRT_ARTIFACT_URL=$(curl --fail --compressed ${DISTRO_CHECK_CONSOLE_LOG} | grep 'BUNDLE_URL' | cut -d = -f 2)
-
-echo -e "URL to artifact is\n\t$NETVIRT_ARTIFACT_URL"
-
-echo "Downloading the artifact. This could take time..."
-if ! wget -q -O $ODL_ZIP $NETVIRT_ARTIFACT_URL; then
- echo "The artifact does not exist! Probably removed due to ODL Jenkins artifact retention policy."
- echo "Use 'recheck' on the gerrit to get artifact rebuilt."
- exit 1
-fi
-
-#TODO(trozet) remove this once odl-pipeline accepts zip files
-echo "Converting artifact zip to tar.gz"
-UNZIPPED_DIR=`dirname $(unzip -qql ${ODL_ZIP} | head -n1 | tr -s ' ' | cut -d' ' -f5-)`
-unzip ${ODL_ZIP}
-tar czf /tmp/${NETVIRT_ARTIFACT} ${UNZIPPED_DIR}
-
-echo "Download complete"
-ls -al /tmp/${NETVIRT_ARTIFACT}
diff --git a/jjb/3rd_party_ci/install-netvirt.sh b/jjb/3rd_party_ci/install-netvirt.sh
deleted file mode 100755
index 232d60e..0000000
--- a/jjb/3rd_party_ci/install-netvirt.sh
+++ /dev/null
@@ -1,32 +0,0 @@
-#!/bin/bash
-set -o errexit
-set -o nounset
-set -o pipefail
-
-SNAP_CACHE=$HOME/snap_cache/$OS_VERSION/$TOPOLOGY
-# clone opnfv sdnvpn repo
-git clone https://gerrit.opnfv.org/gerrit/p/sdnvpn.git $WORKSPACE/sdnvpn
-
-if [ ! -f "/tmp/${NETVIRT_ARTIFACT}" ]; then
- echo "ERROR: /tmp/${NETVIRT_ARTIFACT} specified as NetVirt Artifact, but file does not exist"
- exit 1
-fi
-
-if [ ! -f "${SNAP_CACHE}/node.yaml" ]; then
- echo "ERROR: node.yaml pod config missing in ${SNAP_CACHE}"
- exit 1
-fi
-
-if [ ! -f "${SNAP_CACHE}/id_rsa" ]; then
- echo "ERROR: id_rsa ssh creds missing in ${SNAP_CACHE}"
- exit 1
-fi
-
-# TODO (trozet) snapshot should have already been unpacked into cache folder
-# but we really should check the cache here, and not use a single cache folder
-# for when we support multiple jobs on a single slave
-pushd sdnvpn/odl-pipeline/lib > /dev/null
-git fetch https://gerrit.opnfv.org/gerrit/sdnvpn refs/changes/17/59017/5 && git checkout FETCH_HEAD
-./odl_reinstaller.sh --pod-config ${SNAP_CACHE}/node.yaml \
- --odl-artifact /tmp/${NETVIRT_ARTIFACT} --ssh-key-file ${SNAP_CACHE}/id_rsa
-popd > /dev/null
diff --git a/jjb/3rd_party_ci/odl-netvirt.yaml b/jjb/3rd_party_ci/odl-netvirt.yaml
deleted file mode 100644
index 15d2848..0000000
--- a/jjb/3rd_party_ci/odl-netvirt.yaml
+++ /dev/null
@@ -1,287 +0,0 @@
----
-- project:
- name: 'netvirt'
-
- project: 'netvirt'
-
- installer: 'netvirt'
- #####################################
- # branch definitions
- #####################################
- stream:
- - master:
- branch: '{stream}'
- gs-pathname: ''
- disabled: false
- - oxygen:
- branch: 'stable/oxygen'
- gs-pathname: ''
- disabled: false
- #####################################
- # patch verification phases
- #####################################
- phase:
- - 'create-apex-vms':
- slave-label: 'apex-virtual-master'
- - 'install-netvirt':
- slave-label: 'apex-virtual-master'
- - 'postprocess':
- slave-label: 'apex-virtual-master'
- #####################################
- # jobs
- #####################################
- jobs:
- - 'odl-netvirt-verify-virtual-{stream}'
- - 'odl-netvirt-verify-virtual-{phase}-{stream}'
-
-#####################################
-# job templates
-#####################################
-- job-template:
- name: 'odl-netvirt-verify-virtual-{stream}'
-
- project-type: multijob
-
- disabled: '{obj:disabled}'
-
- concurrent: true
-
- properties:
- - logrotate-default
- - throttle:
- enabled: true
- max-total: 5
- max-per-node: 1
- option: 'project'
- - build-blocker:
- use-build-blocker: true
- blocking-jobs:
- - 'apex-verify.*'
- - 'apex-.*-promote.*'
- - 'apex-virtual.*'
- - 'odl-netvirt-verify-virtual-create-apex-vms-.*'
- - 'odl-netvirt-verify-virtual-install-netvirt-.*'
- - 'functest-netvirt-virtual-suite-.*'
- - 'odl-netvirt-verify-virtual-postprocess-.*'
- blocking-level: 'NODE'
- scm:
- - git:
- url: https://gerrit.opnfv.org/gerrit/apex
- branches:
- - 'origin/master'
- timeout: 15
- wipe-workspace: true
-
- parameters:
- - project-parameter:
- project: '{project}'
- branch: '{branch}'
- - string:
- name: NETVIRT_ARTIFACT
- default: distribution-karaf.tar.gz
- - 'apex-virtual-master-defaults'
-
- triggers:
- - gerrit:
- server-name: 'git.opendaylight.org'
- trigger-on:
- # yamllint disable rule:line-length
- # - comment-added-contains-event:
- # comment-contains-value: 'https://jenkins.opendaylight.org/releng/job/netvirt-patch-test-current-carbon/.*?/ : SUCCESS'
- # - comment-added-contains-event:
- # comment-contains-value: 'https://jenkins.opendaylight.org/releng/job/netvirt-patch-test-current-carbon/.*?/ : UNSTABLE'
- # yamllint enable rule:line-length
- - comment-added-contains-event:
- comment-contains-value: 'check-opnfv'
- projects:
- - project-compare-type: 'ANT'
- project-pattern: '*'
- branches:
- - branch-compare-type: 'ANT'
- branch-pattern: '**/{branch}'
- readable-message: true
-
- builders:
- - description-setter:
- description: "Built on $NODE_NAME"
- - detect-opnfv-snapshot
- - inject:
- properties-file: detected_snapshot
- - multijob:
- name: create-apex-vms
- condition: SUCCESSFUL
- projects:
- - name: 'odl-netvirt-verify-virtual-create-apex-vms-{stream}'
- current-parameters: false
- predefined-parameters: |
- BRANCH=$BRANCH
- GERRIT_REFSPEC=$GERRIT_REFSPEC
- GERRIT_CHANGE_NUMBER=$GERRIT_CHANGE_NUMBER
- GERRIT_CHANGE_ID=$GERRIT_CHANGE_ID
- GERRIT_PATCHSET_NUMBER=$GERRIT_PATCHSET_NUMBER
- GERRIT_PATCHSET_REVISION=$GERRIT_PATCHSET_REVISION
- NETVIRT_ARTIFACT=$NETVIRT_ARTIFACT
- APEX_ENV_NUMBER=$APEX_ENV_NUMBER
- GERRIT_EVENT_COMMENT_TEXT=$GERRIT_EVENT_COMMENT_TEXT
- TOPOLOGY=$TOPOLOGY
- OS_VERSION=$OS_VERSION
- node-parameters: true
- kill-phase-on: FAILURE
- abort-all-job: true
- - multijob:
- name: install-netvirt
- condition: SUCCESSFUL
- projects:
- - name: 'odl-netvirt-verify-virtual-install-netvirt-{stream}'
- current-parameters: false
- predefined-parameters: |
- ODL_BRANCH=$BRANCH
- BRANCH=$BRANCH
- GERRIT_REFSPEC=$GERRIT_REFSPEC
- GERRIT_CHANGE_NUMBER=$GERRIT_CHANGE_NUMBER
- GERRIT_CHANGE_ID=$GERRIT_CHANGE_ID
- GERRIT_PATCHSET_NUMBER=$GERRIT_PATCHSET_NUMBER
- GERRIT_PATCHSET_REVISION=$GERRIT_PATCHSET_REVISION
- GERRIT_PROJECT=$GERRIT_PROJECT
- NETVIRT_ARTIFACT=$NETVIRT_ARTIFACT
- TOPOLOGY=$TOPOLOGY
- OS_VERSION=$OS_VERSION
- node-parameters: true
- kill-phase-on: FAILURE
- abort-all-job: true
- - multijob:
- name: csit
- condition: ALWAYS
- projects:
- - name: cperf-apex-csit-master
- predefined-parameters: |
- ODL_BRANCH=$BRANCH
- RC_FILE_PATH=$SNAP_CACHE/overcloudrc
- NODE_FILE_PATH=$SNAP_CACHE/node.yaml
- SSH_KEY_PATH=$SNAP_CACHE/id_rsa
- ODL_CONTAINERIZED=false
- OS_VERSION=$OS_VERSION
- node-parameters: true
- kill-phase-on: FAILURE
- abort-all-job: false
- - multijob:
- name: csit-collect-logs
- condition: ALWAYS
- projects:
- - name: cperf-upload-logs-csit
- predefined-parameters: |
- ODL_BRANCH=$BRANCH
- OS_VERSION=$OS_VERSION
- node-parameters: true
- kill-phase-on: FAILURE
- abort-all-job: false
- - multijob:
- name: apex-fetch-logs
- condition: ALWAYS
- projects:
- - name: 'apex-fetch-logs-{stream}'
- current-parameters: false
- node-parameters: true
- kill-phase-on: NEVER
- abort-all-job: true
- git-revision: false
- - multijob:
- name: postprocess
- condition: ALWAYS
- projects:
- - name: 'odl-netvirt-verify-virtual-postprocess-{stream}'
- current-parameters: false
- predefined-parameters: |
- BRANCH=$BRANCH
- GERRIT_REFSPEC=$GERRIT_REFSPEC
- GERRIT_CHANGE_NUMBER=$GERRIT_CHANGE_NUMBER
- GERRIT_CHANGE_ID=$GERRIT_CHANGE_ID
- GERRIT_PATCHSET_NUMBER=$GERRIT_PATCHSET_NUMBER
- GERRIT_PATCHSET_REVISION=$GERRIT_PATCHSET_REVISION
- NETVIRT_ARTIFACT=$NETVIRT_ARTIFACT
- node-parameters: true
- kill-phase-on: FAILURE
- abort-all-job: false
-
-- job-template:
- name: 'odl-netvirt-verify-virtual-{phase}-{stream}'
-
- disabled: '{obj:disabled}'
-
- concurrent: true
-
- properties:
- - logrotate-default
- - throttle:
- enabled: true
- max-total: 5
- max-per-node: 1
- option: 'project'
- - build-blocker:
- use-build-blocker: true
- blocking-jobs:
- - 'odl-netvirt-verify-virtual-create-apex-vms-.*'
- - 'odl-netvirt-verify-virtual-install-netvirt-.*'
- - 'functest-netvirt-virtual-suite-.*'
- - 'odl-netvirt-verify-virtual-postprocess-.*'
- blocking-level: 'NODE'
-
- wrappers:
- - ssh-agent-wrapper
- - timeout:
- timeout: 360
- fail: true
-
- scm:
- - git:
- url: https://gerrit.opnfv.org/gerrit/apex
- branches:
- - 'origin/master'
- timeout: 15
- wipe-workspace: true
-
- parameters:
- - project-parameter:
- project: '{project}'
- branch: '{branch}'
- - '{slave-label}-defaults'
- - '{installer}-defaults'
- - string:
- name: DEPLOY_SCENARIO
- default: 'os-odl-nofeature-noha'
- description: 'Scenario to deploy and test'
- - string:
- name: GS_URL
- default: artifacts.opnfv.org/apex
- description: "URL to Google Storage with snapshot artifacts."
-
- builders:
- - description-setter:
- description: "Built on $NODE_NAME"
- - '{project}-verify-{phase}-builder'
-#####################################
-# builder macros
-#####################################
-- builder:
- name: 'netvirt-verify-create-apex-vms-builder'
- builders:
- - shell:
- !include-raw: ../apex/apex-snapshot-deploy.sh
-- builder:
- name: 'netvirt-verify-install-netvirt-builder'
- builders:
- - shell:
- !include-raw: ./download-netvirt-artifact.sh
- - shell:
- !include-raw: ./install-netvirt.sh
-- builder:
- name: 'netvirt-verify-postprocess-builder'
- builders:
- - shell:
- !include-raw: ./postprocess-netvirt.sh
-
-- builder:
- name: 'detect-opnfv-snapshot'
- builders:
- - shell:
- !include-raw: ./detect-snapshot.sh
diff --git a/jjb/3rd_party_ci/postprocess-netvirt.sh b/jjb/3rd_party_ci/postprocess-netvirt.sh
deleted file mode 100755
index 7965142..0000000
--- a/jjb/3rd_party_ci/postprocess-netvirt.sh
+++ /dev/null
@@ -1,11 +0,0 @@
-#!/bin/bash
-set -o errexit
-set -o nounset
-set -o pipefail
-
-# clone opnfv sdnvpn repo
-git clone https://gerrit.opnfv.org/gerrit/p/sdnvpn.git $WORKSPACE/sdnvpn
-. $WORKSPACE/sdnvpn/odl-pipeline/odl-pipeline-common.sh
-pushd $LIB
-./post_process.sh
-popd
diff --git a/jjb/sfc/sfc-rtd-jobs.yaml b/jjb/airship/airship-rtd-jobs.yaml
index a65da54..f3af2ad 100644
--- a/jjb/sfc/sfc-rtd-jobs.yaml
+++ b/jjb/airship/airship-rtd-jobs.yaml
@@ -1,20 +1,21 @@
---
- project:
- name: sfc-rtd
- project: sfc
- project-name: sfc
-
- project-pattern: 'sfc'
- rtd-build-url: 'https://readthedocs.org/api/v2/webhook/opnfv-sfc/47392/'
- rtd-token: 'bc4419f4dded5c816071b042ac32c03ac6108700'
+ name: airship-rtd
+ project: airship
+ project-name: airship
+ project-pattern: 'airship'
stream:
- master:
branch: '{stream}'
disabled: false
- - hunter:
+ - iruya:
branch: 'stable/{stream}'
disabled: false
+
+ rtd-build-url: 'https://readthedocs.org/api/v2/webhook/opnfv-airship/111032/'
+ rtd-token: 'b4e9b47eee6e1311e82e462f06cc4fb44a7534db'
+
jobs:
- '{project-name}-rtd-jobs'
diff --git a/jjb/airship/airship.yaml b/jjb/airship/airship.yaml
index 49ea4fa..825fe10 100644
--- a/jjb/airship/airship.yaml
+++ b/jjb/airship/airship.yaml
@@ -11,7 +11,7 @@
- latest:
branch: master
slave: intel-pod17
- functest_tag: hunter
+ functest_tag: iruya
- parameter:
name: airship-slave
@@ -20,6 +20,26 @@
name: slave
default: '{slave}'
+- parameter:
+ name: airship-build_tag
+ parameters:
+ - random-string:
+ name: build_tag
+
+- parameter:
+ name: airship-DEBUG
+ parameters:
+ - string:
+ name: DEBUG
+ default: 'true'
+
+- parameter:
+ name: airship-EXTERNAL_NETWORK
+ parameters:
+ - string:
+ name: EXTERNAL_NETWORK
+ default: public
+
- airship-containers: &airship-containers
name: 'airship-containers'
repo: '{repo}'
@@ -50,7 +70,7 @@
name: airship-run-containers
builders:
- shell: |
- set +ex
+ set +x
[ ! -z "$WORKSPACE" ] && sudo rm -rf $WORKSPACE/* || true
if [ "{repo}" = "_" ]; then
image={container}:{functest_tag}
@@ -59,25 +79,30 @@
else
image={repo}:{port}/{container}:{functest_tag}
fi
- sudo docker run --rm \
+ sudo docker run --rm --dns 172.17.0.2 \
+ -e S3_ENDPOINT_URL=https://storage.googleapis.com \
+ -e S3_DST_URL=s3://artifacts.opnfv.org/airship/$BUILD_TAG/$JOB_NAME-$BUILD_ID \
+ -e HTTP_DST_URL=http://artifacts.opnfv.org/airship/$BUILD_TAG/$JOB_NAME-$BUILD_ID \
-e TEST_DB_URL=http://testresults.opnfv.org/test/api/v1/results \
- -e NODE_NAME=intel-pod17 \
+ -e TEST_DB_EXT_URL=http://testresults.opnfv.org/test/api/v1/results \
+ -e NODE_NAME=$slave \
-e INSTALLER_TYPE=airship \
+ -e BUILD_TAG=$BUILD_TAG \
-v $WORKSPACE/../$JOB_NAME/results:/var/lib/xtesting/results \
- -e DEBUG=True \
- -e EXTERNAL_NETWORK=public \
+ -v /home/opnfv/functest/.boto:/root/.boto \
+ -e DEBUG=$DEBUG \
+ -e EXTERNAL_NETWORK=$EXTERNAL_NETWORK \
+ -e DEPLOY_SCENARIO=ovs \
+ -e FLAVOR_EXTRA_SPECS=hw:mem_page_size:large \
+ -e NEW_USER_ROLE=_member_ \
+ -e NO_TENANT_NETWORK=true \
-v /home/opnfv/functest/openstack.creds:/home/opnfv/functest/conf/env_file \
-v /home/opnfv/functest/images:/home/opnfv/functest/images \
- -v /home/opnfv/functest/tempest_conf.yaml:/usr/lib/python2.7/\
+ -v /home/opnfv/functest/tempest_conf.yaml:/usr/lib/python3.6/\
site-packages/functest/opnfv_tests/openstack/tempest/custom_tests/tempest_conf.yaml \
- $image run_tests -t {test} -r
- res=$?
- gsutil -m cp -r $WORKSPACE/ \
- gs://artifacts.opnfv.org/airship/$JOB_NAME-$BUILD_ID > /dev/null 2>&1
- find $WORKSPACE -type f \
- -printf \
- "http://artifacts.opnfv.org/airship/$JOB_NAME-$BUILD_ID/%P\n"
- exit $res
+ -v /home/opnfv/functest/singlevm.py:/usr/lib/python3.6/\
+ site-packages/functest/core/singlevm.py \
+ $image run_tests -t {test} -r -p
- builder:
name: airship-remove-images
@@ -99,7 +124,7 @@
- shell: |
set +x
export TERM_OPTS=" "
- sudo -H -E -u ubuntu bash -c 'tools/deploy.sh deploy_site'
+ sudo -H -E -u ubuntu bash -c 'tools/deploy.sh $slave deploy_site'
- scm:
name: airship-scm
@@ -227,6 +252,12 @@
parameters:
- airship-slave:
slave: '{slave}'
+ - airship-build_tag:
+ build_tag: ''
+ - airship-DEBUG:
+ DEBUG: 'true'
+ - airship-EXTERNAL_NETWORK:
+ EXTERNAL_NETWORK: public
builders:
- airship-run-containers:
<<: *airship-run-containers
@@ -248,6 +279,7 @@
- cinder_test
- odl
- tempest_smoke
+ - tempest_horizon
jobs:
- 'airship-{repo}-{container}-{tag}-{test}-run'
@@ -256,16 +288,23 @@
<<: *airship-params
container: 'functest-smoke'
test:
- - neutron-tempest-plugin-api
+ - tempest_neutron
+ - tempest_cinder
+ - tempest_keystone
+ - tempest_heat
+ - tempest_telemetry
- rally_sanity
- - refstack_defcore
+ - refstack_compute
+ - refstack_object
+ - refstack_platform
- tempest_full
- tempest_scenario
+ - tempest_slow
- patrole
- - neutron_trunk
- networking-bgpvpn
- networking-sfc
- - barbican
+ - tempest_barbican
+ - tempest_octavia
jobs:
- 'airship-{repo}-{container}-{tag}-{test}-run'
@@ -294,16 +333,66 @@
jobs:
- 'airship-{repo}-{container}-{tag}-{test}-run'
+- builder:
+ name: airship-zip
+ builders:
+ - shell: |
+ set +x
+ [ ! -z "$WORKSPACE" ] && sudo rm -rf $WORKSPACE/* || true
+ if [ "{repo}" = "_" ]; then
+ image={container}:{functest_tag}
+ elif [ "{port}" = "None" ]; then
+ image={repo}/{container}:{functest_tag}
+ else
+ image={repo}:{port}/{container}:{functest_tag}
+ fi
+ sudo docker run --rm --dns 172.17.0.2 \
+ -e S3_ENDPOINT_URL=https://storage.googleapis.com \
+ -e S3_DST_URL=s3://artifacts.opnfv.org/airship \
+ -e HTTP_DST_URL=http://artifacts.opnfv.org/airship/ \
+ -e TEST_DB_URL=http://testresults.opnfv.org/test/api/v1/results \
+ -e TEST_DB_EXT_URL=http://testresults.opnfv.org/test/api/v1/results \
+ -e BUILD_TAG=$BUILD_TAG \
+ -e DEPLOY_SCENARIO=ovs \
+ -e FLAVOR_EXTRA_SPECS=hw:mem_page_size:large \
+ -e NEW_USER_ROLE=_member_ \
+ -e NO_TENANT_NETWORK=true \
+ -v $WORKSPACE/../$JOB_NAME/results:/var/lib/xtesting/results \
+ -v /home/opnfv/functest/.boto:/root/.boto \
+ $image zip_campaign
+
+- job-template:
+ name: 'airship-{tag}-zip'
+ parameters:
+ - airship-build_tag:
+ build_tag: ''
+ builders:
+ - airship-zip:
+ <<: *airship-containers
+
+- project:
+ name: 'airship-{tag}-zip'
+ <<: *airship-params
+ container: 'functest-healthcheck'
+ jobs:
+ - 'airship-{tag}-zip'
+
- job-template:
name: 'airship-{tag}-daily'
project-type: multijob
triggers:
- - timed: '@daily'
+ - timed: '0 6 * * 3,6'
parameters:
- airship-slave:
slave: '{slave}'
+ - airship-build_tag:
+ build_tag: ''
- airship-branch:
branch: 'master'
+ - airship-DEBUG:
+ DEBUG: 'true'
+ - airship-EXTERNAL_NETWORK:
+ EXTERNAL_NETWORK: public
properties:
- build-blocker:
use-build-blocker: true
@@ -314,7 +403,7 @@
- multijob:
name: deploy
projects:
- - name: 'airship-deploy-daily-latest'
+ - name: 'airship-deploy-daily-{tag}'
<<: *airship-jobs
- multijob:
name: remove former images
@@ -366,29 +455,45 @@
<<: *airship-jobs
- name: 'airship-opnfv-functest-healthcheck-{tag}-tempest_smoke-run'
<<: *airship-jobs
+ - name: 'airship-opnfv-functest-healthcheck-{tag}-tempest_horizon-run'
+ <<: *airship-jobs
- multijob:
name: opnfv/functest-smoke:{functest_tag}
condition: ALWAYS
projects:
- - name: 'airship-opnfv-functest-smoke-{tag}-neutron-tempest-plugin-api-run'
+ - name: 'airship-opnfv-functest-smoke-{tag}-tempest_neutron-run'
+ <<: *airship-jobs
+ - name: 'airship-opnfv-functest-smoke-{tag}-tempest_cinder-run'
+ <<: *airship-jobs
+ - name: 'airship-opnfv-functest-smoke-{tag}-tempest_keystone-run'
+ <<: *airship-jobs
+ - name: 'airship-opnfv-functest-smoke-{tag}-tempest_heat-run'
+ <<: *airship-jobs
+ - name: 'airship-opnfv-functest-smoke-{tag}-tempest_telemetry-run'
<<: *airship-jobs
- name: 'airship-opnfv-functest-smoke-{tag}-rally_sanity-run'
<<: *airship-jobs
- - name: 'airship-opnfv-functest-smoke-{tag}-refstack_defcore-run'
+ - name: 'airship-opnfv-functest-smoke-{tag}-refstack_compute-run'
+ <<: *airship-jobs
+ - name: 'airship-opnfv-functest-smoke-{tag}-refstack_object-run'
+ <<: *airship-jobs
+ - name: 'airship-opnfv-functest-smoke-{tag}-refstack_plateform-run'
<<: *airship-jobs
- name: 'airship-opnfv-functest-smoke-{tag}-tempest_full-run'
<<: *airship-jobs
- name: 'airship-opnfv-functest-smoke-{tag}-tempest_scenario-run'
<<: *airship-jobs
- - name: 'airship-opnfv-functest-smoke-{tag}-patrole-run'
+ - name: 'airship-opnfv-functest-smoke-{tag}-tempest_slow-run'
<<: *airship-jobs
- - name: 'airship-opnfv-functest-smoke-{tag}-neutron_trunk-run'
+ - name: 'airship-opnfv-functest-smoke-{tag}-patrole-run'
<<: *airship-jobs
- name: 'airship-opnfv-functest-smoke-{tag}-networking-bgpvpn-run'
<<: *airship-jobs
- name: 'airship-opnfv-functest-smoke-{tag}-networking-sfc-run'
<<: *airship-jobs
- - name: 'airship-opnfv-functest-smoke-{tag}-barbican-run'
+ - name: 'airship-opnfv-functest-smoke-{tag}-tempest_barbican-run'
+ <<: *airship-jobs
+ - name: 'airship-opnfv-functest-smoke-{tag}-tempest_octavia-run'
<<: *airship-jobs
- multijob:
name: opnfv/functest-benchmarking:{functest_tag}
@@ -417,6 +522,11 @@
<<: *airship-jobs
- name: 'airship-opnfv-functest-vnf-{tag}-juju_epc-run'
<<: *airship-jobs
+ - multijob:
+ name: dump all campaign data
+ projects:
+ - name: 'airship-{tag}-zip'
+ <<: *airship-jobs
- trigger:
name: airship-patchset-created
@@ -450,6 +560,12 @@
parameters:
- airship-slave:
slave: '{slave}'
+ - airship-build_tag:
+ build_tag: ''
+ - airship-DEBUG:
+ DEBUG: 'true'
+ - airship-EXTERNAL_NETWORK:
+ EXTERNAL_NETWORK: public
properties:
- build-blocker:
use-build-blocker: true
@@ -460,7 +576,7 @@
- multijob:
name: deploy
projects:
- - name: 'airship-deploy-gate-latest'
+ - name: 'airship-deploy-gate-{tag}'
<<: *airship-jobs
- multijob:
name: remove former images
@@ -469,10 +585,6 @@
<<: *airship-jobs
- name: 'airship-opnfv-functest-smoke-{tag}-rmi'
<<: *airship-jobs
- - name: 'airship-opnfv-functest-benchmarking-{tag}-rmi'
- <<: *airship-jobs
- - name: 'airship-opnfv-functest-vnf-{tag}-rmi'
- <<: *airship-jobs
- multijob:
name: pull containers
projects:
@@ -480,19 +592,11 @@
<<: *airship-jobs
- name: 'airship-opnfv-functest-smoke-{tag}-pull'
<<: *airship-jobs
- - name: 'airship-opnfv-functest-benchmarking-{tag}-pull'
- <<: *airship-jobs
- - name: 'airship-opnfv-functest-vnf-{tag}-pull'
- <<: *airship-jobs
- multijob:
name: opnfv/functest-healthcheck:{functest_tag}
projects:
- name: 'airship-opnfv-functest-healthcheck-{tag}-connection_check-run'
<<: *airship-jobs
- - name: 'airship-opnfv-functest-healthcheck-{tag}-tenantnetwork1-run'
- <<: *airship-jobs
- - name: 'airship-opnfv-functest-healthcheck-{tag}-tenantnetwork2-run'
- <<: *airship-jobs
- name: 'airship-opnfv-functest-healthcheck-{tag}-vmready1-run'
<<: *airship-jobs
- name: 'airship-opnfv-functest-healthcheck-{tag}-vmready2-run'
@@ -503,46 +607,12 @@
<<: *airship-jobs
- name: 'airship-opnfv-functest-healthcheck-{tag}-vping_ssh-run'
<<: *airship-jobs
- - name: 'airship-opnfv-functest-healthcheck-{tag}-vping_userdata-run'
- <<: *airship-jobs
- name: 'airship-opnfv-functest-healthcheck-{tag}-cinder_test-run'
<<: *airship-jobs
- - name: 'airship-opnfv-functest-healthcheck-{tag}-odl-run'
- <<: *airship-jobs
- multijob:
name: opnfv/functest-smoke:{functest_tag}
projects:
- - name: 'airship-opnfv-functest-smoke-{tag}-tempest_scenario-run'
- <<: *airship-jobs
- - name: 'airship-opnfv-functest-smoke-{tag}-neutron_trunk-run'
- <<: *airship-jobs
- - name: 'airship-opnfv-functest-smoke-{tag}-networking-bgpvpn-run'
- <<: *airship-jobs
- - name: 'airship-opnfv-functest-smoke-{tag}-networking-sfc-run'
- <<: *airship-jobs
- - name: 'airship-opnfv-functest-smoke-{tag}-barbican-run'
- <<: *airship-jobs
- - multijob:
- name: opnfv/functest-benchmarking:{functest_tag}
- projects:
- - name: 'airship-opnfv-functest-benchmarking-{tag}-vmtp-run'
- <<: *airship-jobs
- - name: 'airship-opnfv-functest-benchmarking-{tag}-shaker-run'
- <<: *airship-jobs
- - multijob:
- name: opnfv/functest-vnf:{functest_tag}
- condition: ALWAYS
- execution-type: SEQUENTIALLY
- projects:
- - name: 'airship-opnfv-functest-vnf-{tag}-cloudify-run'
- <<: *airship-jobs
- - name: 'airship-opnfv-functest-vnf-{tag}-cloudify_ims-run'
- <<: *airship-jobs
- - name: 'airship-opnfv-functest-vnf-{tag}-heat_ims-run'
- <<: *airship-jobs
- - name: 'airship-opnfv-functest-vnf-{tag}-vyos_vrouter-run'
- <<: *airship-jobs
- - name: 'airship-opnfv-functest-vnf-{tag}-juju_epc-run'
+ - name: 'airship-opnfv-functest-smoke-{tag}-tempest_keystone-run'
<<: *airship-jobs
- project:
diff --git a/jjb/airship/cntt.yaml b/jjb/airship/cntt.yaml
new file mode 100644
index 0000000..1dadaa5
--- /dev/null
+++ b/jjb/airship/cntt.yaml
@@ -0,0 +1,768 @@
+---
+- cntt-jobs: &cntt-jobs
+ name: 'cntt-jobs'
+ current-parameters: true
+
+- cntt-params: &cntt-params
+ name: 'cntt-params'
+ repo: 'opnfv'
+ port:
+ tag:
+ - latest:
+ branch: master
+ slave: intel-pod15
+ functest_tag: iruya
+
+- parameter:
+ name: cntt-slave
+ parameters:
+ - label:
+ name: slave
+ default: '{slave}'
+
+- parameter:
+ name: cntt-build_tag
+ parameters:
+ - random-string:
+ name: build_tag
+
+- parameter:
+ name: cntt-DEBUG
+ parameters:
+ - string:
+ name: DEBUG
+ default: 'false'
+
+- parameter:
+ name: cntt-EXTERNAL_NETWORK
+ parameters:
+ - string:
+ name: EXTERNAL_NETWORK
+ default: public
+
+- cntt-containers: &cntt-containers
+ name: 'cntt-containers'
+ repo: '{repo}'
+ port: '{port}'
+ container: '{container}'
+ functest_tag: '{functest_tag}'
+
+- cntt-run-containers: &cntt-run-containers
+ name: 'cntt-run-containers'
+ <<: *cntt-containers
+ test: '{test}'
+
+- builder:
+ name: cntt-pull-containers
+ builders:
+ - shell: |
+ set +x
+ if [ "{repo}" = "_" ]; then
+ image={container}:{functest_tag}
+ elif [ "{port}" = "None" ]; then
+ image={repo}/{container}:{functest_tag}
+ else
+ image={repo}:{port}/{container}:{functest_tag}
+ fi
+ sudo docker pull $image
+
+- builder:
+ name: cntt-run-containers
+ builders:
+ - shell: |
+ set +x
+ [ ! -z "$WORKSPACE" ] && sudo rm -rf $WORKSPACE/* || true
+ if [ "{repo}" = "_" ]; then
+ image={container}:{functest_tag}
+ elif [ "{port}" = "None" ]; then
+ image={repo}/{container}:{functest_tag}
+ else
+ image={repo}:{port}/{container}:{functest_tag}
+ fi
+ sudo docker run --rm \
+ -e S3_ENDPOINT_URL=https://storage.googleapis.com \
+ -e S3_DST_URL=s3://artifacts.opnfv.org/cntt/$BUILD_TAG/$JOB_NAME-$BUILD_ID \
+ -e HTTP_DST_URL=http://artifacts.opnfv.org/cntt/$BUILD_TAG/$JOB_NAME-$BUILD_ID \
+ -e TEST_DB_URL=http://testresults.opnfv.org/test/api/v1/results \
+ -e TEST_DB_EXT_URL=http://testresults.opnfv.org/test/api/v1/results \
+ -e NODE_NAME=$slave \
+ -e INSTALLER_TYPE=cntt \
+ -e BUILD_TAG=$BUILD_TAG \
+ -v $WORKSPACE/../$JOB_NAME/results:/var/lib/xtesting/results \
+ -v /home/opnfv/functest/.boto:/root/.boto \
+ -e DEBUG=$DEBUG \
+ -e EXTERNAL_NETWORK=$EXTERNAL_NETWORK \
+ -e DEPLOY_SCENARIO=os-nosdn-nofeature-ha \
+ -v /home/opnfv/functest/openstack.creds:/home/opnfv/functest/conf/env_file \
+ -v /home/opnfv/functest/images:/home/opnfv/functest/images \
+ -v /home/opnfv/functest/tempest_conf.yaml:/usr/lib/python2.7/\
+ site-packages/functest/opnfv_tests/openstack/tempest/custom_tests/tempest_conf.yaml \
+ $image run_tests -t {test} -r -p
+
+- builder:
+ name: cntt-remove-images
+ builders:
+ - shell: |
+ set +x
+ if [ "{repo}" = "_" ]; then
+ image={container}:{functest_tag}
+ elif [ "{port}" = "None" ]; then
+ image={repo}/{container}:{functest_tag}
+ else
+ image={repo}:{port}/{container}:{functest_tag}
+ fi
+ sudo docker rmi $image || true
+
+- builder:
+ name: cntt-deploy
+ builders:
+ - shell: |
+ set +x
+ export TERM_OPTS=" "
+ sudo -H -E -u opnfv bash -c 'tools/deploy.sh $slave deploy_site'
+
+- scm:
+ name: cntt-scm
+ scm:
+ - git:
+ url: https://gerrit.opnfv.org/gerrit/airship
+ refspec: '+refs/changes/*:refs/changes/*'
+ branches:
+ - '{ref}'
+
+- parameter:
+ name: cntt-branch
+ parameters:
+ - string:
+ name: branch
+ default: '{branch}'
+
+- job-template:
+ name: 'cntt-deploy-daily-{tag}'
+ parameters:
+ - cntt-slave:
+ slave: '{slave}'
+ - cntt-branch:
+ branch: '{branch}'
+ scm:
+ - cntt-scm:
+ ref: $branch
+ builders:
+ - cntt-deploy
+
+- job-template:
+ name: 'cntt-deploy-gate-{tag}'
+ parameters:
+ - cntt-slave:
+ slave: '{slave}'
+ scm:
+ - cntt-scm:
+ ref: $GERRIT_REFSPEC
+ builders:
+ - cntt-deploy
+
+- project:
+ name: 'cntt-deploy'
+ <<: *cntt-params
+ jobs:
+ - 'cntt-deploy-daily-{tag}'
+ - 'cntt-deploy-gate-{tag}'
+
+- job-template:
+ name: 'cntt-{repo}-{container}-{tag}-pull'
+ parameters:
+ - cntt-slave:
+ slave: '{slave}'
+ builders:
+ - cntt-pull-containers:
+ <<: *cntt-containers
+
+- project:
+ name: 'cntt-opnfv-functest-healthcheck-pull'
+ <<: *cntt-params
+ container: 'functest-healthcheck'
+ jobs:
+ - 'cntt-{repo}-{container}-{tag}-pull'
+
+- project:
+ name: 'cntt-opnfv-functest-smoke-pull'
+ <<: *cntt-params
+ container: 'functest-smoke'
+ jobs:
+ - 'cntt-{repo}-{container}-{tag}-pull'
+
+- project:
+ name: 'cntt-opnfv-functest-smoke-cntt-pull'
+ <<: *cntt-params
+ container: 'functest-smoke-cntt'
+ jobs:
+ - 'cntt-{repo}-{container}-{tag}-pull'
+
+- project:
+ name: 'cntt-opnfv-functest-benchmarking-pull'
+ <<: *cntt-params
+ container: 'functest-benchmarking'
+ jobs:
+ - 'cntt-{repo}-{container}-{tag}-pull'
+
+- project:
+ name: 'cntt-opnfv-functest-benchmarking-cntt-pull'
+ <<: *cntt-params
+ container: 'functest-benchmarking-cntt'
+ jobs:
+ - 'cntt-{repo}-{container}-{tag}-pull'
+
+- project:
+ name: 'cntt-opnfv-functest-vnf-pull'
+ <<: *cntt-params
+ container: 'functest-vnf'
+ jobs:
+ - 'cntt-{repo}-{container}-{tag}-pull'
+
+- job-template:
+ name: 'cntt-{repo}-{container}-{tag}-rmi'
+ parameters:
+ - cntt-slave:
+ slave: '{slave}'
+ builders:
+ - cntt-remove-images:
+ <<: *cntt-containers
+
+- project:
+ name: 'cntt-opnfv-functest-healthcheck-rmi'
+ <<: *cntt-params
+ container: 'functest-healthcheck'
+ jobs:
+ - 'cntt-{repo}-{container}-{tag}-rmi'
+
+- project:
+ name: 'cntt-opnfv-functest-smoke-rmi'
+ <<: *cntt-params
+ container: 'functest-smoke'
+ jobs:
+ - 'cntt-{repo}-{container}-{tag}-rmi'
+
+- project:
+ name: 'cntt-opnfv-functest-smoke-cntt-rmi'
+ <<: *cntt-params
+ container: 'functest-smoke-cntt'
+ jobs:
+ - 'cntt-{repo}-{container}-{tag}-rmi'
+
+- project:
+ name: 'cntt-opnfv-functest-benchmarking-rmi'
+ <<: *cntt-params
+ container: 'functest-benchmarking'
+ jobs:
+ - 'cntt-{repo}-{container}-{tag}-rmi'
+
+- project:
+ name: 'cntt-opnfv-functest-benchmarking-cntt-rmi'
+ <<: *cntt-params
+ container: 'functest-benchmarking-cntt'
+ jobs:
+ - 'cntt-{repo}-{container}-{tag}-rmi'
+
+- project:
+ name: 'cntt-opnfv-functest-vnf-rmi'
+ <<: *cntt-params
+ container: 'functest-vnf'
+ jobs:
+ - 'cntt-{repo}-{container}-{tag}-rmi'
+
+- job-template:
+ name: 'cntt-{repo}-{container}-{tag}-{test}-run'
+ parameters:
+ - cntt-slave:
+ slave: '{slave}'
+ - cntt-build_tag:
+ build_tag: ''
+ - cntt-DEBUG:
+ DEBUG: 'false'
+ - cntt-EXTERNAL_NETWORK:
+ EXTERNAL_NETWORK: public
+ builders:
+ - cntt-run-containers:
+ <<: *cntt-run-containers
+
+- project:
+ name: 'cntt-opnfv-functest-healthcheck'
+ <<: *cntt-params
+ container: 'functest-healthcheck'
+ test:
+ - connection_check
+ - tenantnetwork1
+ - tenantnetwork2
+ - vmready1
+ - vmready2
+ - singlevm1
+ - singlevm2
+ - vping_ssh
+ - vping_userdata
+ - cinder_test
+ - odl
+ - tempest_smoke
+ - tempest_horizon
+ jobs:
+ - 'cntt-{repo}-{container}-{tag}-{test}-run'
+
+- project:
+ name: 'cntt-opnfv-functest-smoke'
+ <<: *cntt-params
+ container: 'functest-smoke'
+ test:
+ - tempest_neutron
+ - tempest_cinder
+ - tempest_keystone
+ - tempest_heat
+ - tempest_telemetry
+ - rally_sanity
+ - refstack_compute
+ - refstack_object
+ - refstack_platform
+ - tempest_full
+ - tempest_scenario
+ - tempest_slow
+ - patrole
+ - networking-bgpvpn
+ - networking-sfc
+ - tempest_barbican
+ - tempest_octavia
+ jobs:
+ - 'cntt-{repo}-{container}-{tag}-{test}-run'
+
+- project:
+ name: 'cntt-opnfv-functest-smoke-cntt'
+ <<: *cntt-params
+ container: 'functest-smoke-cntt'
+ test:
+ - tempest_neutron_cntt
+ - tempest_cinder_cntt
+ - tempest_keystone_cntt
+ - tempest_heat_cntt
+ - rally_sanity_cntt
+ - tempest_full_cntt
+ - tempest_scenario_cntt
+ - tempest_slow_cntt
+ jobs:
+ - 'cntt-{repo}-{container}-{tag}-{test}-run'
+
+- project:
+ name: 'cntt-opnfv-functest-benchmarking'
+ <<: *cntt-params
+ container: 'functest-benchmarking'
+ test:
+ - rally_full
+ - rally_jobs
+ - vmtp
+ - shaker
+ jobs:
+ - 'cntt-{repo}-{container}-{tag}-{test}-run'
+
+- project:
+ name: 'cntt-opnfv-functest-benchmarking-cntt'
+ <<: *cntt-params
+ container: 'functest-benchmarking-cntt'
+ test:
+ - rally_full_cntt
+ - rally_jobs_cntt
+ jobs:
+ - 'cntt-{repo}-{container}-{tag}-{test}-run'
+
+- project:
+ name: 'cntt-opnfv-functest-vnf'
+ <<: *cntt-params
+ container: 'functest-vnf'
+ test:
+ - cloudify
+ - cloudify_ims
+ - heat_ims
+ - vyos_vrouter
+ - juju_epc
+ jobs:
+ - 'cntt-{repo}-{container}-{tag}-{test}-run'
+
+- builder:
+ name: cntt-zip
+ builders:
+ - shell: |
+ set +x
+ [ ! -z "$WORKSPACE" ] && sudo rm -rf $WORKSPACE/* || true
+ if [ "{repo}" = "_" ]; then
+ image={container}:{functest_tag}
+ elif [ "{port}" = "None" ]; then
+ image={repo}/{container}:{functest_tag}
+ else
+ image={repo}:{port}/{container}:{functest_tag}
+ fi
+ sudo docker run --rm \
+ -e S3_ENDPOINT_URL=https://storage.googleapis.com \
+ -e S3_DST_URL=s3://artifacts.opnfv.org/cntt \
+ -e HTTP_DST_URL=http://artifacts.opnfv.org/cntt/ \
+ -e TEST_DB_URL=http://testresults.opnfv.org/test/api/v1/results \
+ -e TEST_DB_EXT_URL=http://testresults.opnfv.org/test/api/v1/results \
+ -e BUILD_TAG=$BUILD_TAG \
+ -v $WORKSPACE/../$JOB_NAME/results:/var/lib/xtesting/results \
+ -v /home/opnfv/functest/.boto:/root/.boto \
+ $image zip_campaign
+
+- job-template:
+ name: 'cntt-{tag}-zip'
+ parameters:
+ - cntt-build_tag:
+ build_tag: ''
+ builders:
+ - cntt-zip:
+ <<: *cntt-containers
+
+- project:
+ name: 'cntt-{tag}-zip'
+ <<: *cntt-params
+ container: 'functest-healthcheck'
+ jobs:
+ - 'cntt-{tag}-zip'
+
+- job-template:
+ name: 'cntt-{tag}-daily'
+ project-type: multijob
+ triggers:
+ - timed: '@daily'
+ parameters:
+ - cntt-slave:
+ slave: '{slave}'
+ - cntt-build_tag:
+ build_tag: ''
+ - cntt-branch:
+ branch: 'master'
+ - cntt-DEBUG:
+ DEBUG: 'false'
+ - cntt-EXTERNAL_NETWORK:
+ EXTERNAL_NETWORK: public
+ properties:
+ - build-blocker:
+ use-build-blocker: true
+ blocking-level: 'NODE'
+ blocking-jobs:
+ - '^cntt-{tag}-(daily|gate)$'
+ builders:
+ - multijob:
+ name: deploy
+ projects:
+ - name: 'cntt-deploy-daily-{tag}'
+ <<: *cntt-jobs
+ - multijob:
+ name: remove former images
+ projects:
+ - name: 'cntt-opnfv-functest-healthcheck-{tag}-rmi'
+ <<: *cntt-jobs
+ - name: 'cntt-opnfv-functest-smoke-{tag}-rmi'
+ <<: *cntt-jobs
+ - name: 'cntt-opnfv-functest-smoke-cntt-{tag}-rmi'
+ <<: *cntt-jobs
+ - name: 'cntt-opnfv-functest-benchmarking-{tag}-rmi'
+ <<: *cntt-jobs
+ - name: 'cntt-opnfv-functest-benchmarking-cntt-{tag}-rmi'
+ <<: *cntt-jobs
+ - name: 'cntt-opnfv-functest-vnf-{tag}-rmi'
+ <<: *cntt-jobs
+ - multijob:
+ name: pull containers
+ projects:
+ - name: 'cntt-opnfv-functest-healthcheck-{tag}-pull'
+ <<: *cntt-jobs
+ - name: 'cntt-opnfv-functest-smoke-{tag}-pull'
+ <<: *cntt-jobs
+ - name: 'cntt-opnfv-functest-smoke-cntt-{tag}-pull'
+ <<: *cntt-jobs
+ - name: 'cntt-opnfv-functest-benchmarking-{tag}-pull'
+ <<: *cntt-jobs
+ - name: 'cntt-opnfv-functest-benchmarking-cntt-{tag}-pull'
+ <<: *cntt-jobs
+ - name: 'cntt-opnfv-functest-vnf-{tag}-pull'
+ <<: *cntt-jobs
+ - multijob:
+ name: opnfv/functest-healthcheck:{functest_tag}
+ condition: ALWAYS
+ projects:
+ - name: 'cntt-opnfv-functest-healthcheck-{tag}-connection_check-run'
+ <<: *cntt-jobs
+ - name: 'cntt-opnfv-functest-healthcheck-{tag}-tenantnetwork1-run'
+ <<: *cntt-jobs
+ - name: 'cntt-opnfv-functest-healthcheck-{tag}-tenantnetwork2-run'
+ <<: *cntt-jobs
+ - name: 'cntt-opnfv-functest-healthcheck-{tag}-vmready1-run'
+ <<: *cntt-jobs
+ - name: 'cntt-opnfv-functest-healthcheck-{tag}-vmready2-run'
+ <<: *cntt-jobs
+ - name: 'cntt-opnfv-functest-healthcheck-{tag}-singlevm1-run'
+ <<: *cntt-jobs
+ - name: 'cntt-opnfv-functest-healthcheck-{tag}-singlevm2-run'
+ <<: *cntt-jobs
+ - name: 'cntt-opnfv-functest-healthcheck-{tag}-vping_ssh-run'
+ <<: *cntt-jobs
+ - name: 'cntt-opnfv-functest-healthcheck-{tag}-vping_userdata-run'
+ <<: *cntt-jobs
+ - name: 'cntt-opnfv-functest-healthcheck-{tag}-cinder_test-run'
+ <<: *cntt-jobs
+ - name: 'cntt-opnfv-functest-healthcheck-{tag}-odl-run'
+ <<: *cntt-jobs
+ - name: 'cntt-opnfv-functest-healthcheck-{tag}-tempest_smoke-run'
+ <<: *cntt-jobs
+ - name: 'cntt-opnfv-functest-healthcheck-{tag}-tempest_horizon-run'
+ <<: *cntt-jobs
+ - multijob:
+ name: opnfv/functest-smoke:{functest_tag}
+ condition: ALWAYS
+ projects:
+ - name: 'cntt-opnfv-functest-smoke-{tag}-tempest_neutron-run'
+ <<: *cntt-jobs
+ - name: 'cntt-opnfv-functest-smoke-{tag}-tempest_cinder-run'
+ <<: *cntt-jobs
+ - name: 'cntt-opnfv-functest-smoke-{tag}-tempest_keystone-run'
+ <<: *cntt-jobs
+ - name: 'cntt-opnfv-functest-smoke-{tag}-tempest_heat-run'
+ <<: *cntt-jobs
+ - name: 'cntt-opnfv-functest-smoke-{tag}-tempest_telemetry-run'
+ <<: *cntt-jobs
+ - name: 'cntt-opnfv-functest-smoke-{tag}-rally_sanity-run'
+ <<: *cntt-jobs
+ - name: 'cntt-opnfv-functest-smoke-{tag}-refstack_compute-run'
+ <<: *cntt-jobs
+ - name: 'cntt-opnfv-functest-smoke-{tag}-refstack_object-run'
+ <<: *cntt-jobs
+ - name: 'cntt-opnfv-functest-smoke-{tag}-refstack_platform-run'
+ <<: *cntt-jobs
+ - name: 'cntt-opnfv-functest-smoke-{tag}-tempest_full-run'
+ <<: *cntt-jobs
+ - name: 'cntt-opnfv-functest-smoke-{tag}-tempest_scenario-run'
+ <<: *cntt-jobs
+ - name: 'cntt-opnfv-functest-smoke-{tag}-tempest_slow-run'
+ <<: *cntt-jobs
+ - name: 'cntt-opnfv-functest-smoke-{tag}-patrole-run'
+ <<: *cntt-jobs
+ - name: 'cntt-opnfv-functest-smoke-{tag}-networking-bgpvpn-run'
+ <<: *cntt-jobs
+ - name: 'cntt-opnfv-functest-smoke-{tag}-networking-sfc-run'
+ <<: *cntt-jobs
+ - name: 'cntt-opnfv-functest-smoke-{tag}-tempest_barbican-run'
+ <<: *cntt-jobs
+ - name: 'cntt-opnfv-functest-smoke-{tag}-tempest_octavia-run'
+ <<: *cntt-jobs
+ - multijob:
+ name: opnfv/functest-smoke-cntt:{tag}
+ condition: ALWAYS
+ projects:
+ - name: 'cntt-opnfv-functest-smoke-cntt-{tag}-tempest_neutron_cntt-run'
+ <<: *cntt-jobs
+ - name: 'cntt-opnfv-functest-smoke-cntt-{tag}-tempest_cinder_cntt-run'
+ <<: *cntt-jobs
+ - name: 'cntt-opnfv-functest-smoke-cntt-{tag}-tempest_keystone_cntt-run'
+ <<: *cntt-jobs
+ - name: 'cntt-opnfv-functest-smoke-cntt-{tag}-tempest_heat_cntt-run'
+ <<: *cntt-jobs
+ - name: 'cntt-opnfv-functest-smoke-cntt-{tag}-rally_sanity_cntt-run'
+ <<: *cntt-jobs
+ - name: 'cntt-opnfv-functest-smoke-cntt-{tag}-tempest_full_cntt-run'
+ <<: *cntt-jobs
+ - name: 'cntt-opnfv-functest-smoke-cntt-{tag}-tempest_scenario_cntt-run'
+ <<: *cntt-jobs
+ - name: 'cntt-opnfv-functest-smoke-cntt-{tag}-tempest_slow_cntt-run'
+ <<: *cntt-jobs
+ - multijob:
+ name: opnfv/functest-benchmarking:{functest_tag}
+ condition: ALWAYS
+ projects:
+ - name: 'cntt-opnfv-functest-benchmarking-{tag}-rally_full-run'
+ <<: *cntt-jobs
+ - name: 'cntt-opnfv-functest-benchmarking-{tag}-rally_jobs-run'
+ <<: *cntt-jobs
+ - name: 'cntt-opnfv-functest-benchmarking-{tag}-vmtp-run'
+ <<: *cntt-jobs
+ - name: 'cntt-opnfv-functest-benchmarking-{tag}-shaker-run'
+ <<: *cntt-jobs
+ - multijob:
+ name: opnfv/functest-benchmarking-cntt:{functest_tag}
+ condition: ALWAYS
+ projects:
+ - name: 'cntt-opnfv-functest-benchmarking-cntt-{tag}-rally_full_cntt-run'
+ <<: *cntt-jobs
+ - name: 'cntt-opnfv-functest-benchmarking-cntt-{tag}-rally_jobs_cntt-run'
+ <<: *cntt-jobs
+ - multijob:
+ name: opnfv/functest-vnf:{functest_tag}
+ condition: ALWAYS
+ execution-type: SEQUENTIALLY
+ projects:
+ - name: 'cntt-opnfv-functest-vnf-{tag}-cloudify-run'
+ <<: *cntt-jobs
+ - name: 'cntt-opnfv-functest-vnf-{tag}-cloudify_ims-run'
+ <<: *cntt-jobs
+ - name: 'cntt-opnfv-functest-vnf-{tag}-heat_ims-run'
+ <<: *cntt-jobs
+ - name: 'cntt-opnfv-functest-vnf-{tag}-vyos_vrouter-run'
+ <<: *cntt-jobs
+ - name: 'cntt-opnfv-functest-vnf-{tag}-juju_epc-run'
+ <<: *cntt-jobs
+ - multijob:
+ name: dump all campaign data
+ projects:
+ - name: 'cntt-{tag}-zip'
+ <<: *cntt-jobs
+
+- trigger:
+ name: cntt-patchset-created
+ triggers:
+ - gerrit:
+ server-name: 'gerrit.opnfv.org'
+ trigger-on:
+ - patchset-created-event
+ - comment-added-contains-event:
+ comment-contains-value: 'recheck'
+ - comment-added-contains-event:
+ comment-contains-value: 'reverify'
+ projects:
+ - project-compare-type: 'ANT'
+ project-pattern: 'airship'
+ branches:
+ - branch-compare-type: 'ANT'
+ branch-pattern: '**/{branch}'
+ skip-vote:
+ successful: false
+ failed: false
+ unstable: false
+ notbuilt: false
+
+- job-template:
+ name: 'cntt-{tag}-gate'
+ project-type: multijob
+ triggers:
+ - cntt-patchset-created:
+ branch: '{branch}'
+ parameters:
+ - cntt-slave:
+ slave: '{slave}'
+ - cntt-build_tag:
+ build_tag: ''
+ - cntt-DEBUG:
+ DEBUG: 'false'
+ - cntt-EXTERNAL_NETWORK:
+ EXTERNAL_NETWORK: public
+ properties:
+ - build-blocker:
+ use-build-blocker: true
+ blocking-level: 'NODE'
+ blocking-jobs:
+ - '^cntt-{tag}-(daily|gate)$'
+ builders:
+ - multijob:
+ name: deploy
+ projects:
+ - name: 'cntt-deploy-gate-{tag}'
+ <<: *cntt-jobs
+ - multijob:
+ name: remove former images
+ projects:
+ - name: 'cntt-opnfv-functest-healthcheck-{tag}-rmi'
+ <<: *cntt-jobs
+ - name: 'cntt-opnfv-functest-smoke-{tag}-rmi'
+ <<: *cntt-jobs
+ - name: 'cntt-opnfv-functest-smoke-cntt-{tag}-rmi'
+ <<: *cntt-jobs
+ - name: 'cntt-opnfv-functest-benchmarking-{tag}-rmi'
+ <<: *cntt-jobs
+ - name: 'cntt-opnfv-functest-benchmarking-cntt-{tag}-rmi'
+ <<: *cntt-jobs
+ - name: 'cntt-opnfv-functest-vnf-{tag}-rmi'
+ <<: *cntt-jobs
+ - multijob:
+ name: pull containers
+ projects:
+ - name: 'cntt-opnfv-functest-healthcheck-{tag}-pull'
+ <<: *cntt-jobs
+ - name: 'cntt-opnfv-functest-smoke-{tag}-pull'
+ <<: *cntt-jobs
+ - name: 'cntt-opnfv-functest-smoke-cntt-{tag}-pull'
+ <<: *cntt-jobs
+ - name: 'cntt-opnfv-functest-benchmarking-{tag}-pull'
+ <<: *cntt-jobs
+ - name: 'cntt-opnfv-functest-benchmarking-cntt-{tag}-pull'
+ <<: *cntt-jobs
+ - name: 'cntt-opnfv-functest-vnf-{tag}-pull'
+ <<: *cntt-jobs
+ - multijob:
+ name: opnfv/functest-healthcheck:{functest_tag}
+ projects:
+ - name: 'cntt-opnfv-functest-healthcheck-{tag}-connection_check-run'
+ <<: *cntt-jobs
+ - name: 'cntt-opnfv-functest-healthcheck-{tag}-tenantnetwork1-run'
+ <<: *cntt-jobs
+ - name: 'cntt-opnfv-functest-healthcheck-{tag}-tenantnetwork2-run'
+ <<: *cntt-jobs
+ - name: 'cntt-opnfv-functest-healthcheck-{tag}-vmready1-run'
+ <<: *cntt-jobs
+ - name: 'cntt-opnfv-functest-healthcheck-{tag}-vmready2-run'
+ <<: *cntt-jobs
+ - name: 'cntt-opnfv-functest-healthcheck-{tag}-singlevm1-run'
+ <<: *cntt-jobs
+ - name: 'cntt-opnfv-functest-healthcheck-{tag}-singlevm2-run'
+ <<: *cntt-jobs
+ - name: 'cntt-opnfv-functest-healthcheck-{tag}-vping_ssh-run'
+ <<: *cntt-jobs
+ - name: 'cntt-opnfv-functest-healthcheck-{tag}-vping_userdata-run'
+ <<: *cntt-jobs
+ - name: 'cntt-opnfv-functest-healthcheck-{tag}-cinder_test-run'
+ <<: *cntt-jobs
+ - name: 'cntt-opnfv-functest-healthcheck-{tag}-odl-run'
+ <<: *cntt-jobs
+ - multijob:
+ name: opnfv/functest-smoke:{functest_tag}
+ projects:
+ - name: 'cntt-opnfv-functest-smoke-{tag}-tempest_scenario-run'
+ <<: *cntt-jobs
+ - name: 'cntt-opnfv-functest-smoke-{tag}-networking-bgpvpn-run'
+ <<: *cntt-jobs
+ - name: 'cntt-opnfv-functest-smoke-{tag}-networking-sfc-run'
+ <<: *cntt-jobs
+ - name: 'cntt-opnfv-functest-smoke-{tag}-tempest_barbican-run'
+ <<: *cntt-jobs
+ - multijob:
+ name: opnfv/functest-benchmarking:{functest_tag}
+ projects:
+ - name: 'cntt-opnfv-functest-benchmarking-{tag}-vmtp-run'
+ <<: *cntt-jobs
+ - name: 'cntt-opnfv-functest-benchmarking-{tag}-shaker-run'
+ <<: *cntt-jobs
+ - multijob:
+ name: opnfv/functest-vnf:{functest_tag}
+ condition: ALWAYS
+ execution-type: SEQUENTIALLY
+ projects:
+ - name: 'cntt-opnfv-functest-vnf-{tag}-cloudify-run'
+ <<: *cntt-jobs
+ - name: 'cntt-opnfv-functest-vnf-{tag}-cloudify_ims-run'
+ <<: *cntt-jobs
+ - name: 'cntt-opnfv-functest-vnf-{tag}-heat_ims-run'
+ <<: *cntt-jobs
+ - name: 'cntt-opnfv-functest-vnf-{tag}-vyos_vrouter-run'
+ <<: *cntt-jobs
+ - name: 'cntt-opnfv-functest-vnf-{tag}-juju_epc-run'
+ <<: *cntt-jobs
+
+- project:
+ name: 'cntt'
+ <<: *cntt-params
+ jobs:
+ - 'cntt-{tag}-daily'
+ - 'cntt-{tag}-gate'
+
+- view:
+ name: cntt
+ view-type: list
+ columns:
+ - status
+ - weather
+ - job
+ - last-success
+ - last-failure
+ - last-duration
+ regex: ^cntt-[a-z]+-(daily|check|gate)$
diff --git a/jjb/apex/apex-build.sh b/jjb/apex/apex-build.sh
deleted file mode 100755
index 618d181..0000000
--- a/jjb/apex/apex-build.sh
+++ /dev/null
@@ -1,98 +0,0 @@
-#!/bin/bash
-set -o errexit
-set -o nounset
-set -o pipefail
-# log info to console
-echo "Starting the build of Apex using OpenStack Master packages. This will take some time..."
-echo "---------------------------------------------------------------------------------------"
-echo
-# create the cache directory if it doesn't exist
-[[ -d $CACHE_DIRECTORY ]] || mkdir -p $CACHE_DIRECTORY
-# set OPNFV_ARTIFACT_VERSION
-if echo $ARTIFACT_VERSION | grep "dev" 1> /dev/null; then
- GERRIT_PATCHSET_NUMBER=$(echo $GERRIT_REFSPEC | grep -Eo '[0-9]+$')
- export OPNFV_ARTIFACT_VERSION="dev${GERRIT_CHANGE_NUMBER}_${GERRIT_PATCHSET_NUMBER}"
- if [[ "$BRANCH" != 'stable/fraser' ]]; then
- # build rpm
- export BUILD_ARGS="-r $OPNFV_ARTIFACT_VERSION -c $CACHE_DIRECTORY --rpms"
- else
- export BUILD_ARGS="-r $OPNFV_ARTIFACT_VERSION -c $CACHE_DIRECTORY"
- fi
-elif echo $BUILD_TAG | grep "csit" 1> /dev/null; then
- export OPNFV_ARTIFACT_VERSION=csit${BUILD_NUMBER}
- export BUILD_ARGS="-r $OPNFV_ARTIFACT_VERSION -c $CACHE_DIRECTORY"
-elif [ "$ARTIFACT_VERSION" == "daily" ]; then
- export OPNFV_ARTIFACT_VERSION=$(date -u +"%Y-%m-%d")
- if [[ "$BRANCH" != 'stable/fraser' ]]; then
- export BUILD_ARGS="-r $OPNFV_ARTIFACT_VERSION -c $CACHE_DIRECTORY --rpms"
- else
- export BUILD_ARGS="-r $OPNFV_ARTIFACT_VERSION -c $CACHE_DIRECTORY --iso"
- fi
-else
- export OPNFV_ARTIFACT_VERSION=${ARTIFACT_VERSION}
- if [[ "$BRANCH" != 'stable/fraser' ]]; then
- export BUILD_ARGS="-r $OPNFV_ARTIFACT_VERSION -c $CACHE_DIRECTORY --rpms"
- else
- export BUILD_ARGS="-r $OPNFV_ARTIFACT_VERSION -c $CACHE_DIRECTORY --iso"
- fi
-fi
-
-# Temporary hack until we fix apex build script
-BUILD_DIRECTORY=${WORKSPACE}/build
-
-# start the build
-pushd ${BUILD_DIRECTORY}
-make clean
-popd
-export PYTHONPATH=${WORKSPACE}
-python3 apex/build.py $BUILD_ARGS
-RPM_VERSION=$(grep Version: $WORKSPACE/build/rpm_specs/opnfv-apex.spec | awk '{ print $2 }')-$(echo $OPNFV_ARTIFACT_VERSION | tr -d '_-')
-# list the contents of BUILD_OUTPUT directory
-echo "Build Directory is ${BUILD_DIRECTORY}/../.build"
-echo "Build Directory Contents:"
-echo "-------------------------"
-ls -al ${BUILD_DIRECTORY}/../.build
-
-# list the contents of CACHE directory
-echo "Cache Directory is ${CACHE_DIRECTORY}"
-echo "Cache Directory Contents:"
-echo "-------------------------"
-ls -al $CACHE_DIRECTORY
-
-if [[ "$BUILD_ARGS" =~ '--iso' && "$BRANCH" == 'stable/fraser' ]]; then
- mkdir -p /tmp/apex-iso/
- rm -f /tmp/apex-iso/*.iso
- cp -f $BUILD_DIRECTORY/../.build/release/OPNFV-CentOS-7-x86_64-$OPNFV_ARTIFACT_VERSION.iso /tmp/apex-iso/
-fi
-
-if ! echo $ARTIFACT_VERSION | grep "dev" 1> /dev/null; then
- echo "Writing opnfv.properties file"
- if [ "$BRANCH" == 'stable/fraser' ]; then
- # save information regarding artifact into file
- (
- echo "OPNFV_ARTIFACT_VERSION=$OPNFV_ARTIFACT_VERSION"
- echo "OPNFV_GIT_URL=$(git config --get remote.origin.url)"
- echo "OPNFV_GIT_SHA1=$(git rev-parse HEAD)"
- echo "OPNFV_ARTIFACT_URL=$GS_URL/opnfv-$OPNFV_ARTIFACT_VERSION.iso"
- echo "OPNFV_ARTIFACT_SHA512SUM=$(sha512sum $BUILD_DIRECTORY/../.build/release/OPNFV-CentOS-7-x86_64-$OPNFV_ARTIFACT_VERSION.iso | cut -d' ' -f1)"
- echo "OPNFV_SRPM_URL=$GS_URL/opnfv-apex-$RPM_VERSION.src.rpm"
- echo "OPNFV_RPM_URL=$GS_URL/opnfv-apex-$RPM_VERSION.noarch.rpm"
- echo "OPNFV_RPM_SHA512SUM=$(sha512sum $BUILD_DIRECTORY/../.build/noarch/opnfv-apex-$RPM_VERSION.noarch.rpm | cut -d' ' -f1)"
- echo "OPNFV_BUILD_URL=$BUILD_URL"
- ) > $WORKSPACE/opnfv.properties
- else
- # save information regarding artifact into file
- # we only generate the python package for master
- (
- echo "OPNFV_ARTIFACT_VERSION=$OPNFV_ARTIFACT_VERSION"
- echo "OPNFV_GIT_URL=$(git config --get remote.origin.url)"
- echo "OPNFV_GIT_SHA1=$(git rev-parse HEAD)"
- echo "OPNFV_SRPM_URL=$GS_URL/python34-opnfv-apex-$RPM_VERSION.src.rpm"
- echo "OPNFV_RPM_URL=$GS_URL/python34-opnfv-apex-$RPM_VERSION.noarch.rpm"
- echo "OPNFV_RPM_SHA512SUM=$(sha512sum $BUILD_DIRECTORY/../.build/noarch/python34-opnfv-apex-$RPM_VERSION.noarch.rpm | cut -d' ' -f1)"
- echo "OPNFV_BUILD_URL=$BUILD_URL"
- ) > $WORKSPACE/opnfv.properties
- fi
-fi
-echo "--------------------------------------------------------"
-echo "Done!"
diff --git a/jjb/apex/apex-deploy.sh b/jjb/apex/apex-deploy.sh
deleted file mode 100755
index 09d6ca6..0000000
--- a/jjb/apex/apex-deploy.sh
+++ /dev/null
@@ -1,213 +0,0 @@
-#!/bin/bash
-set -o errexit
-set -o nounset
-set -o pipefail
-
-IPV6_FLAG=False
-ALLINONE_FLAG=False
-CSIT_ENV_FLAG=False
-FUNCTEST_ENV_FLAG=False
-
-# log info to console
-echo "Starting the Apex deployment."
-echo "--------------------------------------------------------"
-echo
-
-if [ -z ${DEPLOY_SCENARIO+x} ]; then
- echo "Deploy scenario not set!"
- exit 1
-else
- echo "Deploy scenario: ${DEPLOY_SCENARIO}"
-fi
-
-# Dev or RPM/ISO build
-if [[ "$ARTIFACT_VERSION" =~ dev ]]; then
- # Settings for deploying from git workspace
- DEPLOY_SETTINGS_DIR="${WORKSPACE}/config/deploy"
- NETWORK_SETTINGS_DIR="${WORKSPACE}/config/network"
- CLEAN_CMD="opnfv-clean"
- # if we are using master, then we are downloading/caching upstream images
- # we want to use that built in mechanism to avoid re-downloading every job
- # so we use a dedicated folder to hold the upstream cache
- UPSTREAM_CACHE=$HOME/upstream_cache
- if [[ "$BRANCH" != 'stable/fraser' ]]; then
- mkdir -p ${UPSTREAM_CACHE}
- RESOURCES=$UPSTREAM_CACHE
- else
- RESOURCES="${WORKSPACE}/.build/"
- fi
- CONFIG="${WORKSPACE}/build"
- BASE=$CONFIG
- IMAGES=$RESOURCES
- LIB="${WORKSPACE}/lib"
- DEPLOY_CMD="opnfv-deploy --image-dir ${RESOURCES}"
- # Ensure artifacts were downloaded and extracted correctly
- # TODO(trozet) add verification here
-
- # Install dev build
- sudo rm -rf /tmp/.build
- mv -f .build /tmp/
- sudo pip3 install --upgrade --force-reinstall .
- mv -f /tmp/.build ${WORKSPACE}/
-else
- DEPLOY_SETTINGS_DIR="/etc/opnfv-apex/"
- NETWORK_SETTINGS_DIR="/etc/opnfv-apex/"
- CLEAN_CMD="opnfv-clean"
- # set to use different directory here because upon RPM removal this
- # directory will be wiped in daily
- UPSTREAM_CACHE=$HOME/upstream_cache
- if [[ "$BRANCH" != 'stable/fraser' ]]; then
- mkdir -p ${UPSTREAM_CACHE}
- RESOURCES=$UPSTREAM_CACHE
- else
- RESOURCES="/var/opt/opnfv/images"
- fi
- DEPLOY_CMD="opnfv-deploy --image-dir ${RESOURCES}"
- CONFIG="/var/opt/opnfv"
- BASE=$CONFIG
- IMAGES=$RESOURCES
- LIB="/var/opt/opnfv/lib"
- sudo mkdir -p /var/log/apex
- sudo chmod 777 /var/log/apex
- cd /var/log/apex
-fi
-
-# Install Dependencies
-# Make sure python34 dependencies are installed
-dependencies="epel-release python34 python34-devel libvirt-devel python34-pip \
-ansible python34-PyYAML python34-jinja2 python34-setuptools python-tox ansible"
-
-for dep_pkg in $dependencies; do
- if ! rpm -q ${dep_pkg} > /dev/null; then
- if ! sudo yum install -y ${dep_pkg}; then
- echo "Failed to install ${dep_pkg}"
- exit 1
- fi
- fi
-done
-
-if [[ "$JOB_NAME" =~ "virtual" ]]; then
- # Make sure ipxe-roms-qemu package is updated to latest.
- # This package is needed for multi virtio nic PXE boot in virtual environment.
- sudo yum update -y ipxe-roms-qemu
-fi
-
-if [ "$OPNFV_CLEAN" == 'yes' ]; then
- if sudo test -e '/root/inventory/pod_settings.yaml'; then
- clean_opts='-i /root/inventory/pod_settings.yaml'
- else
- clean_opts=''
- fi
-
- sudo ${CLEAN_CMD} ${clean_opts}
-fi
-
-# These are add-ons to regular scenarios where you can do like
-# os-nosdn-nofeature-noha-ipv6, or os-nosdn-nofeature-noha-allinone
-if echo ${DEPLOY_SCENARIO} | grep ipv6; then
- IPV6_FLAG=True
- DEPLOY_SCENARIO=$(echo ${DEPLOY_SCENARIO} | sed 's/-ipv6//')
- echo "INFO: IPV6 Enabled"
-fi
-
-if echo ${DEPLOY_SCENARIO} | grep allinone; then
- ALLINONE_FLAG=True
- DEPLOY_SCENARIO=$(echo ${DEPLOY_SCENARIO} | sed 's/-allinone//')
- echo "INFO: All in one deployment detected"
-fi
-
-if echo ${DEPLOY_SCENARIO} | grep csit; then
- CSIT_ENV_FLAG=True
- DEPLOY_SCENARIO=$(echo ${DEPLOY_SCENARIO} | sed 's/-csit//')
- echo "INFO: CSIT env requested in deploy scenario"
-elif echo ${DEPLOY_SCENARIO} | grep functest; then
- FUNCTEST_ENV_FLAG=True
- DEPLOY_SCENARIO=$(echo ${DEPLOY_SCENARIO} | sed 's/-functest//')
- echo "INFO: Functest env requested in deploy scenario"
-fi
-
-echo "Deploy Scenario set to ${DEPLOY_SCENARIO}"
-DEPLOY_FILE="${DEPLOY_SETTINGS_DIR}/${DEPLOY_SCENARIO}.yaml"
-
-if [ ! -e "$DEPLOY_FILE" ]; then
- echo "ERROR: Required settings file missing: Deploy settings file ${DEPLOY_FILE}"
-fi
-
-if [[ "$JOB_NAME" =~ "virtual" ]]; then
- # settings for virtual deployment
- DEPLOY_CMD="${DEPLOY_CMD} -v"
- if [[ "${DEPLOY_SCENARIO}" =~ fdio|ovs ]]; then
- DEPLOY_CMD="${DEPLOY_CMD} --virtual-default-ram 12 --virtual-compute-ram 7"
- fi
- if [[ "$ALLINONE_FLAG" == "True" ]]; then
- DEPLOY_CMD="${DEPLOY_CMD} --virtual-computes 0"
- elif [[ "$PROMOTE" == "True" ]]; then
- DEPLOY_CMD="${DEPLOY_CMD} --virtual-computes 2"
- fi
-
- if [[ "$FUNCTEST_ENV_FLAG" == "True" || "$CSIT_ENV_FLAG" == "True" ]]; then
- if [[ "$CSIT_ENV_FLAG" == "True" ]]; then
- ENV_TYPE="csit"
- else
- ENV_TYPE="functest"
- fi
- if [ -z ${OS_VERSION+x} ]; then
- echo "INFO: OS_VERSION not passed to deploy, detecting based on branch and scenario"
- case $BRANCH in
- master)
- if [[ "$DEPLOY_SCENARIO" =~ "rocky" ]]; then
- OS_VERSION=rocky
- else
- OS_VERSION=master
- fi
- ;;
- *gambia)
- OS_VERSION=queens
- ;;
- *)
- echo "Unable to detection OS_VERSION, aborting"
- exit 1
- ;;
- esac
- fi
- if [[ "$OS_VERSION" != "master" ]]; then
- SNAP_ENV="${ENV_TYPE}-${OS_VERSION}-environment.yaml"
- else
- SNAP_ENV="${ENV_TYPE}-environment.yaml"
- fi
- DEPLOY_CMD="${DEPLOY_CMD} -e ${SNAP_ENV}"
- fi
-else
- # settings for bare metal deployment
- NETWORK_SETTINGS_DIR="/root/network"
- INVENTORY_FILE="/root/inventory/pod_settings.yaml"
-
- if ! sudo test -e "$INVENTORY_FILE"; then
- echo "ERROR: Required settings file missing: Inventory settings file ${INVENTORY_FILE}"
- exit 1
- fi
- # include inventory file for bare metal deployment
- DEPLOY_CMD="${DEPLOY_CMD} -i ${INVENTORY_FILE}"
-fi
-
-if [ "$IPV6_FLAG" == "True" ]; then
- NETWORK_FILE="${NETWORK_SETTINGS_DIR}/network_settings_v6.yaml"
-elif [[ "$CSIT_ENV_FLAG" == "True" || "$FUNCTEST_ENV_FLAG" == "True" ]]; then
- # We use csit network settings which is single network for snapshots
- NETWORK_FILE="${NETWORK_SETTINGS_DIR}/network_settings_csit.yaml"
-else
- NETWORK_FILE="${NETWORK_SETTINGS_DIR}/network_settings.yaml"
-fi
-
-# Check that network settings file exists
-if ! sudo test -e "$NETWORK_FILE"; then
- echo "ERROR: Required settings file missing: Network Settings file ${NETWORK_FILE}"
- exit 1
-fi
-
-# start deployment
-sudo ${DEPLOY_CMD} -d ${DEPLOY_FILE} -n ${NETWORK_FILE} --debug
-
-echo
-echo "--------------------------------------------------------"
-echo "Done!"
diff --git a/jjb/apex/apex-download-artifact.sh b/jjb/apex/apex-download-artifact.sh
deleted file mode 100755
index bc3311d..0000000
--- a/jjb/apex/apex-download-artifact.sh
+++ /dev/null
@@ -1,89 +0,0 @@
-#!/bin/bash
-set -o errexit
-set -o nounset
-set -o pipefail
-
-# log info to console
-echo "Downloading the Apex artifact. This could take some time..."
-echo "--------------------------------------------------------"
-echo
-
-[[ -d $BUILD_DIRECTORY ]] || mkdir -p $BUILD_DIRECTORY
-
-if [ -z "$DEPLOY_SCENARIO" ]; then
- echo "Deploy scenario not set!"
- exit 1
-else
- echo "Deploy scenario: ${DEPLOY_SCENARIO}"
-fi
-
-if [[ "$ARTIFACT_VERSION" =~ dev ]]; then
- if [[ "$BRANCH" != 'stable/fraser' ]]; then
- echo "Skipping download of artifacts for master/gambia branch"
- else
- # dev build
- GERRIT_PATCHSET_NUMBER=$(echo $GERRIT_REFSPEC | grep -Eo '[0-9]+$')
- export OPNFV_ARTIFACT_VERSION="dev${GERRIT_CHANGE_NUMBER}_${GERRIT_PATCHSET_NUMBER}"
- # get build artifact
- pushd ${BUILD_DIRECTORY} > /dev/null
- echo "Downloading packaged dev build: apex-${OPNFV_ARTIFACT_VERSION}.tar.gz"
- curl --fail -s -o $BUILD_DIRECTORY/apex-${OPNFV_ARTIFACT_VERSION}.tar.gz http://$GS_URL/apex-${OPNFV_ARTIFACT_VERSION}.tar.gz
- tar -xvf apex-${OPNFV_ARTIFACT_VERSION}.tar.gz
- popd > /dev/null
- fi
-else
- echo "Will use RPMs..."
-
- # Must be RPMs/ISO
- echo "Downloading latest properties file"
-
- # get the properties file in order to get info regarding artifacts
- curl --fail -s -o $BUILD_DIRECTORY/opnfv.properties http://$GS_URL/latest.properties
-
- # source the file so we get OPNFV vars
- source $BUILD_DIRECTORY/opnfv.properties
-
- RPM_INSTALL_PATH=$(echo "http://"$OPNFV_RPM_URL | sed 's/\/'"$(basename $OPNFV_RPM_URL)"'//')
- RPM_LIST=$(basename $OPNFV_RPM_URL)
- # find version of RPM
- VERSION_EXTENSION=$(echo $(basename $RPM_LIST) | grep -Eo '[0-9]+\.[0-9]+-([0-9]{8}|[a-z]+-[0-9]\.[0-9]+)')
- if [ "$BRANCH" == 'stable/fraser' ]; then
- # build RPM List which already includes base Apex RPM
- RPM_LIST+=" opnfv-apex-undercloud-${VERSION_EXTENSION}.noarch.rpm"
- RPM_LIST+=" python34-opnfv-apex-${VERSION_EXTENSION}.noarch.rpm"
- fi
-
- # remove old / install new RPMs
- if rpm -q python34-opnfv-apex > /dev/null; then
- INSTALLED_RPMS=$(rpm -qa | grep apex)
- if [ -n "$INSTALLED_RPMS" ]; then
- sudo yum remove -y ${INSTALLED_RPMS}
- fi
- fi
- # Create an rpms dir on slave
- mkdir -p ~/apex_rpms
- pushd ~/apex_rpms
- # Remove older rpms which do not match this version
- find . ! -name "*${VERSION_EXTENSION}.noarch.rpm" -type f -exec rm -f {} +
- # Download RPM only if changed on server
- for rpm in $RPM_LIST; do
- wget -N ${RPM_INSTALL_PATH}/${rpm}
- done
- if ! sudo yum install -y $RPM_LIST; then
- echo "Unable to install new RPMs: $RPM_LIST"
- exit 1
- fi
- popd
-fi
-
-# TODO: Uncomment these lines to verify SHA512SUMs once the sums are
-# fixed.
-# echo "$OPNFV_ARTIFACT_SHA512SUM $BUILD_DIRECTORY/apex.iso" | sha512sum -c
-# echo "$OPNFV_RPM_SHA512SUM $BUILD_DIRECTORY/$(basename $OPNFV_RPM_URL)" | sha512sum -c
-
-# list the files
-ls -al $BUILD_DIRECTORY
-
-echo
-echo "--------------------------------------------------------"
-echo "Done!"
diff --git a/jjb/apex/apex-fetch-logs.sh b/jjb/apex/apex-fetch-logs.sh
deleted file mode 100755
index bdb2252..0000000
--- a/jjb/apex/apex-fetch-logs.sh
+++ /dev/null
@@ -1,25 +0,0 @@
-#!/usr/bin/env bash
-set -o errexit
-set -o nounset
-set -o pipefail
-
-# log info to console
-echo "Fetching logs from overcloud. This could take some time..."
-echo "--------------------------------------------------------"
-echo
-
-if sudo opnfv-pyutil --fetch-logs; then
- LOG_LOCATION=$(cat apex_util.log | grep 'Log retrieval complete' | grep -Eo '/tmp/.+$')
- if [ -z "$LOG_LOCATION" ]; then
- echo "WARNING: Unable to determine log location. Logs will not be uploaded"
- exit 0
- else
- sudo chmod 777 ${LOG_LOCATION}
- UPLOAD_LOCATION="${GS_URL}/logs/${JOB_NAME}/${BUILD_NUMBER}/"
- gsutil -m cp -r ${LOG_LOCATION} gs://${UPLOAD_LOCATION} > gsutil.latest_logs.log
- echo -e "Logs available at: \n$(find ${LOG_LOCATION} -type f | sed -n 's#^/tmp/#http://'$UPLOAD_LOCATION'#p')"
- fi
-else
- echo "WARNING: Log retrieval failed. No logs will be uploaded"
- exit 0
-fi
diff --git a/jjb/apex/apex-fetch-snap-info.sh b/jjb/apex/apex-fetch-snap-info.sh
deleted file mode 100755
index 3324aca..0000000
--- a/jjb/apex/apex-fetch-snap-info.sh
+++ /dev/null
@@ -1,46 +0,0 @@
-#!/usr/bin/env bash
-
-##############################################################################
-# Copyright (c) 2018 Tim Rozet (Red Hat) and others.
-#
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Apache License, Version 2.0
-# which accompanies this distribution, and is available at
-# http://www.apache.org/licenses/LICENSE-2.0
-##############################################################################
-
-set -o errexit
-set -o nounset
-set -o pipefail
-
-echo "Fetching overcloudrc, ssh key, and node.yaml from deployment..."
-
-SSH_OPTIONS=(-o StrictHostKeyChecking=no -o GlobalKnownHostsFile=/dev/null -o UserKnownHostsFile=/dev/null -o LogLevel=error)
-
-tmp_dir=/tmp/snap
-rm -rf ${tmp_dir}
-mkdir -p ${tmp_dir}
-
-# TODO(trozet) remove this after fix goes in for tripleo_inspector to copy these
-pushd ${tmp_dir} > /dev/null
-echo "Copying overcloudrc and ssh key from Undercloud..."
-# Store overcloudrc
-UNDERCLOUD=$(sudo virsh domifaddr undercloud | grep -Eo '[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+')
-sudo scp ${SSH_OPTIONS[@]} stack@${UNDERCLOUD}:overcloudrc ./
-# Copy out ssh key of stack from undercloud
-sudo scp ${SSH_OPTIONS[@]} stack@${UNDERCLOUD}:.ssh/id_rsa ./
-sudo chmod 0600 id_rsa
-popd > /dev/null
-
-echo "Gathering introspection information"
-git clone https://gerrit.opnfv.org/gerrit/sdnvpn.git
-pushd sdnvpn/odl-pipeline/lib > /dev/null
-sudo ./tripleo_introspector.sh --out-file ${tmp_dir}/node.yaml
-popd > /dev/null
-sudo rm -rf sdnvpn
-
-sudo chown jenkins-ci:jenkins-ci ${tmp_dir}/*
-
-ls -lrt ${tmp_dir}
-
-echo "Fetch complete"
diff --git a/jjb/apex/apex-functest-scenario.sh b/jjb/apex/apex-functest-scenario.sh
deleted file mode 100644
index f1cb74e..0000000
--- a/jjb/apex/apex-functest-scenario.sh
+++ /dev/null
@@ -1,18 +0,0 @@
-#!/bin/bash
-set -o errexit
-set -o nounset
-set -o pipefail
-
-features=$(echo $DEPLOY_SCENARIO | sed -r -n 's/os-.+-(.+)-(noha|ha)/\1/p')
-if [ "$features" == 'rocky' ]; then
- functest_scenario=$(echo $DEPLOY_SCENARIO | sed -r -n 's/(os-.+?)-rocky-(noha|ha)/\1-nofeature-\2/p')
- echo "DOCKER_TAG=hunter" > functest_scenario
-elif [[ "$features" =~ 'rocky' ]]; then
- functest_scenario=$(echo $DEPLOY_SCENARIO | sed -r -n 's/(os-.+?)-(.+)_rocky-(noha|ha)/\1-\2-\3/p')
- echo "DOCKER_TAG=hunter" > functest_scenario
-else
- functest_scenario=$(echo $DEPLOY_SCENARIO | sed -r -n 's/-(noha|ha).*/-\1/p')
- echo "DOCKER_TAG=$([[ ${BRANCH##*/} == "master" ]] && \
- echo "latest" || echo ${BRANCH##*/})" > functest_scenario
-fi
-echo "DEPLOY_SCENARIO=$functest_scenario" >> functest_scenario
diff --git a/jjb/apex/apex-iso-verify.sh b/jjb/apex/apex-iso-verify.sh
deleted file mode 100755
index c29d7cb..0000000
--- a/jjb/apex/apex-iso-verify.sh
+++ /dev/null
@@ -1,75 +0,0 @@
-#!/bin/bash
-set -o errexit
-set -o nounset
-set -o pipefail
-
-# log info to console
-echo "Starting the Apex iso verify."
-echo "--------------------------------------------------------"
-echo
-
-if [ "$BRANCH" != 'stable/fraser' ]; then
- echo "Skipping Apex iso verify for ${BRANCH} branch"
- exit 0
-fi
-
-# Must be RPMs/ISO
-echo "Downloading latest properties file"
-
-# get the properties file in order to get info regarding artifacts
-curl --fail -s -o opnfv.properties http://$GS_URL/latest.properties
-
-# source the file so we get OPNFV vars
-source opnfv.properties
-
-if ! rpm -q virt-install > /dev/null; then
- sudo yum -y install virt-install
-fi
-
-# define a clean function
-rm_apex_iso_verify () {
-if sudo virsh list --all | grep apex-iso-verify | grep running; then
- sudo virsh destroy apex-iso-verify
-fi
-if sudo virsh list --all | grep apex-iso-verify; then
- sudo virsh undefine apex-iso-verify
-fi
-}
-
-# Make sure a pre-existing iso-verify isn't there
-rm_apex_iso_verify
-
-#make sure there is not an existing console log file for the VM
-sudo rm -f /var/log/libvirt/qemu/apex-iso-verify-console.log
-
-# run an install from the iso
-# This streams a serial console to tcp port 3737 on localhost
-sudo virt-install -n apex-iso-verify -r 4096 --vcpus 4 --os-variant=rhel7 \
- --accelerate -v --noautoconsole \
- --disk path=/var/lib/libvirt/images/apex-iso-verify.qcow2,size=30,format=qcow2 \
- -l /tmp/apex-iso/OPNFV-CentOS-7-x86_64-$OPNFV_ARTIFACT_VERSION.iso \
- --extra-args 'console=ttyS0 console=ttyS0,115200n8 serial inst.ks=file:/iso-verify.ks inst.stage2=hd:LABEL=OPNFV\x20CentOS\x207\x20x86_64:/' \
- --initrd-inject ci/iso-verify.ks \
- --serial file,path=/var/log/libvirt/qemu/apex-iso-verify-console.log
-
-echo "Waiting for install to finish..."
-sleep 10
-end_time=$(($SECONDS+1500))
-while ! [[ `sudo tail -n1 /var/log/libvirt/qemu/apex-iso-verify-console.log` =~ 'Power down' ]]; do
- if [ $SECONDS -gt $end_time ] || ! sudo virsh list --all | grep apex-iso-verify | grep running > /dev/null; then
- sudo cat /var/log/libvirt/qemu/apex-iso-verify-console.log
- sudo virsh list --all
- echo "Error: Failed to find power down message after install"
- exit 1
- fi
- sleep 10
-done
-
-sudo cat /var/log/libvirt/qemu/apex-iso-verify-console.log
-
-# clean up
-rm_apex_iso_verify
-
-echo
-echo "--------------------------------------------------------"
-echo "Done!"
diff --git a/jjb/apex/apex-jjb-renderer.py b/jjb/apex/apex-jjb-renderer.py
deleted file mode 100644
index 58dc4ff..0000000
--- a/jjb/apex/apex-jjb-renderer.py
+++ /dev/null
@@ -1,51 +0,0 @@
-##############################################################################
-# Copyright (c) 2016 Tim Rozet (trozet@redhat.com) and others.
-#
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Apache License, Version 2.0
-# which accompanies this distribution, and is available at
-# http://www.apache.org/licenses/LICENSE-2.0
-##############################################################################
-
-import pprint
-import yaml
-from jinja2 import Environment
-from jinja2 import FileSystemLoader
-
-
-def render_jjb():
- """Render JJB output from scenarios.yaml.hidden file and jinja
- template"""
-
- gspathname = dict()
- branch = dict()
- build_slave = dict()
- env = Environment(loader=FileSystemLoader('./'), autoescape=True,
- keep_trailing_newline=True)
-
- with open('scenarios.yaml.hidden') as _:
- scenarios = yaml.safe_load(_)
-
- template = env.get_template('apex.yaml.j2')
-
- print("Scenarios are: ")
- pprint.pprint(scenarios)
-
- for stream in scenarios:
- if stream == 'master':
- gspathname['master'] = ''
- branch[stream] = stream
- else:
- gspathname[stream] = '/' + stream
- branch[stream] = 'stable/' + stream
- build_slave[stream] = 'apex-baremetal-{}'.format(stream)
-
- output = template.render(scenarios=scenarios, gspathname=gspathname,
- branch=branch, build_slave=build_slave)
-
- with open('./apex.yaml', 'w') as fh:
- fh.write(output)
-
-
-if __name__ == "__main__":
- render_jjb()
diff --git a/jjb/apex/apex-project-jobs.yaml b/jjb/apex/apex-project-jobs.yaml
deleted file mode 100644
index c581c59..0000000
--- a/jjb/apex/apex-project-jobs.yaml
+++ /dev/null
@@ -1,146 +0,0 @@
----
-- project:
- name: 'apex-project-jobs'
- project: 'apex'
-
- stream:
- - master: &master
- branch: 'master'
- gs-pathname: ''
- concurrent-builds: 3
- disabled: false
- - hunter: &hunter
- branch: 'stable/{stream}'
- gs-pathname: '/{stream}'
- concurrent-builds: 3
- disabled: false
- - gambia: &gambia
- branch: 'stable/{stream}'
- gs-pathname: '/{stream}'
- concurrent-builds: 3
- disabled: false
- - fraser: &fraser
- branch: 'stable/{stream}'
- gs-pathname: '/{stream}'
- concurrent-builds: 3
- disabled: false
- - euphrates: &euphrates
- branch: 'stable/euphrates'
- gs-pathname: '/euphrates'
- concurrent-builds: 3
- disabled: true
- - danube: &danube
- branch: 'stable/danube'
- gs-pathname: '/danube'
- concurrent-builds: 1
- disabled: true
-
- jobs:
- - 'apex-build-{stream}'
- - 'apex-verify-iso-{stream}'
-
-# Build phase
-- job-template:
- name: 'apex-build-{stream}'
-
- # Job template for builds
- #
- # Required Variables:
- # stream: branch with - in place of / (eg. stable)
- # branch: branch (eg. stable)
- node: 'apex-build-master'
-
- disabled: false
-
- concurrent: true
-
- parameters:
- - '{project}-defaults'
- - project-parameter:
- project: '{project}'
- branch: '{branch}'
- - apex-parameter:
- gs-pathname: '{gs-pathname}'
-
- scm:
- - git-scm-gerrit
-
- wrappers:
- - timeout:
- timeout: 150
- fail: true
-
- properties:
- - logrotate-default
- - throttle:
- max-per-node: '{concurrent-builds}'
- max-total: 10
- option: 'project'
- - build-blocker:
- use-build-blocker: true
- blocking-level: 'NODE'
- blocking-jobs:
- - 'apex-verify-iso-{stream}'
-
- builders:
- - 'apex-build'
- - inject:
- properties-content: ARTIFACT_TYPE=rpm
- - 'apex-upload-artifact'
-
-# ISO verify job
-- job-template:
- name: 'apex-verify-iso-{stream}'
-
- # Job template for builds
- #
- # Required Variables:
- # stream: branch with - in place of / (eg. stable)
- # branch: branch (eg. stable)
- node: 'apex-virtual-master'
-
- disabled: false
-
- concurrent: true
-
- parameters:
- - project-parameter:
- project: '{project}'
- branch: '{branch}'
- - apex-parameter:
- gs-pathname: '{gs-pathname}'
- - string:
- name: GIT_BASE
- default: https://gerrit.opnfv.org/gerrit/$PROJECT
- description: "Used for overriding the GIT URL coming from parameters macro."
-
- scm:
- - git-scm
-
- properties:
- - logrotate-default
- - throttle:
- max-per-node: 1
- max-total: 10
- option: 'project'
-
- builders:
- - 'apex-iso-verify'
- - inject:
- properties-content: ARTIFACT_TYPE=iso
- - 'apex-upload-artifact'
-
-########################
-# builder macros
-########################
-- builder:
- name: 'apex-build'
- builders:
- - shell:
- !include-raw: ./apex-build.sh
-
-- builder:
- name: 'apex-iso-verify'
- builders:
- - shell:
- !include-raw: ./apex-iso-verify.sh
diff --git a/jjb/apex/apex-rtd-jobs.yaml b/jjb/apex/apex-rtd-jobs.yaml
deleted file mode 100644
index 48e4949..0000000
--- a/jjb/apex/apex-rtd-jobs.yaml
+++ /dev/null
@@ -1,20 +0,0 @@
----
-- project:
- name: apex-rtd
- project: apex
- project-name: apex
-
- project-pattern: 'apex'
- rtd-build-url: 'https://readthedocs.org/api/v2/webhook/opnfv-apex/47262/'
- rtd-token: '134db049c774ab06c41db432e3a042a982f50edf'
-
- stream:
- - master:
- branch: '{stream}'
- disabled: false
- - gambia:
- branch: 'stable/{stream}'
- disabled: false
-
- jobs:
- - '{project-name}-rtd-jobs'
diff --git a/jjb/apex/apex-snapshot-create.sh b/jjb/apex/apex-snapshot-create.sh
deleted file mode 100644
index e8bf60b..0000000
--- a/jjb/apex/apex-snapshot-create.sh
+++ /dev/null
@@ -1,105 +0,0 @@
-#!/usr/bin/env bash
-##############################################################################
-# Copyright (c) 2016 Tim Rozet (Red Hat) and others.
-#
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Apache License, Version 2.0
-# which accompanies this distribution, and is available at
-# http://www.apache.org/licenses/LICENSE-2.0
-##############################################################################
-
-set -o errexit
-set -o nounset
-set -o pipefail
-
-SSH_OPTIONS=(-o StrictHostKeyChecking=no -o GlobalKnownHostsFile=/dev/null -o UserKnownHostsFile=/dev/null -o LogLevel=error)
-
-if [ -z "$SNAP_TYPE" ]; then
- echo "ERROR: SNAP_TYPE not provided...exiting"
- exit 1
-fi
-
-echo "Creating Apex snapshot..."
-echo "-------------------------"
-echo
-
-# create tmp directory
-tmp_dir=$(pwd)/.tmp
-mkdir -p ${tmp_dir}
-
-# info should have already been collected in apex-fetch-snap-info so copy it
-cp -r /tmp/snap/* ${tmp_dir}/
-
-echo "Shutting down nodes"
-# Shut down nodes
-nodes=$(sudo virsh list | grep -Eo "baremetal[0-9]")
-for node in $nodes; do
- sudo virsh shutdown ${node} --mode acpi
-done
-
-for node in $nodes; do
- count=0
- while [ "$count" -lt 10 ]; do
- sleep 10
- if sudo virsh list | grep ${node}; then
- echo "Waiting for $node to shutdown, try $count"
- else
- break
- fi
- count=$((count+1))
- done
-
- if [ "$count" -ge 10 ]; then
- echo "Node $node failed to shutdown"
- exit 1
- fi
-done
-
-pushd ${tmp_dir} > /dev/null
-echo "Gathering virsh definitions"
-# copy qcow2s, virsh definitions
-for node in $nodes; do
- sudo cp -f /var/lib/libvirt/images/${node}.qcow2 ./
- sudo virsh dumpxml ${node} > ${node}.xml
-done
-
-# copy virsh net definitions
-sudo virsh net-dumpxml admin > admin.xml
-
-sudo chown jenkins-ci:jenkins-ci *
-
-# tar up artifacts
-DATE=`date +%Y-%m-%d`
-tar czf ../apex-${SNAP_TYPE}-snap-${DATE}.tar.gz .
-popd > /dev/null
-sudo rm -rf ${tmp_dir}
-echo "Snapshot saved as apex-${SNAP_TYPE}-snap-${DATE}.tar.gz"
-
-# update opnfv properties file
-snap_sha=$(sha512sum apex-${SNAP_TYPE}-snap-${DATE}.tar.gz | cut -d' ' -f1)
-
-if curl --fail -O -L http://$GS_URL/snapshot.properties; then
- # TODO(trozet): deprecate OPNFV_SNAP_URL for CSIT_SNAP_URL
- if [ "$SNAP_TYPE" == 'csit' ]; then
- sed -i '/^OPNFV_SNAP_URL=/{h;s#=.*#='${GS_URL}'/apex-csit-snap-'${DATE}'.tar.gz#};${x;/^$/{s##OPNFV_SNAP_URL='${GS_URL}'/apex-csit-snap-'${DATE}'.tar.gz#;H};x}' snapshot.properties
- sed -i '/^OPNFV_SNAP_SHA512SUM=/{h;s/=.*/='${snap_sha}'/};${x;/^$/{s//OPNFV_SNAP_SHA512SUM='${snap_sha}'/;H};x}' snapshot.properties
- fi
- sed -i '/^'${SNAP_TYPE}'_SNAP_URL=/{h;s#=.*#='${GS_URL}'/apex-'${SNAP_TYPE}'-snap-'${DATE}'.tar.gz#};${x;/^$/{s##'${SNAP_TYPE}'_SNAP_URL='${GS_URL}'/apex-'${SNAP_TYPE}'-snap-'${DATE}'.tar.gz#;H};x}' snapshot.properties
- sed -i '/^'${SNAP_TYPE}'_SNAP_SHA512SUM=/{h;s/=.*/='${snap_sha}'/};${x;/^$/{s//'${SNAP_TYPE}'_SNAP_SHA512SUM='${snap_sha}'/;H};x}' snapshot.properties
-else
- cat << EOF > snapshot.properties
-${SNAP_TYPE}_SNAP_URL=${GS_URL}/apex-${SNAP_TYPE}-snap-${DATE}.tar.gz
-${SNAP_TYPE}_SNAP_SHA512SUM=${snap_sha}
-EOF
- # TODO(trozet): deprecate OPNFV_SNAP_URL for CSIT_SNAP_URL
- if [ "$SNAP_TYPE" == 'csit' ]; then
- cat << EOF >> snapshot.properties
-OPNFV_SNAP_URL=${GS_URL}/apex-csit-snap-${DATE}.tar.gz
-OPNFV_SNAP_SHA512SUM=${snap_sha}
-EOF
- fi
-fi
-echo "${SNAP_TYPE}_SNAP_URL=$GS_URL/apex-${SNAP_TYPE}-snap-${DATE}.tar.gz"
-echo "${SNAP_TYPE}_SNAP_SHA512SUM=$(sha512sum apex-${SNAP_TYPE}-snap-${DATE}.tar.gz | cut -d' ' -f1)"
-echo "Updated properties file: "
-cat snapshot.properties
diff --git a/jjb/apex/apex-snapshot-deploy.sh b/jjb/apex/apex-snapshot-deploy.sh
deleted file mode 100644
index dd69df3..0000000
--- a/jjb/apex/apex-snapshot-deploy.sh
+++ /dev/null
@@ -1,184 +0,0 @@
-#!/usr/bin/env bash
-##############################################################################
-# Copyright (c) 2016 Tim Rozet (Red Hat) and others.
-#
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Apache License, Version 2.0
-# which accompanies this distribution, and is available at
-# http://www.apache.org/licenses/LICENSE-2.0
-##############################################################################
-
-set -o errexit
-set -o nounset
-set -o pipefail
-
-SSH_OPTIONS=(-o StrictHostKeyChecking=no -o GlobalKnownHostsFile=/dev/null -o UserKnownHostsFile=/dev/null -o LogLevel=error)
-SNAP_CACHE=$HOME/snap_cache
-
-
-echo "Deploying Apex snapshot..."
-echo "--------------------------"
-echo
-
-if [ -z "$SNAP_TYPE" ]; then
- echo "ERROR: SNAP_TYPE not provided...exiting"
- exit 1
-fi
-
-echo "Cleaning server"
-pushd ci > /dev/null
-sudo opnfv-clean
-popd > /dev/null
-
-full_snap_url="gs://${GS_URL}/${OS_VERSION}/${TOPOLOGY}"
-
-echo "Downloading latest snapshot properties file"
-if ! gsutil cp ${full_snap_url}/snapshot.properties $WORKSPACE/opnfv.properties; then
- echo "ERROR: Unable to find snapshot.properties at ${full_snap_url}...exiting"
- exit 1
-fi
-
-echo "Properties contents:"
-cat ${WORKSPACE}/opnfv.properties
-
-# find latest check sum
-latest_snap_checksum=$(cat ${WORKSPACE}/opnfv.properties | grep ${SNAP_TYPE}_SNAP_SHA512SUM | awk -F "=" '{print $2}')
-if [ -z "$latest_snap_checksum" ]; then
- echo "ERROR: checksum of latest snapshot from snapshot.properties is null!"
- exit 1
-fi
-
-local_snap_checksum=""
-SNAP_CACHE=${SNAP_CACHE}/${OS_VERSION}/${TOPOLOGY}
-
-# check snap cache directory exists
-# if snapshot cache exists, find the checksum
-if [ -d "$SNAP_CACHE" ]; then
- latest_snap=$(ls ${SNAP_CACHE} | grep tar.gz | grep $SNAP_TYPE | tail -n 1)
- if [ -n "$latest_snap" ]; then
- local_snap_checksum=$(sha512sum ${SNAP_CACHE}/${latest_snap} | cut -d' ' -f1)
- echo "Local snap checksum is: ${local_snap_checksum}"
- fi
-else
- mkdir -p ${SNAP_CACHE}
-fi
-
-# compare check sum and download latest snap if not up to date
-if [ "$local_snap_checksum" != "$latest_snap_checksum" ]; then
- snap_url=$(cat opnfv.properties | grep ${SNAP_TYPE}_SNAP_URL | awk -F "=" '{print $2}')
- # TODO(trozet): Remove this once OPNFV url is deprecated
- if [[ -z "$snap_url" && "$SNAP_TYPE" == 'csit' ]]; then
- echo "WARN: Unable to find snap url for ${SNAP_TYPE}, attempting to use OPNFV"
- snap_url=$(cat opnfv.properties | grep OPNFV_SNAP_URL | awk -F "=" '{print $2}')
- fi
- if [ -z "$snap_url" ]; then
- echo "ERROR: Snap URL from snapshot.properties is null!"
- exit 1
- fi
- echo "INFO: SHA mismatch, will download latest snapshot"
- # wipe cache
- rm -rf ${SNAP_CACHE}/*
- gsutil cp "gs://${snap_url}" ${SNAP_CACHE}/
- snap_tar=$(basename ${snap_url})
-else
- snap_tar=${latest_snap}
-fi
-
-echo "INFO: Snapshot to be used is ${snap_tar}"
-
-# move to snap cache dir and unpack
-pushd ${SNAP_CACHE} > /dev/null
-tar xvf ${snap_tar}
-
-# create each network
-virsh_networks=$(ls *.xml | grep -v baremetal)
-
-if [ -z "$virsh_networks" ]; then
- echo "ERROR: no virsh networks found in snapshot unpack"
- exit 1
-fi
-
-echo "Checking overcloudrc"
-if ! stat overcloudrc; then
- echo "ERROR: overcloudrc does not exist in snap unpack"
- exit 1
-fi
-
-for network_def in ${virsh_networks}; do
- sudo virsh net-create ${network_def}
- network=$(echo ${network_def} | awk -F '.' '{print $1}')
- if ! sudo virsh net-list | grep ${network}; then
- sudo virsh net-start ${network}
- fi
- echo "Checking if OVS bridge is missing for network: ${network}"
- if ! sudo ovs-vsctl show | grep "br-${network}"; then
- sudo ovs-vsctl add-br br-${network}
- echo "OVS Bridge created: br-${network}"
- if [ "br-${network}" == 'br-admin' ]; then
- echo "Configuring IP 192.0.2.99 on br-admin"
- sudo ip addr add 192.0.2.99/24 dev br-admin
- sudo ip link set up dev br-admin
- elif [ "br-${network}" == 'br-external' ]; then
- echo "Configuring IP 192.168.37.1 on br-external"
- sudo ip addr add 192.168.37.1/24 dev br-external
- sudo ip link set up dev br-external
- # Routes for admin network
- # The overcloud controller is multi-homed and will fail to respond
- # to traffic from the functest container due to reverse-path-filtering
- # This route allows reverse traffic, by forcing admin network destined
- # traffic through the external network for controller IPs only.
- # Compute nodes have no ip on external interfaces.
- controller_ips=$(cat overcloudrc | grep -Eo "192.0.2.[0-9]+")
- for ip in $controller_ips; do
- sudo ip route add ${ip}/32 dev br-external
- done
- fi
- fi
-done
-
-echo "Virsh networks up: $(sudo virsh net-list)"
-echo "Bringing up Overcloud VMs..."
-virsh_vm_defs=$(ls baremetal*.xml)
-
-if [ -z "$virsh_vm_defs" ]; then
- echo "ERROR: no virsh VMs found in snapshot unpack"
- exit 1
-fi
-
-for node_def in ${virsh_vm_defs}; do
- sed -ri "s/machine='[^\s]+'/machine='pc'/" ${node_def}
- sudo virsh define ${node_def}
- node=$(echo ${node_def} | awk -F '.' '{print $1}')
- sudo cp -f ${node}.qcow2 /var/lib/libvirt/images/
- sudo virsh start ${node}
- echo "Node: ${node} started"
-done
-
-# copy overcloudrc for functest
-mkdir -p $HOME/cloner-info
-cp -f overcloudrc $HOME/cloner-info/
-
-admin_controller_ip=$(cat overcloudrc | grep -Eo -m 1 "192.0.2.[0-9]+" | head -1)
-netvirt_url="http://${admin_controller_ip}:8081/restconf/operational/network-topology:network-topology/topology/netvirt:1"
-
-source overcloudrc
-counter=1
-while [ "$counter" -le 10 ]; do
- echo "Checking if OpenStack is up"
- if nc -z ${admin_controller_ip} 9696 > /dev/null; then
- echo "Overcloud Neutron is up...Checking if OpenDaylight NetVirt is up..."
- if curl --fail --silent -u admin:${SDN_CONTROLLER_PASSWORD} ${netvirt_url} > /dev/null; then
- echo "OpenDaylight is up. Overcloud deployment complete"
- exit 0
- else
- echo "OpenDaylight not yet up, try ${counter}"
- fi
- else
- echo "Neutron not yet up, try ${counter}"
- fi
- counter=$((counter+1))
- sleep 60
-done
-
-echo "ERROR: Deployment not up after 10 minutes...exiting."
-exit 1
diff --git a/jjb/apex/apex-unit-test.sh b/jjb/apex/apex-unit-test.sh
deleted file mode 100755
index 3f15847..0000000
--- a/jjb/apex/apex-unit-test.sh
+++ /dev/null
@@ -1,33 +0,0 @@
-#!/bin/bash
-set -o errexit
-set -o nounset
-set -o pipefail
-# log info to console
-echo "Starting unit tests for Apex..."
-echo "---------------------------------------------------------------------------------------"
-echo
-
-PATH=$PATH:/usr/sbin
-
-
-pushd build/ > /dev/null
-for pkg in yamllint rpmlint iproute epel-release python34-devel python34-nose python34-PyYAML python-pep8 python34-mock python34-pip; do
- if ! rpm -q ${pkg} > /dev/null; then
- if ! sudo yum install -y ${pkg}; then
- echo "Failed to install ${pkg} package..."
- exit 1
- fi
- fi
-done
-
-# Make sure coverage is installed
-if ! python3 -c "import coverage" &> /dev/null; then sudo pip3 install coverage; fi
-
-make rpmlint
-make python-pep8-check
-make yamllint
-make python-tests
-popd > /dev/null
-
-echo "--------------------------------------------------------"
-echo "Unit Tests Done!"
diff --git a/jjb/apex/apex-upload-artifact.sh b/jjb/apex/apex-upload-artifact.sh
deleted file mode 100755
index 00a0a1c..0000000
--- a/jjb/apex/apex-upload-artifact.sh
+++ /dev/null
@@ -1,163 +0,0 @@
-#!/bin/bash
-set -o errexit
-set -o nounset
-set -o pipefail
-
-if [ -z "$ARTIFACT_TYPE" ]; then
- echo "ERROR: ARTIFACT_TYPE not provided...exiting"
- exit 1
-fi
-
-# log info to console
-echo "Uploading the Apex ${ARTIFACT_TYPE} artifact. This could take some time..."
-echo "--------------------------------------------------------"
-echo
-
-if [[ ! "$ARTIFACT_VERSION" =~ dev ]]; then
- source $BUILD_DIRECTORY/../opnfv.properties
-fi
-
-importkey () {
- # clone releng repository
- echo "Cloning releng repository..."
- [ -d releng ] && rm -rf releng
- git clone https://gerrit.opnfv.org/gerrit/releng $WORKSPACE/releng/ &> /dev/null
- #this is where we import the siging key
- if [ -f $WORKSPACE/releng/utils/gpg_import_key.sh ]; then
- if ! $WORKSPACE/releng/utils/gpg_import_key.sh; then
- echo "WARNING: Failed to run gpg key import"
- fi
- fi
-}
-
-signrpm () {
- for artifact in $RPM_LIST $SRPM_LIST; do
- echo "Signing artifact: ${artifact}"
- gpg2 -vvv --batch --yes --no-tty \
- --default-key opnfv-helpdesk@rt.linuxfoundation.org \
- --passphrase besteffort \
- --detach-sig $artifact
- gsutil cp "$artifact".sig gs://$GS_URL/$(basename "$artifact".sig)
- echo "Upload complete for ${artifact} signature"
- done
-}
-
-signiso () {
- gpg2 -vvv --batch --yes --no-tty \
- --default-key opnfv-helpdesk@rt.linuxfoundation.org \
- --passphrase besteffort \
- --detach-sig $BUILD_DIRECTORY/release/OPNFV-CentOS-7-x86_64-$OPNFV_ARTIFACT_VERSION.iso
-
- gsutil cp $BUILD_DIRECTORY/release/OPNFV-CentOS-7-x86_64-$OPNFV_ARTIFACT_VERSION.iso.sig gs://$GS_URL/opnfv-$OPNFV_ARTIFACT_VERSION.iso.sig
- echo "ISO signature Upload Complete!"
-}
-
-uploadiso () {
- gsutil cp $BUILD_DIRECTORY/release/OPNFV-CentOS-7-x86_64-$OPNFV_ARTIFACT_VERSION.iso gs://$GS_URL/opnfv-$OPNFV_ARTIFACT_VERSION.iso > gsutil.iso.log
- echo "ISO Upload Complete!"
-}
-
-uploadrpm () {
- for artifact in $RPM_LIST $SRPM_LIST; do
- echo "Uploading artifact: ${artifact}"
- gsutil cp $artifact gs://$GS_URL/$(basename $artifact) > gsutil.iso.log
- echo "Upload complete for ${artifact}"
- done
- gsutil cp $WORKSPACE/opnfv.properties gs://$GS_URL/opnfv-$OPNFV_ARTIFACT_VERSION.properties > gsutil.properties.log
- gsutil cp $WORKSPACE/opnfv.properties gs://$GS_URL/latest.properties > gsutil.latest.log
-
- # Make the property files viewable on the artifact site
- gsutil -m setmeta \
- -h "Content-Type:text/html" \
- -h "Cache-Control:private, max-age=0, no-transform" \
- gs://$GS_URL/latest.properties \
- gs://$GS_URL/opnfv-$OPNFV_ARTIFACT_VERSION.properties > /dev/null 2>&1
-}
-
-uploadsnap () {
- # Uploads snapshot artifact and updated properties file
- echo "Uploading snapshot artifacts"
- # snapshot dir is the same node in the create job workspace
- # only 1 promotion job can run at a time on a slave
- snapshot_dir="${WORKSPACE}/../apex-create-snapshot"
- if [ -z "$SNAP_TYPE" ]; then
- echo "ERROR: SNAP_TYPE not provided...exiting"
- exit 1
- fi
- gsutil cp ${snapshot_dir}/apex-${SNAP_TYPE}-snap-`date +%Y-%m-%d`.tar.gz gs://$GS_URL/ > gsutil.iso.log
- gsutil cp ${snapshot_dir}/snapshot.properties gs://$GS_URL/snapshot.properties > gsutil.latest.log
- echo "Upload complete for Snapshot"
-}
-
-uploadimages () {
- # Uploads dev tarball
- GERRIT_PATCHSET_NUMBER=$(echo $GERRIT_REFSPEC | grep -Eo '[0-9]+$')
- export OPNFV_ARTIFACT_VERSION="dev${GERRIT_CHANGE_NUMBER}_${GERRIT_PATCHSET_NUMBER}"
- echo "Uploading development build tarball"
- pushd $BUILD_DIRECTORY > /dev/null
- tar czf apex-${OPNFV_ARTIFACT_VERSION}.tar.gz *.qcow2 *.vmlinuz *.initrd
- gsutil cp apex-${OPNFV_ARTIFACT_VERSION}.tar.gz gs://$GS_URL/apex-${OPNFV_ARTIFACT_VERSION}.tar.gz > gsutil.latest.log
- popd > /dev/null
-}
-
-# Always import the signing key, if it's available the artifacts will be
-# signed before being uploaded
-importkey
-
-if gpg2 --list-keys | grep "opnfv-helpdesk@rt.linuxfoundation.org"; then
- echo "Signing Key avaliable"
- SIGN_ARTIFACT="true"
-fi
-
-if [ "$ARTIFACT_TYPE" == 'snapshot' ]; then
- uploadsnap
-elif [ "$ARTIFACT_TYPE" == 'iso' ]; then
- if [[ "$ARTIFACT_VERSION" =~ dev || "$BRANCH" != 'stable/fraser' ]]; then
- echo "Skipping ISO artifact upload for ${ARTIFACT_TYPE} due to dev/${BRANCH} build"
- exit 0
- fi
- if [[ -n "$SIGN_ARTIFACT" && "$SIGN_ARTIFACT" == "true" ]]; then
- signiso
- fi
- uploadiso
-elif [ "$ARTIFACT_TYPE" == 'rpm' ]; then
- if [[ "$ARTIFACT_VERSION" =~ dev ]]; then
- if [[ "$BRANCH" != 'stable/fraser' ]]; then
- echo "will not upload artifacts, ${BRANCH} uses upstream"
- ARTIFACT_TYPE=none
- else
- echo "dev build detected, will upload image tarball"
- ARTIFACT_TYPE=tarball
- uploadimages
- fi
- else
- RPM_INSTALL_PATH=$BUILD_DIRECTORY/noarch
- # RPM URL should be python package for master, and is only package we need
- RPM_LIST=$RPM_INSTALL_PATH/$(basename $OPNFV_RPM_URL)
- SRPM_INSTALL_PATH=$BUILD_DIRECTORY
- SRPM_LIST=$SRPM_INSTALL_PATH/$(basename $OPNFV_SRPM_URL)
- if [[ "$BRANCH" == 'stable/fraser' ]]; then
- VERSION_EXTENSION=$(echo $(basename $OPNFV_RPM_URL) | sed 's/opnfv-apex-//')
- RPM_LIST+=" ${RPM_INSTALL_PATH}/opnfv-apex-undercloud-${VERSION_EXTENSION}"
- RPM_LIST+=" ${RPM_INSTALL_PATH}/python34-opnfv-apex-${VERSION_EXTENSION}"
- VERSION_EXTENSION=$(echo $(basename $OPNFV_SRPM_URL) | sed 's/opnfv-apex-//')
- SRPM_LIST+=" ${SRPM_INSTALL_PATH}/opnfv-apex-undercloud-${VERSION_EXTENSION}"
- SRPM_LIST+=" ${SRPM_INSTALL_PATH}/python34-opnfv-apex-${VERSION_EXTENSION}"
- fi
-
- if [[ -n "$SIGN_ARTIFACT" && "$SIGN_ARTIFACT" == "true" ]]; then
- signrpm
- fi
- uploadrpm
- fi
-else
- echo "ERROR: Unknown artifact type ${ARTIFACT_TYPE} to upload...exiting"
- exit 1
-fi
-
-echo
-echo "--------------------------------------------------------"
-echo "Done!"
-if [ "$ARTIFACT_TYPE" == 'iso' ]; then echo "ISO Artifact is available as http://$GS_URL/opnfv-$OPNFV_ARTIFACT_VERSION.iso"; fi
-if [ "$ARTIFACT_TYPE" == 'rpm' ]; then echo "RPM Artifact is available as http://$GS_URL/$(basename $OPNFV_RPM_URL)"; fi
-if [ "$ARTIFACT_TYPE" == 'tarball' ]; then echo "Dev tarball Artifact is available as http://$GS_URL/apex-${OPNFV_ARTIFACT_VERSION}.tar.gz)"; fi
diff --git a/jjb/apex/apex-verify-jobs.yaml b/jjb/apex/apex-verify-jobs.yaml
deleted file mode 100644
index e8115eb..0000000
--- a/jjb/apex/apex-verify-jobs.yaml
+++ /dev/null
@@ -1,409 +0,0 @@
----
-- project:
- name: 'apex-verify-jobs'
- project: 'apex'
- jobs:
- - 'apex-verify-{stream}'
- - 'apex-verify-gate-{stream}'
- - 'apex-verify-unit-tests-{stream}'
- stream:
- - master: &master
- branch: '{stream}'
- gs-pathname: ''
- verify-scenario: 'os-nosdn-nofeature-noha'
- disabled: false
- - hunter: &hunter
- branch: '{stream}'
- gs-pathname: ''
- verify-scenario: 'os-nosdn-nofeature-noha'
- disabled: false
- - gambia: &gambia
- branch: 'stable/{stream}'
- gs-pathname: '/{stream}'
- verify-scenario: 'os-nosdn-nofeature-ha'
- disabled: false
- - fraser: &fraser
- branch: 'stable/{stream}'
- gs-pathname: '/{stream}'
- verify-scenario: 'os-nosdn-nofeature-ha'
- disabled: false
- - danube: &danube
- branch: 'stable/{stream}'
- gs-pathname: '/{stream}'
- verify-scenario: 'os-odl_l3-nofeature-ha'
- disabled: true
- - euphrates: &euphrates
- branch: 'stable/{stream}'
- gs-pathname: '/{stream}'
- verify-scenario: 'os-odl-nofeature-ha'
- disabled: false
-
-# Unit Test
-- job-template:
- name: 'apex-verify-unit-tests-{stream}'
-
- node: 'apex-build-master'
-
- concurrent: true
-
- disabled: '{obj:disabled}'
-
- parameters:
- - apex-parameter:
- gs-pathname: '{gs-pathname}'
- - project-parameter:
- project: '{project}'
- branch: '{branch}'
-
- scm:
- - git-scm-gerrit
-
- triggers:
- - gerrit:
- server-name: 'gerrit.opnfv.org'
- trigger-on:
- - patchset-created-event:
- exclude-drafts: 'false'
- exclude-trivial-rebase: 'false'
- exclude-no-code-change: 'true'
- - draft-published-event
- - comment-added-contains-event:
- comment-contains-value: 'recheck'
- - comment-added-contains-event:
- comment-contains-value: 'reverify'
- projects:
- - project-compare-type: 'ANT'
- project-pattern: 'apex'
- branches:
- - branch-compare-type: 'ANT'
- branch-pattern: '**/{branch}'
- disable-strict-forbidden-file-verification: 'false'
- file-paths:
- - compare-type: ANT
- pattern: 'apex/tests/**'
- forbidden-file-paths:
- - compare-type: ANT
- pattern: '*'
- - compare-type: ANT
- pattern: 'apex/*'
- - compare-type: ANT
- pattern: 'build/**'
- - compare-type: ANT
- pattern: 'lib/**'
- - compare-type: ANT
- pattern: 'config/**'
- - compare-type: ANT
- pattern: 'apex/build/**'
- - compare-type: ANT
- pattern: 'apex/common/**'
- - compare-type: ANT
- pattern: 'apex/inventory/**'
- - compare-type: ANT
- pattern: 'apex/network/**'
- - compare-type: ANT
- pattern: 'apex/overcloud/**'
- - compare-type: ANT
- pattern: 'apex/settings/**'
- - compare-type: ANT
- pattern: 'apex/undercloud/**'
- - compare-type: ANT
- pattern: 'apex/virtual/**'
-
- properties:
- - logrotate-default
- - throttle:
- max-per-node: 1
- max-total: 10
- option: 'project'
-
- builders:
- - apex-unit-test
-
-# Verify
-- job-template:
- name: 'apex-verify-{stream}'
-
- concurrent: true
-
- disabled: '{obj:disabled}'
-
- project-type: 'multijob'
-
- parameters:
- - '{project}-virtual-{stream}-defaults'
- - apex-parameter:
- gs-pathname: '{gs-pathname}/dev'
- - project-parameter:
- project: '{project}'
- branch: '{branch}'
- - string:
- name: ARTIFACT_VERSION
- default: dev
- description: "Used for overriding the ARTIFACT_VERSION"
- scm:
- - git-scm-gerrit
-
- triggers:
- - gerrit:
- server-name: 'gerrit.opnfv.org'
- trigger-on:
- - patchset-created-event:
- exclude-drafts: 'false'
- exclude-trivial-rebase: 'false'
- exclude-no-code-change: 'true'
- - draft-published-event
- - comment-added-contains-event:
- comment-contains-value: 'recheck'
- - comment-added-contains-event:
- comment-contains-value: 'reverify'
- projects:
- - project-compare-type: 'ANT'
- project-pattern: 'apex'
- branches:
- - branch-compare-type: 'ANT'
- branch-pattern: '**/{branch}'
- disable-strict-forbidden-file-verification: 'true'
- file-paths:
- - compare-type: ANT
- pattern: '*'
- - compare-type: ANT
- pattern: 'apex/*'
- - compare-type: ANT
- pattern: 'build/**'
- - compare-type: ANT
- pattern: 'ci/**'
- - compare-type: ANT
- pattern: 'lib/**'
- - compare-type: ANT
- pattern: 'config/**'
- - compare-type: ANT
- pattern: 'apex/build/**'
- - compare-type: ANT
- pattern: 'apex/builders/**'
- - compare-type: ANT
- pattern: 'apex/common/**'
- - compare-type: ANT
- pattern: 'apex/inventory/**'
- - compare-type: ANT
- pattern: 'apex/network/**'
- - compare-type: ANT
- pattern: 'apex/overcloud/**'
- - compare-type: ANT
- pattern: 'apex/settings/**'
- - compare-type: ANT
- pattern: 'apex/undercloud/**'
- - compare-type: ANT
- pattern: 'apex/virtual/**'
- forbidden-file-paths:
- - compare-type: ANT
- pattern: 'apex/tests/**'
- - compare-type: ANT
- pattern: 'docs/**'
-
- properties:
- - logrotate-default
- - throttle:
- max-per-node: 3
- max-total: 10
- option: 'project'
- - build-blocker:
- use-build-blocker: true
- blocking-level: 'NODE'
- blocking-jobs:
- - 'apex-.*-promote.*'
- builders:
- - description-setter:
- description: "Built on $NODE_NAME"
- - multijob:
- name: basic
- condition: SUCCESSFUL
- projects:
- - name: 'apex-verify-unit-tests-{stream}'
- current-parameters: false
- predefined-parameters: |
- GERRIT_BRANCH=$GERRIT_BRANCH
- GERRIT_REFSPEC=$GERRIT_REFSPEC
- GERRIT_CHANGE_NUMBER=$GERRIT_CHANGE_NUMBER
- GERRIT_CHANGE_COMMIT_MESSAGE=$GERRIT_CHANGE_COMMIT_MESSAGE
- node-parameters: false
- kill-phase-on: FAILURE
- abort-all-job: true
- git-revision: true
- - multijob:
- name: build
- condition: SUCCESSFUL
- projects:
- - name: 'apex-build-{stream}'
- current-parameters: false
- predefined-parameters: |
- ARTIFACT_VERSION=$ARTIFACT_VERSION
- GERRIT_BRANCH=$GERRIT_BRANCH
- GERRIT_REFSPEC=$GERRIT_REFSPEC
- GERRIT_CHANGE_NUMBER=$GERRIT_CHANGE_NUMBER
- GERRIT_CHANGE_COMMIT_MESSAGE=$GERRIT_CHANGE_COMMIT_MESSAGE
- node-parameters: false
- kill-phase-on: FAILURE
- abort-all-job: true
- git-revision: true
- - multijob:
- name: deploy-virtual
- condition: SUCCESSFUL
- projects:
- - name: 'apex-virtual-{stream}'
- current-parameters: false
- predefined-parameters: |
- ARTIFACT_VERSION=$ARTIFACT_VERSION
- DEPLOY_SCENARIO={verify-scenario}
- OPNFV_CLEAN=yes
- GERRIT_BRANCH=$GERRIT_BRANCH
- GERRIT_REFSPEC=$GERRIT_REFSPEC
- GERRIT_CHANGE_NUMBER=$GERRIT_CHANGE_NUMBER
- GERRIT_CHANGE_COMMIT_MESSAGE=$GERRIT_CHANGE_COMMIT_MESSAGE
- FUNCTEST_SUITE_NAME=tempest_smoke
- FUNCTEST_MODE=testcase
- node-parameters: true
- kill-phase-on: FAILURE
- abort-all-job: true
- git-revision: true
-
-# Verify Scenario Gate
-- job-template:
- name: 'apex-verify-gate-{stream}'
-
- concurrent: true
-
- disabled: '{obj:disabled}'
-
- project-type: 'multijob'
-
- parameters:
- - '{project}-virtual-{stream}-defaults'
- - apex-parameter:
- gs-pathname: '{gs-pathname}/dev'
- - project-parameter:
- project: '{project}'
- branch: '{branch}'
- - string:
- name: GIT_BASE
- default: https://gerrit.opnfv.org/gerrit/$PROJECT
- description: "Used for overriding the GIT URL coming from parameters macro."
- - string:
- name: ARTIFACT_VERSION
- default: dev
- description: "Used for overriding the ARTIFACT_VERSION"
-
- scm:
- - git-scm-gerrit
-
- triggers:
- - gerrit:
- server-name: 'gerrit.opnfv.org'
- trigger-on:
- - comment-added-contains-event:
- comment-contains-value: '^Patch Set [0-9]+: Code-Review\+2.*start-gate-scenario:.*'
- projects:
- - project-compare-type: 'ANT'
- project-pattern: 'apex'
- branches:
- - branch-compare-type: 'ANT'
- branch-pattern: '**/{branch}'
- file-paths:
- - compare-type: ANT
- pattern: 'ci/**'
- - compare-type: ANT
- pattern: 'build/**'
- - compare-type: ANT
- pattern: 'lib/**'
- - compare-type: ANT
- pattern: 'config/**'
- - compare-type: ANT
- pattern: 'apex/**'
-
- properties:
- - logrotate-default
- - build-blocker:
- use-build-blocker: true
- blocking-level: 'NODE'
- blocking-jobs:
- - 'apex-verify.*'
- - 'apex-virtual.*'
- - 'apex-.*-promote.*'
- - 'odl-netvirt.*'
- - throttle:
- max-per-node: 1
- max-total: 10
- option: 'project'
-
- builders:
- # yamllint disable rule:line-length
- - shell: |
- echo DEPLOY_SCENARIO=$(echo $GERRIT_EVENT_COMMENT_TEXT | grep start-gate-scenario | grep -Eo '(os|k8s)-.*$') > detected_scenario
- # yamllint enable rule:line-length
- - inject:
- properties-file: detected_scenario
- - multijob:
- name: deploy-virtual
- condition: SUCCESSFUL
- projects:
- - name: 'apex-deploy-virtual-{stream}'
- current-parameters: false
- predefined-parameters: |
- ARTIFACT_VERSION=$ARTIFACT_VERSION
- DEPLOY_SCENARIO=$DEPLOY_SCENARIO
- OPNFV_CLEAN=yes
- GERRIT_BRANCH=$GERRIT_BRANCH
- GERRIT_REFSPEC=$GERRIT_REFSPEC
- GERRIT_CHANGE_NUMBER=$GERRIT_CHANGE_NUMBER
- GERRIT_CHANGE_COMMIT_MESSAGE=$GERRIT_CHANGE_COMMIT_MESSAGE
- GERRIT_EVENT_COMMENT_TEXT=$GERRIT_EVENT_COMMENT_TEXT
- node-parameters: true
- kill-phase-on: FAILURE
- abort-all-job: true
- git-revision: true
- - shell:
- !include-raw-escape: ./apex-functest-scenario.sh
- - inject:
- properties-file: functest_scenario
- override-build-parameters: true
- - multijob:
- name: functest-smoke
- condition: ALWAYS
- projects:
- - name: 'functest-apex-virtual-suite-{stream}'
- current-parameters: false
- predefined-parameters: |
- DEPLOY_SCENARIO=$DEPLOY_SCENARIO
- DOCKER_TAG=$DOCKER_TAG
- FUNCTEST_SUITE_NAME=tempest_smoke
- FUNCTEST_MODE=testcase
- GERRIT_BRANCH=$GERRIT_BRANCH
- GERRIT_REFSPEC=$GERRIT_REFSPEC
- GERRIT_CHANGE_NUMBER=$GERRIT_CHANGE_NUMBER
- GERRIT_CHANGE_COMMIT_MESSAGE=$GERRIT_CHANGE_COMMIT_MESSAGE
- node-parameters: true
- kill-phase-on: NEVER
- enable-condition: "def m = '$DEPLOY_SCENARIO' != 'k8s-nosdn-nofeature-noha'"
- abort-all-job: true
- git-revision: false
- - multijob:
- name: apex-fetch-logs
- projects:
- - name: 'apex-fetch-logs-{stream}'
- current-parameters: true
- predefined-parameters: |
- GERRIT_BRANCH=$GERRIT_BRANCH
- GERRIT_REFSPEC=$GERRIT_REFSPEC
- GERRIT_CHANGE_NUMBER=$GERRIT_CHANGE_NUMBER
- node-parameters: true
- kill-phase-on: NEVER
- abort-all-job: true
- git-revision: false
-
-########################
-# builder macros
-########################
-- builder:
- name: apex-unit-test
- builders:
- - shell:
- !include-raw: ./apex-unit-test.sh
diff --git a/jjb/apex/apex.yaml b/jjb/apex/apex.yaml
deleted file mode 100644
index fb2eaa2..0000000
--- a/jjb/apex/apex.yaml
+++ /dev/null
@@ -1,2008 +0,0 @@
----
-- project:
- name: 'apex'
- project: 'apex'
- jobs:
- - 'apex-fetch-logs-{stream}'
- - 'apex-runner-cperf-{stream}'
- - 'apex-virtual-{stream}'
- - 'apex-deploy-{platform}-{stream}'
- - 'apex-daily-{stream}'
- - 'apex-{snap_type}-promote-daily-{stream}-os-{os_version}-{topology}'
- - 'apex-fdio-promote-daily-{stream}'
- - 'apex-{scenario}-baremetal-{scenario_stream}'
- - 'apex-testsuite-{scenario}-baremetal-{scenario_stream}'
- - 'apex-upload-snapshot'
- - 'apex-create-snapshot'
- - 'apex-fetch-snap-info'
- - 'apex-flex-daily-os-nosdn-nofeature-ha-{stream}'
- # stream: branch with - in place of / (eg. stable-arno)
- # branch: branch (eg. stable/arno)
- stream:
- - master: &master
- branch: 'master'
- gs-pathname: ''
- build-slave: 'apex-build-master'
- virtual-slave: 'apex-virtual-master'
- baremetal-slave: 'apex-baremetal-master'
- verify-scenario: 'os-nosdn-nofeature-noha'
- scenario_stream: 'master'
- disable_daily: true
- disable_promote: true
- - hunter: &hunter
- branch: 'stable/hunter'
- gs-pathname: '/hunter'
- build-slave: 'apex-build-master'
- virtual-slave: 'apex-virtual-master'
- baremetal-slave: 'apex-baremetal-master'
- verify-scenario: 'os-nosdn-nofeature-ha'
- scenario_stream: 'hunter'
- disable_daily: true
- disable_promote: true
- - gambia: &gambia
- branch: 'stable/gambia'
- gs-pathname: '/gambia'
- build-slave: 'apex-build-master'
- virtual-slave: 'apex-virtual-master'
- baremetal-slave: 'apex-baremetal-master'
- verify-scenario: 'os-nosdn-nofeature-ha'
- scenario_stream: 'gambia'
- disable_daily: true
- disable_promote: true
- - fraser: &fraser
- branch: 'stable/fraser'
- gs-pathname: '/fraser'
- build-slave: 'apex-build-master'
- virtual-slave: 'apex-virtual-master'
- baremetal-slave: 'apex-baremetal-master'
- verify-scenario: 'os-nosdn-nofeature-ha'
- scenario_stream: 'fraser'
- disable_daily: true
- disable_promote: true
- - euphrates: &euphrates
- branch: 'stable/euphrates'
- gs-pathname: '/euphrates'
- build-slave: 'apex-build-master'
- virtual-slave: 'apex-virtual-master'
- baremetal-slave: 'apex-baremetal-master'
- verify-scenario: 'os-odl-nofeature-ha'
- scenario_stream: 'euphrates'
- disable_daily: true
- disable_promote: true
- - danube: &danube
- branch: 'stable/danube'
- gs-pathname: '/danube'
- build-slave: 'apex-build-danube'
- virtual-slave: 'apex-virtual-danube'
- baremetal-slave: 'apex-baremetal-danube'
- verify-scenario: 'os-odl_l3-nofeature-ha'
- scenario_stream: 'danube'
- disabled: true
- disable_daily: true
- disable_promote: true
-
- scenario:
- - 'os-nosdn-nofeature-noha':
- <<: *danube
- - 'os-nosdn-nofeature-ha':
- <<: *danube
- - 'os-nosdn-nofeature-ha-ipv6':
- <<: *danube
- - 'os-nosdn-ovs-noha':
- <<: *danube
- - 'os-nosdn-ovs-ha':
- <<: *danube
- - 'os-nosdn-fdio-noha':
- <<: *danube
- - 'os-nosdn-fdio-ha':
- <<: *danube
- - 'os-nosdn-kvm-ha':
- <<: *danube
- - 'os-nosdn-kvm-noha':
- <<: *danube
- - 'os-odl_l2-fdio-noha':
- <<: *danube
- - 'os-odl_l2-fdio-ha':
- <<: *danube
- - 'os-odl_netvirt-fdio-noha':
- <<: *danube
- - 'os-odl_l2-sfc-noha':
- <<: *danube
- - 'os-odl_l3-nofeature-noha':
- <<: *danube
- - 'os-odl_l3-nofeature-ha':
- <<: *danube
- - 'os-odl_l3-ovs-noha':
- <<: *danube
- - 'os-odl_l3-ovs-ha':
- <<: *danube
- - 'os-odl-bgpvpn-ha':
- <<: *danube
- - 'os-odl-gluon-noha':
- <<: *danube
- - 'os-odl_l3-fdio-noha':
- <<: *danube
- - 'os-odl_l3-fdio-ha':
- <<: *danube
- - 'os-odl_l3-fdio_dvr-noha':
- <<: *danube
- - 'os-odl_l3-fdio_dvr-ha':
- <<: *danube
- - 'os-odl_l3-csit-noha':
- <<: *danube
- - 'os-onos-nofeature-ha':
- <<: *danube
- - 'os-ovn-nofeature-noha':
- <<: *danube
- - 'os-nosdn-nofeature-noha':
- <<: *master
- - 'os-nosdn-nofeature-ha':
- <<: *master
- - 'os-nosdn-nofeature-noha':
- <<: *gambia
- - 'os-nosdn-nofeature-ha':
- <<: *gambia
- - 'os-nosdn-nofeature-ha-ipv6':
- <<: *gambia
- - 'os-odl-nofeature-noha':
- <<: *gambia
- - 'os-odl-nofeature-ha':
- <<: *gambia
- - 'k8s-nosdn-nofeature-noha':
- <<: *gambia
- - 'os-odl-bgpvpn-ha':
- <<: *gambia
- - 'os-odl-bgpvpn-noha':
- <<: *gambia
- - 'os-odl-sfc-ha':
- <<: *gambia
- - 'os-odl-sfc-noha':
- <<: *gambia
- - 'os-nosdn-calipso-noha':
- <<: *gambia
- - 'os-ovn-nofeature-ha':
- <<: *gambia
- - 'os-nosdn-nofeature-ha':
- <<: *fraser
- - 'os-odl-bgpvpn-ha':
- <<: *fraser
- - 'os-nosdn-nofeature-noha':
- <<: *hunter
- - 'os-nosdn-nofeature-ha':
- <<: *hunter
- - 'os-ovn-nofeature-ha':
- <<: *hunter
- - 'os-nosdn-nofeature-noha':
- <<: *euphrates
- - 'os-nosdn-nofeature-ha':
- <<: *euphrates
- - 'os-odl-nofeature-ha':
- <<: *euphrates
- - 'os-odl-nofeature-noha':
- <<: *euphrates
- - 'os-odl-bgpvpn-ha':
- <<: *euphrates
- - 'os-ovn-nofeature-noha':
- <<: *euphrates
- - 'os-nosdn-fdio-noha':
- <<: *euphrates
- - 'os-nosdn-fdio-ha':
- <<: *euphrates
- - 'os-nosdn-bar-ha':
- <<: *euphrates
- - 'os-nosdn-bar-noha':
- <<: *euphrates
- - 'os-nosdn-nofeature-ha-ipv6':
- <<: *euphrates
- - 'os-nosdn-ovs_dpdk-noha':
- <<: *euphrates
- - 'os-nosdn-ovs_dpdk-ha':
- <<: *euphrates
- - 'os-nosdn-kvm_ovs_dpdk-noha':
- <<: *euphrates
- - 'os-nosdn-kvm_ovs_dpdk-ha':
- <<: *euphrates
- - 'os-odl-sfc-noha':
- <<: *euphrates
- - 'os-odl-sfc-ha':
- <<: *euphrates
-
- platform:
- - 'baremetal'
- - 'virtual'
-
- os_version:
- - 'queens':
- os_scenario: 'nofeature'
- odl_branch: 'stable/oxygen'
- - 'rocky':
- os_scenario: 'rocky'
- odl_branch: 'stable/oxygen'
- - 'master':
- os_scenario: 'nofeature'
- odl_branch: 'stable/fluorine'
-
- topology:
- - 'noha'
- - 'ha'
- - 'noha-allinone'
-
- snap_type:
- - csit:
- sdn: 'odl'
- - functest:
- sdn: 'nosdn'
-# Fetch Logs Job
-- job-template:
- name: 'apex-fetch-logs-{stream}'
-
- concurrent: true
-
- disabled: false
- scm:
- - git-scm-gerrit
- parameters:
- - project-parameter:
- project: '{project}'
- branch: '{branch}'
- - apex-parameter:
- gs-pathname: '{gs-pathname}'
- # yamllint enable rule:line-length
- properties:
- - logrotate-default
- - throttle:
- max-per-node: 1
- max-total: 10
- option: 'project'
-
- builders:
- - 'apex-fetch-logs'
-
-- job-template:
- name: 'apex-runner-cperf-{stream}'
-
- # runner cperf job
- project-type: 'multijob'
- node: 'intel-pod2'
-
- disabled: false
-
- parameters:
- - apex-parameter:
- gs-pathname: '{gs-pathname}'
- - project-parameter:
- project: '{project}'
- branch: '{branch}'
- - string:
- name: GIT_BASE
- default: https://gerrit.opnfv.org/gerrit/$PROJECT
- description: "Used for overriding the GIT URL coming from parameters macro."
-
- scm:
- - git-scm
-
- properties:
- - logrotate-default
- - build-blocker:
- use-build-blocker: false
- blocking-level: 'NODE'
- blocking-jobs:
- - 'apex-deploy.*'
- - throttle:
- max-per-node: 1
- max-total: 10
- option: 'project'
-
- builders:
- - description-setter:
- description: "Deployed on $NODE_NAME"
- - multijob:
- name: 'Baremetal Deploy'
- condition: ALWAYS
- projects:
- - name: 'apex-deploy-baremetal-{stream}'
- node-parameters: false
- current-parameters: true
- predefined-parameters: |
- GERRIT_BRANCH=$GERRIT_BRANCH
- GERRIT_REFSPEC=
- OPNFV_CLEAN=yes
- DEPLOY_SCENARIO={verify-scenario}
- kill-phase-on: FAILURE
- abort-all-job: true
- git-revision: false
- - multijob:
- name: CPERF
- condition: SUCCESSFUL
- projects:
- - name: 'cperf-apex-intel-pod2-daily-master'
- node-parameters: true
- current-parameters: false
- predefined-parameters:
- DEPLOY_SCENARIO={verify-scenario}
- kill-phase-on: NEVER
- abort-all-job: false
- git-revision: false
-
-# Deploy job
-- job-template:
- name: 'apex-deploy-{platform}-{stream}'
-
- concurrent: true
-
- disabled: false
- quiet-period: 30
- scm:
- - git-scm-gerrit
-
- wrappers:
- - timeout:
- timeout: 140
- fail: true
-
- parameters:
- - '{project}-{platform}-{stream}-defaults'
- - project-parameter:
- project: '{project}'
- branch: '{branch}'
- - apex-parameter:
- gs-pathname: '{gs-pathname}'
- - string:
- name: DEPLOY_SCENARIO
- default: '{verify-scenario}'
- description: "Scenario to deploy with."
- # yamllint disable rule:line-length
- - string:
- name: OPNFV_CLEAN
- default: 'no'
- description: "Use yes in lower case to invoke clean. Indicates if the deploy environment should be cleaned before deployment"
-
- # yamllint enable rule:line-length
- properties:
- - logrotate-default
- - build-blocker:
- use-build-blocker: true
- blocking-level: 'NODE'
- blocking-jobs:
- - 'apex-deploy.*'
- - 'functest.*'
- - 'yardstick.*'
- - 'dovetail.*'
- - 'storperf.*'
- - 'odl-netvirt.*'
- - throttle:
- max-per-node: 1
- max-total: 10
- option: 'project'
-
- builders:
- - description-setter:
- description: "Deployed on $NODE_NAME - Scenario: $DEPLOY_SCENARIO"
- - 'apex-download-artifact'
- - 'apex-deploy'
- - 'clean-workspace'
-
-
-# Virtual Deploy and Test
-- job-template:
- name: 'apex-virtual-{stream}'
-
- project-type: 'multijob'
-
- concurrent: true
-
- disabled: false
-
- scm:
- - git-scm-gerrit
-
- parameters:
- - '{project}-defaults'
- - '{project}-virtual-{stream}-defaults'
- - 'functest-suite-parameter'
- - project-parameter:
- project: '{project}'
- branch: '{branch}'
- - apex-parameter:
- gs-pathname: '{gs-pathname}'
- - string:
- name: DEPLOY_SCENARIO
- default: '{verify-scenario}'
- description: "Scenario to deploy with."
- - string:
- name: ARTIFACT_VERSION
- default: dev
- description: "Used for overriding the ARTIFACT_VERSION"
-
- properties:
- - logrotate-default
- - build-blocker:
- use-build-blocker: true
- blocking-level: 'NODE'
- blocking-jobs:
- - 'apex-runner.*'
- - 'apex-run.*'
- - 'apex-virtual-.*'
- - 'apex-verify-gate-.*'
- - 'odl-netvirt.*'
- - 'apex-.*-promote.*'
- - throttle:
- max-per-node: 1
- max-total: 10
- option: 'project'
-
- builders:
- - description-setter:
- description: "Deployed on $NODE_NAME - Scenario: $DEPLOY_SCENARIO"
- - multijob:
- name: deploy-virtual
- condition: SUCCESSFUL
- projects:
- - name: 'apex-deploy-virtual-{stream}'
- current-parameters: false
- predefined-parameters: |
- ARTIFACT_VERSION=$ARTIFACT_VERSION
- DEPLOY_SCENARIO=$DEPLOY_SCENARIO
- OPNFV_CLEAN=yes
- GERRIT_BRANCH=$GERRIT_BRANCH
- GERRIT_REFSPEC=$GERRIT_REFSPEC
- GERRIT_CHANGE_NUMBER=$GERRIT_CHANGE_NUMBER
- GERRIT_CHANGE_COMMIT_MESSAGE=$GERRIT_CHANGE_COMMIT_MESSAGE
- PROMOTE=$PROMOTE
- node-parameters: true
- kill-phase-on: FAILURE
- abort-all-job: true
- git-revision: true
- - multijob:
- name: functest-smoke
- condition: ALWAYS
- projects:
- - name: 'functest-apex-virtual-suite-{stream}'
- current-parameters: false
- predefined-parameters: |
- DEPLOY_SCENARIO=$DEPLOY_SCENARIO
- FUNCTEST_MODE=$FUNCTEST_MODE
- FUNCTEST_SUITE_NAME=$FUNCTEST_SUITE_NAME
- GERRIT_BRANCH=$GERRIT_BRANCH
- GERRIT_REFSPEC=$GERRIT_REFSPEC
- GERRIT_CHANGE_NUMBER=$GERRIT_CHANGE_NUMBER
- GERRIT_CHANGE_COMMIT_MESSAGE=$GERRIT_CHANGE_COMMIT_MESSAGE
- node-parameters: true
- kill-phase-on: NEVER
- abort-all-job: true
- git-revision: false
- - multijob:
- name: apex-fetch-logs
- projects:
- - name: 'apex-fetch-logs-{stream}'
- current-parameters: false
- predefined-parameters: |
- GERRIT_BRANCH=$GERRIT_BRANCH
- GERRIT_REFSPEC=$GERRIT_REFSPEC
- GERRIT_CHANGE_NUMBER=$GERRIT_CHANGE_NUMBER
- GERRIT_CHANGE_COMMIT_MESSAGE=$GERRIT_CHANGE_COMMIT_MESSAGE
- node-parameters: true
- kill-phase-on: NEVER
- abort-all-job: true
- git-revision: false
-
-# Baremetal Deploy and Test
-- job-template:
- name: 'apex-{scenario}-baremetal-{scenario_stream}'
-
- project-type: 'multijob'
-
- disabled: false
-
- scm:
- - git-scm
-
- parameters:
- - '{project}-defaults'
- - '{project}-baremetal-{scenario_stream}-defaults'
- - project-parameter:
- project: '{project}'
- branch: '{branch}'
- - apex-parameter:
- gs-pathname: '{gs-pathname}'
- - string:
- name: DEPLOY_SCENARIO
- default: '{scenario}'
- description: "Scenario to deploy with."
-
- properties:
- - logrotate-default
- - build-blocker:
- use-build-blocker: true
- blocking-level: 'NODE'
- blocking-jobs:
- - 'apex-verify.*'
- - 'apex-runner.*'
- - 'apex-.*-promote.*'
- - 'apex-run.*'
- - 'apex-.+-baremetal-.+'
- - throttle:
- max-per-node: 1
- max-total: 10
- option: 'project'
-
- builders:
- - description-setter:
- description: "Deployed on $NODE_NAME - Scenario: $DEPLOY_SCENARIO"
- - multijob:
- name: 'Baremetal Deploy'
- condition: SUCCESSFUL
- execution-type: SEQUENTIALLY
- projects:
- - name: 'apex-deploy-baremetal-{scenario_stream}'
- node-parameters: true
- current-parameters: true
- predefined-parameters: |
- OPNFV_CLEAN=yes
- GERRIT_BRANCH=$GERRIT_BRANCH
- GERRIT_REFSPEC=
- DEPLOY_SCENARIO=$DEPLOY_SCENARIO
- kill-phase-on: NEVER
- abort-all-job: true
- git-revision: false
- - name: 'apex-fetch-logs-{scenario_stream}'
- current-parameters: true
- predefined-parameters: |
- GERRIT_BRANCH=$GERRIT_BRANCH
- GERRIT_REFSPEC=
- node-parameters: true
- kill-phase-on: NEVER
- abort-all-job: true
- git-revision: false
- - shell:
- !include-raw-escape: ./apex-functest-scenario.sh
- - inject:
- properties-file: functest_scenario
- override-build-parameters: true
- - multijob:
- name: 'OPNFV Test Suite'
- condition: ALWAYS
- projects:
- - name: 'apex-testsuite-{scenario}-baremetal-{scenario_stream}'
- node-parameters: true
- current-parameters: false
- predefined-parameters: |
- DEPLOY_SCENARIO=$DEPLOY_SCENARIO
- DOCKER_TAG=$DOCKER_TAG
- kill-phase-on: NEVER
- abort-all-job: true
- git-revision: false
- - multijob:
- name: apex-fetch-logs
- projects:
- - name: 'apex-fetch-logs-{scenario_stream}'
- current-parameters: true
- predefined-parameters: |
- GERRIT_BRANCH=$GERRIT_BRANCH
- GERRIT_REFSPEC=
- node-parameters: true
- kill-phase-on: NEVER
- abort-all-job: true
- git-revision: false
- publishers:
- - groovy-postbuild:
- script:
- !include-raw-escape: ./update-build-result.groovy
-
-# Baremetal test job
-- job-template:
- name: 'apex-testsuite-{scenario}-baremetal-{scenario_stream}'
-
- project-type: 'multijob'
-
- disabled: false
-
- parameters:
- - '{project}-defaults'
- - '{project}-baremetal-{scenario_stream}-defaults'
- - project-parameter:
- project: '{project}'
- branch: '{branch}'
- - apex-parameter:
- gs-pathname: '{gs-pathname}'
- - string:
- name: DEPLOY_SCENARIO
- default: '{scenario}'
- description: "Scenario to deploy with."
- - string:
- name: DOCKER_TAG
- default: ''
- description: Default docker tag to pass to functest
-
- properties:
- - logrotate-default
- - build-blocker:
- use-build-blocker: true
- blocking-level: 'NODE'
- blocking-jobs:
- - 'apex-verify.*'
- - 'apex-runner.*'
- - 'apex-run.*'
- - 'apex-testsuite-.+-baremetal-.+'
- - throttle:
- max-per-node: 1
- max-total: 10
- option: 'project'
-
- builders:
- - description-setter:
- description: "Testing on $NODE_NAME - Scenario: $DEPLOY_SCENARIO"
- - multijob:
- name: Functest
- condition: ALWAYS
- projects:
- - name: 'functest-apex-baremetal-daily-{scenario_stream}'
- node-parameters: true
- current-parameters: false
- predefined-parameters: |
- DEPLOY_SCENARIO=$DEPLOY_SCENARIO
- DOCKER_TAG=$DOCKER_TAG
- kill-phase-on: NEVER
- abort-all-job: false
- git-revision: false
- - multijob:
- name: Yardstick
- condition: ALWAYS
- projects:
- - name: 'yardstick-apex-baremetal-daily-{scenario_stream}'
- node-parameters: true
- current-parameters: false
- predefined-parameters:
- DEPLOY_SCENARIO=$DEPLOY_SCENARIO
- kill-phase-on: NEVER
- abort-all-job: false
- git-revision: false
- - multijob:
- name: Dovetail-default-mandatory
- condition: ALWAYS
- projects:
- - name: 'dovetail-apex-baremetal-default-mandatory-{scenario_stream}'
- node-parameters: true
- current-parameters: false
- predefined-parameters:
- DEPLOY_SCENARIO=$DEPLOY_SCENARIO
- kill-phase-on: NEVER
- enable-condition: "def m = '$DEPLOY_SCENARIO' ==~ /os-(nosdn-nofeature|odl-bgpvpn)-ha/"
- abort-all-job: false
- git-revision: false
- - multijob:
- name: Dovetail-default-optional
- condition: ALWAYS
- projects:
- - name: 'dovetail-apex-baremetal-default-optional-{scenario_stream}'
- node-parameters: true
- current-parameters: false
- predefined-parameters:
- DEPLOY_SCENARIO=$DEPLOY_SCENARIO
- kill-phase-on: NEVER
- enable-condition: "def m = '$DEPLOY_SCENARIO' ==~ /os-(nosdn-nofeature|odl-bgpvpn)-ha/"
- abort-all-job: false
- git-revision: false
- - multijob:
- name: Dovetail-proposed_tests
- condition: ALWAYS
- projects:
- - name: 'dovetail-apex-baremetal-proposed_tests-optional-{scenario_stream}'
- node-parameters: true
- current-parameters: false
- predefined-parameters:
- DEPLOY_SCENARIO=$DEPLOY_SCENARIO
- kill-phase-on: NEVER
- enable-condition: "def m = '$DEPLOY_SCENARIO' ==~ /os-(nosdn-nofeature|odl-bgpvpn)-ha/"
- abort-all-job: false
- git-revision: false
- - multijob:
- name: StorPerf
- condition: ALWAYS
- projects:
- - name: 'storperf-apex-baremetal-daily-{scenario_stream}'
- node-parameters: true
- current-parameters: false
- predefined-parameters:
- DEPLOY_SCENARIO=$DEPLOY_SCENARIO
- enable-condition: "def m = '$DEPLOY_SCENARIO' ==~ /os-nosdn-nofeature-ha/"
- kill-phase-on: NEVER
- abort-all-job: false
- git-revision: false
-# Build status is always success due conditional plugin prefetching
-# build status before multijob phases execute
-# - conditional-step:
-# condition-kind: current-status
-# condition-worst: SUCCESS
-# condtion-best: SUCCESS
-# on-evaluation-failure: mark-unstable
-# steps:
-# - shell: 'echo "Tests Passed"'
-
-- job-template:
- name: 'apex-daily-{stream}'
-
- # Job template for daily build
- #
- # Required Variables:
- # stream: branch with - in place of / (eg. stable)
- # branch: branch (eg. stable)
- project-type: 'multijob'
-
- disabled: '{obj:disable_daily}'
-
- scm:
- - git-scm
-
- parameters:
- - '{project}-defaults'
- - '{project}-baremetal-{stream}-defaults'
- - project-parameter:
- project: '{project}'
- branch: '{branch}'
- - apex-parameter:
- gs-pathname: '{gs-pathname}'
-
- properties:
- - logrotate-default
- - build-blocker:
- use-build-blocker: true
- blocking-level: 'NODE'
- blocking-jobs:
- - 'apex-daily.*'
-
- triggers:
- - 'apex-{stream}'
-
- builders:
- - multijob:
- name: build
- condition: SUCCESSFUL
- projects:
- - name: 'apex-build-{stream}'
- current-parameters: false
- predefined-parameters: |
- GERRIT_BRANCH=$GERRIT_BRANCH
- GERRIT_REFSPEC=
- GERRIT_CHANGE_NUMBER=$GERRIT_CHANGE_NUMBER
- GERRIT_CHANGE_COMMIT_MESSAGE=$GERRIT_CHANGE_COMMIT_MESSAGE
- node-parameters: true
- kill-phase-on: FAILURE
- abort-all-job: true
- git-revision: true
- - multijob:
- name: 'Verify and upload ISO'
- condition: SUCCESSFUL
- projects:
- - name: 'apex-verify-iso-{stream}'
- current-parameters: false
- predefined-parameters: |
- BUILD_DIRECTORY=$WORKSPACE/../apex-build-{stream}/.build
- GERRIT_BRANCH=$GERRIT_BRANCH
- GERRIT_REFSPEC=
- GERRIT_CHANGE_NUMBER=$GERRIT_CHANGE_NUMBER
- GERRIT_CHANGE_COMMIT_MESSAGE=$GERRIT_CHANGE_COMMIT_MESSAGE
- node-parameters: true
- kill-phase-on: FAILURE
- abort-all-job: true
- git-revision: true
- - apex-builder-{stream}
-
-# snapshot info fetch
-- job-template:
- name: 'apex-fetch-snap-info'
-
- disabled: false
-
- parameters:
- - '{project}-defaults'
-
- builders:
- - shell:
- !include-raw-escape: ./apex-fetch-snap-info.sh
-
-# snapshot create
-- job-template:
- name: 'apex-create-snapshot'
-
- disabled: false
-
- parameters:
- - '{project}-defaults'
-
- builders:
- - shell:
- !include-raw-escape: ./apex-snapshot-create.sh
-
-# snapshot upload
-- job-template:
- name: 'apex-upload-snapshot'
-
- disabled: false
-
- parameters:
- - '{project}-defaults'
-
- builders:
- - inject:
- properties-content: ARTIFACT_TYPE=snapshot
- - 'apex-upload-artifact'
-
-# CSIT promote
-- job-template:
- name: 'apex-{snap_type}-promote-daily-{stream}-os-{os_version}-{topology}'
-
- # Job template for promoting CSIT Snapshots
- #
- # Required Variables:
- # stream: branch with - in place of / (eg. stable)
- # branch: branch (eg. stable)
- node: '{virtual-slave}'
- project-type: 'multijob'
- disabled: '{disable_promote}'
-
- scm:
- - git-scm
-
- parameters:
- - project-parameter:
- project: '{project}'
- branch: '{branch}'
- - apex-parameter:
- gs-pathname: '{gs-pathname}'
- - string:
- name: ARTIFACT_VERSION
- default: dev
- description: "Used for overriding the ARTIFACT_VERSION"
- - string:
- name: PROMOTE
- default: 'True'
- description: "Used for overriding the PROMOTE"
- - string:
- name: GS_URL
- default: 'artifacts.opnfv.org/apex/{os_version}/{topology}'
- description: "User for overriding GS_URL from apex params"
- - string:
- name: OS_VERSION
- default: '{os_version}'
- description: OpenStack version short name
- - string:
- name: ODL_BRANCH
- default: '{odl_branch}'
- description: ODL branch being used
- - string:
- name: FORCE_PROMOTE
- default: 'False'
- description: "Used to force promotion and skip CSIT"
- - string:
- name: SNAP_TYPE
- default: '{snap_type}'
- description: Type of snapshot to promote
- properties:
- - build-blocker:
- use-build-blocker: true
- blocking-level: 'NODE'
- blocking-jobs:
- - 'apex-verify.*'
- - 'apex-runner.*'
- - 'apex-daily.*'
- - 'apex-.*-promote.*'
- - 'odl-netvirt.*'
- - throttle:
- max-per-node: 1
- max-total: 10
- option: 'project'
-
- triggers:
- - '{stream}-{snap_type}-{os_version}'
-
- builders:
- - multijob:
- name: apex-virtual-deploy
- condition: SUCCESSFUL
- projects:
- - name: 'apex-deploy-virtual-{stream}'
- current-parameters: true
- predefined-parameters: |
- DEPLOY_SCENARIO=os-{sdn}-{os_scenario}-{topology}-{snap_type}
- OPNFV_CLEAN=yes
- GERRIT_BRANCH=$GERRIT_BRANCH
- GERRIT_REFSPEC=$GERRIT_REFSPEC
- GERRIT_CHANGE_NUMBER=$GERRIT_CHANGE_NUMBER
- GERRIT_CHANGE_COMMIT_MESSAGE=$GERRIT_CHANGE_COMMIT_MESSAGE
- node-parameters: true
- kill-phase-on: FAILURE
- abort-all-job: true
- git-revision: true
- - multijob:
- name: fetch snapshot info
- condition: SUCCESSFUL
- projects:
- - name: 'apex-fetch-snap-info'
- current-parameters: true
- node-parameters: true
- kill-phase-on: FAILURE
- abort-all-job: true
- git-revision: false
- - multijob:
- name: test phase
- condition: SUCCESSFUL
- execution-type: SEQUENTIALLY
- projects:
- - name: cperf-apex-csit-master
- predefined-parameters: |
- ODL_BRANCH=$ODL_BRANCH
- RC_FILE_PATH=/tmp/snap/overcloudrc
- NODE_FILE_PATH=/tmp/snap/node.yaml
- SSH_KEY_PATH=/tmp/snap/id_rsa
- ODL_CONTAINERIZED=true
- OS_VERSION=$OS_VERSION
- SKIP_CSIT=$FORCE_PROMOTE
- SNAP_TYPE=$SNAP_TYPE
- node-parameters: true
- kill-phase-on: NEVER
- abort-all-job: false
- enable-condition: "def m = '$SNAP_TYPE' ==~ /csit/"
- - name: cperf-upload-logs-csit
- predefined-parameters: |
- ODL_BRANCH=$ODL_BRANCH
- OS_VERSION=$OS_VERSION
- SNAP_TYPE=$SNAP_TYPE
- node-parameters: true
- kill-phase-on: FAILURE
- abort-all-job: false
- enable-condition: "def m = '$SNAP_TYPE' ==~ /csit/"
- - name: 'functest-apex-virtual-suite-{stream}'
- current-parameters: false
- predefined-parameters: |
- DEPLOY_SCENARIO=$DEPLOY_SCENARIO
- DOCKER_TAG=$DOCKER_TAG
- FUNCTEST_SUITE_NAME=tempest_smoke
- FUNCTEST_MODE=testcase
- GERRIT_BRANCH=$GERRIT_BRANCH
- GERRIT_REFSPEC=$GERRIT_REFSPEC
- GERRIT_CHANGE_NUMBER=$GERRIT_CHANGE_NUMBER
- GERRIT_CHANGE_COMMIT_MESSAGE=$GERRIT_CHANGE_COMMIT_MESSAGE
- node-parameters: true
- kill-phase-on: NEVER
- enable-condition: "def m = '$SNAP_TYPE' ==~ /functest/"
- abort-all-job: true
- git-revision: false
- - name: 'apex-fetch-logs-{stream}'
- current-parameters: false
- predefined-parameters: |
- GERRIT_BRANCH=$GERRIT_BRANCH
- GERRIT_REFSPEC=$GERRIT_REFSPEC
- GERRIT_CHANGE_NUMBER=$GERRIT_CHANGE_NUMBER
- GERRIT_CHANGE_COMMIT_MESSAGE=$GERRIT_CHANGE_COMMIT_MESSAGE
- node-parameters: true
- kill-phase-on: NEVER
- abort-all-job: true
- git-revision: false
- - multijob:
- name: create snapshot
- condition: SUCCESSFUL
- projects:
- - name: 'apex-create-snapshot'
- current-parameters: true
- node-parameters: true
- kill-phase-on: FAILURE
- abort-all-job: true
- git-revision: false
- - multijob:
- name: upload snapshot
- condition: SUCCESSFUL
- projects:
- - name: 'apex-upload-snapshot'
- current-parameters: true
- node-parameters: true
- kill-phase-on: FAILURE
- abort-all-job: true
- git-revision: false
-
-# FDIO promote
-- job-template:
- name: 'apex-fdio-promote-daily-{stream}'
-
- # Job template for promoting CSIT Snapshots
- #
- # Required Variables:
- # stream: branch with - in place of / (eg. stable)
- # branch: branch (eg. stable)
- node: '{virtual-slave}'
- project-type: 'multijob'
- disabled: false
-
- scm:
- - git-scm
-
- parameters:
- - project-parameter:
- project: '{project}'
- branch: '{branch}'
- - apex-parameter:
- gs-pathname: '{gs-pathname}'
-
- properties:
- - build-blocker:
- use-build-blocker: true
- blocking-level: 'NODE'
- blocking-jobs:
- - 'apex-verify.*'
- - 'apex-deploy.*'
- - 'apex-runner.*'
- - 'apex-daily.*'
-
- builders:
- - multijob:
- name: build
- condition: SUCCESSFUL
- projects:
- - name: 'apex-build-{stream}'
- current-parameters: false
- predefined-parameters: |
- GERRIT_BRANCH=$GERRIT_BRANCH
- GERRIT_REFSPEC=$GERRIT_REFSPEC
- GERRIT_CHANGE_NUMBER=$GERRIT_CHANGE_NUMBER
- GERRIT_CHANGE_COMMIT_MESSAGE=$GERRIT_CHANGE_COMMIT_MESSAGE
- node-parameters: false
- kill-phase-on: FAILURE
- abort-all-job: true
- git-revision: true
- - multijob:
- name: deploy-virtual
- condition: SUCCESSFUL
- projects:
- - name: 'apex-deploy-virtual-{stream}'
- current-parameters: false
- predefined-parameters: |
- DEPLOY_SCENARIO=os-odl_netvirt-fdio-noha
- OPNFV_CLEAN=yes
- GERRIT_BRANCH=$GERRIT_BRANCH
- GERRIT_REFSPEC=$GERRIT_REFSPEC
- GERRIT_CHANGE_NUMBER=$GERRIT_CHANGE_NUMBER
- GERRIT_CHANGE_COMMIT_MESSAGE=$GERRIT_CHANGE_COMMIT_MESSAGE
- PROMOTE=True
- node-parameters: true
- kill-phase-on: FAILURE
- abort-all-job: true
- git-revision: false
- - multijob:
- name: create snapshot
- condition: SUCCESSFUL
- projects:
- - name: 'apex-create-snapshot'
- current-parameters: false
- predefined-parameters: |
- SNAP_TYPE=fdio
- node-parameters: true
- kill-phase-on: FAILURE
- abort-all-job: true
- git-revision: false
- - multijob:
- name: upload snapshot
- condition: SUCCESSFUL
- projects:
- - name: 'apex-upload-snapshot'
- current-parameters: false
- predefined-parameters: |
- SNAP_TYPE=fdio
- node-parameters: true
- kill-phase-on: FAILURE
- abort-all-job: true
- git-revision: false
-
-# Flex job
-- job-template:
- name: 'apex-flex-daily-os-nosdn-nofeature-ha-{stream}'
-
- project-type: 'multijob'
-
- disabled: true
-
- node: 'flex-pod2'
-
- scm:
- - git-scm
-
- triggers:
- - 'apex-{stream}'
-
- parameters:
- - '{project}-defaults'
- - project-parameter:
- project: '{project}'
- branch: '{branch}'
- - apex-parameter:
- gs-pathname: '{gs-pathname}'
- - string:
- name: DEPLOY_SCENARIO
- default: 'os-nosdn-nofeature-ha'
- description: "Scenario to deploy with."
- - string:
- name: GIT_BASE
- default: https://gerrit.opnfv.org/gerrit/$PROJECT
- description: 'Git URL to use on this Jenkins Slave'
- - string:
- name: SSH_KEY
- default: /root/.ssh/id_rsa
- description: 'SSH key to use for Apex'
-
- properties:
- - logrotate-default
- - build-blocker:
- use-build-blocker: true
- blocking-level: 'NODE'
- blocking-jobs:
- - 'apex-verify.*'
- - 'apex-runner.*'
- - 'apex-.*-promote.*'
- - 'apex-run.*'
- - 'apex-.+-baremetal-.+'
- - throttle:
- max-per-node: 1
- max-total: 10
- option: 'project'
-
- builders:
- - description-setter:
- description: "Deployed on $NODE_NAME - Scenario: $DEPLOY_SCENARIO"
- - multijob:
- name: 'Baremetal Deploy'
- condition: SUCCESSFUL
- projects:
- - name: 'apex-deploy-baremetal-{stream}'
- node-parameters: true
- current-parameters: true
- predefined-parameters: |
- OPNFV_CLEAN=yes
- GERRIT_BRANCH=$GERRIT_BRANCH
- GERRIT_REFSPEC=
- DEPLOY_SCENARIO=$DEPLOY_SCENARIO
- kill-phase-on: FAILURE
- abort-all-job: true
- git-revision: false
- - multijob:
- name: Yardstick
- condition: ALWAYS
- projects:
- - name: 'yardstick-apex-baremetal-daily-{stream}'
- node-parameters: true
- current-parameters: false
- predefined-parameters:
- DEPLOY_SCENARIO=$DEPLOY_SCENARIO
- kill-phase-on: NEVER
- abort-all-job: false
- git-revision: false
-
-
-########################
-# parameter macros
-########################
-- parameter:
- name: apex-parameter
- parameters:
- - string:
- name: ARTIFACT_NAME
- default: 'latest'
- description: "RPM Artifact name that will be appended to GS_URL to deploy a specific artifact"
- - string:
- name: ARTIFACT_VERSION
- default: 'daily'
- description: "Artifact version type"
- - string:
- name: BUILD_DIRECTORY
- default: $WORKSPACE/.build
- description: "Directory where the build artifact will be located upon the completion of the build."
- - string:
- name: CACHE_DIRECTORY
- default: $HOME/opnfv/apex-cache{gs-pathname}
- description: "Directory where the cache to be used during the build is located."
- # yamllint disable rule:line-length
- - string:
- name: GIT_BASE
- default: https://gerrit.opnfv.org/gerrit/$PROJECT
- description: "Used for overriding the GIT URL coming from Global Jenkins configuration in case if the stuff is done on none-LF HW."
- # yamllint enable rule:line-length
- - string:
- name: GS_PATHNAME
- default: '{gs-pathname}'
- description: "Version directory where opnfv artifacts are stored in gs repository"
- - string:
- name: GS_URL
- default: $GS_BASE{gs-pathname}
- description: "URL to Google Storage."
- - string:
- name: PROMOTE
- default: 'False'
- description: "Flag to know if we should promote/upload snapshot artifacts."
-
-########################
-# builder macros
-########################
-
-# danube Builder
-- builder:
- name: apex-builder-danube
- builders:
- - multijob:
- name: Baremetal Deploy and Test Phase
- condition: SUCCESSFUL
- projects:
- - name: 'apex-os-nosdn-nofeature-noha-baremetal-danube'
- 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-nofeature-ha-baremetal-danube'
- 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-nofeature-ha-ipv6-baremetal-danube'
- 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-ovs-noha-baremetal-danube'
- 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-ovs-ha-baremetal-danube'
- 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-fdio-noha-baremetal-danube'
- 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-fdio-ha-baremetal-danube'
- 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-kvm-ha-baremetal-danube'
- 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-kvm-noha-baremetal-danube'
- 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-odl_l2-fdio-noha-baremetal-danube'
- 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-odl_l2-fdio-ha-baremetal-danube'
- 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-odl_netvirt-fdio-noha-baremetal-danube'
- 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-odl_l2-sfc-noha-baremetal-danube'
- 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-odl_l3-nofeature-noha-baremetal-danube'
- 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-odl_l3-nofeature-ha-baremetal-danube'
- 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-odl_l3-ovs-noha-baremetal-danube'
- 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-odl_l3-ovs-ha-baremetal-danube'
- 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-odl-bgpvpn-ha-baremetal-danube'
- 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-odl-gluon-noha-baremetal-danube'
- 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-odl_l3-fdio-noha-baremetal-danube'
- 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-odl_l3-fdio-ha-baremetal-danube'
- 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-odl_l3-fdio_dvr-noha-baremetal-danube'
- 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-odl_l3-fdio_dvr-ha-baremetal-danube'
- 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-odl_l3-csit-noha-baremetal-danube'
- 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-onos-nofeature-ha-baremetal-danube'
- 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-ovn-nofeature-noha-baremetal-danube'
- node-parameters: false
- current-parameters: false
- predefined-parameters: |
- OPNFV_CLEAN=yes
- kill-phase-on: NEVER
- abort-all-job: true
- git-revision: false
-
-# master Builder
-- builder:
- name: apex-builder-master
- builders:
- - multijob:
- name: Baremetal Deploy and Test Phase
- condition: SUCCESSFUL
- projects:
- - name: 'apex-os-nosdn-nofeature-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-nofeature-ha-baremetal-master'
- node-parameters: false
- current-parameters: false
- predefined-parameters: |
- OPNFV_CLEAN=yes
- kill-phase-on: NEVER
- abort-all-job: true
- git-revision: false
-
-# gambia Builder
-- builder:
- name: apex-builder-gambia
- builders:
- - multijob:
- name: Baremetal Deploy and Test Phase
- condition: SUCCESSFUL
- projects:
- - name: 'apex-os-nosdn-nofeature-noha-baremetal-gambia'
- 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-nofeature-ha-baremetal-gambia'
- 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-nofeature-ha-ipv6-baremetal-gambia'
- 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-odl-nofeature-noha-baremetal-gambia'
- 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-odl-nofeature-ha-baremetal-gambia'
- node-parameters: false
- current-parameters: false
- predefined-parameters: |
- OPNFV_CLEAN=yes
- kill-phase-on: NEVER
- abort-all-job: true
- git-revision: false
- - name: 'apex-k8s-nosdn-nofeature-noha-baremetal-gambia'
- 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-odl-bgpvpn-ha-baremetal-gambia'
- 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-odl-bgpvpn-noha-baremetal-gambia'
- 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-odl-sfc-ha-baremetal-gambia'
- 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-odl-sfc-noha-baremetal-gambia'
- 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-noha-baremetal-gambia'
- 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-ovn-nofeature-ha-baremetal-gambia'
- node-parameters: false
- current-parameters: false
- predefined-parameters: |
- OPNFV_CLEAN=yes
- kill-phase-on: NEVER
- abort-all-job: true
- git-revision: false
-
-# fraser Builder
-- builder:
- name: apex-builder-fraser
- builders:
- - multijob:
- name: Baremetal Deploy and Test Phase
- condition: SUCCESSFUL
- projects:
- - name: 'apex-os-nosdn-nofeature-ha-baremetal-fraser'
- 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-odl-bgpvpn-ha-baremetal-fraser'
- node-parameters: false
- current-parameters: false
- predefined-parameters: |
- OPNFV_CLEAN=yes
- kill-phase-on: NEVER
- abort-all-job: true
- git-revision: false
-
-# hunter Builder
-- builder:
- name: apex-builder-hunter
- builders:
- - multijob:
- name: Baremetal Deploy and Test Phase
- condition: SUCCESSFUL
- projects:
- - name: 'apex-os-nosdn-nofeature-noha-baremetal-hunter'
- 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-nofeature-ha-baremetal-hunter'
- 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-ovn-nofeature-ha-baremetal-hunter'
- 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:
- name: apex-builder-euphrates
- builders:
- - multijob:
- name: Baremetal Deploy and Test Phase
- condition: SUCCESSFUL
- projects:
- - name: 'apex-os-nosdn-nofeature-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
- - name: 'apex-os-nosdn-nofeature-ha-baremetal-euphrates'
- 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-odl-nofeature-ha-baremetal-euphrates'
- 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-odl-nofeature-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
- - name: 'apex-os-odl-bgpvpn-ha-baremetal-euphrates'
- 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-ovn-nofeature-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
- - name: 'apex-os-nosdn-fdio-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
- - name: 'apex-os-nosdn-fdio-ha-baremetal-euphrates'
- 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-bar-ha-baremetal-euphrates'
- 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-bar-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
- - name: 'apex-os-nosdn-nofeature-ha-ipv6-baremetal-euphrates'
- 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-ovs_dpdk-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
- - name: 'apex-os-nosdn-ovs_dpdk-ha-baremetal-euphrates'
- 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-kvm_ovs_dpdk-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
- - name: 'apex-os-nosdn-kvm_ovs_dpdk-ha-baremetal-euphrates'
- 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-odl-sfc-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
- - name: 'apex-os-odl-sfc-ha-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:
- - shell:
- !include-raw: ./apex-upload-artifact.sh
-
-- builder:
- name: 'apex-download-artifact'
- builders:
- - shell:
- !include-raw: ./apex-download-artifact.sh
-
-- builder:
- name: 'apex-deploy'
- builders:
- - shell:
- !include-raw: ./apex-deploy.sh
-
-- builder:
- name: 'apex-fetch-logs'
- builders:
- - shell:
- !include-raw: ./apex-fetch-logs.sh
-
-#######################
-# trigger macros
-# timed is in format: 'min hour daymonth month dayweek'
-########################
-- trigger:
- name: 'apex-master'
- triggers:
- - timed: '0 0 1-31/2 * *'
-
-- trigger:
- name: 'apex-hunter'
- triggers:
- - timed: '0 4 2-30/2 * *'
-
-- trigger:
- name: 'apex-gambia'
- triggers:
- - timed: '0 4 2-30/2 * *'
-
-- trigger:
- name: 'apex-fraser'
- triggers:
- - timed: '0 0 2-30/2 * *'
-
-- trigger:
- name: 'apex-euphrates'
- triggers:
- - timed: '0 0 2-30/2 * *'
-
-- trigger:
- name: 'apex-danube'
- triggers:
- - timed: '0 3 1 1 7'
-
-- trigger:
- name: 'master-csit-master'
- triggers:
- - timed: '0 5 * * *'
-
-- trigger:
- name: 'master-csit-rocky'
- triggers:
- - timed: '0 5 * * *'
-
-- trigger:
- name: 'master-csit-queens'
- triggers:
- - timed: ''
-
-- trigger:
- name: 'hunter-csit-master'
- triggers:
- - timed: ''
-
-- trigger:
- name: 'hunter-csit-rocky'
- triggers:
- - timed: '0 5 * * *'
-
-- trigger:
- name: 'hunter-csit-queens'
- triggers:
- - timed: ''
-
-- trigger:
- name: 'gambia-csit-master'
- triggers:
- - timed: ''
-
-- trigger:
- name: 'gambia-csit-rocky'
- triggers:
- - timed: ''
-
-- trigger:
- name: 'gambia-csit-queens'
- triggers:
- - timed: '0 5 * * *'
-
-- trigger:
- name: 'fraser-csit-master'
- triggers:
- - timed: ''
-
-- trigger:
- name: 'fraser-csit-rocky'
- triggers:
- - timed: ''
-
-- trigger:
- name: 'fraser-csit-queens'
- triggers:
- - timed: ''
-
-- trigger:
- name: 'euphrates-csit-master'
- triggers:
- - timed: ''
-
-- trigger:
- name: 'euphrates-csit-rocky'
- triggers:
- - timed: ''
-
-- trigger:
- name: 'euphrates-csit-queens'
- triggers:
- - timed: ''
-
-- trigger:
- name: 'danube-csit-master'
- triggers:
- - timed: ''
-
-- trigger:
- name: 'danube-csit-rocky'
- triggers:
- - timed: ''
-
-- trigger:
- name: 'danube-csit-queens'
- triggers:
- - timed: ''
-- trigger:
- name: 'master-functest-master'
- triggers:
- - timed: '0 3 * * *'
-
-- trigger:
- name: 'master-functest-rocky'
- triggers:
- - timed: '0 3 * * *'
-
-- trigger:
- name: 'master-functest-queens'
- triggers:
- - timed: ''
-
-- trigger:
- name: 'hunter-functest-master'
- triggers:
- - timed: ''
-
-- trigger:
- name: 'hunter-functest-rocky'
- triggers:
- - timed: '0 3 * * *'
-
-- trigger:
- name: 'hunter-functest-queens'
- triggers:
- - timed: ''
-
-- trigger:
- name: 'gambia-functest-master'
- triggers:
- - timed: ''
-
-- trigger:
- name: 'gambia-functest-rocky'
- triggers:
- - timed: ''
-
-- trigger:
- name: 'gambia-functest-queens'
- triggers:
- - timed: '0 3 * * *'
-
-- trigger:
- name: 'fraser-functest-master'
- triggers:
- - timed: ''
-
-- trigger:
- name: 'fraser-functest-rocky'
- triggers:
- - timed: ''
-
-- trigger:
- name: 'fraser-functest-queens'
- triggers:
- - timed: ''
-
-- trigger:
- name: 'euphrates-functest-master'
- triggers:
- - timed: ''
-
-- trigger:
- name: 'euphrates-functest-rocky'
- triggers:
- - timed: ''
-
-- trigger:
- name: 'euphrates-functest-queens'
- triggers:
- - timed: ''
-
-- trigger:
- name: 'danube-functest-master'
- triggers:
- - timed: ''
-
-- trigger:
- name: 'danube-functest-rocky'
- triggers:
- - timed: ''
-
-- trigger:
- name: 'danube-functest-queens'
- triggers:
- - timed: ''
diff --git a/jjb/apex/apex.yaml.j2 b/jjb/apex/apex.yaml.j2
deleted file mode 100644
index 293aace..0000000
--- a/jjb/apex/apex.yaml.j2
+++ /dev/null
@@ -1,1361 +0,0 @@
----
-- project:
- name: 'apex'
- project: 'apex'
- jobs:
- - 'apex-fetch-logs-{stream}'
- - 'apex-runner-cperf-{stream}'
- - 'apex-virtual-{stream}'
- - 'apex-deploy-{platform}-{stream}'
- - 'apex-daily-{stream}'
- - 'apex-{snap_type}-promote-daily-{stream}-os-{os_version}-{topology}'
- - 'apex-fdio-promote-daily-{stream}'
- - 'apex-{scenario}-baremetal-{scenario_stream}'
- - 'apex-testsuite-{scenario}-baremetal-{scenario_stream}'
- - 'apex-upload-snapshot'
- - 'apex-create-snapshot'
- - 'apex-fetch-snap-info'
- - 'apex-flex-daily-os-nosdn-nofeature-ha-{stream}'
- # stream: branch with - in place of / (eg. stable-arno)
- # branch: branch (eg. stable/arno)
- stream:
- - master: &master
- branch: 'master'
- gs-pathname: ''
- build-slave: 'apex-build-master'
- virtual-slave: 'apex-virtual-master'
- baremetal-slave: 'apex-baremetal-master'
- verify-scenario: 'os-nosdn-nofeature-noha'
- scenario_stream: 'master'
- disable_daily: true
- disable_promote: true
- - hunter: &hunter
- branch: 'stable/hunter'
- gs-pathname: '/hunter'
- build-slave: 'apex-build-master'
- virtual-slave: 'apex-virtual-master'
- baremetal-slave: 'apex-baremetal-master'
- verify-scenario: 'os-nosdn-nofeature-ha'
- scenario_stream: 'hunter'
- disable_daily: true
- disable_promote: true
- - gambia: &gambia
- branch: 'stable/gambia'
- gs-pathname: '/gambia'
- build-slave: 'apex-build-master'
- virtual-slave: 'apex-virtual-master'
- baremetal-slave: 'apex-baremetal-master'
- verify-scenario: 'os-nosdn-nofeature-ha'
- scenario_stream: 'gambia'
- disable_daily: true
- disable_promote: true
- - fraser: &fraser
- branch: 'stable/fraser'
- gs-pathname: '/fraser'
- build-slave: 'apex-build-master'
- virtual-slave: 'apex-virtual-master'
- baremetal-slave: 'apex-baremetal-master'
- verify-scenario: 'os-nosdn-nofeature-ha'
- scenario_stream: 'fraser'
- disable_daily: true
- disable_promote: true
- - euphrates: &euphrates
- branch: 'stable/euphrates'
- gs-pathname: '/euphrates'
- build-slave: 'apex-build-master'
- virtual-slave: 'apex-virtual-master'
- baremetal-slave: 'apex-baremetal-master'
- verify-scenario: 'os-odl-nofeature-ha'
- scenario_stream: 'euphrates'
- disable_daily: true
- disable_promote: true
- - danube: &danube
- branch: 'stable/danube'
- gs-pathname: '/danube'
- build-slave: 'apex-build-danube'
- virtual-slave: 'apex-virtual-danube'
- baremetal-slave: 'apex-baremetal-danube'
- verify-scenario: 'os-odl_l3-nofeature-ha'
- scenario_stream: 'danube'
- disabled: true
- disable_daily: true
- disable_promote: true
-
- scenario:
- {%- for stream in scenarios %}
- {%- for scenario in scenarios[stream] %}
- - '{{scenario}}':
- <<: *{{stream}}
- {%- endfor %}
- {%- endfor %}
-
- platform:
- - 'baremetal'
- - 'virtual'
-
- os_version:
- - 'queens':
- os_scenario: 'nofeature'
- odl_branch: 'stable/oxygen'
- - 'rocky':
- os_scenario: 'rocky'
- odl_branch: 'stable/oxygen'
- - 'master':
- os_scenario: 'nofeature'
- odl_branch: 'stable/fluorine'
-
- topology:
- - 'noha'
- - 'ha'
- - 'noha-allinone'
-
- snap_type:
- - csit:
- sdn: 'odl'
- - functest:
- sdn: 'nosdn'
-# Fetch Logs Job
-- job-template:
- name: 'apex-fetch-logs-{stream}'
-
- concurrent: true
-
- disabled: false
- scm:
- - git-scm-gerrit
- parameters:
- - project-parameter:
- project: '{project}'
- branch: '{branch}'
- - apex-parameter:
- gs-pathname: '{gs-pathname}'
- # yamllint enable rule:line-length
- properties:
- - logrotate-default
- - throttle:
- max-per-node: 1
- max-total: 10
- option: 'project'
-
- builders:
- - 'apex-fetch-logs'
-
-- job-template:
- name: 'apex-runner-cperf-{stream}'
-
- # runner cperf job
- project-type: 'multijob'
- node: 'intel-pod2'
-
- disabled: false
-
- parameters:
- - apex-parameter:
- gs-pathname: '{gs-pathname}'
- - project-parameter:
- project: '{project}'
- branch: '{branch}'
- - string:
- name: GIT_BASE
- default: https://gerrit.opnfv.org/gerrit/$PROJECT
- description: "Used for overriding the GIT URL coming from parameters macro."
-
- scm:
- - git-scm
-
- properties:
- - logrotate-default
- - build-blocker:
- use-build-blocker: false
- blocking-level: 'NODE'
- blocking-jobs:
- - 'apex-deploy.*'
- - throttle:
- max-per-node: 1
- max-total: 10
- option: 'project'
-
- builders:
- - description-setter:
- description: "Deployed on $NODE_NAME"
- - multijob:
- name: 'Baremetal Deploy'
- condition: ALWAYS
- projects:
- - name: 'apex-deploy-baremetal-{stream}'
- node-parameters: false
- current-parameters: true
- predefined-parameters: |
- GERRIT_BRANCH=$GERRIT_BRANCH
- GERRIT_REFSPEC=
- OPNFV_CLEAN=yes
- DEPLOY_SCENARIO={verify-scenario}
- kill-phase-on: FAILURE
- abort-all-job: true
- git-revision: false
- - multijob:
- name: CPERF
- condition: SUCCESSFUL
- projects:
- - name: 'cperf-apex-intel-pod2-daily-master'
- node-parameters: true
- current-parameters: false
- predefined-parameters:
- DEPLOY_SCENARIO={verify-scenario}
- kill-phase-on: NEVER
- abort-all-job: false
- git-revision: false
-
-# Deploy job
-- job-template:
- name: 'apex-deploy-{platform}-{stream}'
-
- concurrent: true
-
- disabled: false
- quiet-period: 30
- scm:
- - git-scm-gerrit
-
- wrappers:
- - timeout:
- timeout: 140
- fail: true
-
- parameters:
- - '{project}-{platform}-{stream}-defaults'
- - project-parameter:
- project: '{project}'
- branch: '{branch}'
- - apex-parameter:
- gs-pathname: '{gs-pathname}'
- - string:
- name: DEPLOY_SCENARIO
- default: '{verify-scenario}'
- description: "Scenario to deploy with."
- # yamllint disable rule:line-length
- - string:
- name: OPNFV_CLEAN
- default: 'no'
- description: "Use yes in lower case to invoke clean. Indicates if the deploy environment should be cleaned before deployment"
-
- # yamllint enable rule:line-length
- properties:
- - logrotate-default
- - build-blocker:
- use-build-blocker: true
- blocking-level: 'NODE'
- blocking-jobs:
- - 'apex-deploy.*'
- - 'functest.*'
- - 'yardstick.*'
- - 'dovetail.*'
- - 'storperf.*'
- - 'odl-netvirt.*'
- - throttle:
- max-per-node: 1
- max-total: 10
- option: 'project'
-
- builders:
- - description-setter:
- description: "Deployed on $NODE_NAME - Scenario: $DEPLOY_SCENARIO"
- - 'apex-download-artifact'
- - 'apex-deploy'
- - 'clean-workspace'
-
-
-# Virtual Deploy and Test
-- job-template:
- name: 'apex-virtual-{stream}'
-
- project-type: 'multijob'
-
- concurrent: true
-
- disabled: false
-
- scm:
- - git-scm-gerrit
-
- parameters:
- - '{project}-defaults'
- - '{project}-virtual-{stream}-defaults'
- - 'functest-suite-parameter'
- - project-parameter:
- project: '{project}'
- branch: '{branch}'
- - apex-parameter:
- gs-pathname: '{gs-pathname}'
- - string:
- name: DEPLOY_SCENARIO
- default: '{verify-scenario}'
- description: "Scenario to deploy with."
- - string:
- name: ARTIFACT_VERSION
- default: dev
- description: "Used for overriding the ARTIFACT_VERSION"
-
- properties:
- - logrotate-default
- - build-blocker:
- use-build-blocker: true
- blocking-level: 'NODE'
- blocking-jobs:
- - 'apex-runner.*'
- - 'apex-run.*'
- - 'apex-virtual-.*'
- - 'apex-verify-gate-.*'
- - 'odl-netvirt.*'
- - 'apex-.*-promote.*'
- - throttle:
- max-per-node: 1
- max-total: 10
- option: 'project'
-
- builders:
- - description-setter:
- description: "Deployed on $NODE_NAME - Scenario: $DEPLOY_SCENARIO"
- - multijob:
- name: deploy-virtual
- condition: SUCCESSFUL
- projects:
- - name: 'apex-deploy-virtual-{stream}'
- current-parameters: false
- predefined-parameters: |
- ARTIFACT_VERSION=$ARTIFACT_VERSION
- DEPLOY_SCENARIO=$DEPLOY_SCENARIO
- OPNFV_CLEAN=yes
- GERRIT_BRANCH=$GERRIT_BRANCH
- GERRIT_REFSPEC=$GERRIT_REFSPEC
- GERRIT_CHANGE_NUMBER=$GERRIT_CHANGE_NUMBER
- GERRIT_CHANGE_COMMIT_MESSAGE=$GERRIT_CHANGE_COMMIT_MESSAGE
- PROMOTE=$PROMOTE
- node-parameters: true
- kill-phase-on: FAILURE
- abort-all-job: true
- git-revision: true
- - multijob:
- name: functest-smoke
- condition: ALWAYS
- projects:
- - name: 'functest-apex-virtual-suite-{stream}'
- current-parameters: false
- predefined-parameters: |
- DEPLOY_SCENARIO=$DEPLOY_SCENARIO
- FUNCTEST_MODE=$FUNCTEST_MODE
- FUNCTEST_SUITE_NAME=$FUNCTEST_SUITE_NAME
- GERRIT_BRANCH=$GERRIT_BRANCH
- GERRIT_REFSPEC=$GERRIT_REFSPEC
- GERRIT_CHANGE_NUMBER=$GERRIT_CHANGE_NUMBER
- GERRIT_CHANGE_COMMIT_MESSAGE=$GERRIT_CHANGE_COMMIT_MESSAGE
- node-parameters: true
- kill-phase-on: NEVER
- abort-all-job: true
- git-revision: false
- - multijob:
- name: apex-fetch-logs
- projects:
- - name: 'apex-fetch-logs-{stream}'
- current-parameters: false
- predefined-parameters: |
- GERRIT_BRANCH=$GERRIT_BRANCH
- GERRIT_REFSPEC=$GERRIT_REFSPEC
- GERRIT_CHANGE_NUMBER=$GERRIT_CHANGE_NUMBER
- GERRIT_CHANGE_COMMIT_MESSAGE=$GERRIT_CHANGE_COMMIT_MESSAGE
- node-parameters: true
- kill-phase-on: NEVER
- abort-all-job: true
- git-revision: false
-
-# Baremetal Deploy and Test
-- job-template:
- name: 'apex-{scenario}-baremetal-{scenario_stream}'
-
- project-type: 'multijob'
-
- disabled: false
-
- scm:
- - git-scm
-
- parameters:
- - '{project}-defaults'
- - '{project}-baremetal-{scenario_stream}-defaults'
- - project-parameter:
- project: '{project}'
- branch: '{branch}'
- - apex-parameter:
- gs-pathname: '{gs-pathname}'
- - string:
- name: DEPLOY_SCENARIO
- default: '{scenario}'
- description: "Scenario to deploy with."
-
- properties:
- - logrotate-default
- - build-blocker:
- use-build-blocker: true
- blocking-level: 'NODE'
- blocking-jobs:
- - 'apex-verify.*'
- - 'apex-runner.*'
- - 'apex-.*-promote.*'
- - 'apex-run.*'
- - 'apex-.+-baremetal-.+'
- - throttle:
- max-per-node: 1
- max-total: 10
- option: 'project'
-
- builders:
- - description-setter:
- description: "Deployed on $NODE_NAME - Scenario: $DEPLOY_SCENARIO"
- - multijob:
- name: 'Baremetal Deploy'
- condition: SUCCESSFUL
- execution-type: SEQUENTIALLY
- projects:
- - name: 'apex-deploy-baremetal-{scenario_stream}'
- node-parameters: true
- current-parameters: true
- predefined-parameters: |
- OPNFV_CLEAN=yes
- GERRIT_BRANCH=$GERRIT_BRANCH
- GERRIT_REFSPEC=
- DEPLOY_SCENARIO=$DEPLOY_SCENARIO
- kill-phase-on: NEVER
- abort-all-job: true
- git-revision: false
- - name: 'apex-fetch-logs-{scenario_stream}'
- current-parameters: true
- predefined-parameters: |
- GERRIT_BRANCH=$GERRIT_BRANCH
- GERRIT_REFSPEC=
- node-parameters: true
- kill-phase-on: NEVER
- abort-all-job: true
- git-revision: false
- - shell:
- !include-raw-escape: ./apex-functest-scenario.sh
- - inject:
- properties-file: functest_scenario
- override-build-parameters: true
- - multijob:
- name: 'OPNFV Test Suite'
- condition: ALWAYS
- projects:
- - name: 'apex-testsuite-{scenario}-baremetal-{scenario_stream}'
- node-parameters: true
- current-parameters: false
- predefined-parameters: |
- DEPLOY_SCENARIO=$DEPLOY_SCENARIO
- DOCKER_TAG=$DOCKER_TAG
- kill-phase-on: NEVER
- abort-all-job: true
- git-revision: false
- - multijob:
- name: apex-fetch-logs
- projects:
- - name: 'apex-fetch-logs-{scenario_stream}'
- current-parameters: true
- predefined-parameters: |
- GERRIT_BRANCH=$GERRIT_BRANCH
- GERRIT_REFSPEC=
- node-parameters: true
- kill-phase-on: NEVER
- abort-all-job: true
- git-revision: false
- publishers:
- - groovy-postbuild:
- script:
- !include-raw-escape: ./update-build-result.groovy
-
-# Baremetal test job
-- job-template:
- name: 'apex-testsuite-{scenario}-baremetal-{scenario_stream}'
-
- project-type: 'multijob'
-
- disabled: false
-
- parameters:
- - '{project}-defaults'
- - '{project}-baremetal-{scenario_stream}-defaults'
- - project-parameter:
- project: '{project}'
- branch: '{branch}'
- - apex-parameter:
- gs-pathname: '{gs-pathname}'
- - string:
- name: DEPLOY_SCENARIO
- default: '{scenario}'
- description: "Scenario to deploy with."
- - string:
- name: DOCKER_TAG
- default: ''
- description: Default docker tag to pass to functest
-
- properties:
- - logrotate-default
- - build-blocker:
- use-build-blocker: true
- blocking-level: 'NODE'
- blocking-jobs:
- - 'apex-verify.*'
- - 'apex-runner.*'
- - 'apex-run.*'
- - 'apex-testsuite-.+-baremetal-.+'
- - throttle:
- max-per-node: 1
- max-total: 10
- option: 'project'
-
- builders:
- - description-setter:
- description: "Testing on $NODE_NAME - Scenario: $DEPLOY_SCENARIO"
- - multijob:
- name: Functest
- condition: ALWAYS
- projects:
- - name: 'functest-apex-baremetal-daily-{scenario_stream}'
- node-parameters: true
- current-parameters: false
- predefined-parameters: |
- DEPLOY_SCENARIO=$DEPLOY_SCENARIO
- DOCKER_TAG=$DOCKER_TAG
- kill-phase-on: NEVER
- abort-all-job: false
- git-revision: false
- - multijob:
- name: Yardstick
- condition: ALWAYS
- projects:
- - name: 'yardstick-apex-baremetal-daily-{scenario_stream}'
- node-parameters: true
- current-parameters: false
- predefined-parameters:
- DEPLOY_SCENARIO=$DEPLOY_SCENARIO
- kill-phase-on: NEVER
- abort-all-job: false
- git-revision: false
- - multijob:
- name: Dovetail-default-mandatory
- condition: ALWAYS
- projects:
- - name: 'dovetail-apex-baremetal-default-mandatory-{scenario_stream}'
- node-parameters: true
- current-parameters: false
- predefined-parameters:
- DEPLOY_SCENARIO=$DEPLOY_SCENARIO
- kill-phase-on: NEVER
- enable-condition: "def m = '$DEPLOY_SCENARIO' ==~ /os-(nosdn-nofeature|odl-bgpvpn)-ha/"
- abort-all-job: false
- git-revision: false
- - multijob:
- name: Dovetail-default-optional
- condition: ALWAYS
- projects:
- - name: 'dovetail-apex-baremetal-default-optional-{scenario_stream}'
- node-parameters: true
- current-parameters: false
- predefined-parameters:
- DEPLOY_SCENARIO=$DEPLOY_SCENARIO
- kill-phase-on: NEVER
- enable-condition: "def m = '$DEPLOY_SCENARIO' ==~ /os-(nosdn-nofeature|odl-bgpvpn)-ha/"
- abort-all-job: false
- git-revision: false
- - multijob:
- name: Dovetail-proposed_tests
- condition: ALWAYS
- projects:
- - name: 'dovetail-apex-baremetal-proposed_tests-optional-{scenario_stream}'
- node-parameters: true
- current-parameters: false
- predefined-parameters:
- DEPLOY_SCENARIO=$DEPLOY_SCENARIO
- kill-phase-on: NEVER
- enable-condition: "def m = '$DEPLOY_SCENARIO' ==~ /os-(nosdn-nofeature|odl-bgpvpn)-ha/"
- abort-all-job: false
- git-revision: false
- - multijob:
- name: StorPerf
- condition: ALWAYS
- projects:
- - name: 'storperf-apex-baremetal-daily-{scenario_stream}'
- node-parameters: true
- current-parameters: false
- predefined-parameters:
- DEPLOY_SCENARIO=$DEPLOY_SCENARIO
- enable-condition: "def m = '$DEPLOY_SCENARIO' ==~ /os-nosdn-nofeature-ha/"
- kill-phase-on: NEVER
- abort-all-job: false
- git-revision: false
-# Build status is always success due conditional plugin prefetching
-# build status before multijob phases execute
-# - conditional-step:
-# condition-kind: current-status
-# condition-worst: SUCCESS
-# condtion-best: SUCCESS
-# on-evaluation-failure: mark-unstable
-# steps:
-# - shell: 'echo "Tests Passed"'
-
-- job-template:
- name: 'apex-daily-{stream}'
-
- # Job template for daily build
- #
- # Required Variables:
- # stream: branch with - in place of / (eg. stable)
- # branch: branch (eg. stable)
- project-type: 'multijob'
-
- disabled: '{obj:disable_daily}'
-
- scm:
- - git-scm
-
- parameters:
- - '{project}-defaults'
- - '{project}-baremetal-{stream}-defaults'
- - project-parameter:
- project: '{project}'
- branch: '{branch}'
- - apex-parameter:
- gs-pathname: '{gs-pathname}'
-
- properties:
- - logrotate-default
- - build-blocker:
- use-build-blocker: true
- blocking-level: 'NODE'
- blocking-jobs:
- - 'apex-daily.*'
-
- triggers:
- - 'apex-{stream}'
-
- builders:
- - multijob:
- name: build
- condition: SUCCESSFUL
- projects:
- - name: 'apex-build-{stream}'
- current-parameters: false
- predefined-parameters: |
- GERRIT_BRANCH=$GERRIT_BRANCH
- GERRIT_REFSPEC=
- GERRIT_CHANGE_NUMBER=$GERRIT_CHANGE_NUMBER
- GERRIT_CHANGE_COMMIT_MESSAGE=$GERRIT_CHANGE_COMMIT_MESSAGE
- node-parameters: true
- kill-phase-on: FAILURE
- abort-all-job: true
- git-revision: true
- - multijob:
- name: 'Verify and upload ISO'
- condition: SUCCESSFUL
- projects:
- - name: 'apex-verify-iso-{stream}'
- current-parameters: false
- predefined-parameters: |
- BUILD_DIRECTORY=$WORKSPACE/../apex-build-{stream}/.build
- GERRIT_BRANCH=$GERRIT_BRANCH
- GERRIT_REFSPEC=
- GERRIT_CHANGE_NUMBER=$GERRIT_CHANGE_NUMBER
- GERRIT_CHANGE_COMMIT_MESSAGE=$GERRIT_CHANGE_COMMIT_MESSAGE
- node-parameters: true
- kill-phase-on: FAILURE
- abort-all-job: true
- git-revision: true
- - apex-builder-{stream}
-
-# snapshot info fetch
-- job-template:
- name: 'apex-fetch-snap-info'
-
- disabled: false
-
- parameters:
- - '{project}-defaults'
-
- builders:
- - shell:
- !include-raw-escape: ./apex-fetch-snap-info.sh
-
-# snapshot create
-- job-template:
- name: 'apex-create-snapshot'
-
- disabled: false
-
- parameters:
- - '{project}-defaults'
-
- builders:
- - shell:
- !include-raw-escape: ./apex-snapshot-create.sh
-
-# snapshot upload
-- job-template:
- name: 'apex-upload-snapshot'
-
- disabled: false
-
- parameters:
- - '{project}-defaults'
-
- builders:
- - inject:
- properties-content: ARTIFACT_TYPE=snapshot
- - 'apex-upload-artifact'
-
-# CSIT promote
-- job-template:
- name: 'apex-{snap_type}-promote-daily-{stream}-os-{os_version}-{topology}'
-
- # Job template for promoting CSIT Snapshots
- #
- # Required Variables:
- # stream: branch with - in place of / (eg. stable)
- # branch: branch (eg. stable)
- node: '{virtual-slave}'
- project-type: 'multijob'
- disabled: '{disable_promote}'
-
- scm:
- - git-scm
-
- parameters:
- - project-parameter:
- project: '{project}'
- branch: '{branch}'
- - apex-parameter:
- gs-pathname: '{gs-pathname}'
- - string:
- name: ARTIFACT_VERSION
- default: dev
- description: "Used for overriding the ARTIFACT_VERSION"
- - string:
- name: PROMOTE
- default: 'True'
- description: "Used for overriding the PROMOTE"
- - string:
- name: GS_URL
- default: 'artifacts.opnfv.org/apex/{os_version}/{topology}'
- description: "User for overriding GS_URL from apex params"
- - string:
- name: OS_VERSION
- default: '{os_version}'
- description: OpenStack version short name
- - string:
- name: ODL_BRANCH
- default: '{odl_branch}'
- description: ODL branch being used
- - string:
- name: FORCE_PROMOTE
- default: 'False'
- description: "Used to force promotion and skip CSIT"
- - string:
- name: SNAP_TYPE
- default: '{snap_type}'
- description: Type of snapshot to promote
- properties:
- - build-blocker:
- use-build-blocker: true
- blocking-level: 'NODE'
- blocking-jobs:
- - 'apex-verify.*'
- - 'apex-runner.*'
- - 'apex-daily.*'
- - 'apex-.*-promote.*'
- - 'odl-netvirt.*'
- - throttle:
- max-per-node: 1
- max-total: 10
- option: 'project'
-
- triggers:
- - '{stream}-{snap_type}-{os_version}'
-
- builders:
- - multijob:
- name: apex-virtual-deploy
- condition: SUCCESSFUL
- projects:
- - name: 'apex-deploy-virtual-{stream}'
- current-parameters: true
- predefined-parameters: |
- DEPLOY_SCENARIO=os-{sdn}-{os_scenario}-{topology}-{snap_type}
- OPNFV_CLEAN=yes
- GERRIT_BRANCH=$GERRIT_BRANCH
- GERRIT_REFSPEC=$GERRIT_REFSPEC
- GERRIT_CHANGE_NUMBER=$GERRIT_CHANGE_NUMBER
- GERRIT_CHANGE_COMMIT_MESSAGE=$GERRIT_CHANGE_COMMIT_MESSAGE
- node-parameters: true
- kill-phase-on: FAILURE
- abort-all-job: true
- git-revision: true
- - multijob:
- name: fetch snapshot info
- condition: SUCCESSFUL
- projects:
- - name: 'apex-fetch-snap-info'
- current-parameters: true
- node-parameters: true
- kill-phase-on: FAILURE
- abort-all-job: true
- git-revision: false
- - multijob:
- name: test phase
- condition: SUCCESSFUL
- execution-type: SEQUENTIALLY
- projects:
- - name: cperf-apex-csit-master
- predefined-parameters: |
- ODL_BRANCH=$ODL_BRANCH
- RC_FILE_PATH=/tmp/snap/overcloudrc
- NODE_FILE_PATH=/tmp/snap/node.yaml
- SSH_KEY_PATH=/tmp/snap/id_rsa
- ODL_CONTAINERIZED=true
- OS_VERSION=$OS_VERSION
- SKIP_CSIT=$FORCE_PROMOTE
- SNAP_TYPE=$SNAP_TYPE
- node-parameters: true
- kill-phase-on: NEVER
- abort-all-job: false
- enable-condition: "def m = '$SNAP_TYPE' ==~ /csit/"
- - name: cperf-upload-logs-csit
- predefined-parameters: |
- ODL_BRANCH=$ODL_BRANCH
- OS_VERSION=$OS_VERSION
- SNAP_TYPE=$SNAP_TYPE
- node-parameters: true
- kill-phase-on: FAILURE
- abort-all-job: false
- enable-condition: "def m = '$SNAP_TYPE' ==~ /csit/"
- - name: 'functest-apex-virtual-suite-{stream}'
- current-parameters: false
- predefined-parameters: |
- DEPLOY_SCENARIO=$DEPLOY_SCENARIO
- DOCKER_TAG=$DOCKER_TAG
- FUNCTEST_SUITE_NAME=tempest_smoke
- FUNCTEST_MODE=testcase
- GERRIT_BRANCH=$GERRIT_BRANCH
- GERRIT_REFSPEC=$GERRIT_REFSPEC
- GERRIT_CHANGE_NUMBER=$GERRIT_CHANGE_NUMBER
- GERRIT_CHANGE_COMMIT_MESSAGE=$GERRIT_CHANGE_COMMIT_MESSAGE
- node-parameters: true
- kill-phase-on: NEVER
- enable-condition: "def m = '$SNAP_TYPE' ==~ /functest/"
- abort-all-job: true
- git-revision: false
- - name: 'apex-fetch-logs-{stream}'
- current-parameters: false
- predefined-parameters: |
- GERRIT_BRANCH=$GERRIT_BRANCH
- GERRIT_REFSPEC=$GERRIT_REFSPEC
- GERRIT_CHANGE_NUMBER=$GERRIT_CHANGE_NUMBER
- GERRIT_CHANGE_COMMIT_MESSAGE=$GERRIT_CHANGE_COMMIT_MESSAGE
- node-parameters: true
- kill-phase-on: NEVER
- abort-all-job: true
- git-revision: false
- - multijob:
- name: create snapshot
- condition: SUCCESSFUL
- projects:
- - name: 'apex-create-snapshot'
- current-parameters: true
- node-parameters: true
- kill-phase-on: FAILURE
- abort-all-job: true
- git-revision: false
- - multijob:
- name: upload snapshot
- condition: SUCCESSFUL
- projects:
- - name: 'apex-upload-snapshot'
- current-parameters: true
- node-parameters: true
- kill-phase-on: FAILURE
- abort-all-job: true
- git-revision: false
-
-# FDIO promote
-- job-template:
- name: 'apex-fdio-promote-daily-{stream}'
-
- # Job template for promoting CSIT Snapshots
- #
- # Required Variables:
- # stream: branch with - in place of / (eg. stable)
- # branch: branch (eg. stable)
- node: '{virtual-slave}'
- project-type: 'multijob'
- disabled: false
-
- scm:
- - git-scm
-
- parameters:
- - project-parameter:
- project: '{project}'
- branch: '{branch}'
- - apex-parameter:
- gs-pathname: '{gs-pathname}'
-
- properties:
- - build-blocker:
- use-build-blocker: true
- blocking-level: 'NODE'
- blocking-jobs:
- - 'apex-verify.*'
- - 'apex-deploy.*'
- - 'apex-runner.*'
- - 'apex-daily.*'
-
- builders:
- - multijob:
- name: build
- condition: SUCCESSFUL
- projects:
- - name: 'apex-build-{stream}'
- current-parameters: false
- predefined-parameters: |
- GERRIT_BRANCH=$GERRIT_BRANCH
- GERRIT_REFSPEC=$GERRIT_REFSPEC
- GERRIT_CHANGE_NUMBER=$GERRIT_CHANGE_NUMBER
- GERRIT_CHANGE_COMMIT_MESSAGE=$GERRIT_CHANGE_COMMIT_MESSAGE
- node-parameters: false
- kill-phase-on: FAILURE
- abort-all-job: true
- git-revision: true
- - multijob:
- name: deploy-virtual
- condition: SUCCESSFUL
- projects:
- - name: 'apex-deploy-virtual-{stream}'
- current-parameters: false
- predefined-parameters: |
- DEPLOY_SCENARIO=os-odl_netvirt-fdio-noha
- OPNFV_CLEAN=yes
- GERRIT_BRANCH=$GERRIT_BRANCH
- GERRIT_REFSPEC=$GERRIT_REFSPEC
- GERRIT_CHANGE_NUMBER=$GERRIT_CHANGE_NUMBER
- GERRIT_CHANGE_COMMIT_MESSAGE=$GERRIT_CHANGE_COMMIT_MESSAGE
- PROMOTE=True
- node-parameters: true
- kill-phase-on: FAILURE
- abort-all-job: true
- git-revision: false
- - multijob:
- name: create snapshot
- condition: SUCCESSFUL
- projects:
- - name: 'apex-create-snapshot'
- current-parameters: false
- predefined-parameters: |
- SNAP_TYPE=fdio
- node-parameters: true
- kill-phase-on: FAILURE
- abort-all-job: true
- git-revision: false
- - multijob:
- name: upload snapshot
- condition: SUCCESSFUL
- projects:
- - name: 'apex-upload-snapshot'
- current-parameters: false
- predefined-parameters: |
- SNAP_TYPE=fdio
- node-parameters: true
- kill-phase-on: FAILURE
- abort-all-job: true
- git-revision: false
-
-# Flex job
-- job-template:
- name: 'apex-flex-daily-os-nosdn-nofeature-ha-{stream}'
-
- project-type: 'multijob'
-
- disabled: true
-
- node: 'flex-pod2'
-
- scm:
- - git-scm
-
- triggers:
- - 'apex-{stream}'
-
- parameters:
- - '{project}-defaults'
- - project-parameter:
- project: '{project}'
- branch: '{branch}'
- - apex-parameter:
- gs-pathname: '{gs-pathname}'
- - string:
- name: DEPLOY_SCENARIO
- default: 'os-nosdn-nofeature-ha'
- description: "Scenario to deploy with."
- - string:
- name: GIT_BASE
- default: https://gerrit.opnfv.org/gerrit/$PROJECT
- description: 'Git URL to use on this Jenkins Slave'
- - string:
- name: SSH_KEY
- default: /root/.ssh/id_rsa
- description: 'SSH key to use for Apex'
-
- properties:
- - logrotate-default
- - build-blocker:
- use-build-blocker: true
- blocking-level: 'NODE'
- blocking-jobs:
- - 'apex-verify.*'
- - 'apex-runner.*'
- - 'apex-.*-promote.*'
- - 'apex-run.*'
- - 'apex-.+-baremetal-.+'
- - throttle:
- max-per-node: 1
- max-total: 10
- option: 'project'
-
- builders:
- - description-setter:
- description: "Deployed on $NODE_NAME - Scenario: $DEPLOY_SCENARIO"
- - multijob:
- name: 'Baremetal Deploy'
- condition: SUCCESSFUL
- projects:
- - name: 'apex-deploy-baremetal-{stream}'
- node-parameters: true
- current-parameters: true
- predefined-parameters: |
- OPNFV_CLEAN=yes
- GERRIT_BRANCH=$GERRIT_BRANCH
- GERRIT_REFSPEC=
- DEPLOY_SCENARIO=$DEPLOY_SCENARIO
- kill-phase-on: FAILURE
- abort-all-job: true
- git-revision: false
- - multijob:
- name: Yardstick
- condition: ALWAYS
- projects:
- - name: 'yardstick-apex-baremetal-daily-{stream}'
- node-parameters: true
- current-parameters: false
- predefined-parameters:
- DEPLOY_SCENARIO=$DEPLOY_SCENARIO
- kill-phase-on: NEVER
- abort-all-job: false
- git-revision: false
-
-
-########################
-# parameter macros
-########################
-- parameter:
- name: apex-parameter
- parameters:
- - string:
- name: ARTIFACT_NAME
- default: 'latest'
- description: "RPM Artifact name that will be appended to GS_URL to deploy a specific artifact"
- - string:
- name: ARTIFACT_VERSION
- default: 'daily'
- description: "Artifact version type"
- - string:
- name: BUILD_DIRECTORY
- default: $WORKSPACE/.build
- description: "Directory where the build artifact will be located upon the completion of the build."
- - string:
- name: CACHE_DIRECTORY
- default: $HOME/opnfv/apex-cache{gs-pathname}
- description: "Directory where the cache to be used during the build is located."
- # yamllint disable rule:line-length
- - string:
- name: GIT_BASE
- default: https://gerrit.opnfv.org/gerrit/$PROJECT
- description: "Used for overriding the GIT URL coming from Global Jenkins configuration in case if the stuff is done on none-LF HW."
- # yamllint enable rule:line-length
- - string:
- name: GS_PATHNAME
- default: '{gs-pathname}'
- description: "Version directory where opnfv artifacts are stored in gs repository"
- - string:
- name: GS_URL
- default: $GS_BASE{gs-pathname}
- description: "URL to Google Storage."
- - string:
- name: PROMOTE
- default: 'False'
- description: "Flag to know if we should promote/upload snapshot artifacts."
-
-########################
-# builder macros
-########################
-{% for stream in scenarios %}
-# {{ stream }} Builder
-- builder:
- name: apex-builder-{{ stream }}
- builders:
- - multijob:
- name: Baremetal Deploy and Test Phase
- condition: SUCCESSFUL
- projects:
-{%- for scenario in scenarios[stream] %}
- - name: 'apex-{{ scenario }}-baremetal-{{ stream }}'
- node-parameters: false
- current-parameters: false
- predefined-parameters: |
- OPNFV_CLEAN=yes
- kill-phase-on: NEVER
- abort-all-job: true
- git-revision: false
-{%- endfor %}
-{% endfor -%}
-
-- builder:
- name: 'apex-upload-artifact'
- builders:
- - shell:
- !include-raw: ./apex-upload-artifact.sh
-
-- builder:
- name: 'apex-download-artifact'
- builders:
- - shell:
- !include-raw: ./apex-download-artifact.sh
-
-- builder:
- name: 'apex-deploy'
- builders:
- - shell:
- !include-raw: ./apex-deploy.sh
-
-- builder:
- name: 'apex-fetch-logs'
- builders:
- - shell:
- !include-raw: ./apex-fetch-logs.sh
-
-#######################
-# trigger macros
-# timed is in format: 'min hour daymonth month dayweek'
-########################
-- trigger:
- name: 'apex-master'
- triggers:
- - timed: '0 0 1-31/2 * *'
-
-- trigger:
- name: 'apex-hunter'
- triggers:
- - timed: '0 4 2-30/2 * *'
-
-- trigger:
- name: 'apex-gambia'
- triggers:
- - timed: '0 4 2-30/2 * *'
-
-- trigger:
- name: 'apex-fraser'
- triggers:
- - timed: '0 0 2-30/2 * *'
-
-- trigger:
- name: 'apex-euphrates'
- triggers:
- - timed: '0 0 2-30/2 * *'
-
-- trigger:
- name: 'apex-danube'
- triggers:
- - timed: '0 3 1 1 7'
-
-- trigger:
- name: 'master-csit-master'
- triggers:
- - timed: '0 5 * * *'
-
-- trigger:
- name: 'master-csit-rocky'
- triggers:
- - timed: '0 5 * * *'
-
-- trigger:
- name: 'master-csit-queens'
- triggers:
- - timed: ''
-
-- trigger:
- name: 'hunter-csit-master'
- triggers:
- - timed: ''
-
-- trigger:
- name: 'hunter-csit-rocky'
- triggers:
- - timed: '0 5 * * *'
-
-- trigger:
- name: 'hunter-csit-queens'
- triggers:
- - timed: ''
-
-- trigger:
- name: 'gambia-csit-master'
- triggers:
- - timed: ''
-
-- trigger:
- name: 'gambia-csit-rocky'
- triggers:
- - timed: ''
-
-- trigger:
- name: 'gambia-csit-queens'
- triggers:
- - timed: '0 5 * * *'
-
-- trigger:
- name: 'fraser-csit-master'
- triggers:
- - timed: ''
-
-- trigger:
- name: 'fraser-csit-rocky'
- triggers:
- - timed: ''
-
-- trigger:
- name: 'fraser-csit-queens'
- triggers:
- - timed: ''
-
-- trigger:
- name: 'euphrates-csit-master'
- triggers:
- - timed: ''
-
-- trigger:
- name: 'euphrates-csit-rocky'
- triggers:
- - timed: ''
-
-- trigger:
- name: 'euphrates-csit-queens'
- triggers:
- - timed: ''
-
-- trigger:
- name: 'danube-csit-master'
- triggers:
- - timed: ''
-
-- trigger:
- name: 'danube-csit-rocky'
- triggers:
- - timed: ''
-
-- trigger:
- name: 'danube-csit-queens'
- triggers:
- - timed: ''
-- trigger:
- name: 'master-functest-master'
- triggers:
- - timed: '0 3 * * *'
-
-- trigger:
- name: 'master-functest-rocky'
- triggers:
- - timed: '0 3 * * *'
-
-- trigger:
- name: 'master-functest-queens'
- triggers:
- - timed: ''
-
-- trigger:
- name: 'hunter-functest-master'
- triggers:
- - timed: ''
-
-- trigger:
- name: 'hunter-functest-rocky'
- triggers:
- - timed: '0 3 * * *'
-
-- trigger:
- name: 'hunter-functest-queens'
- triggers:
- - timed: ''
-
-- trigger:
- name: 'gambia-functest-master'
- triggers:
- - timed: ''
-
-- trigger:
- name: 'gambia-functest-rocky'
- triggers:
- - timed: ''
-
-- trigger:
- name: 'gambia-functest-queens'
- triggers:
- - timed: '0 3 * * *'
-
-- trigger:
- name: 'fraser-functest-master'
- triggers:
- - timed: ''
-
-- trigger:
- name: 'fraser-functest-rocky'
- triggers:
- - timed: ''
-
-- trigger:
- name: 'fraser-functest-queens'
- triggers:
- - timed: ''
-
-- trigger:
- name: 'euphrates-functest-master'
- triggers:
- - timed: ''
-
-- trigger:
- name: 'euphrates-functest-rocky'
- triggers:
- - timed: ''
-
-- trigger:
- name: 'euphrates-functest-queens'
- triggers:
- - timed: ''
-
-- trigger:
- name: 'danube-functest-master'
- triggers:
- - timed: ''
-
-- trigger:
- name: 'danube-functest-rocky'
- triggers:
- - timed: ''
-
-- trigger:
- name: 'danube-functest-queens'
- triggers:
- - timed: ''
diff --git a/jjb/apex/scenarios.yaml.hidden b/jjb/apex/scenarios.yaml.hidden
deleted file mode 100644
index d9d32b4..0000000
--- a/jjb/apex/scenarios.yaml.hidden
+++ /dev/null
@@ -1,68 +0,0 @@
-master:
- - 'os-nosdn-nofeature-noha'
- - 'os-nosdn-nofeature-ha'
-hunter:
- - 'os-nosdn-nofeature-noha'
- - 'os-nosdn-nofeature-ha'
- - 'os-ovn-nofeature-ha'
-gambia:
- - 'os-nosdn-nofeature-noha'
- - 'os-nosdn-nofeature-ha'
- - 'os-nosdn-nofeature-ha-ipv6'
- - 'os-odl-nofeature-noha'
- - 'os-odl-nofeature-ha'
- - 'k8s-nosdn-nofeature-noha'
- - 'os-odl-bgpvpn-ha'
- - 'os-odl-bgpvpn-noha'
- - 'os-odl-sfc-ha'
- - 'os-odl-sfc-noha'
- - 'os-nosdn-calipso-noha'
- - 'os-ovn-nofeature-ha'
-fraser:
- - 'os-nosdn-nofeature-ha'
- - 'os-odl-bgpvpn-ha'
-euphrates:
- - 'os-nosdn-nofeature-noha'
- - 'os-nosdn-nofeature-ha'
- - 'os-odl-nofeature-ha'
- - 'os-odl-nofeature-noha'
- - 'os-odl-bgpvpn-ha'
- - 'os-ovn-nofeature-noha'
- - 'os-nosdn-fdio-noha'
- - 'os-nosdn-fdio-ha'
- - 'os-nosdn-bar-ha'
- - 'os-nosdn-bar-noha'
- - 'os-nosdn-nofeature-ha-ipv6'
- - 'os-nosdn-ovs_dpdk-noha'
- - 'os-nosdn-ovs_dpdk-ha'
- - 'os-nosdn-kvm_ovs_dpdk-noha'
- - 'os-nosdn-kvm_ovs_dpdk-ha'
- - 'os-odl-sfc-noha'
- - 'os-odl-sfc-ha'
-danube:
- - 'os-nosdn-nofeature-noha'
- - 'os-nosdn-nofeature-ha'
- - 'os-nosdn-nofeature-ha-ipv6'
- - 'os-nosdn-ovs-noha'
- - 'os-nosdn-ovs-ha'
- - 'os-nosdn-fdio-noha'
- - 'os-nosdn-fdio-ha'
- - 'os-nosdn-kvm-ha'
- - 'os-nosdn-kvm-noha'
- - 'os-odl_l2-fdio-noha'
- - 'os-odl_l2-fdio-ha'
- - 'os-odl_netvirt-fdio-noha'
- - 'os-odl_l2-sfc-noha'
- - 'os-odl_l3-nofeature-noha'
- - 'os-odl_l3-nofeature-ha'
- - 'os-odl_l3-ovs-noha'
- - 'os-odl_l3-ovs-ha'
- - 'os-odl-bgpvpn-ha'
- - 'os-odl-gluon-noha'
- - 'os-odl_l3-fdio-noha'
- - 'os-odl_l3-fdio-ha'
- - 'os-odl_l3-fdio_dvr-noha'
- - 'os-odl_l3-fdio_dvr-ha'
- - 'os-odl_l3-csit-noha'
- - 'os-onos-nofeature-ha'
- - 'os-ovn-nofeature-noha'
diff --git a/jjb/apex/update-build-result.groovy b/jjb/apex/update-build-result.groovy
deleted file mode 100644
index 9edca6b..0000000
--- a/jjb/apex/update-build-result.groovy
+++ /dev/null
@@ -1,5 +0,0 @@
-import hudson.model.*
-if (manager.logContains('^.*apex-deploy-baremetal.*SUCCESS$')
- && manager.build.@result == hudson.model.Result.FAILURE) {
- manager.build.@result = hudson.model.Result.UNSTABLE
-}
diff --git a/jjb/armband/armband-ci-jobs.yaml b/jjb/armband/armband-ci-jobs.yaml
index 0e99cfb..4f2dc5e 100644
--- a/jjb/armband/armband-ci-jobs.yaml
+++ b/jjb/armband/armband-ci-jobs.yaml
@@ -12,7 +12,7 @@
stream: master
branch: '{stream}'
gs-pathname: ''
- disabled: false
+ disabled: true
functest_docker_tag: hunter
hunter: &hunter
stream: hunter
diff --git a/jjb/availability/availability-rtd-jobs.yaml b/jjb/availability/availability-rtd-jobs.yaml
deleted file mode 100644
index 8488ea7..0000000
--- a/jjb/availability/availability-rtd-jobs.yaml
+++ /dev/null
@@ -1,25 +0,0 @@
----
-- project:
- name: availability-rtd
- project: availability
- project-name: availability
-
- gerrit-skip-vote: true
- project-pattern: 'availability'
- rtd-build-url: 'https://readthedocs.org/api/v2/webhook/opnfv-availability/47351/'
- rtd-token: '3ae514b14073e1eacb697d3eddee62a26c8c891c'
-
- stream:
- - master:
- branch: '{stream}'
- disabled: false
- - hunter: &hunter
- branch: 'stable/{stream}'
- gs-pathname: '/{stream}'
- disabled: false
- - gambia:
- branch: 'stable/{stream}'
- disabled: false
-
- jobs:
- - '{project-name}-rtd-jobs'
diff --git a/jjb/availability/availability.yaml b/jjb/availability/availability.yaml
deleted file mode 100644
index 2d34734..0000000
--- a/jjb/availability/availability.yaml
+++ /dev/null
@@ -1,8 +0,0 @@
----
-- project:
- name: availability
-
- project: '{name}'
-
- jobs:
- - '{project}-verify-basic'
diff --git a/jjb/barometer/barometer-rtd-jobs.yaml b/jjb/barometer/barometer-rtd-jobs.yaml
index 1156772..a8ec686 100644
--- a/jjb/barometer/barometer-rtd-jobs.yaml
+++ b/jjb/barometer/barometer-rtd-jobs.yaml
@@ -12,7 +12,11 @@
- master:
branch: '{stream}'
disabled: false
- - hunter: &hunter
+ - iruya: &iruya
+ branch: 'stable/{stream}'
+ gs-pathname: '/{stream}'
+ disabled: false
+ - hunter:
branch: 'stable/{stream}'
gs-pathname: '/{stream}'
disabled: false
diff --git a/jjb/barometer/barometer.yaml b/jjb/barometer/barometer.yaml
index 6bc904e..f61110a 100644
--- a/jjb/barometer/barometer.yaml
+++ b/jjb/barometer/barometer.yaml
@@ -12,17 +12,14 @@
- 'barometer-verify-{stream}'
- 'barometer-merge-{stream}'
- 'barometer-daily-{stream}'
+ - 'barometer-plugins-tests'
stream:
- master:
branch: '{stream}'
gs-pathname: ''
disabled: false
- - hunter: &hunter
- branch: 'stable/{stream}'
- gs-pathname: '/{stream}'
- disabled: false
- - gambia:
+ - iruya: &iruya
branch: 'stable/{stream}'
gs-pathname: '/{stream}'
disabled: false
@@ -153,6 +150,38 @@
- shell: !include-raw-escape: ./barometer-build.sh
- shell: !include-raw-escape: ./barometer-upload-artifact.sh
+- job-template:
+ name: 'barometer-plugins-tests'
+
+ branch: master
+
+ disabled: '{obj:disabled}'
+
+ parameters:
+ - string:
+ name: BRANCH
+ default: '{branch}'
+
+ triggers:
+ - timed: '@midnight'
+
+ builders:
+ - shell: |
+ rm -rf barometer
+ git clone "https://gerrit.opnfv.org/gerrit/barometer"
+ cd barometer
+ sudo docker build -t opnfv/barometer-collectd-tests-base --network=host \
+ -f docker/barometer-collectd-plugin-tests/Dockerfile.base .
+ docker build -t opnfv/barometer-collectd-tests --network=host \
+ -f docker/barometer-collectd-plugin-tests/Dockerfile .
+ docker run -t --net=host
+ -v `pwd`/src/collectd/collectd_sample_configs-master:/opt/collectd/etc/collectd.conf.d \
+ -v /var/run:/var/run -v /tmp:/tmp -v `pwd`/plugin_test:/tests \
+ --privileged opnfv/barometer-collectd-tests:latest
+ docker container rm $(sudo docker container ls -aq)
+ docker rmi opnfv/barometer-collectd-tests:latest
+ docker rmi opnfv/barometer-collectd-tests-base:latest
+
########################
# parameter macros
########################
diff --git a/jjb/bottlenecks/bottlenecks-cleanup.sh b/jjb/bottlenecks/bottlenecks-cleanup.sh
deleted file mode 100644
index d0e2088..0000000
--- a/jjb/bottlenecks/bottlenecks-cleanup.sh
+++ /dev/null
@@ -1,17 +0,0 @@
-#!/bin/bash
-##############################################################################
-# Copyright (c) 2016 Huawei Technologies Co.,Ltd and others.
-#
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Apache License, Version 2.0
-# which accompanies this distribution, and is available at
-# http://www.apache.org/licenses/LICENSE-2.0
-##############################################################################
-
-#clean up correlated dockers and their images
-bash $WORKSPACE/docker/docker_cleanup.sh -d bottlenecks --debug
-bash $WORKSPACE/docker/docker_cleanup.sh -d Bottlenecks --debug
-bash $WORKSPACE/docker/docker_cleanup.sh -d yardstick --debug
-bash $WORKSPACE/docker/docker_cleanup.sh -d kibana --debug
-bash $WORKSPACE/docker/docker_cleanup.sh -d elasticsearch --debug
-bash $WORKSPACE/docker/docker_cleanup.sh -d influxdb --debug
diff --git a/jjb/bottlenecks/bottlenecks-project-jobs.yaml b/jjb/bottlenecks/bottlenecks-project-jobs.yaml
deleted file mode 100644
index 4561810..0000000
--- a/jjb/bottlenecks/bottlenecks-project-jobs.yaml
+++ /dev/null
@@ -1,222 +0,0 @@
----
-###################################################
-# Non-ci jobs for Bottlenecks project
-# They will only be enabled on request by projects!
-###################################################
-- project:
- name: bottlenecks-project-jobs
-
- project: 'bottlenecks'
-
- jobs:
- - 'bottlenecks-verify-{stream}'
- - 'bottlenecks-merge-{stream}'
- - 'bottlenecks-{suite}-upload-artifacts-{stream}'
-
- stream:
- - master:
- branch: '{stream}'
- # This is used for common project file storage
- gs-pathname: ''
- # This is used for different test suite dependent packages storage
- gs-packagepath: '/{suite}'
- disabled: false
- - hunter: &hunter
- branch: 'stable/{stream}'
- gs-pathname: '/{stream}'
- gs-packagepath: '/{stream}/{suite}'
- disabled: false
-
- suite:
- - 'posca_stress_traffic'
- - 'posca_stress_ping'
-
-################################
-# job templates
-################################
-
-- job-template:
- name: 'bottlenecks-verify-{stream}'
-
- disabled: '{obj:disabled}'
-
- parameters:
- - project-parameter:
- project: '{project}'
- branch: '{branch}'
- - 'opnfv-build-ubuntu-defaults'
-
- scm:
- - git-scm-gerrit
-
- triggers:
- - gerrit:
- server-name: 'gerrit.opnfv.org'
- trigger-on:
- - patchset-created-event:
- exclude-drafts: 'false'
- exclude-trivial-rebase: 'false'
- exclude-no-code-change: 'false'
- - draft-published-event
- - comment-added-contains-event:
- comment-contains-value: 'recheck'
- - comment-added-contains-event:
- comment-contains-value: 'reverify'
- projects:
- - project-compare-type: 'ANT'
- project-pattern: '{project}'
- branches:
- - branch-compare-type: 'ANT'
- branch-pattern: '**/{branch}'
-
- builders:
- - bottlenecks-unit-tests
-
-- job-template:
- name: 'bottlenecks-merge-{stream}'
-
- disabled: '{obj:disabled}'
-
- parameters:
- - project-parameter:
- project: '{project}'
- branch: '{branch}'
- - 'opnfv-build-ubuntu-defaults'
-
- scm:
- - git-scm
-
- triggers:
- - gerrit:
- server-name: 'gerrit.opnfv.org'
- trigger-on:
- - change-merged-event
- - comment-added-contains-event:
- comment-contains-value: 'remerge'
- projects:
- - project-compare-type: 'ANT'
- project-pattern: '{project}'
- branches:
- - branch-compare-type: 'ANT'
- branch-pattern: '**/{branch}'
-
- builders:
- - bottlenecks-hello
-
-- job-template:
- name: 'bottlenecks-{suite}-upload-artifacts-{stream}'
-
-
- disabled: '{obj:disabled}'
-
- concurrent: true
-
- properties:
- - logrotate-default
- - throttle:
- enabled: true
- max-total: 1
- max-per-node: 1
- option: 'project'
-
- parameters:
- - project-parameter:
- project: '{project}'
- branch: '{branch}'
- - 'opnfv-build-ubuntu-defaults'
- - bottlenecks-parameter:
- gs-packagepath: '{gs-packagepath}'
-
- scm:
- - git-scm
-
- builders:
- - 'bottlenecks-builder-upload-artifact'
- - 'bottlenecks-artifact-workspace-cleanup'
-
-####################
-# parameter macros
-####################
-- parameter:
- name: bottlenecks-parameter
- parameters:
- - string:
- name: CACHE_DIR
- default: $WORKSPACE/cache{gs-packagepath}
- description: "the cache to store packages downloaded from public IP"
- - string:
- name: SUITE_URL
- default: gs://artifacts.opnfv.org/bottlenecks{gs-packagepath}
- description: "LF artifacts url for storage of bottlenecks packages"
- - string:
- name: PACKAGE_URL
- default: http://205.177.226.237:9999/bottlenecks{gs-packagepath}/
- description: "the url where we store the packages used for bottlenecks\
- \ rubbos"
-
-####################################
-# builders for bottlenecks project
-####################################
-- builder:
- name: bottlenecks-builder-upload-artifact
- builders:
- - shell: |
- #!/bin/bash
- set -o errexit
-
- echo "Bottlenecks: upload to artifacts from the public IP"
-
- [[ -d $CACHE_DIR ]] || mkdir -p $CACHE_DIR
-
- for file in $(curl -s $PACKAGE_URL |
- grep href |
- sed 's/.*href="//' |
- sed 's/".*//' |
- grep '^[a-zA-Z].*'); do
- curl --connect-timeout 10 -o $CACHE_DIR/$file $PACKAGE_URL$file -v
- echo "bottlenecks: copy file $CACHE_DIR/$file to $SUITE_URL"
- gsutil cp $CACHE_DIR/$file $SUITE_URL
- done
-
-- builder:
- name: bottlenecks-artifact-workspace-cleanup
- builders:
- - shell: |
- #!/bin/bash
- set -o errexit
-
- echo "Bottlenecks: cleanup cache used for storage downloaded packages"
-
- /bin/rm -rf $CACHE_DIR
-
-- builder:
- name: bottlenecks-unit-tests
- builders:
- - shell: |
- #!/bin/bash
- set -o errexit
- set -o pipefail
-
- echo "Running unit tests..."
- cd $WORKSPACE
- virtualenv $WORKSPACE/bottlenecks_venv
- source $WORKSPACE/bottlenecks_venv/bin/activate
-
- # install python packages
- easy_install -U setuptools
- easy_install -U pip
- pip install -r $WORKSPACE/requirements/verify.txt
-
- # unit tests
- /bin/bash $WORKSPACE/verify.sh
-
- deactivate
-
-- builder:
- name: bottlenecks-hello
- builders:
- - shell: |
- #!/bin/bash
- set -o errexit
-
- echo -e "Wellcome to Bottlenecks! \nMerge event is planning to support more functions! "
diff --git a/jjb/bottlenecks/bottlenecks-rtd-jobs.yaml b/jjb/bottlenecks/bottlenecks-rtd-jobs.yaml
deleted file mode 100644
index 57ecd80..0000000
--- a/jjb/bottlenecks/bottlenecks-rtd-jobs.yaml
+++ /dev/null
@@ -1,21 +0,0 @@
----
-- project:
- name: bottlenecks-rtd
- project: bottlenecks
- project-name: bottlenecks
-
- gerrit-skip-vote: true
- project-pattern: 'bottlenecks'
- rtd-build-url: 'https://readthedocs.org/api/v2/webhook/opnfv-bottlenecks/47355/'
- rtd-token: '95dd0dbdde4a219b5196ffb86e15401b7b927885'
-
- stream:
- - master:
- branch: '{stream}'
- disabled: false
- - hunter:
- branch: 'stable/{stream}'
- disabled: false
-
- jobs:
- - '{project-name}-rtd-jobs'
diff --git a/jjb/bottlenecks/bottlenecks-run-suite.sh b/jjb/bottlenecks/bottlenecks-run-suite.sh
deleted file mode 100644
index 2c044ea..0000000
--- a/jjb/bottlenecks/bottlenecks-run-suite.sh
+++ /dev/null
@@ -1,125 +0,0 @@
-#!/bin/bash
-##############################################################################
-# Copyright (c) 2017 Huawei Technologies Co.,Ltd and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Apache License, Version 2.0
-# which accompanies this distribution, and is available at
-# http://www.apache.org/licenses/LICENSE-2.0
-##############################################################################
-
-#set -e
-[[ $GERRIT_REFSPEC_DEBUG == true ]] && redirect="/dev/stdout" || redirect="/dev/null"
-BOTTLENECKS_IMAGE=opnfv/bottlenecks
-REPORT="True"
-
-RELENG_REPO=${WORKSPACE}/releng
-[ -d ${RELENG_REPO} ] && rm -rf ${RELENG_REPO}
-git clone https://gerrit.opnfv.org/gerrit/releng ${RELENG_REPO} >${redirect}
-
-YARDSTICK_REPO=${WORKSPACE}/yardstick
-[ -d ${YARDSTICK_REPO} ] && rm -rf ${YARDSTICK_REPO}
-git clone https://gerrit.opnfv.org/gerrit/yardstick ${YARDSTICK_REPO} >${redirect}
-
-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}
-
- if [[ -f ${OPENRC} ]]; then
- echo "BOTTLENECKS INFO: openstack credentials path is ${OPENRC}"
- cat ${OPENRC}
- else
- echo "BOTTLENECKS ERROR: couldn't find openstack rc file: ${OPENRC}, please check if the it's been properly provided."
- exit 1
- fi
-
- # Finding and crearting POD description files from different deployments
- ssh_options="-o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no"
-
- if [ "$INSTALLER_TYPE" == "fuel" ]; then
- echo "Fetching id_rsa file from jump_server $INSTALLER_IP..."
- sshpass -p r00tme sudo scp $ssh_options root@${INSTALLER_IP}:~/.ssh/id_rsa ${BOTTLENECKS_CONFIG}/id_rsa
- fi
-
- if [ "$INSTALLER_TYPE" == "apex" ]; then
- echo "Fetching id_rsa file from jump_server $INSTALLER_IP..."
- sudo scp $ssh_options stack@${INSTALLER_IP}:~/.ssh/id_rsa ${BOTTLENECKS_CONFIG}/id_rsa
- fi
-
- set +e
-
- sudo -H pip install virtualenv
-
- cd ${RELENG_REPO}/modules
- sudo virtualenv venv
- source venv/bin/activate
- sudo -H pip install -e ./ >/dev/null
- sudo -H pip install netaddr
-
- if [[ ${INSTALLER_TYPE} == fuel ]]; then
- options="-u root -p r00tme"
- elif [[ ${INSTALLER_TYPE} == apex ]]; then
- options="-u stack -k /root/.ssh/id_rsa"
- else
- echo "Don't support to generate pod.yaml on ${INSTALLER_TYPE} currently."
- fi
-
- deactivate
-
- sudo rm -rf ${RELENG_REPO}/modules/venv
- sudo rm -rf ${RELENG_REPO}/modules/opnfv.egg-info
-
- set -e
-
- cd ${WORKSPACE}
-
- if [ -f ${BOTTLENECKS_CONFIG}/pod.yaml ]; then
- echo "FILE: ${BOTTLENECKS_CONFIG}/pod.yaml:"
- cat ${BOTTLENECKS_CONFIG}/pod.yaml
- else
- echo "ERROR: cannot find file ${BOTTLENECKS_CONFIG}/pod.yaml. Please check if it is existing."
- sudo ls -al ${BOTTLENECKS_CONFIG}
- fi
-
- # Running test cases through Bottlenecks docker
- if [[ $SUITE_NAME == posca_stress_traffic ]]; then
- TEST_CASE=posca_factor_system_bandwidth
- elif [[ $SUITE_NAME == posca_stress_ping ]]; then
- TEST_CASE=posca_factor_ping
- else
- TEST_CASE=$SUITE_NAME
- fi
- 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/calipso/calipso.yaml b/jjb/calipso/calipso.yaml
index 6701e7c..7ecabdf 100644
--- a/jjb/calipso/calipso.yaml
+++ b/jjb/calipso/calipso.yaml
@@ -62,4 +62,4 @@
set -o nounset
set -o pipefail
cd $WORKSPACE
- PYTHONPATH=$PWD/app app/test/verify.sh
+ PYTHONPATH=$PWD api/test/verify.sh
diff --git a/jjb/ci_gate_security/opnfv-ci-gate-security.yaml b/jjb/ci_gate_security/opnfv-ci-gate-security.yaml
index 45e6db5..1f75829 100644
--- a/jjb/ci_gate_security/opnfv-ci-gate-security.yaml
+++ b/jjb/ci_gate_security/opnfv-ci-gate-security.yaml
@@ -22,7 +22,6 @@
- bottlenecks
- calipso
- clover
- - conductor
- container4nfv
- cperf
- daisy
@@ -48,8 +47,6 @@
- ovsnfv
- parser
- pharos
- - pharos-tools
- - promise
- qtip
- releng
- releng-anteater
@@ -150,7 +147,7 @@
comment-contains-value: 'recheck'
projects:
- project-compare-type: 'REG_EXP'
- project-pattern: 'apex|armband|bamboo|barometer|bottlenecks|calipso|conductor|cperf|daisy|doctor|dovetail|dpacc|enfv|fds|fuel|pharos|releng|sandbox|yardstick|infra|ipv6|kvmfornfv|models|moon'
+ project-pattern: 'apex|armband|bamboo|barometer|bottlenecks|calipso|cperf|daisy|doctor|dovetail|dpacc|enfv|fds|fuel|pharos|releng|sandbox|yardstick|infra|ipv6|kvmfornfv|models|moon'
branches:
- branch-compare-type: 'ANT'
branch-pattern: '**/{branch}'
diff --git a/jjb/ves/ves-views.yaml b/jjb/cirv/cirv-views.yaml
index 6331a6d..17d4e87 100644
--- a/jjb/ves/ves-views.yaml
+++ b/jjb/cirv/cirv-views.yaml
@@ -1,6 +1,6 @@
---
- project:
- name: ves-view
+ name: cirv-view
views:
- project-view
- project-name: ves
+ project-name: cirv
diff --git a/jjb/cirv/cirv.yaml b/jjb/cirv/cirv.yaml
new file mode 100644
index 0000000..e628f43
--- /dev/null
+++ b/jjb/cirv/cirv.yaml
@@ -0,0 +1,71 @@
+---
+- cirv-project-params: &cirv-project-params
+ name: 'cirv-project-params'
+ tag:
+ - latest:
+ branch: master
+ slave: lf-build2
+
+- builder:
+ name: cirv-run-tox
+ builders:
+ - shell: tox
+
+- trigger:
+ name: cirv-project-patchset-created
+ triggers:
+ - gerrit:
+ server-name: 'gerrit.opnfv.org'
+ trigger-on:
+ - patchset-created-event
+ - comment-added-contains-event:
+ comment-contains-value: 'recheck'
+ - comment-added-contains-event:
+ comment-contains-value: 'reverify'
+ projects:
+ - project-compare-type: 'ANT'
+ project-pattern: 'cirv'
+ branches:
+ - branch-compare-type: 'ANT'
+ branch-pattern: '**/{branch}'
+ skip-vote:
+ successful: false
+ failed: false
+ unstable: false
+ notbuilt: false
+
+- parameter:
+ name: cirv-project-slave
+ parameters:
+ - label:
+ name: slave
+ default: '{slave}'
+
+- scm:
+ name: cirv-project-scm
+ scm:
+ - git:
+ url: https://gerrit.opnfv.org/gerrit/cirv
+ refspec: '+refs/changes/*:refs/changes/*'
+ branches:
+ - '{ref}'
+
+- job-template:
+ name: 'cirv-run-tox-{tag}'
+ triggers:
+ - cirv-project-patchset-created:
+ branch: '{branch}'
+ scm:
+ - cirv-project-scm:
+ ref: $GERRIT_REFSPEC
+ parameters:
+ - cirv-project-slave:
+ slave: '{slave}'
+ builders:
+ - cirv-run-tox
+
+- project:
+ name: 'cirv-run-tox'
+ <<: *cirv-project-params
+ jobs:
+ - 'cirv-run-tox-{tag}'
diff --git a/jjb/conductor/conductor.yaml b/jjb/conductor/conductor.yaml
deleted file mode 100644
index 8a128da..0000000
--- a/jjb/conductor/conductor.yaml
+++ /dev/null
@@ -1,8 +0,0 @@
----
-- project:
- name: conductor
-
- project: '{name}'
-
- jobs:
- - '{project}-verify-basic'
diff --git a/jjb/cperf/cirros-upload.yaml.ansible b/jjb/cperf/cirros-upload.yaml.ansible
deleted file mode 100644
index 855bb1f..0000000
--- a/jjb/cperf/cirros-upload.yaml.ansible
+++ /dev/null
@@ -1,39 +0,0 @@
----
-- hosts: all
- tasks:
- - copy:
- src: "{{ lookup('env', 'WORKSPACE') }}/{{ item }}"
- dest: "/home/heat-admin/{{ item }}"
- owner: heat-admin
- group: heat-admin
- mode: 0775
- with_items:
- - cirros-0.3.5-x86_64-disk.img
- - overcloudrc
- - name: Upload cirros glance image
- shell: >
- source /home/heat-admin/overcloudrc && openstack image create
- cirros-0.3.5-x86_64-disk --public
- --file /home/heat-admin/cirros-0.3.5-x86_64-disk.img
- --disk-format qcow2 --container-format bare
- - name: Create nano flavor
- shell: >
- source /home/heat-admin/overcloudrc && openstack flavor create
- --id 42 --ram 64 --disk 0 --vcpus 1 m1.nano
- - name: Open CSIT TCP port for netcat
- iptables:
- chain: INPUT
- action: insert
- protocol: tcp
- destination_port: 12345
- jump: ACCEPT
- become: yes
- - name: Open CSIT UDP port for netcat
- iptables:
- chain: INPUT
- action: insert
- protocol: udp
- destination_port: 12345
- jump: ACCEPT
- become: yes
-
diff --git a/jjb/cperf/cperf-ci-jobs.yaml b/jjb/cperf/cperf-ci-jobs.yaml
deleted file mode 100644
index 61bdebd..0000000
--- a/jjb/cperf/cperf-ci-jobs.yaml
+++ /dev/null
@@ -1,210 +0,0 @@
----
-###################################
-# job configuration for cperf
-###################################
-- project:
- name: cperf-ci-jobs
- project: cperf
-
- # -------------------------------
- # BRANCH ANCHORS
- # -------------------------------
- stream: master
- branch: '{stream}'
- gs-pathname: ''
- docker-tag: 'latest'
-
- installer: apex
-
- testsuite:
- - csit
- - cbench
-
- jobs:
- - 'cperf-{installer}-{testsuite}-{stream}'
- - 'cperf-upload-logs-csit'
-
-################################
-# job template
-################################
-- job-template:
- name: 'cperf-{installer}-{testsuite}-{stream}'
-
- concurrent: true
-
- properties:
- - throttle:
- enabled: true
- max-per-node: 1
- option: 'project'
-
- wrappers:
- - build-name:
- name: '$BUILD_NUMBER Suite: $CPERF_SUITE_NAME ODL BRANCH: $ODL_BRANCH'
- - timeout:
- timeout: 400
- abort: true
-
- parameters:
- - cperf-parameter:
- testsuite: '{testsuite}'
- gs-pathname: '{gs-pathname}'
- docker-tag: '{docker-tag}'
- stream: '{stream}'
-
- builders:
- - 'cperf-{testsuite}-builder'
-
-- job-template:
- name: 'cperf-upload-logs-csit'
-
- concurrent: true
-
- disabled: false
-
- parameters:
- - cperf-parameter:
- testsuite: 'csit'
- gs-pathname: '{gs-pathname}'
- docker-tag: '{docker-tag}'
- stream: '{stream}'
-
- # yamllint enable rule:line-length
- properties:
- - logrotate-default
- - throttle:
- max-per-node: 1
- max-total: 10
- option: 'project'
-
- builders:
- - 'cperf-upload-logs-csit'
-
-########################
-# parameter macros
-########################
-- parameter:
- name: cperf-parameter
- parameters:
- - string:
- name: CPERF_SUITE_NAME
- default: '{testsuite}'
- description: "Suite name to run"
- - string:
- name: ODL_BRANCH
- default: 'master'
- description: "Branch that OpenDaylight is running"
- - string:
- name: OS_VERSION
- default: 'master'
- description: "OpenStack version (short name, no stable/ prefix)"
- - string:
- name: GS_PATHNAME
- default: '{gs-pathname}'
- description: "Version directory where the opnfv documents will be stored in gs repository"
- - string:
- name: CI_DEBUG
- default: 'false'
- description: "Show debug output information"
- - string:
- name: DOCKER_TAG
- default: '{docker-tag}'
- description: 'Tag to pull docker image'
- - string:
- name: RC_FILE_PATH
- default: ''
- description: "Path to the OS credentials file if given"
- - string:
- name: SSH_KEY_PATH
- default: ''
- description: "Path to the private SSH key to access OPNFV nodes"
- - string:
- name: NODE_FILE_PATH
- default: ''
- description: "Path to the yaml file describing overcloud nodes"
- - string:
- name: ODL_CONTAINERIZED
- default: 'true'
- description: "boolean set true if ODL on overcloud is a container"
-
-########################
-# trigger macros
-########################
-
-########################
-# builder macros
-########################
-- builder:
- name: cperf-csit-builder
- builders:
- - 'cperf-cleanup'
- - 'cperf-prepare-robot'
- - 'cperf-robot-netvirt-csit'
-
-- builder:
- name: cperf-cbench-builder
- builders:
- - 'cperf-cleanup'
- - 'cperf-prepare-robot'
- - 'cperf-robot-cbench'
-
-- builder:
- name: cperf-prepare-robot
- builders:
- - shell:
- !include-raw: ./cperf-prepare-robot.sh
-
-- builder:
- name: cperf-robot-cbench
- builders:
- - shell: |
- #!/bin/bash
- set -o errexit
- set -o nounset
- set -o pipefail
-
- # cbench requires the openflow drop test feature to be installed.
- sshpass -p karaf ssh -o StrictHostKeyChecking=no \
- -o UserKnownHostsFile=/dev/null \
- -o LogLevel=error \
- -p 8101 karaf@$SDN_CONTROLLER_IP \
- feature:install odl-openflowplugin-flow-services-ui odl-openflowplugin-drop-test
-
- robot_cmd="pybot -e exclude -L TRACE -d /tmp \
- -v ODL_SYSTEM_1_IP:${SDN_CONTROLLER_IP} \
- -v ODL_SYSTEM_IP:${SDN_CONTROLLER_IP} \
- -v BUNDLEFOLDER:/opt/opendaylight \
- -v RESTCONFPORT:8081 \
- -v USER_HOME:/tmp \
- -v USER:heat-admin \
- -v ODL_SYSTEM_USER:heat-admin \
- -v TOOLS_SYSTEM_IP:localhost \
- -v of_port:6653"
- robot_suite="/home/opnfv/repos/odl_test/csit/suites/openflowplugin/Performance/010_Cbench.robot"
-
- docker run -i -v /tmp:/tmp opnfv/cperf:$DOCKER_TAG ${robot_cmd} ${robot_suite}
-
-- builder:
- name: cperf-robot-netvirt-csit
- builders:
- - shell:
- !include-raw: ./cperf-robot-netvirt-csit.sh
-
-- builder:
- name: cperf-cleanup
- builders:
- - shell: |
- #!/bin/bash
- [[ $CI_DEBUG == true ]] && redirect="/dev/stdout" || redirect="/dev/null"
-
- echo "Cleaning up docker containers/images..."
- # Remove previous running containers if exist
- if [[ ! -z $(docker ps -a | grep opnfv/cperf) ]]; then
- echo "Removing existing opnfv/cperf containers..."
- docker ps -a | grep opnfv/cperf | awk '{print $1}' | xargs docker rm -f >${redirect}
- fi
-
-- builder:
- name: cperf-upload-logs-csit
- builders:
- - shell: !include-raw: ./cperf-upload-logs-csit.sh
diff --git a/jjb/cperf/cperf-prepare-robot.sh b/jjb/cperf/cperf-prepare-robot.sh
deleted file mode 100755
index d88c6d5..0000000
--- a/jjb/cperf/cperf-prepare-robot.sh
+++ /dev/null
@@ -1,32 +0,0 @@
-#!/usr/bin/env bash
-
-set -o errexit
-set -o nounset
-set -o pipefail
-
-if [ -z ${RC_FILE_PATH+x} ]; then
- undercloud_mac=$(sudo virsh domiflist undercloud | grep default | \
- grep -Eo "[0-9a-f]+:[0-9a-f]+:[0-9a-f]+:[0-9a-f]+:[0-9a-f]+:[0-9a-f]+")
- INSTALLER_IP=$(/usr/sbin/arp -e | grep ${undercloud_mac} | awk {'print $1'})
- sudo scp -o StrictHostKeyChecking=no root@$INSTALLER_IP:/home/stack/overcloudrc /tmp/overcloudrc
-else
- cp -f $RC_FILE_PATH ${WORKSPACE}/overcloudrc
-fi
-
-sudo chmod 755 ${WORKSPACE}/overcloudrc
-source ${WORKSPACE}/overcloudrc
-
-# copy ssh key for robot
-
-if [ -z ${SSH_KEY_PATH+x} ]; then
- sudo scp -o StrictHostKeyChecking=no root@$INSTALLER_IP:/home/stack/.ssh/id_rsa ${WORKSPACE}/
- sudo chown -R jenkins-ci:jenkins-ci ${WORKSPACE}/
- # done with sudo. jenkins-ci is the user from this point
- chmod 0600 ${WORKSPACE}/id_rsa
-else
- cp -f ${SSH_KEY_PATH} ${WORKSPACE}/
-fi
-
-docker pull opnfv/cperf:$DOCKER_TAG
-
-sudo mkdir -p /tmp/robot_results
diff --git a/jjb/cperf/cperf-robot-netvirt-csit.sh b/jjb/cperf/cperf-robot-netvirt-csit.sh
deleted file mode 100755
index eac1316..0000000
--- a/jjb/cperf/cperf-robot-netvirt-csit.sh
+++ /dev/null
@@ -1,186 +0,0 @@
-#!/usr/bin/env bash
-
-set -o errexit
-set -o nounset
-set -o pipefail
-
-if [[ ! -z ${SKIP_CSIT+x} && "$SKIP_CSIT" == "True" ]]; then
- echo "Skipping csit run"
- exit 0
-fi
-
-if [ "$OS_VERSION" == 'master' ]; then
- FULL_OS_VER='master'
-else
- FULL_OS_VER="stable/${OS_VERSION}"
-fi
-
-if [ "$ODL_BRANCH" == 'master' ]; then
- ODL_STREAM='neon'
-else
- ODL_STREAM=${ODL_BRANCH#"stable/"}
-fi
-
-echo "ODL Stream set: ${ODL_STREAM} and OS Version is ${FULL_OS_VER}"
-
-sudo rm -rf releng
-git clone https://gerrit.opnfv.org/gerrit/releng.git
-REL_PATH='releng/jjb/cperf'
-
-# NOTE: sourcing overcloudrc unsets any variable with OS_ prefix
-source ${WORKSPACE}/overcloudrc
-# note SDN_CONTROLLER_IP is set in overcloudrc, which is the VIP
-# for admin/public network (since we are running single network deployment)
-
-NUM_CONTROL_NODES=$(python ${REL_PATH}/parse-node-yaml.py num_nodes --file $NODE_FILE_PATH)
-NUM_COMPUTE_NODES=$(python ${REL_PATH}/parse-node-yaml.py num_nodes --node-type compute --file $NODE_FILE_PATH)
-
-echo "Number of Control nodes found: ${NUM_CONTROL_NODES}"
-echo "Number of Compute nodes found: ${NUM_COMPUTE_NODES}"
-
-# Only 1 combo or ctrl node is specified, even for OS HA deployments
-# Currently supported combinations are:
-# 0cmb-1ctl-2cmp
-# 1cmb-0ctl-0cmp
-# 1cmb-0ctl-1cmp
-if [ "$NUM_COMPUTE_NODES" -eq 0 ]; then
- OPENSTACK_TOPO="1cmb-0ctl-0cmp"
-else
- OPENSTACK_TOPO="0cmb-1ctl-2cmp"
-fi
-
-idx=1
-EXTRA_ROBOT_ARGS=""
-for idx in `seq 1 $NUM_CONTROL_NODES`; do
- CONTROLLER_IP=$(python ${REL_PATH}/parse-node-yaml.py get_value -k address --node-number ${idx} --file $NODE_FILE_PATH)
- EXTRA_ROBOT_ARGS+=" -v ODL_SYSTEM_${idx}_IP:${CONTROLLER_IP} \
- -v OS_CONTROL_NODE_${idx}_IP:${CONTROLLER_IP} \
- -v ODL_SYSTEM_${idx}_IP:${CONTROLLER_IP} \
- -v HA_PROXY_${idx}_IP:${SDN_CONTROLLER_IP}"
-done
-
-# In all-in-one these Compute IPs still need to be passed to robot
-if [ "$NUM_COMPUTE_NODES" -eq 0 ]; then
- EXTRA_ROBOT_ARGS+=" -v OS_COMPUTE_1_IP:'' -v OS_COMPUTE_2_IP:''"
-else
- idx=1
- for idx in `seq 1 $NUM_COMPUTE_NODES`; do
- COMPUTE_IP=$(python ${REL_PATH}/parse-node-yaml.py get_value -k address --node-type compute --node-number ${idx} --file $NODE_FILE_PATH)
- EXTRA_ROBOT_ARGS+=" -v OS_COMPUTE_${idx}_IP:${COMPUTE_IP}"
- done
-fi
-
-CONTROLLER_1_IP=$(python ${REL_PATH}/parse-node-yaml.py get_value -k address --node-number 1 --file $NODE_FILE_PATH)
-
-if [ "$ODL_CONTAINERIZED" == 'false' ]; then
- EXTRA_ROBOT_ARGS+=" -v NODE_KARAF_COUNT_COMMAND:'ps axf | grep org.apache.karaf | grep -v grep | wc -l || echo 0' \
- -v NODE_START_COMMAND:'sudo systemctl start opendaylight_api' \
- -v NODE_KILL_COMMAND:'sudo systemctl stop opendaylight_api' \
- -v NODE_STOP_COMMAND:'sudo systemctl stop opendaylight_api' \
- -v NODE_FREEZE_COMMAND:'sudo systemctl stop opendaylight_api' "
-else
- EXTRA_ROBOT_ARGS+=" -v NODE_KARAF_COUNT_COMMAND:'sudo docker ps | grep opendaylight_api | wc -l || echo 0' \
- -v NODE_START_COMMAND:'sudo docker start opendaylight_api' \
- -v NODE_KILL_COMMAND:'sudo docker stop opendaylight_api' \
- -v NODE_STOP_COMMAND:'sudo docker stop opendaylight_api' \
- -v NODE_FREEZE_COMMAND:'sudo docker stop opendaylight_api' "
-fi
-
-# FIXME(trozet) remove this once it is fixed in csit
-# Upload glance image into openstack
-wget -O ${WORKSPACE}/cirros-0.3.5-x86_64-disk.img http://download.cirros-cloud.net/0.3.5/cirros-0.3.5-x86_64-disk.img
-export ANSIBLE_HOST_KEY_CHECKING=False
-ansible-playbook -i ${CONTROLLER_1_IP}, -u heat-admin --key-file ${WORKSPACE}/id_rsa ${REL_PATH}/cirros-upload.yaml.ansible --ssh-extra-args='-o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null' -vvv
-
-LOGS_LOCATION=/tmp/robot_results
-
-robot_cmd="pybot \
- --removekeywords wuks \
- --xunit robotxunit.xml \
- --name 'CSIT' \
- -e exclude \
- -d $LOGS_LOCATION \
- -v BUNDLEFOLDER:/opt/opendaylight \
- -v CONTROLLER_USER:heat-admin \
- -v CMP_INSTANCES_SHARED_PATH:/var/lib/nova/instances/ \
- -v DEFAULT_LINUX_PROMPT:\$ \
- -v DEFAULT_LINUX_PROMPT_STRICT:]\$ \
- -v DEFAULT_USER:heat-admin \
- -v DEVSTACK_DEPLOY_PATH:/tmp \
- -v EXTERNAL_GATEWAY:$CONTROLLER_1_IP \
- -v EXTERNAL_PNF:$CONTROLLER_1_IP \
- -v EXTERNAL_SUBNET:192.0.2.0/24 \
- -v EXTERNAL_SUBNET_ALLOCATION_POOL:start=192.0.2.100,end=192.0.2.200 \
- -v EXTERNAL_INTERNET_ADDR:$CONTROLLER_1_IP \
- -v HA_PROXY_IP:$SDN_CONTROLLER_IP \
- -v NUM_ODL_SYSTEM:$NUM_CONTROL_NODES \
- -v NUM_OS_SYSTEM:$(($NUM_CONTROL_NODES + $NUM_COMPUTE_NODES)) \
- -v NUM_TOOLS_SYSTEM:0 \
- -v ODL_SNAT_MODE:conntrack \
- -v ODL_STREAM:$ODL_STREAM \
- -v ODL_SYSTEM_IP:$CONTROLLER_1_IP \
- -v OS_CONTROL_NODE_IP:$CONTROLLER_1_IP \
- -v OPENSTACK_BRANCH:$FULL_OS_VER \
- -v OPENSTACK_TOPO:$OPENSTACK_TOPO \
- -v OS_USER:heat-admin \
- -v ODL_ENABLE_L3_FWD:yes \
- -v ODL_SYSTEM_USER:heat-admin \
- -v ODL_SYSTEM_PROMPT:\$ \
- -v PRE_CLEAN_OPENSTACK_ALL:True \
- -v PUBLIC_PHYSICAL_NETWORK:datacentre \
- -v RESTCONFPORT:8081 \
- -v ODL_RESTCONF_USER:admin \
- -v ODL_RESTCONF_PASSWORD:$SDN_CONTROLLER_PASSWORD \
- -v KARAF_PROMPT_LOGIN:'opendaylight-user' \
- -v KARAF_PROMPT:'opendaylight-user.*root.*>' \
- -v SECURITY_GROUP_MODE:stateful \
- -v USER:heat-admin \
- -v USER_HOME:\$HOME \
- -v TOOLS_SYSTEM_IP:'' \
- -v NODE_ROLE_INDEX_START:0 \
- -v WORKSPACE:/tmp \
- $EXTRA_ROBOT_ARGS \
- -v of_port:6653 "
-
-SUITE_HOME='/home/opnfv/repos/odl_test/csit/suites'
-
-# Disabled suites
-#
-# ${SUITE_HOME}/netvirt/vpnservice/vpn_basic_ipv6.robot
-# This suite fails with an error indicating the connection was closed
-# to the overcloud control node:
-# https://build.opnfv.org/ci/job/cperf-apex-csit-master/104/consoleFull
-#
-# Minimize HA CSIT as it does not pass all suites
-if [ "$NUM_CONTROL_NODES" -eq 3 ]; then
- suites="${SUITE_HOME}/openstack/connectivity/l2.robot \
- ${SUITE_HOME}/openstack/connectivity/l3.robot"
-else
- suites="${SUITE_HOME}/openstack/connectivity/l2.robot \
- ${SUITE_HOME}/openstack/connectivity/l3.robot \
- ${SUITE_HOME}/openstack/connectivity/live_migration.robot \
- ${SUITE_HOME}/openstack/connectivity/external_network.robot \
- ${SUITE_HOME}/openstack/connectivity/security_group.robot \
- ${SUITE_HOME}/openstack/securitygroup/neutron_security_group.robot \
- ${SUITE_HOME}/openstack/securitygroup/security_group_l3bcast.robot \
- ${SUITE_HOME}/netvirt/vpnservice/vpn_basic.robot \
- ${SUITE_HOME}/netvirt/elan/elan.robot \
- ${SUITE_HOME}/netvirt/vpnservice/arp_learning.robot \
- ${SUITE_HOME}/netvirt/l2l3_gatewaymac_arp.robot \
- ${SUITE_HOME}/integration/Create_JVM_Plots.robot"
-fi
-
-echo "Robot command set: ${robot_cmd}"
-echo "Running robot..."
-docker run -i --net=host \
- -v ${LOGS_LOCATION}:${LOGS_LOCATION} \
- -v ${WORKSPACE}/id_rsa:/tmp/id_rsa \
- -v ${WORKSPACE}/overcloudrc:/tmp/overcloudrc \
- opnfv/cperf:$DOCKER_TAG \
- /bin/bash -c "source /tmp/overcloudrc; mkdir -p \$HOME/.ssh; cp /tmp/id_rsa \$HOME/.ssh; \
- cd /home/opnfv/repos/odl_test/ && git pull origin master; \
- pip install odltools; \
- ${robot_cmd} ${suites};"
-
-echo "Running post CSIT clean"
-ansible-playbook -i ${CONTROLLER_1_IP}, -u heat-admin --key-file ${WORKSPACE}/id_rsa ${REL_PATH}/csit-clean.yaml.ansible --ssh-extra-args='-o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null' -vvv
diff --git a/jjb/cperf/cperf-upload-logs-csit.sh b/jjb/cperf/cperf-upload-logs-csit.sh
deleted file mode 100644
index bd86804..0000000
--- a/jjb/cperf/cperf-upload-logs-csit.sh
+++ /dev/null
@@ -1,12 +0,0 @@
-#!/usr/bin/env bash
-
-set -o errexit
-set -o nounset
-set -o pipefail
-
-ODL_STREAM=${ODL_BRANCH#"stable/"}
-
-LOGS_LOCATION=/tmp/robot_results
-UPLOAD_LOCATION=artifacts.opnfv.org/cperf/cperf-apex-csit-${ODL_STREAM}/${BUILD_NUMBER}/
-echo "Uploading robot logs to ${UPLOAD_LOCATION}"
-gsutil -m cp -r -v ${LOGS_LOCATION} gs://${UPLOAD_LOCATION} > gsutil.latest_logs.log
diff --git a/jjb/cperf/cperf-views.yaml b/jjb/cperf/cperf-views.yaml
deleted file mode 100644
index ef982e8..0000000
--- a/jjb/cperf/cperf-views.yaml
+++ /dev/null
@@ -1,6 +0,0 @@
----
-- project:
- name: cperf-view
- views:
- - project-view
- project-name: cperf
diff --git a/jjb/cperf/csit-clean.yaml.ansible b/jjb/cperf/csit-clean.yaml.ansible
deleted file mode 100644
index 0151dd8..0000000
--- a/jjb/cperf/csit-clean.yaml.ansible
+++ /dev/null
@@ -1,11 +0,0 @@
----
-- hosts: all
- tasks:
- - name: Delete cirros glance image
- shell: >
- source /home/heat-admin/overcloudrc && openstack image delete
- cirros-0.3.5-x86_64-disk
- - name: Delete nano flavor
- shell: >
- source /home/heat-admin/overcloudrc && openstack flavor delete
- m1.nano
diff --git a/jjb/cperf/parse-node-yaml.py b/jjb/cperf/parse-node-yaml.py
deleted file mode 100644
index 5a75755..0000000
--- a/jjb/cperf/parse-node-yaml.py
+++ /dev/null
@@ -1,71 +0,0 @@
-##############################################################################
-# Copyright (c) 2018 Tim Rozet (trozet@redhat.com) and others.
-#
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Apache License, Version 2.0
-# which accompanies this distribution, and is available at
-# http://www.apache.org/licenses/LICENSE-2.0
-##############################################################################
-
-import argparse
-import sys
-import yaml
-
-
-def get_node_data_by_number(node_type, node_number):
- node_idx = 1
- for node_name, node_data in data['servers'].items():
- if node_type == node_data['type']:
- if node_idx == node_number:
- return node_name, node_data
- else:
- node_idx += 1
-
-
-def get_node_value(node_type, node_number, key):
- node_name, node_data = get_node_data_by_number(node_type, node_number)
- if not key and node_name is not None:
- return node_name
- elif node_data and isinstance(node_data, dict) and key in node_data:
- return node_data[key]
-
-
-def get_number_of_nodes(node_type):
- nodes = data['servers']
- num_nodes = 0
- for node_name, node_data in nodes.items():
- if node_data['type'] == node_type:
- num_nodes += 1
- return num_nodes
-
-
-FUNCTION_MAP = {'num_nodes':
- {'func': get_number_of_nodes,
- 'args': ['node_type']},
- 'get_value':
- {'func': get_node_value,
- 'args': ['node_type', 'node_number', 'key']},
- }
-
-if __name__ == "__main__":
- parser = argparse.ArgumentParser()
- parser.add_argument('command', choices=FUNCTION_MAP.keys())
- parser.add_argument('-f', '--file',
- dest='node_file',
- required=True)
- parser.add_argument('--node-type',
- default='controller',
- required=False)
- parser.add_argument('--node-number',
- default=1,
- type=int,
- required=False)
- parser.add_argument('-k', '--key',
- required=False)
- args = parser.parse_args(sys.argv[1:])
- with open(args.node_file, 'r') as fh:
- data = yaml.safe_load(fh)
- assert 'servers' in data
- func = FUNCTION_MAP[args.command]['func']
- args = [getattr(args, x) for x in FUNCTION_MAP[args.command]['args']]
- print(func(*args))
diff --git a/jjb/daisy4nfv/daisy-daily-jobs.yaml b/jjb/daisy4nfv/daisy-daily-jobs.yaml
deleted file mode 100644
index 4a7e6e9..0000000
--- a/jjb/daisy4nfv/daisy-daily-jobs.yaml
+++ /dev/null
@@ -1,423 +0,0 @@
----
-# jenkins job templates for Daisy
-# TODO
-# [ ] enable baremetal jobs after baremetal deployment finish
-# [ ] enable jobs in danuble
-# [ ] add more scenarios
-# [ ] integration with yardstick
-
-- project:
-
- name: 'daisy'
- project: '{name}'
- installer: '{name}'
-
- # -------------------------------
- # BRANCH ANCHORS
- # -------------------------------
- master: &master
- stream: master
- branch: '{stream}'
- disabled: true
- gs-pathname: ''
- fraser: &fraser
- stream: fraser
- branch: 'stable/{stream}'
- gs-pathname: '/{stream}'
- disabled: true
-
- # -------------------------------
- # POD, INSTALLER, AND BRANCH MAPPING
- # -------------------------------
- pod:
- # -------------------------------
- # CI PODs
- # -------------------------------
- - baremetal:
- slave-label: daisy-baremetal
- <<: *master
- - virtual:
- slave-label: daisy-virtual
- <<: *master
- - baremetal:
- slave-label: daisy-baremetal
- <<: *fraser
- - virtual:
- slave-label: daisy-virtual
- <<: *fraser
- # -------------------------------
- # None-CI PODs
- # -------------------------------
- - zte-pod3:
- slave-label: zte-pod3
- <<: *master
- - zte-pod3:
- slave-label: zte-pod3
- <<: *fraser
- - zte-pod9:
- slave-label: zte-pod9
- <<: *master
- - zte-pod9:
- slave-label: zte-pod9
- <<: *fraser
-
- # -------------------------------
- # scenarios
- # -------------------------------
- scenario:
- # HA scenarios
- - 'os-nosdn-nofeature-ha':
- auto-trigger-name: 'daisy-{scenario}-{pod}-daily-{stream}-trigger'
- # NOHA scenarios
- - 'os-nosdn-nofeature-noha':
- auto-trigger-name: 'daisy-{scenario}-{pod}-daily-{stream}-trigger'
- # ODL_L3 scenarios
- - 'os-odl-nofeature-ha':
- auto-trigger-name: 'daisy-{scenario}-{pod}-daily-{stream}-trigger'
- # ovs_dpdk scenarios
- - 'os-nosdn-ovs_dpdk-noha':
- auto-trigger-name: 'daisy-{scenario}-{pod}-daily-{stream}-trigger'
-
- jobs:
- - '{project}-{scenario}-{pod}-daily-{stream}'
- - '{project}-deploy-{pod}-daily-{stream}'
-
-########################
-# job templates
-########################
-- job-template:
- name: '{project}-{scenario}-{pod}-daily-{stream}'
-
- disabled: '{obj:disabled}'
-
- concurrent: false
-
- properties:
- - logrotate-default
- - throttle:
- enabled: true
- max-total: 4
- max-per-node: 1
- option: 'project'
- - build-blocker:
- use-build-blocker: true
- blocking-jobs:
- - 'daisy-os-.*?-{pod}-daily-.*?'
- - 'daisy-daily-.*'
- - 'daisy-kolla-build-.*'
- blocking-level: 'NODE'
-
- wrappers:
- - build-name:
- name: '$BUILD_NUMBER - Scenario: $DEPLOY_SCENARIO'
-
- triggers:
- - '{auto-trigger-name}'
-
- parameters:
- - project-parameter:
- project: '{project}'
- branch: '{branch}'
- - '{installer}-defaults'
- - '{slave-label}-defaults':
- installer: '{installer}'
- - 'testapi-parameter'
- - 'daisy-project-parameter':
- gs-pathname: '{gs-pathname}'
- - string:
- name: DEPLOY_SCENARIO
- default: '{scenario}'
-
- builders:
- - description-setter:
- description: "POD: $NODE_NAME"
- - trigger-builds:
- - project: 'daisy-deploy-{pod}-daily-{stream}'
- current-parameters: false
- predefined-parameters: |
- DEPLOY_SCENARIO={scenario}
- INSTALLER_VERSION={stream}
- UPSTREAM_JOB_NAME=$JOB_NAME
- UPSTREAM_BUILD_ID=$BUILD_ID
- same-node: true
- block: true
- - trigger-builds:
- - project: 'functest-daisy-{pod}-daily-{stream}'
- current-parameters: false
- predefined-parameters: |
- DEPLOY_SCENARIO={scenario}
- INSTALLER_VERSION={stream}
- UPSTREAM_JOB_NAME=$JOB_NAME
- UPSTREAM_BUILD_ID=$BUILD_ID
- same-node: true
- block: true
- block-thresholds:
- build-step-failure-threshold: 'never'
- failure-threshold: 'never'
- unstable-threshold: 'FAILURE'
- - trigger-builds:
- - project: 'yardstick-daisy-{pod}-daily-{stream}'
- current-parameters: false
- predefined-parameters: |
- DEPLOY_SCENARIO={scenario}
- INSTALLER_VERSION={stream}
- UPSTREAM_JOB_NAME=$JOB_NAME
- UPSTREAM_BUILD_ID=$BUILD_ID
- block: true
- same-node: true
- block-thresholds:
- build-step-failure-threshold: 'never'
- failure-threshold: 'never'
- unstable-threshold: 'FAILURE'
-
-- job-template:
- name: '{project}-deploy-{pod}-daily-{stream}'
-
- disabled: '{obj:disabled}'
-
- concurrent: true
-
- properties:
- - logrotate-default
- - throttle:
- enabled: true
- max-total: 4
- max-per-node: 1
- option: 'project'
- - build-blocker:
- use-build-blocker: true
- blocking-jobs:
- - 'daisy-kolla-build-.*'
- - '{installer}-(build|deploy|test)-daily-(fraser|master)'
- - '{installer}-deploy-(baremetal|virtual|zte-pod3|zte-pod9)-daily-(fraser|master)'
- - '(functest|yardstick)-{installer}-(baremetal|virtual|zte-pod3|zte-pod9)-daily-(fraser|master)'
- blocking-level: 'NODE'
-
- parameters:
- - project-parameter:
- project: '{project}'
- branch: '{branch}'
- - '{installer}-defaults'
- - '{slave-label}-defaults':
- installer: '{installer}'
- - 'testapi-parameter'
- - 'daisy-project-parameter':
- gs-pathname: '{gs-pathname}'
- - 'deploy-scenario'
- - string:
- name: DEPLOY_TIMEOUT
- default: '150'
- description: 'Deployment timeout in minutes'
-
- scm:
- - git-scm
-
- wrappers:
- - build-name:
- name: '$BUILD_NUMBER - Scenario: $DEPLOY_SCENARIO'
-
- builders:
- - description-setter:
- description: "POD: $NODE_NAME"
- - 'track-begin-timestamp'
- - shell:
- !include-raw-escape: ./daisy4nfv-download-artifact.sh
- - shell:
- !include-raw-escape: ./daisy-deploy.sh
- publishers:
- - 'report-provision-result'
-
-########################
-# trigger macros
-########################
-# ----------------------------------------------
-# Triggers for job running on daisy-baremetal against master branch
-# ----------------------------------------------
-# Basic HA Scenarios
-- trigger:
- name: 'daisy-os-nosdn-nofeature-ha-baremetal-daily-master-trigger'
- triggers:
- - timed: ''
-# Basic NOHA Scenarios
-- trigger:
- name: 'daisy-os-nosdn-nofeature-noha-baremetal-daily-master-trigger'
- triggers:
- - timed: ''
-# ODL Scenarios
-- trigger:
- name: 'daisy-os-odl-nofeature-ha-baremetal-daily-master-trigger'
- triggers:
- - timed: ''
-# ovs_dpdk Scenarios
-- trigger:
- name: 'daisy-os-nosdn-ovs_dpdk-noha-baremetal-daily-master-trigger'
- triggers:
- - timed: ''
-
-# ----------------------------------------------
-# Triggers for job running on daisy-virtual against master branch
-# ----------------------------------------------
-# Basic HA Scenarios
-- trigger:
- name: 'daisy-os-nosdn-nofeature-ha-virtual-daily-master-trigger'
- triggers:
- - timed: '0 16 * * *'
-# Basic NOHA Scenarios
-- trigger:
- name: 'daisy-os-nosdn-nofeature-noha-virtual-daily-master-trigger'
- triggers:
- - timed: ''
-# ODL Scenarios
-- trigger:
- name: 'daisy-os-odl-nofeature-ha-virtual-daily-master-trigger'
- triggers:
- - timed: '0 12 * * *'
-# ovs_dpdk Scenarios
-- trigger:
- name: 'daisy-os-nosdn-ovs_dpdk-noha-virtual-daily-master-trigger'
- triggers:
- - timed: ''
-
-# ----------------------------------------------
-# Triggers for job running on daisy-baremetal against fraser branch
-# ----------------------------------------------
-# Basic HA Scenarios
-- trigger:
- name: 'daisy-os-nosdn-nofeature-ha-baremetal-daily-fraser-trigger'
- triggers:
- - timed: '0 0,6 * * *'
-# Basic NOHA Scenarios
-- trigger:
- name: 'daisy-os-nosdn-nofeature-noha-baremetal-daily-fraser-trigger'
- triggers:
- - timed: ''
-# ODL Scenarios
-- trigger:
- name: 'daisy-os-odl-nofeature-ha-baremetal-daily-fraser-trigger'
- triggers:
- - timed: '0 12,18 * * *'
-# ovs_dpdk Scenarios
-- trigger:
- name: 'daisy-os-nosdn-ovs_dpdk-noha-baremetal-daily-fraser-trigger'
- triggers:
- - timed: ''
-
-# ----------------------------------------------
-# Triggers for job running on daisy-virtual against fraser branch
-# ----------------------------------------------
-# Basic HA Scenarios
-- trigger:
- name: 'daisy-os-nosdn-nofeature-ha-virtual-daily-fraser-trigger'
- triggers:
- - timed: '0 0 * * *'
-# Basic NOHA Scenarios
-- trigger:
- name: 'daisy-os-nosdn-nofeature-noha-virtual-daily-fraser-trigger'
- triggers:
- - timed: ''
-# ODL Scenarios
-- trigger:
- name: 'daisy-os-odl-nofeature-ha-virtual-daily-fraser-trigger'
- triggers:
- - timed: '0 20 * * *'
-# ovs_dpdk Scenarios
-- trigger:
- name: 'daisy-os-nosdn-ovs_dpdk-noha-virtual-daily-fraser-trigger'
- triggers:
- - timed: ''
-
-# ----------------------------------------------
-# Triggers for job running on zte-pod3 against master branch
-# ----------------------------------------------
-# Basic HA Scenarios
-- trigger:
- name: 'daisy-os-nosdn-nofeature-ha-zte-pod3-daily-master-trigger'
- triggers:
- - timed: ''
-# Basic NOHA Scenarios
-- trigger:
- name: 'daisy-os-nosdn-nofeature-noha-zte-pod3-daily-master-trigger'
- triggers:
- - timed: ''
-# ODL Scenarios
-- trigger:
- name: 'daisy-os-odl-nofeature-ha-zte-pod3-daily-master-trigger'
- triggers:
- - timed: ''
-# ovs_dpdk Scenarios
-- trigger:
- name: 'daisy-os-nosdn-ovs_dpdk-noha-zte-pod3-daily-master-trigger'
- triggers:
- - timed: ''
-
-# ----------------------------------------------
-# Triggers for job running on zte-pod3 against fraser branch
-# ----------------------------------------------
-# Basic HA Scenarios
-- trigger:
- name: 'daisy-os-nosdn-nofeature-ha-zte-pod3-daily-fraser-trigger'
- triggers:
- - timed: ''
-# Basic NOHA Scenarios
-- trigger:
- name: 'daisy-os-nosdn-nofeature-noha-zte-pod3-daily-fraser-trigger'
- triggers:
- - timed: ''
-# ODL Scenarios
-- trigger:
- name: 'daisy-os-odl-nofeature-ha-zte-pod3-daily-fraser-trigger'
- triggers:
- - timed: '0 16,22 * * *'
-# ovs_dpdk Scenarios
-- trigger:
- name: 'daisy-os-nosdn-ovs_dpdk-noha-zte-pod3-daily-fraser-trigger'
- triggers:
- - timed: ''
-
-# ----------------------------------------------
-# ZTE POD9 Triggers running against master branch
-# ----------------------------------------------
-# ovs_dpdk Scenarios
-- trigger:
- name: 'daisy-os-nosdn-ovs_dpdk-noha-zte-pod9-daily-master-trigger'
- triggers:
- - timed: '0 20 * * *'
-# Basic HA Scenarios
-- trigger:
- name: 'daisy-os-nosdn-nofeature-ha-zte-pod9-daily-master-trigger'
- triggers:
- - timed: ''
-# Basic NOHA Scenarios
-- trigger:
- name: 'daisy-os-nosdn-nofeature-noha-zte-pod9-daily-master-trigger'
- triggers:
- - timed: ''
-# ODL Scenarios
-- trigger:
- name: 'daisy-os-odl-nofeature-ha-zte-pod9-daily-master-trigger'
- triggers:
- - timed: ''
-
-# ----------------------------------------------
-# ZTE POD9 Triggers running against fraser branch
-# ----------------------------------------------
-# ovs_dpdk Scenarios
-- trigger:
- name: 'daisy-os-nosdn-ovs_dpdk-noha-zte-pod9-daily-fraser-trigger'
- triggers:
- - timed: '0 10 * * *'
-# Basic HA Scenarios
-- trigger:
- name: 'daisy-os-nosdn-nofeature-ha-zte-pod9-daily-fraser-trigger'
- triggers:
- - timed: ''
-# Basic NOHA Scenarios
-- trigger:
- name: 'daisy-os-nosdn-nofeature-noha-zte-pod9-daily-fraser-trigger'
- triggers:
- - timed: ''
-# ODL Scenarios
-- trigger:
- name: 'daisy-os-odl-nofeature-ha-zte-pod9-daily-fraser-trigger'
- triggers:
- - timed: ''
diff --git a/jjb/daisy4nfv/daisy-deploy.sh b/jjb/daisy4nfv/daisy-deploy.sh
deleted file mode 100755
index 950b9be..0000000
--- a/jjb/daisy4nfv/daisy-deploy.sh
+++ /dev/null
@@ -1,75 +0,0 @@
-#!/bin/bash
-set -o nounset
-set -o pipefail
-
-echo "--------------------------------------------------------"
-echo "This is $INSTALLER_TYPE deploy job!"
-echo "--------------------------------------------------------"
-
-DEPLOY_SCENARIO=${DEPLOY_SCENARIO:-"os-nosdn-nofeature-noha"}
-BRIDGE=${BRIDGE:-pxebr}
-LAB_NAME=${NODE_NAME/-*}
-POD_NAME=${NODE_NAME/*-}
-deploy_ret=0
-
-if [[ ! "$NODE_NAME" =~ "-virtual" ]] && [[ ! "$LAB_NAME" =~ (zte) ]]; then
- echo "Unsupported lab $LAB_NAME for now, Cannot continue!"
- exit $deploy_ret
-fi
-
-# clone the securedlab/pharos repo
-cd $WORKSPACE
-
-# There are no PDFs in euphrates branch of pharos repo.
-if [[ "$BRANCH" =~ "euphrates" ]]; then
- CONFIG_REPO_NAME=securedlab
-else
- CONFIG_REPO_NAME=pharos
-fi
-
-if [[ "$BRANCH" =~ "master" ]]; then
- DOCTOR_OPT="-d 1"
-else
- DOCTOR_OPT=""
-fi
-
-LABS_DIR=/var/tmp/opnfv-${CONFIG_REPO_NAME}
-
-echo "Cloning ${CONFIG_REPO_NAME} repo $BRANCH to $LABS_DIR"
-sudo rm -rf $LABS_DIR
-git clone ssh://jenkins-zte@gerrit.opnfv.org:29418/${CONFIG_REPO_NAME} \
- --quiet --branch $BRANCH $LABS_DIR
-
-DEPLOY_COMMAND="sudo -E ./ci/deploy/deploy.sh -L $LABS_DIR \
- -l $LAB_NAME -p $POD_NAME -B $BRIDGE -s $DEPLOY_SCENARIO \
- $DOCTOR_OPT"
-
-# log info to console
-echo """
-Deployment parameters
---------------------------------------------------------
-Scenario: $DEPLOY_SCENARIO
-LAB: $LAB_NAME
-POD: $POD_NAME
-BRIDGE: $BRIDGE
-
-Starting the deployment using $INSTALLER_TYPE. This could take some time...
---------------------------------------------------------
-Issuing command
-$DEPLOY_COMMAND
-"""
-
-# start the deployment
-$DEPLOY_COMMAND
-
-if [ $? -ne 0 ]; then
- echo
- echo "Depolyment failed!"
- deploy_ret=1
-else
- echo
- echo "--------------------------------------------------------"
- echo "Deployment done!"
-fi
-
-exit $deploy_ret
diff --git a/jjb/daisy4nfv/daisy-project-jobs.yaml b/jjb/daisy4nfv/daisy-project-jobs.yaml
deleted file mode 100644
index 7914548..0000000
--- a/jjb/daisy4nfv/daisy-project-jobs.yaml
+++ /dev/null
@@ -1,312 +0,0 @@
----
-######################################################################
-# Add daily jobs, for buidoing, deploying and testing
-# TODO:
-# - [ ] Add yardstick and functest for test stage
-# - [x] Use daisy-baremetal-defauls for choosing baremetal deployment
-######################################################################
-
-#############################
-# Job configuration for daisy
-#############################
-- project:
- name: daisy-project-jobs
-
- project: 'daisy'
-
- installer: 'daisy'
-
- stream:
- - master:
- branch: '{stream}'
- gs-pathname: ''
- disabled: true
- - fraser:
- branch: 'stable/{stream}'
- gs-pathname: '/{stream}'
- disabled: true
-
- phase:
- - 'build':
- slave-label: 'opnfv-build-centos'
- - 'deploy':
- slave-label: 'daisy-baremetal'
- - 'test':
- slave-label: 'opnfv-build-centos'
-
- jobs:
- - '{installer}-daily-{stream}'
- - '{installer}-{phase}-daily-{stream}'
- - '{installer}-kolla-build-{stream}'
-
-#############################
-# docker build job templates
-#############################
-- job-template:
- name: '{installer}-kolla-build-{stream}'
- disabled: false
- concurrent: true
-
- properties:
- - logrotate-default
- - throttle:
- enabled: true
- max-total: 4
- option: 'project'
- - build-blocker:
- use-build-blocker: true
- # Note: Need to block all jobs which may create daisy VM.
- blocking-jobs:
- - '{installer}-kolla-build-.*'
- - 'daisy-deploy-.*'
- - 'daisy-daily-.*'
- blocking-level: 'NODE'
-
- scm:
- - git-scm
-
- triggers:
- - 'daisy-kolla-build-{stream}-trigger'
-
- parameters:
- - project-parameter:
- project: '{project}'
- branch: '{branch}'
- - 'daisy-virtual-defaults'
- - '{installer}-defaults'
- - '{installer}-project-parameter':
- gs-pathname: '{gs-pathname}'
-
- wrappers:
- - ssh-agent-wrapper
- - timeout:
- timeout: 720
- fail: true
-
- builders:
- - description-setter:
- description: "Built on $NODE_NAME"
- - shell:
- !include-raw-escape: ./daisy4nfv-build-kolla-image.sh
-
- publishers:
- - '{installer}-recipients'
- - email-jenkins-admins-on-failure
-
-- trigger:
- name: 'daisy-kolla-build-fraser-trigger'
- triggers:
- - timed: '0 0 * * 0'
-
-- trigger:
- name: 'daisy-kolla-build-master-trigger'
- triggers:
- - timed: '0 12 * * 0'
-
-
-########################
-# job templates
-########################
-- job-template:
- name: '{installer}-daily-{stream}'
-
- project-type: multijob
-
- disabled: false
-
- concurrent: true
-
- properties:
- - logrotate-default
- - throttle:
- enabled: true
- max-total: 4
- option: 'project'
- - build-blocker:
- use-build-blocker: true
- blocking-jobs:
- - '{installer}-daily-.*'
- - '{installer}-kolla-build-.*'
- - 'daisy4nfv-merge-build-.*'
- - 'daisy4nfv-verify-build-.*'
- blocking-level: 'NODE'
-
- scm:
- - git-scm
-
- triggers:
- - timed: '0 8 * * *'
-
- parameters:
- - project-parameter:
- project: '{project}'
- branch: '{branch}'
- - 'opnfv-build-centos-defaults'
- - '{installer}-defaults'
- - '{installer}-project-parameter':
- gs-pathname: '{gs-pathname}'
-
- wrappers:
- - ssh-agent-wrapper
- - timeout:
- timeout: 360
- fail: true
-
- builders:
- - description-setter:
- description: "Built on $NODE_NAME"
- - multijob:
- name: build
- condition: SUCCESSFUL
- projects:
- - name: '{installer}-build-daily-{stream}'
- current-parameters: false
- predefined-parameters: |
- BRANCH=$BRANCH
- GERRIT_REFSPEC=$GERRIT_REFSPEC
- GERRIT_CHANGE_NUMBER=$GERRIT_CHANGE_NUMBER
- GERRIT_CHANGE_COMMIT_MESSAGE=$GERRIT_CHANGE_COMMIT_MESSAGE
- node-parameters: false
- kill-phase-on: FAILURE
- abort-all-job: true
- - multijob:
- name: deploy
- condition: SUCCESSFUL
- projects:
- - name: '{installer}-deploy-daily-{stream}'
- current-parameters: false
- predefined-parameters: |
- BRANCH=$BRANCH
- GERRIT_REFSPEC=$GERRIT_REFSPEC
- GERRIT_CHANGE_NUMBER=$GERRIT_CHANGE_NUMBER
- GERRIT_CHANGE_COMMIT_MESSAGE=$GERRIT_CHANGE_COMMIT_MESSAGE
- node-parameters: false
- kill-phase-on: FAILURE
- abort-all-job: true
- - multijob:
- name: test
- condition: SUCCESSFUL
- projects:
- - name: '{installer}-test-daily-{stream}'
- current-parameters: false
- predefined-parameters: |
- BRANCH=$BRANCH
- GERRIT_REFSPEC=$GERRIT_REFSPEC
- GERRIT_CHANGE_NUMBER=$GERRIT_CHANGE_NUMBER
- GERRIT_CHANGE_COMMIT_MESSAGE=$GERRIT_CHANGE_COMMIT_MESSAGE
- node-parameters: false
- kill-phase-on: FAILURE
- abort-all-job: true
-
- publishers:
- - '{installer}-recipients'
- - email-jenkins-admins-on-failure
-
-- job-template:
- name: '{installer}-{phase}-daily-{stream}'
-
- disabled: '{obj:disabled}'
-
- concurrent: true
-
- properties:
- - logrotate-default
- - throttle:
- enabled: true
- max-total: 6
- option: 'project'
- - build-blocker:
- use-build-blocker: true
- blocking-jobs:
- - '{installer}-daily-(build|deploy|test)-(fraser|master)'
- - '{installer}-.*-(baremetal|virtual|zte-pod3|zte-pod9)-daily-(fraser|master)'
- - '(functest|yardstick)-{installer}-(baremetal|virtual|zte-pod3|zte-pod9)-daily-(fraser|master)'
- blocking-level: 'NODE'
-
- scm:
- - git-scm
-
- wrappers:
- - ssh-agent-wrapper
- - timeout:
- timeout: 360
- fail: true
-
- parameters:
- - project-parameter:
- project: '{project}'
- branch: '{branch}'
- - '{installer}-defaults'
- - '{slave-label}-defaults'
- - string:
- name: GIT_BASE
- default: https://gerrit.opnfv.org/gerrit/$PROJECT
- description: 'Git URL to use on this Jenkins Slave'
- - string:
- name: DEPLOY_SCENARIO
- default: 'os-nosdn-nofeature-ha'
- - '{installer}-project-parameter':
- gs-pathname: '{gs-pathname}'
-
- builders:
- - description-setter:
- description: "Built on $NODE_NAME"
- - '{installer}-{phase}-daily-macro'
-
-#####################################
-# builder macros
-#####################################
-- builder:
- name: 'daisy-build-daily-macro'
- builders:
- - shell:
- !include-raw: ./daisy4nfv-basic.sh
- - shell:
- !include-raw: ./daisy4nfv-build.sh
- - shell:
- !include-raw: ./daisy4nfv-upload-artifact.sh
- - 'clean-workspace'
-
-- builder:
- name: 'daisy-deploy-daily-macro'
- builders:
- - shell:
- !include-raw: ./daisy4nfv-download-artifact.sh
- - shell:
- !include-raw: ./daisy-deploy.sh
-
-- builder:
- name: 'daisy-test-daily-macro'
- builders:
- - shell: |
- #!/bin/bash
-
- echo "Not activated!"
-
-#####################################
-# parameter macros
-#####################################
-- publisher:
- name: 'daisy-recipients'
- publishers:
- # yamllint disable rule:line-length
- - email:
- recipients: hu.zhijiang@zte.com.cn lu.yao135@zte.com.cn zhou.ya@zte.com.cn yangyang1@zte.com.cn julienjut@gmail.com
- # yamllint enable rule:line-length
- - email-jenkins-admins-on-failure
-
-- parameter:
- name: 'daisy-project-parameter'
- parameters:
- - string:
- name: BUILD_DIRECTORY
- default: $WORKSPACE/build_output
- description: "Directory where the build artifact will be located upon the completion of the build."
- - string:
- name: CACHE_DIRECTORY
- default: $HOME/opnfv/cache/$INSTALLER_TYPE
- description: "Directory where the cache to be used during the build is located."
- - string:
- name: GS_URL
- default: artifacts.opnfv.org/$PROJECT{gs-pathname}
- description: "URL to Google Storage."
diff --git a/jjb/daisy4nfv/daisy-rtd-jobs.yaml b/jjb/daisy4nfv/daisy-rtd-jobs.yaml
deleted file mode 100644
index 2e7689a..0000000
--- a/jjb/daisy4nfv/daisy-rtd-jobs.yaml
+++ /dev/null
@@ -1,12 +0,0 @@
----
-- project:
- name: daisy-rtd
- project: daisy
- project-name: daisy
-
- project-pattern: 'daisy'
- rtd-build-url: 'https://readthedocs.org/api/v2/webhook/opnfv-daisy/47361/'
- rtd-token: '265efe14ff0bb3fa0d4ea66d6be1b7b511d5d713'
-
- jobs:
- - '{project-name}-rtd-jobs'
diff --git a/jjb/daisy4nfv/daisy4nfv-basic.sh b/jjb/daisy4nfv/daisy4nfv-basic.sh
deleted file mode 100755
index 87f5482..0000000
--- a/jjb/daisy4nfv/daisy4nfv-basic.sh
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/bash
-
-echo "--------------------------------------------------------"
-echo "This is diasy4nfv basic job!"
-echo "--------------------------------------------------------"
-
diff --git a/jjb/daisy4nfv/daisy4nfv-build-kolla-image.sh b/jjb/daisy4nfv/daisy4nfv-build-kolla-image.sh
deleted file mode 100755
index 0441ea1..0000000
--- a/jjb/daisy4nfv/daisy4nfv-build-kolla-image.sh
+++ /dev/null
@@ -1,68 +0,0 @@
-#!/bin/bash
-##############################################################################
-# Copyright (c) 2016 ZTE Coreporation and others.
-# hu.zhijiang@zte.com.cn
-# sun.jing22@zte.com.cn
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Apache License, Version 2.0
-# which accompanies this distribution, and is available at
-# http://www.apache.org/licenses/LICENSE-2.0
-##############################################################################
-
-
-set -o errexit
-set -o nounset
-set -o pipefail
-
-upload_image_to_opnfv () {
- image=$1
-
- sha512sum -b $image > $image.sha512sum
- gsutil cp $image.sha512sum gs://$GS_URL/upstream/$image.sha512sum
-
- echo "Uploading $INSTALLER_TYPE artifact. This could take some time..."
- echo
- gsutil cp $image gs://$GS_URL/upstream/$image
- gsutil -m setmeta \
- -h "Cache-Control:private, max-age=0, no-transform" \
- gs://$GS_URL/upstream/$image
-
- # check if we uploaded the file successfully to see if things are fine
- gsutil ls gs://$GS_URL/upstream/$image
- if [[ $? -ne 0 ]]; then
- echo "Problem while uploading artifact!"
- exit 1
- fi
-}
-
-
-
-echo "--------------------------------------------------------"
-echo "This is diasy4nfv kolla image build job!"
-echo "--------------------------------------------------------"
-
-# start the build
-cd $WORKSPACE
-rm -rf docker_build_dir
-mkdir -p docker_build_dir
-
-# -j is for deciding which branch will be used when building,
-# only for OPNFV
-sudo -E ./ci/kolla-build.sh -j $JOB_NAME -w $WORKSPACE/docker_build_dir
-
-if [ $? -ne 0 ]; then
- echo
- echo "Kolla build failed!"
- deploy_ret=1
-else
- echo
- echo "--------------------------------------------------------"
- echo "Kolla build done!"
-fi
-
-image=$(ls $WORKSPACE/docker_build_dir/kolla-build-output/kolla-image-*.tgz)
-upload_image_to_opnfv $image
-
-echo
-echo "--------------------------------------------------------"
-echo "All done!"
diff --git a/jjb/daisy4nfv/daisy4nfv-build.sh b/jjb/daisy4nfv/daisy4nfv-build.sh
deleted file mode 100755
index a081b3b..0000000
--- a/jjb/daisy4nfv/daisy4nfv-build.sh
+++ /dev/null
@@ -1,41 +0,0 @@
-#!/bin/bash
-
-set -o errexit
-set -o nounset
-set -o pipefail
-
-echo "--------------------------------------------------------"
-echo "This is diasy4nfv build job!"
-echo "--------------------------------------------------------"
-
-# set OPNFV_ARTIFACT_VERSION
-if [[ "$JOB_NAME" =~ "merge" ]]; then
- echo "Building Daisy4nfv ISO for a merged change"
- export OPNFV_ARTIFACT_VERSION="gerrit-$GERRIT_CHANGE_NUMBER"
-else
- export OPNFV_ARTIFACT_VERSION=$(date -u +"%Y-%m-%d_%H-%M-%S")
-fi
-
-# build output directory
-OUTPUT_DIR=$WORKSPACE/build_output
-mkdir -p $OUTPUT_DIR
-
-# start the build
-cd $WORKSPACE
-./ci/build.sh $OUTPUT_DIR $OPNFV_ARTIFACT_VERSION
-
-# save information regarding artifact into file
-(
- echo "OPNFV_ARTIFACT_VERSION=$OPNFV_ARTIFACT_VERSION"
- echo "OPNFV_GIT_URL=$(git config --get remote.origin.url)"
- echo "OPNFV_GIT_SHA1=$(git rev-parse HEAD)"
- echo "OPNFV_ARTIFACT_URL=$GS_URL/opnfv-$OPNFV_ARTIFACT_VERSION.bin"
- echo "OPNFV_ARTIFACT_SHA512SUM=$(sha512sum $OUTPUT_DIR/opnfv-$OPNFV_ARTIFACT_VERSION.bin | cut -d' ' -f1)"
- echo "OPNFV_ARTIFACT_URL_ISO=$GS_URL/opnfv-$OPNFV_ARTIFACT_VERSION.iso"
- echo "OPNFV_ARTIFACT_SHA512SUM_ISO=$(sha512sum $OUTPUT_DIR/opnfv-$OPNFV_ARTIFACT_VERSION.iso | cut -d' ' -f1)"
- echo "OPNFV_BUILD_URL=$BUILD_URL"
-) > $WORKSPACE/opnfv.properties
-
-echo
-echo "--------------------------------------------------------"
-echo "Done!"
diff --git a/jjb/daisy4nfv/daisy4nfv-download-artifact.sh b/jjb/daisy4nfv/daisy4nfv-download-artifact.sh
deleted file mode 100755
index ae5ca38..0000000
--- a/jjb/daisy4nfv/daisy4nfv-download-artifact.sh
+++ /dev/null
@@ -1,86 +0,0 @@
-#!/bin/bash
-##############################################################################
-# Copyright (c) 2016 ZTE Coreporation and others.
-# hu.zhijiang@zte.com.cn
-# sun.jing22@zte.com.cn
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Apache License, Version 2.0
-# which accompanies this distribution, and is available at
-# http://www.apache.org/licenses/LICENSE-2.0
-##############################################################################
-set -o errexit
-set -o pipefail
-
-# use proxy url to replace the nomral URL, for googleusercontent.com will be blocked randomly
-[[ "$NODE_NAME" =~ (zte) ]] && GS_URL=${GS_BASE_PROXY%%/*}/$GS_URL
-
-if [[ "$JOB_NAME" =~ "merge" ]]; then
- echo "Downloading http://$GS_URL/opnfv-gerrit-$GERRIT_CHANGE_NUMBER.properties"
- # get the properties file for the Daisy4nfv BIN built for a merged change
- curl -L -s -o $WORKSPACE/latest.properties http://$GS_URL/opnfv-gerrit-$GERRIT_CHANGE_NUMBER.properties
-else
- # get the latest.properties file in order to get info regarding latest artifact
- echo "Downloading http://$GS_URL/latest.properties"
- curl -L -s -o $WORKSPACE/latest.properties http://$GS_URL/latest.properties
-fi
-
-# check if we got the file
-[[ -f $WORKSPACE/latest.properties ]] || exit 1
-
-# source the file so we get artifact metadata
-source $WORKSPACE/latest.properties
-
-# echo the info about artifact that is used during the deployment
-OPNFV_ARTIFACT=${OPNFV_ARTIFACT_URL/*\/}
-echo "Using $OPNFV_ARTIFACT for deployment"
-
-[[ "$NODE_NAME" =~ (zte) ]] && OPNFV_ARTIFACT_URL=${GS_BASE_PROXY%%/*}/$OPNFV_ARTIFACT_URL
-
-if [[ ! "$JOB_NAME" =~ (verify|merge) ]]; then
- # check if we already have the image to avoid redownload
- BINSTORE="/bin_mount/opnfv_ci/${BRANCH##*/}"
- if [[ -f "$BINSTORE/$OPNFV_ARTIFACT" && ! -z $OPNFV_ARTIFACT_SHA512SUM ]]; then
- echo "BIN exists locally. Starting to check the sha512sum."
- if [[ $OPNFV_ARTIFACT_SHA512SUM = $(sha512sum -b $BINSTORE/$OPNFV_ARTIFACT | cut -d' ' -f1) ]]; then
- echo "Sha512sum is verified. Skipping the download and using the file from BIN store."
- ln -s $BINSTORE/$OPNFV_ARTIFACT $WORKSPACE/opnfv.bin
- echo "--------------------------------------------------------"
- echo
- ls -al $WORKSPACE/opnfv.bin
- echo
- echo "--------------------------------------------------------"
- echo "Done!"
- exit 0
- fi
- fi
-fi
-
-# log info to console
-echo "Downloading the $INSTALLER_TYPE artifact using URL http://$OPNFV_ARTIFACT_URL"
-echo "This could take some time... Now the time is $(date -u)"
-echo "--------------------------------------------------------"
-echo
-
-# download the file
-if [[ "$NODE_NAME" =~ (zte) ]] && [ -x "$(command -v aria2c)" ]; then
- DOWNLOAD_CMD="aria2c -x 3 --allow-overwrite=true -d $WORKSPACE -o opnfv.bin"
-else
- DOWNLOAD_CMD="curl -L -s -o $WORKSPACE/opnfv.bin"
-fi
-
-maxretries=3
-cnt=0
-rc=1
-while [ $cnt -lt $maxretries ] && [ $rc -ne 0 ]
-do
- cnt=$[cnt + 1]
- $DOWNLOAD_CMD http://$OPNFV_ARTIFACT_URL > gsutil.bin.log 2>&1
- rc=$?
-done
-
-# list the file
-ls -al $WORKSPACE/opnfv.bin
-
-echo
-echo "--------------------------------------------------------"
-echo "Done!"
diff --git a/jjb/daisy4nfv/daisy4nfv-merge-jobs.yaml b/jjb/daisy4nfv/daisy4nfv-merge-jobs.yaml
deleted file mode 100644
index c261c23..0000000
--- a/jjb/daisy4nfv/daisy4nfv-merge-jobs.yaml
+++ /dev/null
@@ -1,226 +0,0 @@
----
-- project:
- name: 'daisy4nfv-merge-jobs'
-
- project: 'daisy'
-
- installer: 'daisy'
-
- ###########################################################
- # use alias to keep the jobs'name existed already unchanged
- ###########################################################
- alias: 'daisy4nfv'
-
- #####################################
- # branch definitions
- #####################################
- stream:
- - master:
- branch: '{stream}'
- gs-pathname: ''
- disabled: true
- - fraser:
- branch: 'stable/{stream}'
- gs-pathname: '/{stream}'
- disabled: true
- #####################################
- # patch merge phases
- #####################################
- phase:
- - 'build':
- slave-label: 'opnfv-build-centos'
- - 'deploy-virtual':
- slave-label: 'daisy-virtual'
-
- #####################################
- # jobs
- #####################################
- jobs:
- - '{alias}-merge-{stream}'
- - '{alias}-merge-{phase}-{stream}'
-
-#####################################
-# job templates
-#####################################
-- job-template:
- name: '{alias}-merge-{stream}'
-
- project-type: multijob
-
- disabled: false
-
- concurrent: true
-
- properties:
- - logrotate-default
- - throttle:
- enabled: true
- max-total: 4
- option: 'project'
- - build-blocker:
- use-build-blocker: true
- blocking-jobs:
- - '{alias}-merge-(master|fraser)'
- blocking-level: 'NODE'
-
- scm:
- - git-scm
-
- wrappers:
- - ssh-agent-wrapper
- - timeout:
- timeout: 360
- fail: true
-
- triggers:
- - gerrit:
- server-name: 'gerrit.opnfv.org'
- trigger-on:
- - change-merged-event
- - comment-added-contains-event:
- comment-contains-value: 'remerge'
- projects:
- - project-compare-type: 'ANT'
- project-pattern: '{project}'
- branches:
- - branch-compare-type: 'ANT'
- branch-pattern: '**/{branch}'
- file-paths:
- - compare-type: ANT
- pattern: 'ci/**'
- - compare-type: ANT
- pattern: 'code/**'
- - compare-type: ANT
- pattern: 'deploy/**'
- disable-strict-forbidden-file-verification: 'true'
- forbidden-file-paths:
- - compare-type: ANT
- pattern: 'docs/**'
- - compare-type: ANT
- pattern: '.gitignore'
- readable-message: true
-
- parameters:
- - project-parameter:
- project: '{project}'
- branch: '{branch}'
- - 'opnfv-build-centos-defaults'
- - '{alias}-merge-defaults':
- gs-pathname: '{gs-pathname}'
-
- builders:
- - description-setter:
- description: "Built on $NODE_NAME"
- - multijob:
- name: build
- condition: SUCCESSFUL
- projects:
- - name: '{alias}-merge-build-{stream}'
- current-parameters: false
- predefined-parameters: |
- BRANCH=$BRANCH
- GERRIT_REFSPEC=$GERRIT_REFSPEC
- GERRIT_CHANGE_NUMBER=$GERRIT_CHANGE_NUMBER
- GERRIT_CHANGE_COMMIT_MESSAGE=$GERRIT_CHANGE_COMMIT_MESSAGE
- node-parameters: false
- kill-phase-on: FAILURE
- abort-all-job: true
- - multijob:
- name: deploy-virtual
- condition: SUCCESSFUL
- projects:
- - name: '{alias}-merge-deploy-virtual-{stream}'
- current-parameters: false
- predefined-parameters: |
- BRANCH=$BRANCH
- GERRIT_REFSPEC=$GERRIT_REFSPEC
- GERRIT_CHANGE_NUMBER=$GERRIT_CHANGE_NUMBER
- GERRIT_CHANGE_COMMIT_MESSAGE=$GERRIT_CHANGE_COMMIT_MESSAGE
- node-parameters: false
- kill-phase-on: FAILURE
- abort-all-job: true
-
-- job-template:
- name: '{alias}-merge-{phase}-{stream}'
-
- disabled: '{obj:disabled}'
-
- concurrent: true
-
- properties:
- - logrotate-default
- - throttle:
- enabled: true
- max-total: 4
- option: 'project'
- - build-blocker:
- use-build-blocker: true
- blocking-jobs:
- - '{alias}-merge-{phase}-.*'
- - '{installer}-daily-.*'
- blocking-level: 'NODE'
-
- scm:
- - git-scm
-
- wrappers:
- - ssh-agent-wrapper
- - timeout:
- timeout: 360
- fail: true
-
- parameters:
- - project-parameter:
- project: '{project}'
- branch: '{branch}'
- - '{installer}-defaults'
- - '{slave-label}-defaults'
- - '{alias}-merge-defaults':
- gs-pathname: '{gs-pathname}'
-
- builders:
- - description-setter:
- description: "Built on $NODE_NAME"
- - '{project}-merge-{phase}-macro'
-
-#####################################
-# builder macros
-#####################################
-- builder:
- name: 'daisy-merge-build-macro'
- builders:
- - shell:
- !include-raw: ./daisy4nfv-basic.sh
- - shell:
- !include-raw: ./daisy4nfv-build.sh
- - shell:
- !include-raw: ./daisy4nfv-upload-artifact.sh
- - 'clean-workspace'
-
-- builder:
- name: 'daisy-merge-deploy-virtual-macro'
- builders:
- - shell:
- !include-raw: ./daisy4nfv-download-artifact.sh
- - shell:
- !include-raw: ./daisy-deploy.sh
- - 'clean-workspace'
-
-#####################################
-# parameter macros
-#####################################
-- parameter:
- name: 'daisy4nfv-merge-defaults'
- parameters:
- - string:
- name: BUILD_DIRECTORY
- default: $WORKSPACE/build_output
- description: "Directory where the build artifact will be located upon the completion of the build."
- - string:
- name: CACHE_DIRECTORY
- default: $HOME/opnfv/cache/$INSTALLER_TYPE
- description: "Directory where the cache to be used during the build is located."
- - string:
- name: GS_URL
- default: artifacts.opnfv.org/$PROJECT{gs-pathname}
- description: "URL to Google Storage."
diff --git a/jjb/daisy4nfv/daisy4nfv-smoke-test.sh b/jjb/daisy4nfv/daisy4nfv-smoke-test.sh
deleted file mode 100755
index bd6eb7e..0000000
--- a/jjb/daisy4nfv/daisy4nfv-smoke-test.sh
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/bash
-
-echo "--------------------------------------------------------"
-echo "This is diasy4nfv smoke test job!"
-echo "--------------------------------------------------------"
-
diff --git a/jjb/daisy4nfv/daisy4nfv-upload-artifact.sh b/jjb/daisy4nfv/daisy4nfv-upload-artifact.sh
deleted file mode 100755
index def4f6a..0000000
--- a/jjb/daisy4nfv/daisy4nfv-upload-artifact.sh
+++ /dev/null
@@ -1,96 +0,0 @@
-#!/bin/bash
-##############################################################################
-# Copyright (c) 2016 ZTE Coreporation and others.
-# hu.zhijiang@zte.com.cn
-# sun.jing22@zte.com.cn
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Apache License, Version 2.0
-# which accompanies this distribution, and is available at
-# http://www.apache.org/licenses/LICENSE-2.0
-##############################################################################
-set -o pipefail
-
-# check if we built something
-if [ -f $WORKSPACE/.noupload ]; then
- echo "Nothing new to upload. Exiting."
- /bin/rm -f $WORKSPACE/.noupload
- exit 0
-fi
-
-# source the opnfv.properties to get ARTIFACT_VERSION
-source $WORKSPACE/opnfv.properties
-
-importkey () {
-# clone releng repository
-echo "Cloning releng repository..."
-[ -d releng ] && rm -rf releng
-git clone https://gerrit.opnfv.org/gerrit/releng $WORKSPACE/releng/ &> /dev/null
-#this is where we import the siging key
-if [ -f $WORKSPACE/releng/utils/gpg_import_key.sh ]; then
- source $WORKSPACE/releng/utils/gpg_import_key.sh
-fi
-}
-
-signbin () {
-gpg2 -vvv --batch --yes --no-tty \
- --default-key opnfv-helpdesk@rt.linuxfoundation.org \
- --passphrase besteffort \
- --detach-sig $BUILD_DIRECTORY/opnfv-$OPNFV_ARTIFACT_VERSION.bin
-
-gsutil cp $BUILD_DIRECTORY/opnfv-$OPNFV_ARTIFACT_VERSION.bin.sig gs://$GS_URL/opnfv-$OPNFV_ARTIFACT_VERSION.bin.sig
-echo "BIN signature Upload Complete!"
-}
-
-uploadbin () {
-# log info to console
-echo "Uploading $INSTALLER_TYPE artifact. This could take some time..."
-echo
-
-cd $WORKSPACE
-# upload artifact and additional files to google storage
-gsutil cp $BUILD_DIRECTORY/opnfv-$OPNFV_ARTIFACT_VERSION.bin \
- gs://$GS_URL/opnfv-$OPNFV_ARTIFACT_VERSION.bin > gsutil.bin.log 2>&1
-gsutil cp $BUILD_DIRECTORY/opnfv-$OPNFV_ARTIFACT_VERSION.iso \
- gs://$GS_URL/opnfv-$OPNFV_ARTIFACT_VERSION.iso >> gsutil.bin.log 2>&1
-gsutil cp $WORKSPACE/opnfv.properties \
- gs://$GS_URL/opnfv-$OPNFV_ARTIFACT_VERSION.properties > gsutil.properties.log 2>&1
-if [[ ! "$JOB_NAME" =~ (verify|merge) ]]; then
- gsutil cp $WORKSPACE/opnfv.properties \
- gs://$GS_URL/latest.properties > gsutil.latest.log 2>&1
-elif [[ "$JOB_NAME" =~ "merge" ]]; then
- echo "Uploaded Daisy4nfv artifacts for a merged change"
-fi
-
-gsutil -m setmeta \
- -h "Content-Type:text/html" \
- -h "Cache-Control:private, max-age=0, no-transform" \
- gs://$GS_URL/latest.properties \
- gs://$GS_URL/opnfv-$OPNFV_ARTIFACT_VERSION.properties > /dev/null 2>&1
-
-gsutil -m setmeta \
- -h "Cache-Control:private, max-age=0, no-transform" \
- gs://$GS_URL/opnfv-$OPNFV_ARTIFACT_VERSION.bin > /dev/null 2>&1
-
-# disabled errexit due to gsutil setmeta complaints
-# BadRequestException: 400 Invalid argument
-# check if we uploaded the file successfully to see if things are fine
-gsutil ls gs://$GS_URL/opnfv-$OPNFV_ARTIFACT_VERSION.bin > /dev/null 2>&1
-if [[ $? -ne 0 ]]; then
- echo "Problem while uploading artifact!"
- echo "Check log $WORKSPACE/gsutil.bin.log on the machine where this build is done."
- exit 1
-fi
-
-echo "Done!"
-echo
-echo "--------------------------------------------------------"
-echo
-echo "Artifact is available as http://$GS_URL/opnfv-$OPNFV_ARTIFACT_VERSION.bin"
-echo
-echo "--------------------------------------------------------"
-echo
-}
-
-importkey
-signbin
-uploadbin
diff --git a/jjb/daisy4nfv/daisy4nfv-verify-jobs.yaml b/jjb/daisy4nfv/daisy4nfv-verify-jobs.yaml
deleted file mode 100644
index c8c1db0..0000000
--- a/jjb/daisy4nfv/daisy4nfv-verify-jobs.yaml
+++ /dev/null
@@ -1,225 +0,0 @@
----
-- project:
- name: 'daisy4nfv-verify-jobs'
- project: 'daisy'
- installer: 'daisy'
- ##########################################################
- # use alias to keep the jobs'name existed alread unchanged
- ##########################################################
- alias: 'daisy4nfv'
-
- #####################################
- # branch definitions
- #####################################
- stream:
- - master:
- branch: '{stream}'
- gs-pathname: ''
- disabled: true
- - fraser:
- branch: 'stable/{stream}'
- gs-pathname: '/{stream}'
- disabled: true
-
- #####################################
- # patch verification phases
- #####################################
- phase:
- - unit:
- slave-label: 'opnfv-build'
- - build:
- slave-label: 'opnfv-build-centos'
-
- #####################################
- # jobs
- #####################################
- jobs:
- - '{alias}-verify-{stream}'
- - '{alias}-verify-{phase}-{stream}'
-
-#####################################
-# job templates
-#####################################
-- job-template:
- name: '{alias}-verify-{stream}'
- project-type: multijob
- disabled: false
- concurrent: true
- properties:
- - logrotate-default
- - throttle:
- enabled: true
- max-total: 4
- option: 'project'
- - build-blocker:
- use-build-blocker: true
- blocking-jobs:
- - '{alias}-merge-build-.*'
- blocking-level: 'NODE'
-
- scm:
- - git-scm-gerrit
-
- wrappers:
- - ssh-agent-wrapper
- - timeout:
- timeout: 360
- fail: true
-
- triggers:
- - gerrit:
- server-name: 'gerrit.opnfv.org'
- trigger-on:
- - patchset-created-event:
- exclude-drafts: 'false'
- exclude-trivial-rebase: 'false'
- exclude-no-code-change: 'false'
- - draft-published-event
- - comment-added-contains-event:
- comment-contains-value: 'recheck'
- - comment-added-contains-event:
- comment-contains-value: 'reverify'
- projects:
- - project-compare-type: 'ANT'
- project-pattern: '{project}'
- branches:
- - branch-compare-type: 'ANT'
- branch-pattern: '**/{branch}'
- file-paths:
- - compare-type: ANT
- pattern: 'ci/**'
- - compare-type: ANT
- pattern: 'code/**'
- - compare-type: ANT
- pattern: 'deploy/**'
- - compare-type: ANT
- pattern: 'tests/**'
- disable-strict-forbidden-file-verification: 'true'
- forbidden-file-paths:
- - compare-type: ANT
- pattern: 'docs/**'
- - compare-type: ANT
- pattern: '.gitignore'
- readable-message: true
-
- parameters:
- - project-parameter:
- project: '{project}'
- branch: '{branch}'
- - 'opnfv-build-centos-defaults'
- - '{alias}-verify-defaults':
- gs-pathname: '{gs-pathname}'
-
- builders:
- - description-setter:
- description: "Built on $NODE_NAME"
- - multijob:
- name: unit
- condition: SUCCESSFUL
- projects:
- - name: '{alias}-verify-unit-{stream}'
- current-parameters: false
- predefined-parameters: |
- BRANCH=$BRANCH
- GERRIT_REFSPEC=$GERRIT_REFSPEC
- GERRIT_CHANGE_NUMBER=$GERRIT_CHANGE_NUMBER
- GERRIT_CHANGE_COMMIT_MESSAGE=$GERRIT_CHANGE_COMMIT_MESSAGE
- node-parameters: false
- kill-phase-on: FAILURE
- abort-all-job: true
- - multijob:
- name: build
- condition: SUCCESSFUL
- projects:
- - name: '{alias}-verify-build-{stream}'
- current-parameters: false
- predefined-parameters: |
- BRANCH=$BRANCH
- GERRIT_REFSPEC=$GERRIT_REFSPEC
- GERRIT_CHANGE_NUMBER=$GERRIT_CHANGE_NUMBER
- GERRIT_CHANGE_COMMIT_MESSAGE=$GERRIT_CHANGE_COMMIT_MESSAGE
- node-parameters: false
- kill-phase-on: FAILURE
- abort-all-job: true
-
-- job-template:
- name: '{alias}-verify-{phase}-{stream}'
- disabled: '{obj:disabled}'
- concurrent: true
- properties:
- - logrotate-default
- - throttle:
- enabled: true
- max-total: 6
- option: 'project'
- - build-blocker:
- use-build-blocker: true
- blocking-jobs:
- - '{alias}-merge-build-.*'
- - '{alias}-verify-build-.*'
- - '{installer}-daily-.*'
- blocking-level: 'NODE'
-
- scm:
- - git-scm-gerrit
-
- wrappers:
- - ssh-agent-wrapper
- - timeout:
- timeout: 360
- fail: true
-
- parameters:
- - project-parameter:
- project: '{project}'
- branch: '{branch}'
- - '{installer}-defaults'
- - '{slave-label}-defaults'
- - '{alias}-verify-defaults':
- gs-pathname: '{gs-pathname}'
-
- builders:
- - description-setter:
- description: "Built on $NODE_NAME"
- - '{project}-verify-{phase}-macro'
-
-#####################################
-# builder macros
-#####################################
-- builder:
- name: 'daisy-verify-build-macro'
- builders:
- - shell:
- !include-raw: ./daisy4nfv-basic.sh
- - shell:
- !include-raw: ./daisy4nfv-build.sh
- - 'clean-workspace'
-
-- builder:
- name: daisy-verify-unit-macro
- builders:
- - shell: |
- #!/bin/bash
- set -o errexit
- set -o pipefail
- set -o xtrace
- tox -e py27
-
-#####################################
-# parameter macros
-#####################################
-- parameter:
- name: 'daisy4nfv-verify-defaults'
- parameters:
- - string:
- name: BUILD_DIRECTORY
- default: $WORKSPACE/build_output
- description: "Directory where the build artifact will be located upon the completion of the build."
- - string:
- name: CACHE_DIRECTORY
- default: $HOME/opnfv/cache/$INSTALLER_TYPE
- description: "Directory where the cache to be used during the build is located."
- - string:
- name: GS_URL
- default: artifacts.opnfv.org/$PROJECT{gs-pathname}
- description: "URL to Google Storage."
diff --git a/jjb/doctor/doctor.yaml b/jjb/doctor/doctor.yaml
index c66624c..1b86a3a 100644
--- a/jjb/doctor/doctor.yaml
+++ b/jjb/doctor/doctor.yaml
@@ -17,8 +17,6 @@
disabled: false
installer:
- - 'apex':
- scenario: 'os-nosdn-nofeature-noha'
- 'fuel':
scenario: 'os-nosdn-nofeature-noha'
@@ -30,10 +28,6 @@
- 'sample'
- 'congress'
- exclude:
- - installer: 'apex'
- arch: 'aarch64'
-
jobs:
- 'doctor-verify-{stream}'
- 'doctor-verify-fault_management-{installer}-{inspector}-{arch}-{stream}'
@@ -64,18 +58,9 @@
# in phase jobs
echo "Triggering phase jobs!"
- multijob:
- name: 'doctor-verify-sample'
+ name: 'doctor-verify-fuel'
execution-type: PARALLEL
projects:
- - name: 'doctor-verify-all-apex-sample-x86_64-{stream}'
- predefined-parameters: |
- PROJECT=$PROJECT
- GERRIT_BRANCH=$GERRIT_BRANCH
- GERRIT_REFSPEC=$GERRIT_REFSPEC
- GERRIT_CHANGE_NUMBER=$GERRIT_CHANGE_NUMBER
- GERRIT_CHANGE_COMMIT_MESSAGE=$GERRIT_CHANGE_COMMIT_MESSAGE
- kill-phase-on: FAILURE
- git-revision: true
- name: 'doctor-verify-fault_management-fuel-sample-x86_64-{stream}'
predefined-parameters: |
PROJECT=$PROJECT
@@ -85,24 +70,7 @@
GERRIT_CHANGE_COMMIT_MESSAGE=$GERRIT_CHANGE_COMMIT_MESSAGE
kill-phase-on: FAILURE
git-revision: true
- - multijob:
- name: 'doctor-verify-fenix'
- execution-type: PARALLEL
- projects:
- - name: 'doctor-verify-maintenance-apex-sample-x86_64-{stream}'
- predefined-parameters: |
- PROJECT=$PROJECT
- GERRIT_BRANCH=$GERRIT_BRANCH
- GERRIT_REFSPEC=$GERRIT_REFSPEC
- GERRIT_CHANGE_NUMBER=$GERRIT_CHANGE_NUMBER
- GERRIT_CHANGE_COMMIT_MESSAGE=$GERRIT_CHANGE_COMMIT_MESSAGE
- kill-phase-on: FAILURE
- git-revision: true
- - multijob:
- name: 'doctor-verify-congress'
- execution-type: PARALLEL
- projects:
- - name: 'doctor-verify-fault_management-apex-congress-x86_64-{stream}'
+ - name: 'doctor-verify-maintenance-fuel-sample-x86_64-{stream}'
predefined-parameters: |
PROJECT=$PROJECT
GERRIT_BRANCH=$GERRIT_BRANCH
@@ -115,7 +83,7 @@
- job-template:
name: 'doctor-verify-fault_management-{installer}-{inspector}-{arch}-{stream}'
disabled: '{obj:disabled}'
- node: 'doctor-{installer}-{arch}'
+ node: 'zte-virtual4'
wrappers:
- ssh-agent-wrapper
- build-timeout:
@@ -130,7 +98,8 @@
inspector: '{inspector}'
scenario: '{scenario}'
test_case: 'fault_management'
- admin_tool_type: 'sample'
+ admin_tool_type: 'fenix'
+ app_manager_type: 'vnfm'
scm:
- git-scm-gerrit
builders:
@@ -141,7 +110,7 @@
- job-template:
name: 'doctor-verify-maintenance-{installer}-{inspector}-{arch}-{stream}'
disabled: '{obj:disabled}'
- node: 'doctor-{installer}-{arch}'
+ node: 'nokia-pod1'
wrappers:
- ssh-agent-wrapper
- build-timeout:
@@ -157,6 +126,7 @@
scenario: '{scenario}'
test_case: 'maintenance'
admin_tool_type: 'fenix'
+ app_manager_type: 'vnfm'
scm:
- git-scm-gerrit
builders:
@@ -182,7 +152,8 @@
inspector: '{inspector}'
scenario: '{scenario}'
test_case: 'all'
- admin_tool_type: 'sample'
+ admin_tool_type: 'fenix'
+ app_manager_type: 'vnfm'
scm:
- git-scm-gerrit
builders:
@@ -213,7 +184,10 @@
name: ADMIN_TOOL_TYPE
default: '{admin_tool_type}'
description: 'admin_tool_type: sample, fenix'
-
+ - string:
+ name: APP_MANAGER_TYPE
+ default: '{app_manager_type}'
+ description: 'app_manager_type: sample, vnfm'
# -------------------------------
# builder macros
@@ -238,7 +212,7 @@
# run tox to trigger the test
# As Jenkins user, it has no permission to send ICMP package
- sudo -E tox -e py34
+ sudo -E tox -e py36
# -------------------------------
diff --git a/jjb/dovetail/dovetail-project-jobs.yaml b/jjb/dovetail/dovetail-project-jobs.yaml
index 1accffc..2e9652e 100644
--- a/jjb/dovetail/dovetail-project-jobs.yaml
+++ b/jjb/dovetail/dovetail-project-jobs.yaml
@@ -16,7 +16,7 @@
- master:
branch: '{stream}'
disabled: false
- - danube:
+ - hunter:
branch: 'stable/{stream}'
gs-pathname: '/{stream}'
disabled: false
diff --git a/jjb/dovetail/dovetail-rtd-jobs.yaml b/jjb/dovetail/dovetail-rtd-jobs.yaml
index 482ff46..395c75a 100644
--- a/jjb/dovetail/dovetail-rtd-jobs.yaml
+++ b/jjb/dovetail/dovetail-rtd-jobs.yaml
@@ -8,5 +8,13 @@
rtd-build-url: 'https://readthedocs.org/api/v2/webhook/opnfv-dovetail/47364/'
rtd-token: '47df9d7358b153666c2cf5cc139cd3a65d135688'
+ stream:
+ - master:
+ branch: '{stream}'
+ disabled: false
+ - hunter:
+ branch: 'stable/{stream}'
+ disabled: false
+
jobs:
- '{project-name}-rtd-jobs'
diff --git a/jjb/dovetail/dovetail-run.sh b/jjb/dovetail/dovetail-run.sh
index e914ae1..a52019e 100755
--- a/jjb/dovetail/dovetail-run.sh
+++ b/jjb/dovetail/dovetail-run.sh
@@ -133,8 +133,8 @@ get_cred_file() {
cat $OPENRC
echo "INFO: change cacert file path in credentials file"
change_cred_file_cacert_path
- echo "INFO: set external network in credentials file"
- change_cred_file_ext_net
+ #echo "INFO: set external network in credentials file"
+ #change_cred_file_ext_net
echo "INFO: final openstack credentials file is:"
cat $OPENRC
else
@@ -396,6 +396,7 @@ cat << EOF >$tempest_conf_file
compute:
min_compute_nodes: 2
volume_device_name: ${volume_device}
+ max_microversion: 2.65
EOF
diff --git a/jjb/fuel/fuel-daily-jobs.yaml b/jjb/fuel/fuel-daily-jobs.yaml
index 9a8d809..de77523 100644
--- a/jjb/fuel/fuel-daily-jobs.yaml
+++ b/jjb/fuel/fuel-daily-jobs.yaml
@@ -14,13 +14,13 @@
master: &master
stream: master
branch: '{stream}'
- disabled: false
+ disabled: true
gs-pathname: ''
functest_docker_tag: iruya
- hunter: &hunter
- stream: hunter
+ iruya: &iruya
+ stream: iruya
branch: 'stable/{stream}'
- disabled: false
+ disabled: true
gs-pathname: '/{stream}'
functest_docker_tag: '{stream}'
# -------------------------------
@@ -37,10 +37,10 @@
<<: *master
- baremetal:
slave-label: fuel-baremetal
- <<: *hunter
+ <<: *iruya
- virtual:
slave-label: fuel-virtual
- <<: *hunter
+ <<: *iruya
# -------------------------------
# None-CI PODs
# -------------------------------
@@ -50,6 +50,7 @@
- itri-pod1:
slave-label: itri-pod1
<<: *master
+ disabled: true
# -------------------------------
# scenarios
# -------------------------------
@@ -403,64 +404,64 @@
triggers:
- timed: ''
# ----------------------------------------------
-# Triggers for job running on fuel-baremetal against hunter branch
+# Triggers for job running on fuel-baremetal against iruya branch
# ----------------------------------------------
# HA Scenarios
- trigger:
- name: 'fuel-os-nosdn-nofeature-ha-baremetal-daily-hunter-trigger'
+ name: 'fuel-os-nosdn-nofeature-ha-baremetal-daily-iruya-trigger'
triggers:
- timed: '0 20 * * 1,4,7'
- trigger:
- name: 'fuel-os-odl-nofeature-ha-baremetal-daily-hunter-trigger'
+ name: 'fuel-os-odl-nofeature-ha-baremetal-daily-iruya-trigger'
triggers:
- timed: '0 2 * * *'
- trigger:
- name: 'fuel-os-ovn-nofeature-ha-baremetal-daily-hunter-trigger'
+ name: 'fuel-os-ovn-nofeature-ha-baremetal-daily-iruya-trigger'
triggers:
- timed: ''
- trigger:
- name: 'fuel-os-nosdn-ovs-ha-baremetal-daily-hunter-trigger'
+ name: 'fuel-os-nosdn-ovs-ha-baremetal-daily-iruya-trigger'
triggers:
- timed: '0 5 * * *'
- trigger:
- name: 'fuel-os-nosdn-fdio-ha-baremetal-daily-hunter-trigger'
+ name: 'fuel-os-nosdn-fdio-ha-baremetal-daily-iruya-trigger'
triggers:
- timed: ''
# NOHA Scenarios
- trigger:
- name: 'fuel-os-nosdn-nofeature-noha-baremetal-daily-hunter-trigger'
+ name: 'fuel-os-nosdn-nofeature-noha-baremetal-daily-iruya-trigger'
triggers:
- timed: ''
- trigger:
- name: 'fuel-os-odl-nofeature-noha-baremetal-daily-hunter-trigger'
+ name: 'fuel-os-odl-nofeature-noha-baremetal-daily-iruya-trigger'
triggers:
- timed: ''
- trigger:
- name: 'fuel-os-odl-sfc-noha-baremetal-daily-hunter-trigger'
+ name: 'fuel-os-odl-sfc-noha-baremetal-daily-iruya-trigger'
triggers:
- timed: ''
- trigger:
- name: 'fuel-os-odl-bgpvpn-noha-baremetal-daily-hunter-trigger'
+ name: 'fuel-os-odl-bgpvpn-noha-baremetal-daily-iruya-trigger'
triggers:
- timed: ''
- trigger:
- name: 'fuel-os-ovn-nofeature-noha-baremetal-daily-hunter-trigger'
+ name: 'fuel-os-ovn-nofeature-noha-baremetal-daily-iruya-trigger'
triggers:
- timed: '0 20 * * 6'
- trigger:
- name: 'fuel-os-odl-ovs-noha-baremetal-daily-hunter-trigger'
+ name: 'fuel-os-odl-ovs-noha-baremetal-daily-iruya-trigger'
triggers:
- timed: '0 20 * * 2'
- trigger:
- name: 'fuel-os-nosdn-ovs-noha-baremetal-daily-hunter-trigger'
+ name: 'fuel-os-nosdn-ovs-noha-baremetal-daily-iruya-trigger'
triggers:
- timed: ''
- trigger:
- name: 'fuel-os-nosdn-fdio-noha-baremetal-daily-hunter-trigger'
+ name: 'fuel-os-nosdn-fdio-noha-baremetal-daily-iruya-trigger'
triggers:
- timed: '0 20 * * 3,5'
- trigger:
- name: 'fuel-k8-calico-nofeature-noha-baremetal-daily-hunter-trigger'
+ name: 'fuel-k8-calico-nofeature-noha-baremetal-daily-iruya-trigger'
triggers:
- timed: ''
# ----------------------------------------------
@@ -518,69 +519,69 @@
- trigger:
name: 'fuel-os-nosdn-fdio-noha-virtual-daily-master-trigger'
triggers:
- - timed: ''
+ - timed: '5 20 * * *'
- trigger:
name: 'fuel-k8-calico-nofeature-noha-virtual-daily-master-trigger'
triggers:
- timed: '5 16 * * *'
# ----------------------------------------------
-# Triggers for job running on fuel-virtual against hunter branch
+# Triggers for job running on fuel-virtual against iruya branch
# ----------------------------------------------
- trigger:
- name: 'fuel-os-nosdn-nofeature-ha-virtual-daily-hunter-trigger'
+ name: 'fuel-os-nosdn-nofeature-ha-virtual-daily-iruya-trigger'
triggers:
- timed: ''
- trigger:
- name: 'fuel-os-odl-nofeature-ha-virtual-daily-hunter-trigger'
+ name: 'fuel-os-odl-nofeature-ha-virtual-daily-iruya-trigger'
triggers:
- timed: ''
- trigger:
- name: 'fuel-os-ovn-nofeature-ha-virtual-daily-hunter-trigger'
+ name: 'fuel-os-ovn-nofeature-ha-virtual-daily-iruya-trigger'
triggers:
- timed: ''
- trigger:
- name: 'fuel-os-nosdn-ovs-ha-virtual-daily-hunter-trigger'
+ name: 'fuel-os-nosdn-ovs-ha-virtual-daily-iruya-trigger'
triggers:
- timed: ''
- trigger:
- name: 'fuel-os-nosdn-fdio-ha-virtual-daily-hunter-trigger'
+ name: 'fuel-os-nosdn-fdio-ha-virtual-daily-iruya-trigger'
triggers:
- timed: ''
# NOHA Scenarios
- trigger:
- name: 'fuel-os-nosdn-nofeature-noha-virtual-daily-hunter-trigger'
+ name: 'fuel-os-nosdn-nofeature-noha-virtual-daily-iruya-trigger'
triggers:
- timed: '0 13 * * *'
- trigger:
- name: 'fuel-os-odl-nofeature-noha-virtual-daily-hunter-trigger'
+ name: 'fuel-os-odl-nofeature-noha-virtual-daily-iruya-trigger'
triggers:
- timed: '0 18 * * *'
- trigger:
- name: 'fuel-os-odl-sfc-noha-virtual-daily-hunter-trigger'
+ name: 'fuel-os-odl-sfc-noha-virtual-daily-iruya-trigger'
triggers:
- timed: '0 4 * * 1,4'
- trigger:
- name: 'fuel-os-odl-bgpvpn-noha-virtual-daily-hunter-trigger'
+ name: 'fuel-os-odl-bgpvpn-noha-virtual-daily-iruya-trigger'
triggers:
- timed: '0 7 * * 2,5'
- trigger:
- name: 'fuel-os-ovn-nofeature-noha-virtual-daily-hunter-trigger'
+ name: 'fuel-os-ovn-nofeature-noha-virtual-daily-iruya-trigger'
triggers:
- timed: '0 23 * * *'
- trigger:
- name: 'fuel-os-odl-ovs-noha-virtual-daily-hunter-trigger'
+ name: 'fuel-os-odl-ovs-noha-virtual-daily-iruya-trigger'
triggers:
- timed: '0 2 * * *'
- trigger:
- name: 'fuel-os-nosdn-ovs-noha-virtual-daily-hunter-trigger'
+ name: 'fuel-os-nosdn-ovs-noha-virtual-daily-iruya-trigger'
triggers:
- timed: '0 9 * * *'
- trigger:
- name: 'fuel-os-nosdn-fdio-noha-virtual-daily-hunter-trigger'
+ name: 'fuel-os-nosdn-fdio-noha-virtual-daily-iruya-trigger'
triggers:
- timed: '0 13 * * 6,7'
- trigger:
- name: 'fuel-k8-calico-nofeature-noha-virtual-daily-hunter-trigger'
+ name: 'fuel-k8-calico-nofeature-noha-virtual-daily-iruya-trigger'
triggers:
- timed: '5 13 * * 6,7'
# ----------------------------------------------
diff --git a/jjb/fuel/fuel-docker-jobs.yaml b/jjb/fuel/fuel-docker-jobs.yaml
index 5149038..b90f95d 100644
--- a/jjb/fuel/fuel-docker-jobs.yaml
+++ b/jjb/fuel/fuel-docker-jobs.yaml
@@ -11,10 +11,10 @@
stream:
- master:
branch: '{stream}'
- disabled: false
- - hunter:
+ disabled: true
+ - iruya:
branch: 'stable/{stream}'
- disabled: false
+ disabled: true
arch_tag:
- 'amd64':
diff --git a/jjb/fuel/fuel-rtd-jobs.yaml b/jjb/fuel/fuel-rtd-jobs.yaml
index 3775be8..b93eedd 100644
--- a/jjb/fuel/fuel-rtd-jobs.yaml
+++ b/jjb/fuel/fuel-rtd-jobs.yaml
@@ -11,10 +11,10 @@
stream:
- master:
branch: '{stream}'
- disabled: false
- - hunter:
+ disabled: true
+ - iruya:
branch: 'stable/{stream}'
- disabled: false
+ disabled: true
jobs:
- '{project-name}-rtd-jobs'
diff --git a/jjb/fuel/fuel-verify-jobs.yaml b/jjb/fuel/fuel-verify-jobs.yaml
index 0248907..7fd7317 100644
--- a/jjb/fuel/fuel-verify-jobs.yaml
+++ b/jjb/fuel/fuel-verify-jobs.yaml
@@ -12,12 +12,12 @@
- master:
branch: '{stream}'
gs-pathname: ''
- disabled: false
+ disabled: true
functest_docker_tag: iruya
- - hunter:
+ - iruya:
branch: 'stable/{stream}'
gs-pathname: '/{stream}'
- disabled: false
+ disabled: true
functest_docker_tag: '{stream}'
#####################################
# cluster architectures
diff --git a/jjb/functest/functest-alpine.sh b/jjb/functest/functest-alpine.sh
deleted file mode 100755
index 14143d2..0000000
--- a/jjb/functest/functest-alpine.sh
+++ /dev/null
@@ -1,270 +0,0 @@
-#!/bin/bash
-
-set -e
-set +u
-set +o pipefail
-
-REPO=${REPO:-opnfv}
-CI_LOOP=${CI_LOOP:-daily}
-TEST_DB_URL=http://testresults.opnfv.org/test/api/v1/results
-ENERGY_RECORDER_API_URL=http://energy.opnfv.fr/resources
-DOCKER_TAG=${DOCKER_TAG:-$([[ ${BRANCH##*/} == "master" ]] && echo "latest" || echo ${BRANCH##*/})}
-
-run_tiers() {
- tiers=$1
- cmd_opt="run_tests -r -t all"
- [[ $BUILD_TAG =~ "suite" ]] && cmd_opt="run_tests -t all"
- for tier in ${tiers[@]}; do
- FUNCTEST_IMAGE=${REPO}/functest-${tier}:${DOCKER_TAG}
- echo "Functest: Pulling Functest Docker image ${FUNCTEST_IMAGE} ..."
- docker pull ${FUNCTEST_IMAGE}>/dev/null
- cmd="docker run --rm ${envs} ${volumes} ${TESTCASE_OPTIONS} ${FUNCTEST_IMAGE} /bin/bash -c '${cmd_opt}'"
- echo "Running Functest tier '${tier}'. CMD: ${cmd}"
- eval ${cmd}
- ret_value=$?
- if [ ${ret_value} != 0 ]; then
- echo ${ret_value} > ${ret_val_file}
- if [ ${tier} == 'healthcheck' ]; then
- echo "Healthcheck tier failed. Exiting Functest..."
- skip_tests=1
- break
- fi
- fi
- done
-}
-
-run_test() {
- test_name=$1
- cmd_opt="run_tests -t ${test_name}"
- # Determine which Functest image should be used for the test case
- case ${test_name} in
- connection_check|tenantnetwork1|tenantnetwork2|vmready1|vmready2|singlevm1|singlevm2|vping_ssh|vping_userdata|cinder_test|odl|api_check|snaps_health_check|tempest_smoke)
- FUNCTEST_IMAGE=${REPO}/functest-healthcheck:${DOCKER_TAG} ;;
- neutron-tempest-plugin-api|rally_sanity|refstack_defcore|tempest_full|tempest_scenario|patrole|snaps_smoke|neutron_trunk|networking-bgpvpn|networking-sfc|barbican)
- FUNCTEST_IMAGE=${REPO}/functest-smoke:${DOCKER_TAG} ;;
- rally_full|rally_jobs|shaker|vmtp)
- FUNCTEST_IMAGE=${REPO}/functest-benchmarking:${DOCKER_TAG} ;;
- cloudify|cloudify_ims|heat_ims|vyos_vrouter|juju_epc)
- FUNCTEST_IMAGE=${REPO}/functest-vnf:${DOCKER_TAG} ;;
- *)
- echo "Unkown test case $test_name"
- exit 1
- ;;
- esac
- echo "Functest: Pulling Functest Docker image ${FUNCTEST_IMAGE} ..."
- docker pull ${FUNCTEST_IMAGE}>/dev/null
- cmd="docker run --rm ${envs} ${volumes} ${TESTCASE_OPTIONS} ${FUNCTEST_IMAGE} /bin/bash -c '${cmd_opt}'"
- echo "Running Functest test case '${test_name}'. CMD: ${cmd}"
- eval ${cmd}
- ret_value=$?
- if [ ${ret_value} != 0 ]; then
- echo ${ret_value} > ${ret_val_file}
- fi
-}
-
-
-redirect="/dev/stdout"
-FUNCTEST_DIR=/home/opnfv/functest
-DEPLOY_TYPE=baremetal
-[[ $BUILD_TAG =~ "virtual" ]] && DEPLOY_TYPE=virt
-HOST_ARCH=$(uname -m)
-
-# Prepare OpenStack credentials volume
-rc_file=${HOME}/opnfv-openrc.sh
-
-if [[ ${INSTALLER_TYPE} == 'joid' ]]; then
- rc_file=$LAB_CONFIG/admin-openrc
-elif [[ ${INSTALLER_TYPE} == 'fuel' ]] && [[ "${DEPLOY_SCENARIO}" =~ -ha$ ]]; then
- cacert_file_vol="-v ${HOME}/os_cacert:/etc/ssl/certs/mcp_os_cacert"
-fi
-
-rc_file_vol="-v ${rc_file}:${FUNCTEST_DIR}/conf/env_file"
-
-echo "Functest: Start Docker and prepare environment"
-
-echo "Functest: Download images that will be used by test cases"
-images_dir="${HOME}/opnfv/functest/images"
-download_script=${WORKSPACE}/functest/ci/download_images.sh
-chmod +x ${download_script}
-${download_script} ${images_dir} ${DEPLOY_SCENARIO} ${HOST_ARCH} 2> ${redirect}
-
-images_vol="-v ${images_dir}:${FUNCTEST_DIR}/images"
-
-dir_result="${HOME}/opnfv/functest/results/${BRANCH##*/}"
-mkdir -p ${dir_result}
-sudo rm -rf ${dir_result}/*
-results_vol="-v ${dir_result}:${FUNCTEST_DIR}/results"
-custom_params=
-test -f ${HOME}/opnfv/functest/custom/params_${DOCKER_TAG} && custom_params=$(cat ${HOME}/opnfv/functest/custom/params_${DOCKER_TAG})
-
-envs="-e INSTALLER_TYPE=${INSTALLER_TYPE} -e INSTALLER_IP=${INSTALLER_IP} \
- -e NODE_NAME=${NODE_NAME} -e DEPLOY_SCENARIO=${DEPLOY_SCENARIO} \
- -e BUILD_TAG=${BUILD_TAG} -e DEPLOY_TYPE=${DEPLOY_TYPE} -e CI_LOOP=${CI_LOOP} \
- -e TEST_DB_URL=${TEST_DB_URL} -e ENERGY_RECORDER_API_URL=${ENERGY_RECORDER_API_URL} \
- -e DEBUG=true"
-
-ssh_options="-o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no"
-
-if [ "${INSTALLER_TYPE}" == 'fuel' ]; then
- COMPUTE_ARCH=$(ssh -l ubuntu ${INSTALLER_IP} -i ${SSH_KEY} ${ssh_options} \
- "sudo salt 'cmp*' grains.get cpuarch --out yaml | awk '{print \$2; exit}'")
- IMAGE_PROPERTIES="hw_disk_bus:scsi,hw_scsi_model:virtio-scsi"
- envs="${envs} -e POD_ARCH=${COMPUTE_ARCH} -e BLOCK_MIGRATION=false"
-fi
-
-if [[ ${INSTALLER_TYPE} == 'fuel' && ${DEPLOY_SCENARIO} == 'os-nosdn-nofeature-noha' ]]; then
- libvirt_vol="-v ${ssh_key}:${FUNCTEST_DIR}/conf/libvirt_key"
- envs="${envs} -e LIBVIRT_USER=ubuntu -e LIBVIRT_KEY_PATH=${FUNCTEST_DIR}/conf/libvirt_key"
-fi
-
-if [[ ${DEPLOY_SCENARIO} == *"ovs"* ]] || [[ ${DEPLOY_SCENARIO} == *"fdio"* ]]; then
- if [[ -n ${IMAGE_PROPERTIES} ]]; then
- IMAGE_PROPERTIES="${IMAGE_PROPERTIES},hw_mem_page_size:large"
- else
- IMAGE_PROPERTIES="hw_mem_page_size:large"
- fi
- FLAVOR_EXTRA_SPECS="hw:mem_page_size:large"
-fi
-
-if [[ -n ${IMAGE_PROPERTIES} ]] || [[ -n ${FLAVOR_EXTRA_SPECS} ]]; then
- envs="${envs} -e IMAGE_PROPERTIES=${IMAGE_PROPERTIES} -e FLAVOR_EXTRA_SPECS=${FLAVOR_EXTRA_SPECS}"
-fi
-
-tempest_conf_yaml=$(mktemp)
-case ${INSTALLER_TYPE} in
-apex)
- cat << EOF > "${tempest_conf_yaml}"
----
-compute-feature-enabled:
- shelve: false
- vnc_console: true
- block_migration_for_live_migration: false
-identity-feature-enabled:
- api_v2: false
- api_v2_admin: false
-image-feature-enabled:
- api_v2: true
- api_v1: false
-object-storage:
- operator_role: SwiftOperator
-volume:
- storage_protocol: ceph
-volume-feature-enabled:
- backup: false
-EOF
- ;;
-fuel)
- cat << EOF > "${tempest_conf_yaml}"
----
-compute-feature-enabled:
- shelve: false
- vnc_console: false
- spice_console: true
-identity-feature-enabled:
- api_v2: false
- api_v2_admin: false
-image-feature-enabled:
- api_v2: true
- api_v1: false
-volume:
- storage_protocol: iSCSI
-volume-feature-enabled:
- backup: false
-EOF
- ;;
-*)
- cat << EOF > "${tempest_conf_yaml}"
----
-compute-feature-enabled:
- shelve: false
- vnc_console: false
-identity-feature-enabled:
- api_v2: false
- api_v2_admin: false
-image-feature-enabled:
- api_v2: true
- api_v1: false
-volume:
- storage_protocol: iSCSI
-volume-feature-enabled:
- backup: false
-EOF
- ;;
-esac
-case ${BRANCH} in
-master)
- cat << EOF >> "${tempest_conf_yaml}"
-compute:
- max_microversion: latest
-EOF
- ;;
-stable/hunter)
- cat << EOF >> "${tempest_conf_yaml}"
-compute:
- max_microversion: 2.65
-EOF
- ;;
-esac
-echo "tempest_conf.yaml:" && cat "${tempest_conf_yaml}"
-
-volumes="${images_vol} ${results_vol} ${sshkey_vol} ${libvirt_vol} \
- ${userconfig_vol} ${rc_file_vol} ${cacert_file_vol} \
- -v ${tempest_conf_yaml}:/usr/lib/python2.7/site-packages/functest/opnfv_tests/openstack/tempest/custom_tests/tempest_conf.yaml"
-
-if [[ ${INSTALLER_TYPE} == 'apex' ]]; then
- blacklist_yaml=$(mktemp)
- cat << EOF >> "${blacklist_yaml}"
----
--
- scenarios:
- - os-ovn-nofeature-ha
- tests:
- - neutron_tempest_plugin.api.admin.test_agent_management
- - neutron_tempest_plugin.api.admin.test_dhcp_agent_scheduler
- - patrole_tempest_plugin.tests.api.network.test_agents_rbac
- - patrole_tempest_plugin.tests.api.network.test_networks_rbac.NetworksRbacTest.test_create_network_provider_network_type
- - patrole_tempest_plugin.tests.api.network.test_networks_rbac.NetworksRbacTest.test_create_network_provider_segmentation_id
- - tempest.api.network.admin.test_agent_management
- - tempest.api.network.admin.test_dhcp_agent_scheduler
- - tempest.api.object_storage.test_crossdomain.CrossdomainTest.test_get_crossdomain_policy
--
- scenarios:
- - os-nosdn-nofeature-ha
- tests:
- - tempest.api.object_storage.test_crossdomain.CrossdomainTest.test_get_crossdomain_policy
--
- scenarios:
- - os-nosdn-nofeature-noha
- tests:
- - tempest.api.object_storage.test_crossdomain.CrossdomainTest.test_get_crossdomain_policy
-EOF
- volumes="${volumes} -v ${blacklist_yaml}:/usr/lib/python2.7/site-packages/functest/opnfv_tests/openstack/tempest/custom_tests/blacklist.yaml"
-fi
-
-ret_val_file="${HOME}/opnfv/functest/results/${BRANCH##*/}/return_value"
-echo 0 > ${ret_val_file}
-
-set +e
-
-if [ ${FUNCTEST_MODE} == 'testcase' ]; then
- echo "FUNCTEST_MODE=testcase, FUNCTEST_SUITE_NAME=${FUNCTEST_SUITE_NAME}"
- run_test ${FUNCTEST_SUITE_NAME}
-elif [ ${FUNCTEST_MODE} == 'tier' ]; then
- echo "FUNCTEST_MODE=tier, FUNCTEST_TIER=${FUNCTEST_TIER}"
- tiers=(${FUNCTEST_TIER})
- run_tiers ${tiers}
-else
- tests=()
- skip_tests=0
- if [ "${HOST_ARCH}" != "aarch64" ]; then
- tiers=(healthcheck smoke benchmarking vnf)
- else
- tiers=(healthcheck smoke benchmarking)
- fi
- run_tiers ${tiers}
- if [ ${skip_tests} -eq 0 ]; then
- for test in "${tests[@]}"; do
- run_test "$test"
- done
- fi
-fi
diff --git a/jjb/functest/functest-cleanup.sh b/jjb/functest/functest-cleanup.sh
deleted file mode 100755
index c21b543..0000000
--- a/jjb/functest/functest-cleanup.sh
+++ /dev/null
@@ -1,40 +0,0 @@
-#!/bin/bash
-
-[[ $CI_DEBUG == true ]] && redirect="/dev/stdout" || redirect="/dev/null"
-
-echo "Cleaning up docker containers/images..."
-FUNCTEST_IMAGE=opnfv/functest
-
-# Remove containers along with image opnfv/functest*:<none>
-dangling_images=($(docker images -f "dangling=true" | grep $FUNCTEST_IMAGE | awk '{print $3}'))
-if [[ -n ${dangling_images} ]]; then
- echo " Removing $FUNCTEST_IMAGE:<none> images and their containers..."
- for image_id in "${dangling_images[@]}"; do
- echo " Removing image_id: $image_id and its containers"
- containers=$(docker ps -a | grep $image_id | awk '{print $1}')
- if [[ -n "$containers" ]];then
- docker rm -f $containers >${redirect}
- fi
- docker rmi $image_id >${redirect}
- done
-fi
-
-# Remove previous running containers if exist
-functest_containers=$(docker ps -a | grep $FUNCTEST_IMAGE | awk '{print $1}')
-if [[ -n ${functest_containers} ]]; then
- echo " Removing existing $FUNCTEST_IMAGE containers..."
- docker rm -f $functest_containers >${redirect}
-fi
-
-# Remove existing images if exist
-if [[ $CLEAN_DOCKER_IMAGES == true ]]; then
- functest_image_tags=($(docker images | grep $FUNCTEST_IMAGE | awk '{print $2}'))
- if [[ -n ${functest_image_tags} ]]; then
- echo " Docker images to be removed:" >${redirect}
- (docker images | head -1 && docker images | grep $FUNCTEST_IMAGE) >${redirect}
- for tag in "${functest_image_tags[@]}"; do
- echo " Removing docker image $FUNCTEST_IMAGE:$tag..."
- docker rmi $FUNCTEST_IMAGE:$tag >${redirect}
- done
- fi
-fi
diff --git a/jjb/functest/functest-daily-jobs.yaml b/jjb/functest/functest-daily-jobs.yaml
deleted file mode 100644
index 3f5e7fd..0000000
--- a/jjb/functest/functest-daily-jobs.yaml
+++ /dev/null
@@ -1,304 +0,0 @@
----
-###################################
-# job configuration for functest
-###################################
-- project:
- name: functest-daily
-
- project: functest
-
- # -------------------------------
- # BRANCH ANCHORS
- # -------------------------------
- master: &master
- stream: master
- branch: '{stream}'
- gs-pathname: ''
- iruya: &iruya
- stream: iruya
- branch: 'stable/{stream}'
- gs-pathname: '/{stream}'
- hunter: &hunter
- stream: hunter
- branch: 'stable/{stream}'
- gs-pathname: '/{stream}'
- # -------------------------------
- # POD, INSTALLER, AND BRANCH MAPPING
- # -------------------------------
- # Installers using labels
- # CI PODs
- # This section should only contain the installers
- # that have been switched using labels for slaves
- # -------------------------------
- pod:
- # fuel CI PODs
- - baremetal:
- slave-label: fuel-baremetal
- installer: fuel
- <<: *master
- - virtual:
- slave-label: fuel-virtual
- installer: fuel
- <<: *master
- - baremetal:
- slave-label: fuel-baremetal
- installer: fuel
- <<: *hunter
- - virtual:
- slave-label: fuel-virtual
- installer: fuel
- <<: *hunter
- # apex CI PODs
- - virtual:
- slave-label: apex-virtual-master
- installer: apex
- <<: *master
- - baremetal:
- slave-label: apex-baremetal-master
- installer: apex
- <<: *master
- - virtual:
- slave-label: apex-virtual-master
- installer: apex
- <<: *hunter
- - baremetal:
- slave-label: apex-baremetal-master
- installer: apex
- <<: *hunter
- # armband CI PODs
- - armband-baremetal:
- slave-label: armband-baremetal
- installer: fuel
- <<: *master
- - armband-baremetal:
- slave-label: armband-baremetal
- installer: fuel
- <<: *hunter
- # fuel NONE CI PODs
- - zte-pod1:
- slave-label: fuel-baremetal
- installer: fuel
- <<: *master
- - itri-pod1:
- slave-label: fuel-baremetal
- installer: fuel
- <<: *master
-
- testsuite:
- - 'suite':
- job-timeout: 60
- - 'daily':
- job-timeout: 600
-
- jobs:
- - 'functest-{installer}-{pod}-{testsuite}-{stream}'
-
-################################
-# job template
-################################
-- job-template:
- name: 'functest-{installer}-{pod}-{testsuite}-{stream}'
-
- concurrent: true
-
- properties:
- - logrotate-default
- - throttle:
- enabled: true
- max-per-node: 1
- max-total: 10
- option: 'project'
-
- wrappers:
- - build-name:
- name: '$BUILD_NUMBER Suite: $FUNCTEST_MODE Scenario: $DEPLOY_SCENARIO'
- - timeout:
- timeout: '{job-timeout}'
- abort: true
-
- parameters:
- - project-parameter:
- project: '{project}'
- branch: '{branch}'
- - '{installer}-defaults'
- - '{slave-label}-defaults'
- - 'functest-{testsuite}-parameter'
- - string:
- name: DEPLOY_SCENARIO
- default: 'os-nosdn-nofeature-noha'
- - string:
- name: DOCKER_TAG
- default: ''
- - string:
- name: CLEAN_DOCKER_IMAGES
- default: 'false'
- description: 'Remove downloaded docker images (opnfv/functest*:*)'
- - functest-parameter:
- gs-pathname: '{gs-pathname}'
-
- scm:
- - git-scm
-
- builders:
- - description-setter:
- description: "Built on $NODE_NAME"
- - 'functest-{testsuite}-builder'
-
-
-########################
-# parameter macros
-########################
-- parameter:
- name: functest-daily-parameter
- parameters:
- - string:
- name: FUNCTEST_MODE
- default: 'daily'
- description: "Daily suite name to run"
-
-- parameter:
- name: functest-suite-parameter
- parameters:
- - choice:
- name: FUNCTEST_MODE
- choices:
- - 'tier'
- - 'testcase'
- default: 'tier'
- description: "Test case or Tier to be run"
- - choice:
- name: FUNCTEST_SUITE_NAME
- choices:
- - 'connection_check'
- - 'api_check'
- - 'snaps_health_check'
- - 'vping_ssh'
- - 'vping_userdata'
- - 'cinder_test'
- - 'tempest_smoke'
- - 'rally_sanity'
- - 'refstack_defcore'
- - 'patrole'
- - 'odl'
- - 'snaps_smoke'
- - 'shaker'
- - 'vmtp'
- - 'neutron_trunk'
- - 'tempest_full'
- - 'rally_full'
- - 'cloudify_ims'
- - 'vyos_vrouter'
- - 'juju_epc'
- - 'parser'
- default: 'connection_check'
- - choice:
- name: FUNCTEST_TIER
- choices:
- - 'healthcheck'
- - 'smoke'
- - 'benchmarking'
- - 'components'
- - 'vnf'
- - 'parser'
- default: 'healthcheck'
- - string:
- name: TESTCASE_OPTIONS
- default: ''
- description: 'Additional parameters specific to test case(s)'
-
-- parameter:
- name: functest-parameter
- parameters:
- - string:
- name: GS_PATHNAME
- default: '{gs-pathname}'
- description: "Version directory where the opnfv documents will be stored in gs repository"
- - string:
- 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"
- - string:
- name: CI_DEBUG
- default: 'false'
- description: "Show debug output information"
- - string:
- name: RC_FILE_PATH
- default: ''
- description: "Path to the OS credentials file if given"
- - string:
- name: REPO
- default: "opnfv"
- description: "Repository name for functest images"
-########################
-# trigger macros
-########################
-- trigger:
- name: 'functest-master'
- triggers:
- - pollscm:
- cron: "H 9 * * *"
-########################
-# builder macros
-########################
-- builder:
- name: functest-daily-builder
- builders:
- - 'functest-cleanup'
- - 'functest-daily'
- - 'functest-store-results'
- - 'functest-exit'
-
-- builder:
- name: functest-suite-builder
- builders:
- - 'functest-cleanup'
- - 'functest-daily'
- - 'functest-store-results'
- - 'functest-exit'
-
-- builder:
- name: functest-daily
- builders:
- # yamllint disable rule:indentation
- - conditional-step:
- condition-kind: regex-match
- regex: "os-.*"
- label: '$DEPLOY_SCENARIO'
- steps:
- - shell:
- !include-raw:
- - ./functest-env-presetup.sh
- - ../../utils/fetch_os_creds.sh
- - ./functest-alpine.sh
- - conditional-step:
- condition-kind: regex-match
- regex: "k8-.*"
- label: '$DEPLOY_SCENARIO'
- steps:
- - shell:
- !include-raw:
- - ../../utils/fetch_k8_conf.sh
- - ./functest-k8.sh
-
-# yamllint enable rule:indentation
-- builder:
- name: functest-store-results
- builders:
- - shell:
- !include-raw: ../../utils/push-test-logs.sh
-
-- builder:
- name: functest-cleanup
- builders:
- - shell:
- !include-raw: ./functest-cleanup.sh
-
-- builder:
- name: functest-exit
- builders:
- - shell:
- !include-raw: ./functest-exit.sh
diff --git a/jjb/functest/functest-docker.yaml b/jjb/functest/functest-docker.yaml
index 686c009..6915ab4 100644
--- a/jjb/functest/functest-docker.yaml
+++ b/jjb/functest/functest-docker.yaml
@@ -12,6 +12,12 @@
- master:
branch: '{stream}'
disabled: false
+ - leguer:
+ branch: 'stable/{stream}'
+ disabled: false
+ - kali:
+ branch: 'stable/{stream}'
+ disabled: false
- jerma:
branch: 'stable/{stream}'
disabled: false
@@ -24,9 +30,7 @@
arch_tag:
- 'amd64':
- slave_label: 'opnfv-build-ubuntu'
- - 'arm64':
- slave_label: 'opnfv-build-ubuntu-arm'
+ slave_label: 'lf-build2'
# yamllint disable rule:key-duplicates
image:
@@ -36,12 +40,29 @@
- 'smoke'
- 'benchmarking'
- 'vnf'
+ - 'smoke-cntt'
+ - 'benchmarking-cntt'
+ - 'features'
exclude:
- stream: 'master'
image: 'tempest'
+ - stream: 'leguer'
+ image: 'tempest'
+ - stream: 'kali'
+ image: 'tempest'
- stream: 'jerma'
image: 'tempest'
+ - stream: 'master'
+ image: 'features'
+ - stream: 'leguer'
+ image: 'features'
+ - stream: 'kali'
+ image: 'features'
+ - stream: 'jerma'
+ image: 'features'
+ - stream: 'iruya'
+ image: 'features'
# settings for jobs run in multijob phases
build-job-settings: &build-job-settings
@@ -85,7 +106,7 @@
- functest-job-parameters:
project: '{project}'
branch: '{branch}'
- slave_label: 'opnfv-build-ubuntu'
+ slave_label: 'lf-build2'
arch_tag: 'amd64'
properties:
@@ -109,8 +130,6 @@
projects:
- name: 'functest-core-docker-build-amd64-{stream}'
<<: *build-job-settings
- - name: 'functest-core-docker-build-arm64-{stream}'
- <<: *build-job-settings
- multijob:
name: 'publish functest-core manifests'
execution-type: PARALLEL
@@ -123,8 +142,6 @@
projects:
- name: 'functest-tempest-docker-build-amd64-{stream}'
<<: *build-job-settings
- - name: 'functest-tempest-docker-build-arm64-{stream}'
- <<: *build-job-settings
- multijob:
name: 'publish functest-tempest manifests'
execution-type: PARALLEL
@@ -138,19 +155,13 @@
projects:
- name: 'functest-healthcheck-docker-build-amd64-{stream}'
<<: *build-job-settings
- - name: 'functest-healthcheck-docker-build-arm64-{stream}'
- <<: *build-job-settings
- name: 'functest-smoke-docker-build-amd64-{stream}'
<<: *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}'
+ - name: 'functest-features-docker-build-amd64-{stream}'
<<: *build-job-settings
- multijob:
name: 'publish all manifests'
@@ -165,10 +176,29 @@
<<: *manifest-job-settings
- name: 'functest-vnf-docker-manifest-{stream}'
<<: *manifest-job-settings
+ - name: 'functest-features-docker-manifest-{stream}'
+ <<: *manifest-job-settings
+ - multijob:
+ name: 'build all functest cntt images'
+ condition: SUCCESSFUL
+ execution-type: PARALLEL
+ projects:
+ - name: 'functest-smoke-cntt-docker-build-amd64-{stream}'
+ <<: *build-job-settings
+ - name: 'functest-benchmarking-cntt-docker-build-amd64-{stream}'
+ <<: *build-job-settings
+ - multijob:
+ name: 'publish all cntt manifests'
+ condition: SUCCESSFUL
+ execution-type: PARALLEL
+ projects:
+ - name: 'functest-smoke-cntt-docker-manifest-{stream}'
+ <<: *manifest-job-settings
+ - name: 'functest-benchmarking-cntt-docker-manifest-{stream}'
+ <<: *manifest-job-settings
publishers:
- 'functest-amd64-recipients'
- - 'functest-arm64-recipients'
- job-template:
name: 'functest-{image}-docker-build-{arch_tag}-{stream}'
@@ -184,12 +214,7 @@
builders:
- shell: |
#!/bin/bash -ex
- case "{arch_tag}" in
- "arm64")
- sudo amd64_dirs= arm64_dirs=docker/{image} arm_dirs= bash ./build.sh ;;
- *)
- sudo amd64_dirs=docker/{image} arm64_dirs= arm_dirs= bash ./build.sh ;;
- esac
+ sudo amd64_dirs=docker/{image} arm64_dirs= arm_dirs= bash ./build.sh
exit $?
- job-template:
@@ -201,7 +226,7 @@
branch: '{branch}'
- label:
name: SLAVE_LABEL
- default: 'opnfv-build-ubuntu'
+ default: 'lf-build2'
description: 'Slave label on Jenkins'
all-nodes: false
node-eligibility: 'ignore-offline'
@@ -231,7 +256,7 @@
tag="{stream}" ;;
esac
sudo manifest-tool push from-args \
- --platforms linux/amd64,linux/arm64 \
+ --platforms linux/amd64 \
--template $REPO/functest-{image}:ARCH-$tag \
--target $REPO/functest-{image}:$tag
exit $?
@@ -284,15 +309,6 @@
# publisher macros
- publisher:
- name: 'functest-arm64-recipients'
- publishers:
- - email:
- recipients: >
- cristina.pauna@enea.com
- alexandru.avadanii@enea.com
- delia.popescu@enea.com
-
-- publisher:
name: 'functest-amd64-recipients'
publishers:
- email:
diff --git a/jjb/functest/functest-env-presetup.sh b/jjb/functest/functest-env-presetup.sh
deleted file mode 100755
index 510670b..0000000
--- a/jjb/functest/functest-env-presetup.sh
+++ /dev/null
@@ -1,58 +0,0 @@
-#!/usr/bin/env bash
-set -o errexit
-set -o pipefail
-
-# Fetch INSTALLER_IP for APEX deployments
-if [[ ${INSTALLER_TYPE} == 'apex' ]]; then
- if [ -n "$RC_FILE_PATH" ]; then
- echo "RC_FILE_PATH is set: ${RC_FILE_PATH}...skipping detecting UC IP"
- else
- echo "Gathering IP information for Apex installer VM"
- ssh_options="-o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no"
- if sudo virsh list | grep undercloud; then
- echo "Installer VM detected"
- undercloud_mac=$(sudo virsh domiflist undercloud | grep default | \
- grep -Eo "[0-9a-f]+:[0-9a-f]+:[0-9a-f]+:[0-9a-f]+:[0-9a-f]+:[0-9a-f]+")
- export INSTALLER_IP=$(/usr/sbin/arp -e | grep ${undercloud_mac} | awk {'print $1'})
- export sshkey_vol="-v /root/.ssh/id_rsa:/root/.ssh/id_rsa"
- sudo scp $ssh_options root@${INSTALLER_IP}:/home/stack/stackrc ${HOME}/stackrc
- export stackrc_vol="-v ${HOME}/stackrc:/home/opnfv/functest/conf/stackrc"
-
- if sudo iptables -C FORWARD -o virbr0 -j REJECT --reject-with icmp-port-unreachable 2> ${redirect}; then
- sudo iptables -D FORWARD -o virbr0 -j REJECT --reject-with icmp-port-unreachable
- fi
- if sudo iptables -C FORWARD -i virbr0 -j REJECT --reject-with icmp-port-unreachable 2> ${redirect}; then
- sudo iptables -D FORWARD -i virbr0 -j REJECT --reject-with icmp-port-unreachable
- fi
- echo "Installer ip is ${INSTALLER_IP}"
- else
- echo "No available installer VM exists and no credentials provided...exiting"
- exit 1
- fi
- fi
-
-elif [[ ${INSTALLER_TYPE} == 'daisy' ]]; then
- echo "Gathering IP information for Daisy installer VM"
- if sudo virsh list | grep daisy; then
- echo "Installer VM detected"
-
- bridge_name=$(sudo virsh domiflist daisy | grep vnet | awk '{print $3}')
- echo "Bridge is $bridge_name"
-
- installer_mac=$(sudo virsh domiflist daisy | grep vnet | \
- grep -Eo "[0-9a-f]+:[0-9a-f]+:[0-9a-f]+:[0-9a-f]+:[0-9a-f]+:[0-9a-f]+")
- export INSTALLER_IP=$(/usr/sbin/arp -e -i $bridge_name | grep ${installer_mac} | head -n 1 | awk {'print $1'})
-
- echo "Installer ip is ${INSTALLER_IP}"
- else
- echo "No available installer VM exists...exiting"
- exit 1
- fi
-
-elif [[ ${INSTALLER_TYPE} == 'fuel' ]]; then
- if [[ ! "${BRANCH}" =~ "danube" ]]; then
- echo "Map mcp ssh_key"
- export sshkey_vol="-v ${SSH_KEY:-/var/lib/opnfv/mcp.rsa}:/root/.ssh/id_rsa"
- fi
-fi
-
diff --git a/jjb/functest/functest-exit.sh b/jjb/functest/functest-exit.sh
deleted file mode 100644
index 925a3cf..0000000
--- a/jjb/functest/functest-exit.sh
+++ /dev/null
@@ -1,11 +0,0 @@
-#!/bin/bash
-
-ret_val_file="${HOME}/opnfv/functest/results/${BRANCH##*/}/return_value"
-if [ ! -f ${ret_val_file} ]; then
- echo "Return value not found!"
- exit -1
-fi
-
-ret_val=`cat ${ret_val_file}`
-
-exit ${ret_val}
diff --git a/jjb/functest/functest-k8.sh b/jjb/functest/functest-k8.sh
deleted file mode 100755
index fb0e955..0000000
--- a/jjb/functest/functest-k8.sh
+++ /dev/null
@@ -1,46 +0,0 @@
-#!/bin/bash
-
-set -e
-set +u
-set +o pipefail
-
-redirect="/dev/stdout"
-FUNCTEST_DIR=/home/opnfv/functest
-
-admin_conf_file_vol="-v ${HOME}/admin.conf:/root/.kube/config"
-cat ${HOME}/admin.conf
-
-dir_result="${HOME}/opnfv/functest/results/${BRANCH##*/}"
-mkdir -p ${dir_result}
-sudo rm -rf ${dir_result}/*
-results_vol="-v ${dir_result}:${FUNCTEST_DIR}/results"
-
-volumes="${results_vol} ${admin_conf_file_vol}"
-
-envs="-e INSTALLER_TYPE=${INSTALLER_TYPE} \
- -e NODE_NAME=${NODE_NAME} -e DEPLOY_SCENARIO=${DEPLOY_SCENARIO} \
- -e BUILD_TAG=${BUILD_TAG}"
-
-DOCKER_TAG=${DOCKER_TAG:-$([[ ${BRANCH##*/} == "master" ]] && echo "latest" || echo ${BRANCH##*/})}
-
-set +e
-
-ret_val_file="${HOME}/opnfv/functest/results/${BRANCH##*/}/return_value"
-echo 0 > ${ret_val_file}
-
-FUNCTEST_IMAGES="\
-opnfv/functest-kubernetes-healthcheck:${DOCKER_TAG} \
-opnfv/functest-kubernetes-smoke:${DOCKER_TAG}"
-cmd_opt="run_tests -r -t all"
-
-for image in ${FUNCTEST_IMAGES}; do
- echo "Pulling Docker image ${image} ..."
- docker pull "${image}" >/dev/null
- cmd="docker run --rm ${envs} ${volumes} ${image} /bin/bash -c '${cmd_opt}'"
- echo "Running Functest k8s test cases, CMD: ${cmd}"
- eval ${cmd}
- ret_value=$?
- if [ ${ret_value} != 0 ]; then
- echo ${ret_value} > ${ret_val_file}
- fi
-done
diff --git a/jjb/functest/functest-kubernetes-docker.yaml b/jjb/functest/functest-kubernetes-docker.yaml
index 8ae350a..444d1b1 100644
--- a/jjb/functest/functest-kubernetes-docker.yaml
+++ b/jjb/functest/functest-kubernetes-docker.yaml
@@ -12,6 +12,12 @@
- master:
branch: '{stream}'
disabled: false
+ - leguer:
+ branch: 'stable/{stream}'
+ disabled: false
+ - kali:
+ branch: 'stable/{stream}'
+ disabled: false
- jerma:
branch: 'stable/{stream}'
disabled: false
@@ -24,15 +30,16 @@
arch_tag:
- 'amd64':
- slave_label: 'opnfv-build-ubuntu'
- - 'arm64':
- slave_label: 'opnfv-build-ubuntu-arm'
+ slave_label: 'lf-build2'
# yamllint disable rule:key-duplicates
image:
- 'core'
- 'healthcheck'
- 'smoke'
+ - 'cnf'
+ - 'security'
+ - 'benchmarking'
# settings for jobs run in multijob phases
build-job-settings: &build-job-settings
@@ -76,7 +83,7 @@
- functest-kubernetes-job-parameters:
project: '{project}'
branch: '{branch}'
- slave_label: 'opnfv-build-ubuntu'
+ slave_label: 'lf-build2'
arch_tag: 'amd64'
properties:
@@ -100,8 +107,6 @@
projects:
- name: 'functest-kubernetes-core-docker-build-amd64-{stream}'
<<: *build-job-settings
- - name: 'functest-kubernetes-core-docker-build-arm64-{stream}'
- <<: *build-job-settings
- multijob:
name: 'publish functest-kubernetes-core manifests'
execution-type: PARALLEL
@@ -109,39 +114,56 @@
- name: 'functest-kubernetes-core-docker-manifest-{stream}'
<<: *manifest-job-settings
- multijob:
- name: 'build functest-kubernetes-healthcheck images'
+ name: 'build functest-kubernetes-[healthcheck,cnf,security] images'
execution-type: PARALLEL
projects:
- name: 'functest-kubernetes-healthcheck-docker-build-amd64-{stream}'
<<: *build-job-settings
- - name: 'functest-kubernetes-healthcheck-docker-build-arm64-{stream}'
+ - name: 'functest-kubernetes-cnf-docker-build-amd64-{stream}'
+ <<: *build-job-settings
+ - name: 'functest-kubernetes-security-docker-build-amd64-{stream}'
<<: *build-job-settings
- multijob:
- name: 'publish functest-kubernetes-healthcheck manifests'
+ name: 'publish functest-kubernetes-[healthcheck,cnf,security] manifests'
execution-type: PARALLEL
projects:
- name: 'functest-kubernetes-healthcheck-docker-manifest-{stream}'
<<: *manifest-job-settings
+ - name: 'functest-kubernetes-cnf-docker-manifest-{stream}'
+ <<: *manifest-job-settings
+ - name: 'functest-kubernetes-security-docker-manifest-{stream}'
+ <<: *manifest-job-settings
- multijob:
- name: 'build all functest-kubernetes images'
+ name: 'build functest-kubernetes-smoke image'
condition: SUCCESSFUL
execution-type: PARALLEL
projects:
- name: 'functest-kubernetes-smoke-docker-build-amd64-{stream}'
<<: *build-job-settings
- - name: 'functest-kubernetes-smoke-docker-build-arm64-{stream}'
- <<: *build-job-settings
- multijob:
- name: 'publish all manifests'
+ name: 'publish functest-kubernetes-smoke manifests'
condition: SUCCESSFUL
execution-type: PARALLEL
projects:
- name: 'functest-kubernetes-smoke-docker-manifest-{stream}'
<<: *manifest-job-settings
+ - multijob:
+ name: 'build functest-kubernetes-benchmarking image'
+ condition: SUCCESSFUL
+ execution-type: PARALLEL
+ projects:
+ - name: 'functest-kubernetes-benchmarking-docker-build-amd64-{stream}'
+ <<: *build-job-settings
+ - multijob:
+ name: 'publish functest-kubernetes-benchmarking manifests'
+ condition: SUCCESSFUL
+ execution-type: PARALLEL
+ projects:
+ - name: 'functest-kubernetes-benchmarking-docker-manifest-{stream}'
+ <<: *manifest-job-settings
publishers:
- 'functest-kubernetes-amd64-recipients'
- - 'functest-kubernetes-arm64-recipients'
- job-template:
name: 'functest-kubernetes-{image}-docker-build-{arch_tag}-{stream}'
@@ -157,12 +179,7 @@
builders:
- shell: |
#!/bin/bash -ex
- case "{arch_tag}" in
- "arm64")
- sudo amd64_dirs= arm64_dirs=docker/{image} bash ./build.sh ;;
- *)
- sudo amd64_dirs=docker/{image} arm64_dirs= bash ./build.sh ;;
- esac
+ sudo amd64_dirs=docker/{image} arm_dirs= arm64_dirs= bash ./build.sh
exit $?
- job-template:
@@ -174,7 +191,7 @@
branch: '{branch}'
- label:
name: SLAVE_LABEL
- default: 'opnfv-build-ubuntu'
+ default: 'lf-build2'
description: 'Slave label on Jenkins'
all-nodes: false
node-eligibility: 'ignore-offline'
@@ -204,7 +221,7 @@
tag="{stream}" ;;
esac
sudo manifest-tool push from-args \
- --platforms linux/amd64,linux/arm64 \
+ --platforms linux/amd64 \
--template $REPO/functest-kubernetes-{image}:ARCH-$tag \
--target $REPO/functest-kubernetes-{image}:$tag
exit $?
@@ -257,15 +274,6 @@
# publisher macros
- publisher:
- name: 'functest-kubernetes-arm64-recipients'
- publishers:
- - email:
- recipients: >
- cristina.pauna@enea.com
- alexandru.avadanii@enea.com
- delia.popescu@enea.com
-
-- publisher:
name: 'functest-kubernetes-amd64-recipients'
publishers:
- email:
diff --git a/jjb/functest/functest-kubernetes-pi.yaml b/jjb/functest/functest-kubernetes-pi.yaml
new file mode 100644
index 0000000..8860366
--- /dev/null
+++ b/jjb/functest/functest-kubernetes-pi.yaml
@@ -0,0 +1,533 @@
+---
+- functest-kubernetes-pi-jobs: &functest-kubernetes-pi-jobs
+ name: 'functest-kubernetes-pi-jobs'
+ current-parameters: true
+
+- functest-kubernetes-pi-params: &functest-kubernetes-pi-params
+ name: 'functest-kubernetes-pi-params'
+ repo: 'ollivier'
+ port:
+ tag:
+ - latest:
+ branch: master
+ slave: lf-virtual1-6
+ - leguer:
+ branch: stable/leguer
+ slave: lf-virtual1-5
+ - kali:
+ branch: stable/kali
+ slave: lf-virtual1-4
+ - jerma:
+ branch: stable/jerma
+ slave: lf-virtual1-3
+ - iruya:
+ branch: stable/iruya
+ slave: lf-virtual1-2
+ - hunter:
+ branch: stable/hunter
+ slave: lf-virtual1-1
+ - arm-latest:
+ branch: master
+ slave: lf-virtual1-6
+ - arm-leguer:
+ branch: stable/leguer
+ slave: lf-virtual1-5
+ - arm-kali:
+ branch: stable/kali
+ slave: lf-virtual1-4
+ - arm-jerma:
+ branch: stable/jerma
+ slave: lf-virtual1-3
+ - arm-iruya:
+ branch: stable/iruya
+ slave: lf-virtual1-2
+ - arm-hunter:
+ branch: stable/hunter
+ slave: lf-virtual1-1
+ - arm64-latest:
+ branch: master
+ slave: lf-virtual1-6
+ - arm64-leguer:
+ branch: stable/leguer
+ slave: lf-virtual1-5
+ - arm64-kali:
+ branch: stable/kali
+ slave: lf-virtual1-4
+ - arm64-jerma:
+ branch: stable/jerma
+ slave: lf-virtual1-3
+ - arm64-iruya:
+ branch: stable/iruya
+ slave: lf-virtual1-2
+ - arm64-hunter:
+ branch: stable/hunter
+ slave: lf-virtual1-1
+
+- parameter:
+ name: functest-kubernetes-pi-slave
+ parameters:
+ - label:
+ name: slave
+ default: '{slave}'
+
+- parameter:
+ name: functest-kubernetes-pi-build_tag
+ parameters:
+ - random-string:
+ name: build_tag
+
+- parameter:
+ name: functest-kubernetes-pi-branch
+ parameters:
+ - string:
+ name: branch
+ default: '{branch}'
+
+- parameter:
+ name: functest-kubernetes-pi-DEPLOY_SCENARIO
+ parameters:
+ - string:
+ name: DEPLOY_SCENARIO
+ default: k8-nosdn-nofeature-noha
+- parameter:
+ name: functest-kubernetes-pi-DEBUG
+ parameters:
+ - string:
+ name: DEBUG
+ default: 'true'
+
+- functest-kubernetes-pi-containers: &functest-kubernetes-pi-containers
+ name: 'functest-kubernetes-pi-containers'
+ repo: '{repo}'
+ port: '{port}'
+ container: '{container}'
+ tag: '{tag}'
+
+- functest-kubernetes-pi-run-containers: &functest-kubernetes-pi-run-containers
+ name: 'functest-kubernetes-pi-run-containers'
+ <<: *functest-kubernetes-pi-containers
+ test: '{test}'
+ privileged: '{privileged}'
+ network: '{network}'
+
+- builder:
+ name: functest-kubernetes-pi-pull-containers
+ builders:
+ - shell: |
+ set +x
+ if [ "{repo}" = "_" ]; then
+ image={container}:{tag}
+ elif [ "{port}" = "None" ]; then
+ image={repo}/{container}:{tag}
+ else
+ image={repo}:{port}/{container}:{tag}
+ fi
+ docker pull $image
+
+- builder:
+ name: functest-kubernetes-pi-run-containers
+ builders:
+ - shell: |
+ set +x
+ [ ! -z "$WORKSPACE" ] && rm -rf $WORKSPACE/* || true
+ if [ "{repo}" = "_" ]; then
+ image={container}:{tag}
+ elif [ "{port}" = "None" ]; then
+ image={repo}/{container}:{tag}
+ else
+ image={repo}:{port}/{container}:{tag}
+ fi
+ docker run --rm \
+ --privileged={privileged} \
+ --network={network} \
+ -e S3_ENDPOINT_URL=https://storage.googleapis.com \
+ -e S3_DST_URL=s3://artifacts.opnfv.org/functest-kubernetes/$BUILD_TAG/$JOB_NAME-$BUILD_ID \
+ -e HTTP_DST_URL=http://artifacts.opnfv.org/functest-kubernetes/$BUILD_TAG/$JOB_NAME-$BUILD_ID \
+ -e TEST_DB_URL=http://testresults.opnfv.org/test/api/v1/results \
+ -e TEST_DB_EXT_URL=http://testresults.opnfv.org/test/api/v1/results \
+ -e NODE_NAME=$slave \
+ -e BUILD_TAG=$BUILD_TAG \
+ -v $WORKSPACE/../$JOB_NAME/results:/var/lib/xtesting/results \
+ -e DEPLOY_SCENARIO=$DEPLOY_SCENARIO \
+ -e DEBUG=$DEBUG \
+ -v /home/opnfv/functest-kubernetes/config.{tag}:/root/.kube/config \
+ -v /home/opnfv/functest-kubernetes/.boto:/root/.boto \
+ $image run_tests -t {test} -p -r
+
+- builder:
+ name: functest-kubernetes-pi-remove-images
+ builders:
+ - shell: |
+ set +x
+ if [ "{repo}" = "_" ]; then
+ image={container}:{tag}
+ elif [ "{port}" = "None" ]; then
+ image={repo}/{container}:{tag}
+ else
+ image={repo}:{port}/{container}:{tag}
+ fi
+ docker rmi $image || true
+
+
+- job-template:
+ name: 'functest-kubernetes-pi-{repo}-{container}-{tag}-pull'
+ parameters:
+ - functest-kubernetes-pi-slave:
+ slave: '{slave}'
+ builders:
+ - functest-kubernetes-pi-pull-containers:
+ <<: *functest-kubernetes-pi-containers
+
+- project:
+ name: 'functest-kubernetes-pi-ollivier-functest-kubernetes-healthcheck-pull'
+ <<: *functest-kubernetes-pi-params
+ container: 'functest-kubernetes-healthcheck'
+ exclude:
+ - tag: arm-hunter
+ - tag: arm64-hunter
+ jobs:
+ - 'functest-kubernetes-pi-{repo}-{container}-{tag}-pull'
+
+- project:
+ name: 'functest-kubernetes-pi-ollivier-functest-kubernetes-smoke-pull'
+ <<: *functest-kubernetes-pi-params
+ container: 'functest-kubernetes-smoke'
+ exclude:
+ - tag: arm-hunter
+ - tag: arm64-hunter
+ jobs:
+ - 'functest-kubernetes-pi-{repo}-{container}-{tag}-pull'
+
+- project:
+ name: 'functest-kubernetes-pi-ollivier-functest-kubernetes-security-pull'
+ <<: *functest-kubernetes-pi-params
+ container: 'functest-kubernetes-security'
+ jobs:
+ - 'functest-kubernetes-pi-{repo}-{container}-{tag}-pull'
+
+- project:
+ name: 'functest-kubernetes-pi-ollivier-functest-kubernetes-benchmarking-pull'
+ <<: *functest-kubernetes-pi-params
+ container: 'functest-kubernetes-benchmarking'
+ exclude:
+ - tag: arm-hunter
+ - tag: arm64-hunter
+ jobs:
+ - 'functest-kubernetes-pi-{repo}-{container}-{tag}-pull'
+
+- project:
+ name: 'functest-kubernetes-pi-ollivier-functest-kubernetes-cnf-pull'
+ <<: *functest-kubernetes-pi-params
+ container: 'functest-kubernetes-cnf'
+ jobs:
+ - 'functest-kubernetes-pi-{repo}-{container}-{tag}-pull'
+
+- job-template:
+ name: 'functest-kubernetes-pi-{repo}-{container}-{tag}-rmi'
+ parameters:
+ - functest-kubernetes-pi-slave:
+ slave: '{slave}'
+ builders:
+ - functest-kubernetes-pi-remove-images:
+ <<: *functest-kubernetes-pi-containers
+
+- project:
+ name: 'functest-kubernetes-pi-ollivier-functest-kubernetes-healthcheck-rmi'
+ <<: *functest-kubernetes-pi-params
+ container: 'functest-kubernetes-healthcheck'
+ exclude:
+ - tag: arm-hunter
+ - tag: arm64-hunter
+ jobs:
+ - 'functest-kubernetes-pi-{repo}-{container}-{tag}-rmi'
+
+- project:
+ name: 'functest-kubernetes-pi-ollivier-functest-kubernetes-smoke-rmi'
+ <<: *functest-kubernetes-pi-params
+ container: 'functest-kubernetes-smoke'
+ exclude:
+ - tag: arm-hunter
+ - tag: arm64-hunter
+ jobs:
+ - 'functest-kubernetes-pi-{repo}-{container}-{tag}-rmi'
+
+- project:
+ name: 'functest-kubernetes-pi-ollivier-functest-kubernetes-security-rmi'
+ <<: *functest-kubernetes-pi-params
+ container: 'functest-kubernetes-security'
+ jobs:
+ - 'functest-kubernetes-pi-{repo}-{container}-{tag}-rmi'
+
+- project:
+ name: 'functest-kubernetes-pi-ollivier-functest-kubernetes-benchmarking-rmi'
+ <<: *functest-kubernetes-pi-params
+ container: 'functest-kubernetes-benchmarking'
+ exclude:
+ - tag: arm-hunter
+ - tag: arm64-hunter
+ jobs:
+ - 'functest-kubernetes-pi-{repo}-{container}-{tag}-rmi'
+
+- project:
+ name: 'functest-kubernetes-pi-ollivier-functest-kubernetes-cnf-rmi'
+ <<: *functest-kubernetes-pi-params
+ container: 'functest-kubernetes-cnf'
+ jobs:
+ - 'functest-kubernetes-pi-{repo}-{container}-{tag}-rmi'
+
+- job-template:
+ name: 'functest-kubernetes-pi-{repo}-{container}-{tag}-{test}-run'
+ parameters:
+ - functest-kubernetes-pi-slave:
+ slave: '{slave}'
+ - functest-kubernetes-pi-build_tag:
+ build_tag: ''
+ - functest-kubernetes-pi-DEPLOY_SCENARIO:
+ DEPLOY_SCENARIO: k8-nosdn-nofeature-noha
+ - functest-kubernetes-pi-DEBUG:
+ DEBUG: 'true'
+ builders:
+ - functest-kubernetes-pi-run-containers:
+ <<: *functest-kubernetes-pi-run-containers
+
+- project:
+ name: 'functest-kubernetes-pi-ollivier-functest-kubernetes-healthcheck'
+ <<: *functest-kubernetes-pi-params
+ container: 'functest-kubernetes-healthcheck'
+ test:
+ - k8s_quick
+ - k8s_smoke
+ exclude:
+ - tag: arm-hunter
+ - tag: arm64-hunter
+ privileged: 'false'
+ network: bridge
+ jobs:
+ - 'functest-kubernetes-pi-{repo}-{container}-{tag}-{test}-run'
+
+- project:
+ name: 'functest-kubernetes-pi-ollivier-functest-kubernetes-smoke'
+ <<: *functest-kubernetes-pi-params
+ container: 'functest-kubernetes-smoke'
+ test:
+ - xrally_kubernetes
+ - k8s_conformance
+ exclude:
+ - tag: arm-hunter
+ - tag: arm64-hunter
+ privileged: 'false'
+ network: bridge
+ jobs:
+ - 'functest-kubernetes-pi-{repo}-{container}-{tag}-{test}-run'
+
+- project:
+ name: 'functest-kubernetes-pi-ollivier-functest-kubernetes-security'
+ <<: *functest-kubernetes-pi-params
+ container: 'functest-kubernetes-security'
+ test:
+ - kube_hunter
+ - kube_bench_master
+ - kube_bench_node
+ privileged: 'false'
+ network: bridge
+ jobs:
+ - 'functest-kubernetes-pi-{repo}-{container}-{tag}-{test}-run'
+
+- project:
+ name: 'functest-kubernetes-pi-ollivier-functest-kubernetes-benchmarking'
+ <<: *functest-kubernetes-pi-params
+ container: 'functest-kubernetes-benchmarking'
+ test:
+ - xrally_kubernetes_full
+ exclude:
+ - tag: arm-hunter
+ - tag: arm64-hunter
+ privileged: 'false'
+ network: bridge
+ jobs:
+ - 'functest-kubernetes-pi-{repo}-{container}-{tag}-{test}-run'
+
+- project:
+ name: 'functest-kubernetes-pi-ollivier-functest-kubernetes-cnf'
+ <<: *functest-kubernetes-pi-params
+ container: 'functest-kubernetes-cnf'
+ test:
+ - k8s_vims
+ - helm_vims
+ - cnf_conformance
+ exclude:
+ - tag: iruya
+ test: k8s_vims
+ - tag: iruya
+ test: helm_vims
+ - tag: arm-iruya
+ test: k8s_vims
+ - tag: arm-iruya
+ test: helm_vims
+ - tag: arm64-iruya
+ test: k8s_vims
+ - tag: arm64-iruya
+ test: helm_vims
+ privileged: 'false'
+ network: bridge
+ jobs:
+ - 'functest-kubernetes-pi-{repo}-{container}-{tag}-{test}-run'
+
+
+- builder:
+ name: functest-kubernetes-pi-zip
+ builders:
+ - shell: |
+ set +x
+ [ ! -z "$WORKSPACE" ] && rm -rf $WORKSPACE/* || true
+ if [ "{repo}" = "_" ]; then
+ image={container}:{tag}
+ elif [ "{port}" = "None" ]; then
+ image={repo}/{container}:{tag}
+ else
+ image={repo}:{port}/{container}:{tag}
+ fi
+ docker run --rm \
+ -e S3_ENDPOINT_URL=https://storage.googleapis.com \
+ -e S3_DST_URL=s3://artifacts.opnfv.org/functest-kubernetes \
+ -e HTTP_DST_URL=http://artifacts.opnfv.org/functest-kubernetes \
+ -e TEST_DB_URL=http://testresults.opnfv.org/test/api/v1/results \
+ -e TEST_DB_EXT_URL=http://testresults.opnfv.org/test/api/v1/results \
+ -e BUILD_TAG=$BUILD_TAG \
+ -v $WORKSPACE/../$JOB_NAME/results:/var/lib/xtesting/results \
+ -e DEPLOY_SCENARIO=$DEPLOY_SCENARIO \
+ -e DEBUG=$DEBUG \
+ -v /home/opnfv/functest-kubernetes/config.{tag}:/root/.kube/config \
+ -v /home/opnfv/functest-kubernetes/.boto:/root/.boto \
+ $image zip_campaign
+
+- job-template:
+ name: 'functest-kubernetes-pi-{tag}-zip'
+ parameters:
+ - functest-kubernetes-pi-slave:
+ slave: '{slave}'
+ - functest-kubernetes-pi-build_tag:
+ build_tag: ''
+ - functest-kubernetes-pi-DEPLOY_SCENARIO:
+ DEPLOY_SCENARIO: k8-nosdn-nofeature-noha
+ - functest-kubernetes-pi-DEBUG:
+ DEBUG: 'true'
+ builders:
+ - functest-kubernetes-pi-zip:
+ <<: *functest-kubernetes-pi-containers
+
+- project:
+ name: 'functest-kubernetes-pi-{tag}-zip'
+ <<: *functest-kubernetes-pi-params
+ container: 'functest-kubernetes-security'
+ jobs:
+ - 'functest-kubernetes-pi-{tag}-zip'
+
+- job-template:
+ name: 'functest-kubernetes-pi-{tag}-daily'
+ project-type: multijob
+ triggers:
+ - timed: '@weekly'
+ parameters:
+ - functest-kubernetes-pi-slave:
+ slave: '{slave}'
+ - functest-kubernetes-pi-build_tag:
+ build_tag: ''
+ - functest-kubernetes-pi-DEPLOY_SCENARIO:
+ DEPLOY_SCENARIO: k8-nosdn-nofeature-noha
+ - functest-kubernetes-pi-DEBUG:
+ DEBUG: 'true'
+ properties:
+ - build-blocker:
+ use-build-blocker: true
+ blocking-level: 'GLOBAL'
+ blocking-jobs:
+ - '^functest-kubernetes(-pi)?-(arm.*-|amd64-)*[a-z]+-(daily|gate|check)$'
+ builders:
+ - multijob:
+ name: remove former images
+ projects:
+ - name: 'functest-kubernetes-pi-ollivier-functest-kubernetes-healthcheck-{tag}-rmi'
+ <<: *functest-kubernetes-pi-jobs
+ - name: 'functest-kubernetes-pi-ollivier-functest-kubernetes-smoke-{tag}-rmi'
+ <<: *functest-kubernetes-pi-jobs
+ - name: 'functest-kubernetes-pi-ollivier-functest-kubernetes-security-{tag}-rmi'
+ <<: *functest-kubernetes-pi-jobs
+ - name: 'functest-kubernetes-pi-ollivier-functest-kubernetes-benchmarking-{tag}-rmi'
+ <<: *functest-kubernetes-pi-jobs
+ - name: 'functest-kubernetes-pi-ollivier-functest-kubernetes-cnf-{tag}-rmi'
+ <<: *functest-kubernetes-pi-jobs
+ - multijob:
+ name: pull containers
+ projects:
+ - name: 'functest-kubernetes-pi-ollivier-functest-kubernetes-healthcheck-{tag}-pull'
+ <<: *functest-kubernetes-pi-jobs
+ - name: 'functest-kubernetes-pi-ollivier-functest-kubernetes-smoke-{tag}-pull'
+ <<: *functest-kubernetes-pi-jobs
+ - name: 'functest-kubernetes-pi-ollivier-functest-kubernetes-security-{tag}-pull'
+ <<: *functest-kubernetes-pi-jobs
+ - name: 'functest-kubernetes-pi-ollivier-functest-kubernetes-benchmarking-{tag}-pull'
+ <<: *functest-kubernetes-pi-jobs
+ - name: 'functest-kubernetes-pi-ollivier-functest-kubernetes-cnf-{tag}-pull'
+ <<: *functest-kubernetes-pi-jobs
+ - multijob:
+ name: ollivier/functest-kubernetes-healthcheck:{tag}
+ projects:
+ - name: 'functest-kubernetes-pi-ollivier-functest-kubernetes-healthcheck-{tag}-k8s_quick-run'
+ <<: *functest-kubernetes-pi-jobs
+ - name: 'functest-kubernetes-pi-ollivier-functest-kubernetes-healthcheck-{tag}-k8s_smoke-run'
+ <<: *functest-kubernetes-pi-jobs
+ - multijob:
+ name: ollivier/functest-kubernetes-smoke:{tag}
+ projects:
+ - name: 'functest-kubernetes-pi-ollivier-functest-kubernetes-smoke-{tag}-xrally_kubernetes-run'
+ <<: *functest-kubernetes-pi-jobs
+ - name: 'functest-kubernetes-pi-ollivier-functest-kubernetes-smoke-{tag}-k8s_conformance-run'
+ <<: *functest-kubernetes-pi-jobs
+ - multijob:
+ name: ollivier/functest-kubernetes-security:{tag}
+ projects:
+ - name: 'functest-kubernetes-pi-ollivier-functest-kubernetes-security-{tag}-kube_hunter-run'
+ <<: *functest-kubernetes-pi-jobs
+ - name: 'functest-kubernetes-pi-ollivier-functest-kubernetes-security-{tag}-kube_bench_master-run'
+ <<: *functest-kubernetes-pi-jobs
+ - name: 'functest-kubernetes-pi-ollivier-functest-kubernetes-security-{tag}-kube_bench_node-run'
+ <<: *functest-kubernetes-pi-jobs
+ - multijob:
+ name: ollivier/functest-kubernetes-benchmarking:{tag}
+ projects:
+ - name: 'functest-kubernetes-pi-ollivier-functest-kubernetes-benchmarking-{tag}-xrally_kubernetes_full-run'
+ <<: *functest-kubernetes-pi-jobs
+ - multijob:
+ name: ollivier/functest-kubernetes-cnf:{tag}
+ projects:
+ - name: 'functest-kubernetes-pi-ollivier-functest-kubernetes-cnf-{tag}-k8s_vims-run'
+ <<: *functest-kubernetes-pi-jobs
+ - name: 'functest-kubernetes-pi-ollivier-functest-kubernetes-cnf-{tag}-helm_vims-run'
+ <<: *functest-kubernetes-pi-jobs
+ - name: 'functest-kubernetes-pi-ollivier-functest-kubernetes-cnf-{tag}-cnf_conformance-run'
+ <<: *functest-kubernetes-pi-jobs
+ - multijob:
+ name: dump all campaign data
+ projects:
+ - name: 'functest-kubernetes-pi-{tag}-zip'
+ <<: *functest-kubernetes-pi-jobs
+
+
+- project:
+ name: 'functest-kubernetes-pi'
+ <<: *functest-kubernetes-pi-params
+ jobs:
+ - 'functest-kubernetes-pi-{tag}-daily'
+
+- view:
+ name: functest-kubernetes-pi
+ view-type: list
+ columns:
+ - status
+ - weather
+ - job
+ - last-success
+ - last-failure
+ - last-duration
+ regex: ^functest-kubernetes-pi-(arm.*-|amd64-)*[a-z]+-daily$
diff --git a/jjb/functest/functest-kubernetes-project-jobs.yaml b/jjb/functest/functest-kubernetes-project-jobs.yaml
index 82998f0..9565276 100644
--- a/jjb/functest/functest-kubernetes-project-jobs.yaml
+++ b/jjb/functest/functest-kubernetes-project-jobs.yaml
@@ -1,167 +1,86 @@
---
-###################################################
-# All the jobs except verify have been removed!
-# They will only be enabled on request by projects!
-###################################################
-- project:
- name: functest-kubernetes-project-jobs
-
- project: 'functest-kubernetes'
-
- jobs:
- - 'functest-kubernetes-verify-{stream}'
- - 'functest-kubernetes-verify-{phase}-{stream}'
-
- stream:
- - master:
- branch: '{stream}'
- gs-pathname: ''
- disabled: false
- - jerma: &jerma
- branch: '{stream}'
- gs-pathname: ''
- disabled: false
- - iruya: &iruya
- branch: 'stable/{stream}'
- gs-pathname: '/{stream}'
- disabled: false
- - hunter: &hunter
- branch: 'stable/{stream}'
- gs-pathname: '/{stream}'
- disabled: false
-
- phase:
- - 'unit-tests-and-docs':
- slave-label: 'lf-virtual1'
-
-- job-template:
- name: 'functest-kubernetes-verify-{stream}'
-
- disabled: '{obj:disabled}'
-
- project-type: 'multijob'
-
- parameters:
- - project-parameter:
- project: '{project}'
- branch: '{branch}'
- - 'opnfv-build-ubuntu-defaults'
-
- scm:
- - git-scm-gerrit
-
- triggers:
- - 'functest-kubernetes-verify-triggers-macro':
- project: '{project}'
- branch: '{branch}'
-
- builders:
- - shell: |
- #!/bin/bash
- # we do nothing here as the main stuff will be done
- # in phase jobs
- echo "Triggering phase jobs!"
- - multijob:
- name: 'functest-kubernetes-build-and-unittest'
- execution-type: PARALLEL
- projects:
- - name: 'functest-kubernetes-verify-unit-tests-and-docs-{stream}'
- current-parameters: false
- predefined-parameters: |
- GERRIT_BRANCH=$GERRIT_BRANCH
- GERRIT_REFSPEC=$GERRIT_REFSPEC
- GERRIT_CHANGE_NUMBER=$GERRIT_CHANGE_NUMBER
- GERRIT_CHANGE_COMMIT_MESSAGE=$GERRIT_CHANGE_COMMIT_MESSAGE
- git-revision: true
- node-parameters: false
- kill-phase-on: FAILURE
- abort-all-job: false
-
-- job-template:
- name: 'functest-kubernetes-verify-{phase}-{stream}'
-
- disabled: '{obj:disabled}'
-
- wrappers:
- - ssh-agent-wrapper
- - build-timeout:
- timeout: 30
-
- parameters:
- - project-parameter:
- project: '{project}'
- branch: '{branch}'
- - '{slave-label}-defaults'
-
- scm:
- - git-scm-gerrit
+- functest-kubernetes-project-params: &functest-kubernetes-project-params
+ name: 'functest-kubernetes-project-params'
+ tag:
+ - latest:
+ branch: master
+ slave: lf-virtual1
+ - leguer:
+ branch: stable/leguer
+ slave: lf-virtual1
+ - kali:
+ branch: stable/kali
+ slave: lf-virtual1
+ - jerma:
+ branch: stable/jerma
+ slave: lf-virtual1
+ - iruya:
+ branch: stable/iruya
+ slave: lf-virtual1
+ - hunter:
+ branch: stable/hunter
+ slave: lf-virtual1
+- builder:
+ name: functest-kubernetes-run-tox
builders:
- - 'functest-kubernetes-verify-{phase}-builders-macro'
-
- publishers:
- - 'functest-kubernetes-verify-{phase}-publishers-macro'
+ - shell: tox
-################################
-# job triggers
-################################
- trigger:
- name: 'functest-kubernetes-verify-triggers-macro'
+ name: functest-kubernetes-project-patchset-created
triggers:
- gerrit:
server-name: 'gerrit.opnfv.org'
trigger-on:
- - patchset-created-event:
- exclude-drafts: 'false'
- exclude-trivial-rebase: 'false'
- exclude-no-code-change: 'false'
- - draft-published-event
+ - patchset-created-event
- comment-added-contains-event:
comment-contains-value: 'recheck'
- comment-added-contains-event:
comment-contains-value: 'reverify'
projects:
- project-compare-type: 'ANT'
- project-pattern: '{project}'
+ project-pattern: 'functest-kubernetes'
branches:
- branch-compare-type: 'ANT'
branch-pattern: '**/{branch}'
- disable-strict-forbidden-file-verification: 'true'
- forbidden-file-paths:
- - compare-type: ANT
- pattern: 'docs/**|.gitignore'
+ skip-vote:
+ successful: false
+ failed: false
+ unstable: false
+ notbuilt: false
+
+- parameter:
+ name: functest-kubernetes-project-slave
+ parameters:
+ - label:
+ name: slave
+ default: '{slave}'
-################################
-# job builders
-################################
+- scm:
+ name: functest-kubernetes-project-scm
+ scm:
+ - git:
+ url: https://gerrit.opnfv.org/gerrit/functest-kubernetes
+ refspec: '+refs/changes/*:refs/changes/*'
+ branches:
+ - '{ref}'
-- builder:
- name: 'functest-kubernetes-verify-unit-tests-and-docs-builders-macro'
+- job-template:
+ name: 'functest-kubernetes-run-tox-{tag}'
+ triggers:
+ - functest-kubernetes-project-patchset-created:
+ branch: '{branch}'
+ scm:
+ - functest-kubernetes-project-scm:
+ ref: $GERRIT_REFSPEC
+ parameters:
+ - functest-kubernetes-project-slave:
+ slave: '{slave}'
builders:
- - shell: |
- cd $WORKSPACE && tox
+ - functest-kubernetes-run-tox
-################################
-# job publishers
-################################
-- publisher:
- name: 'functest-kubernetes-verify-unit-tests-and-docs-publishers-macro'
- publishers:
- - junit:
- results: nosetests.xml
- - cobertura:
- report-file: "coverage.xml"
- only-stable: "true"
- health-auto-update: "true"
- stability-auto-update: "true"
- zoom-coverage-chart: "true"
- targets:
- - files:
- healthy: 10
- unhealthy: 20
- failing: 30
- - method:
- healthy: 50
- unhealthy: 40
- failing: 30
- - email-jenkins-admins-on-failure
+- project:
+ name: 'functest-kubernetes-run-tox'
+ <<: *functest-kubernetes-project-params
+ jobs:
+ - 'functest-kubernetes-run-tox-{tag}'
diff --git a/jjb/functest/functest-kubernetes.yaml b/jjb/functest/functest-kubernetes.yaml
index 484d5f9..01022df 100644
--- a/jjb/functest/functest-kubernetes.yaml
+++ b/jjb/functest/functest-kubernetes.yaml
@@ -10,16 +10,22 @@
tag:
- latest:
branch: master
- slave: lf-virtual8
+ slave: lf-virtual1-6
+ - leguer:
+ branch: stable/leguer
+ slave: lf-virtual1-5
+ - kali:
+ branch: stable/kali
+ slave: lf-virtual1-4
- jerma:
branch: stable/jerma
- slave: lf-virtual7
+ slave: lf-virtual1-3
- iruya:
branch: stable/iruya
- slave: lf-virtual7
+ slave: lf-virtual1-2
- hunter:
branch: stable/hunter
- slave: lf-virtual5
+ slave: lf-virtual1-1
- parameter:
name: functest-kubernetes-slave
@@ -29,12 +35,31 @@
default: '{slave}'
- parameter:
+ name: functest-kubernetes-build_tag
+ parameters:
+ - random-string:
+ name: build_tag
+
+- parameter:
name: functest-kubernetes-branch
parameters:
- string:
name: branch
default: '{branch}'
+- parameter:
+ name: functest-kubernetes-DEPLOY_SCENARIO
+ parameters:
+ - string:
+ name: DEPLOY_SCENARIO
+ default: k8-nosdn-nofeature-noha
+- parameter:
+ name: functest-kubernetes-DEBUG
+ parameters:
+ - string:
+ name: DEBUG
+ default: 'true'
+
- functest-kubernetes-containers: &functest-kubernetes-containers
name: 'functest-kubernetes-containers'
repo: '{repo}'
@@ -43,15 +68,11 @@
tag: '{tag}'
- functest-kubernetes-run-containers: &functest-kubernetes-run-containers
- name: 'functest-kubernetes-build-containers'
+ name: 'functest-kubernetes-run-containers'
<<: *functest-kubernetes-containers
test: '{test}'
-
-- functest-kubernetes-build-containers: &functest-kubernetes-build-containers
- name: 'functest-kubernetes-build-containers'
- <<: *functest-kubernetes-containers
- ref_arg: '{ref_arg}'
- path: '{path}'
+ privileged: '{privileged}'
+ network: '{network}'
- builder:
name: functest-kubernetes-pull-containers
@@ -68,10 +89,11 @@
docker pull $image
- builder:
- name: functest-kubernetes-build-containers
+ name: functest-kubernetes-run-containers
builders:
- shell: |
set +x
+ [ ! -z "$WORKSPACE" ] && rm -rf $WORKSPACE/* || true
if [ "{repo}" = "_" ]; then
image={container}:{tag}
elif [ "{port}" = "None" ]; then
@@ -79,22 +101,28 @@
else
image={repo}:{port}/{container}:{tag}
fi
- if [ "{ref_arg}" = "None" ]; then
- build_arg=""
- else
- build_arg="--build-arg {ref_arg}={ref}"
- fi
- cd {path}
- docker build $build_arg \
- --pull=false --no-cache --force-rm=true \
- -t $image .
+ docker run --rm \
+ --privileged={privileged} \
+ --network={network} \
+ -e S3_ENDPOINT_URL=https://storage.googleapis.com \
+ -e S3_DST_URL=s3://artifacts.opnfv.org/functest-kubernetes/$BUILD_TAG/$JOB_NAME-$BUILD_ID \
+ -e HTTP_DST_URL=http://artifacts.opnfv.org/functest-kubernetes/$BUILD_TAG/$JOB_NAME-$BUILD_ID \
+ -e TEST_DB_URL=http://testresults.opnfv.org/test/api/v1/results \
+ -e TEST_DB_EXT_URL=http://testresults.opnfv.org/test/api/v1/results \
+ -e NODE_NAME=$slave \
+ -e BUILD_TAG=$BUILD_TAG \
+ -v $WORKSPACE/../$JOB_NAME/results:/var/lib/xtesting/results \
+ -e DEPLOY_SCENARIO=$DEPLOY_SCENARIO \
+ -e DEBUG=$DEBUG \
+ -v /home/opnfv/functest-kubernetes/config.{tag}:/root/.kube/config \
+ -v /home/opnfv/functest-kubernetes/.boto:/root/.boto \
+ $image run_tests -t {test} -p -r
- builder:
- name: functest-kubernetes-run-containers
+ name: functest-kubernetes-remove-images
builders:
- shell: |
- set +ex
- [ ! -z "$WORKSPACE" ] && rm -rf $WORKSPACE/* || true
+ set +x
if [ "{repo}" = "_" ]; then
image={container}:{tag}
elif [ "{port}" = "None" ]; then
@@ -102,21 +130,16 @@
else
image={repo}:{port}/{container}:{tag}
fi
- docker run --rm \
- -v $WORKSPACE/../$JOB_NAME/results:/var/lib/xtesting/results \
- -e DEPLOY_SCENARIO=k8-nosdn-nofeature-noha \
- -v /home/opnfv/functest-kubernetes/config.{tag}:/root/.kube/config \
- $image run_tests -t {test}
- res=$?
- gsutil -m cp -r $WORKSPACE/ \
- gs://artifacts.opnfv.org/functest-kubernetes/$JOB_NAME-$BUILD_ID > /dev/null 2>&1
- find $WORKSPACE -type f \
- -printf \
- "http://artifacts.opnfv.org/functest-kubernetes/$JOB_NAME-$BUILD_ID/%P\n"
- exit $res
+ docker rmi $image || true
+
+- functest-kubernetes-build-containers: &functest-kubernetes-build-containers
+ name: 'functest-kubernetes-build-containers'
+ <<: *functest-kubernetes-containers
+ ref_arg: '{ref_arg}'
+ path: '{path}'
- builder:
- name: functest-kubernetes-remove-images
+ name: functest-kubernetes-build-containers
builders:
- shell: |
set +x
@@ -127,7 +150,15 @@
else
image={repo}:{port}/{container}:{tag}
fi
- docker rmi $image || true
+ if [ "{ref_arg}" = "None" ]; then
+ build_arg=""
+ else
+ build_arg="--build-arg {ref_arg}={ref}"
+ fi
+ cd {path}
+ docker build $build_arg \
+ --pull=false --no-cache --force-rm=true \
+ -t $image .
- scm:
name: functest-kubernetes-scm
@@ -161,6 +192,27 @@
jobs:
- 'functest-kubernetes-{repo}-{container}-{tag}-pull'
+- project:
+ name: 'functest-kubernetes-opnfv-functest-kubernetes-security-pull'
+ <<: *functest-kubernetes-params
+ container: 'functest-kubernetes-security'
+ jobs:
+ - 'functest-kubernetes-{repo}-{container}-{tag}-pull'
+
+- project:
+ name: 'functest-kubernetes-opnfv-functest-kubernetes-benchmarking-pull'
+ <<: *functest-kubernetes-params
+ container: 'functest-kubernetes-benchmarking'
+ jobs:
+ - 'functest-kubernetes-{repo}-{container}-{tag}-pull'
+
+- project:
+ name: 'functest-kubernetes-opnfv-functest-kubernetes-cnf-pull'
+ <<: *functest-kubernetes-params
+ container: 'functest-kubernetes-cnf'
+ jobs:
+ - 'functest-kubernetes-{repo}-{container}-{tag}-pull'
+
- job-template:
name: 'functest-kubernetes-{repo}-{container}-{tag}-rmi'
parameters:
@@ -184,11 +236,38 @@
jobs:
- 'functest-kubernetes-{repo}-{container}-{tag}-rmi'
+- project:
+ name: 'functest-kubernetes-opnfv-functest-kubernetes-security-rmi'
+ <<: *functest-kubernetes-params
+ container: 'functest-kubernetes-security'
+ jobs:
+ - 'functest-kubernetes-{repo}-{container}-{tag}-rmi'
+
+- project:
+ name: 'functest-kubernetes-opnfv-functest-kubernetes-benchmarking-rmi'
+ <<: *functest-kubernetes-params
+ container: 'functest-kubernetes-benchmarking'
+ jobs:
+ - 'functest-kubernetes-{repo}-{container}-{tag}-rmi'
+
+- project:
+ name: 'functest-kubernetes-opnfv-functest-kubernetes-cnf-rmi'
+ <<: *functest-kubernetes-params
+ container: 'functest-kubernetes-cnf'
+ jobs:
+ - 'functest-kubernetes-{repo}-{container}-{tag}-rmi'
+
- job-template:
name: 'functest-kubernetes-{repo}-{container}-{tag}-{test}-run'
parameters:
- functest-kubernetes-slave:
slave: '{slave}'
+ - functest-kubernetes-build_tag:
+ build_tag: ''
+ - functest-kubernetes-DEPLOY_SCENARIO:
+ DEPLOY_SCENARIO: k8-nosdn-nofeature-noha
+ - functest-kubernetes-DEBUG:
+ DEBUG: 'true'
builders:
- functest-kubernetes-run-containers:
<<: *functest-kubernetes-run-containers
@@ -198,7 +277,10 @@
<<: *functest-kubernetes-params
container: 'functest-kubernetes-healthcheck'
test:
+ - k8s_quick
- k8s_smoke
+ privileged: 'false'
+ network: bridge
jobs:
- 'functest-kubernetes-{repo}-{container}-{tag}-{test}-run'
@@ -209,28 +291,123 @@
test:
- xrally_kubernetes
- k8s_conformance
+ privileged: 'false'
+ network: bridge
jobs:
- 'functest-kubernetes-{repo}-{container}-{tag}-{test}-run'
+
+- project:
+ name: 'functest-kubernetes-opnfv-functest-kubernetes-security'
+ <<: *functest-kubernetes-params
+ container: 'functest-kubernetes-security'
+ test:
+ - kube_hunter
+ - kube_bench_master
+ - kube_bench_node
+ privileged: 'false'
+ network: bridge
+ jobs:
+ - 'functest-kubernetes-{repo}-{container}-{tag}-{test}-run'
+
+- project:
+ name: 'functest-kubernetes-opnfv-functest-kubernetes-benchmarking'
+ <<: *functest-kubernetes-params
+ container: 'functest-kubernetes-benchmarking'
+ test:
+ - xrally_kubernetes_full
+ privileged: 'false'
+ network: bridge
+ jobs:
+ - 'functest-kubernetes-{repo}-{container}-{tag}-{test}-run'
+
+- project:
+ name: 'functest-kubernetes-opnfv-functest-kubernetes-cnf'
+ <<: *functest-kubernetes-params
+ container: 'functest-kubernetes-cnf'
+ test:
+ - k8s_vims
+ - helm_vims
+ - cnf_conformance
exclude:
- tag: iruya
- test: xrally_kubernetes
- - tag: hunter
- test: xrally_kubernetes
+ test: k8s_vims
+ - tag: iruya
+ test: helm_vims
+ privileged: 'false'
+ network: bridge
+ jobs:
+ - 'functest-kubernetes-{repo}-{container}-{tag}-{test}-run'
+
+
+- builder:
+ name: functest-kubernetes-zip
+ builders:
+ - shell: |
+ set +x
+ [ ! -z "$WORKSPACE" ] && rm -rf $WORKSPACE/* || true
+ if [ "{repo}" = "_" ]; then
+ image={container}:{tag}
+ elif [ "{port}" = "None" ]; then
+ image={repo}/{container}:{tag}
+ else
+ image={repo}:{port}/{container}:{tag}
+ fi
+ docker run --rm \
+ -e S3_ENDPOINT_URL=https://storage.googleapis.com \
+ -e S3_DST_URL=s3://artifacts.opnfv.org/functest-kubernetes \
+ -e HTTP_DST_URL=http://artifacts.opnfv.org/functest-kubernetes \
+ -e TEST_DB_URL=http://testresults.opnfv.org/test/api/v1/results \
+ -e TEST_DB_EXT_URL=http://testresults.opnfv.org/test/api/v1/results \
+ -e BUILD_TAG=$BUILD_TAG \
+ -v $WORKSPACE/../$JOB_NAME/results:/var/lib/xtesting/results \
+ -e DEPLOY_SCENARIO=$DEPLOY_SCENARIO \
+ -e DEBUG=$DEBUG \
+ -v /home/opnfv/functest-kubernetes/config.{tag}:/root/.kube/config \
+ -v /home/opnfv/functest-kubernetes/.boto:/root/.boto \
+ $image zip_campaign
+
+- job-template:
+ name: 'functest-kubernetes-{tag}-zip'
+ parameters:
+ - functest-kubernetes-slave:
+ slave: '{slave}'
+ - functest-kubernetes-build_tag:
+ build_tag: ''
+ - functest-kubernetes-DEPLOY_SCENARIO:
+ DEPLOY_SCENARIO: k8-nosdn-nofeature-noha
+ - functest-kubernetes-DEBUG:
+ DEBUG: 'true'
+ builders:
+ - functest-kubernetes-zip:
+ <<: *functest-kubernetes-containers
+
+- project:
+ name: 'functest-kubernetes-{tag}-zip'
+ <<: *functest-kubernetes-params
+ container: 'functest-kubernetes-healthcheck'
+ jobs:
+ - 'functest-kubernetes-{tag}-zip'
- job-template:
name: 'functest-kubernetes-{tag}-daily'
project-type: multijob
triggers:
- - timed: '@daily'
+ - timed: '@weekly'
parameters:
- functest-kubernetes-slave:
slave: '{slave}'
+ - functest-kubernetes-build_tag:
+ build_tag: ''
+ - functest-kubernetes-DEPLOY_SCENARIO:
+ DEPLOY_SCENARIO: k8-nosdn-nofeature-noha
+ - functest-kubernetes-DEBUG:
+ DEBUG: 'true'
properties:
- build-blocker:
use-build-blocker: true
- blocking-level: 'NODE'
+ blocking-level: 'GLOBAL'
blocking-jobs:
- - '^functest-kubernetes-{tag}-(daily|check|gate)$'
+ - '^functest-kubernetes(-pi)?-(arm.*-|amd64-)*[a-z]+-(daily|gate|check)$'
builders:
- multijob:
name: remove former images
@@ -239,6 +416,12 @@
<<: *functest-kubernetes-jobs
- name: 'functest-kubernetes-opnfv-functest-kubernetes-smoke-{tag}-rmi'
<<: *functest-kubernetes-jobs
+ - name: 'functest-kubernetes-opnfv-functest-kubernetes-security-{tag}-rmi'
+ <<: *functest-kubernetes-jobs
+ - name: 'functest-kubernetes-opnfv-functest-kubernetes-benchmarking-{tag}-pull'
+ <<: *functest-kubernetes-jobs
+ - name: 'functest-kubernetes-opnfv-functest-kubernetes-cnf-{tag}-rmi'
+ <<: *functest-kubernetes-jobs
- multijob:
name: pull containers
projects:
@@ -246,19 +429,54 @@
<<: *functest-kubernetes-jobs
- name: 'functest-kubernetes-opnfv-functest-kubernetes-smoke-{tag}-pull'
<<: *functest-kubernetes-jobs
+ - name: 'functest-kubernetes-opnfv-functest-kubernetes-security-{tag}-pull'
+ <<: *functest-kubernetes-jobs
+ - name: 'functest-kubernetes-opnfv-functest-kubernetes-benchmarking-{tag}-pull'
+ <<: *functest-kubernetes-jobs
+ - name: 'functest-kubernetes-opnfv-functest-kubernetes-cnf-{tag}-pull'
+ <<: *functest-kubernetes-jobs
- multijob:
name: opnfv/functest-kubernetes-healthcheck:{tag}
projects:
+ - name: 'functest-kubernetes-opnfv-functest-kubernetes-healthcheck-{tag}-k8s_quick-run'
+ <<: *functest-kubernetes-jobs
- name: 'functest-kubernetes-opnfv-functest-kubernetes-healthcheck-{tag}-k8s_smoke-run'
<<: *functest-kubernetes-jobs
- multijob:
name: opnfv/functest-kubernetes-smoke:{tag}
- execution-type: SEQUENTIALLY
projects:
- name: 'functest-kubernetes-opnfv-functest-kubernetes-smoke-{tag}-xrally_kubernetes-run'
<<: *functest-kubernetes-jobs
- name: 'functest-kubernetes-opnfv-functest-kubernetes-smoke-{tag}-k8s_conformance-run'
<<: *functest-kubernetes-jobs
+ - multijob:
+ name: opnfv/functest-kubernetes-security:{tag}
+ projects:
+ - name: 'functest-kubernetes-opnfv-functest-kubernetes-security-{tag}-kube_hunter-run'
+ <<: *functest-kubernetes-jobs
+ - name: 'functest-kubernetes-opnfv-functest-kubernetes-security-{tag}-kube_bench_master-run'
+ <<: *functest-kubernetes-jobs
+ - name: 'functest-kubernetes-opnfv-functest-kubernetes-security-{tag}-kube_bench_node-run'
+ <<: *functest-kubernetes-jobs
+ - multijob:
+ name: opnfv/functest-kubernetes-benchmarking:{tag}
+ projects:
+ - name: 'functest-kubernetes-opnfv-functest-kubernetes-benchmarking-{tag}-xrally_kubernetes_full-run'
+ <<: *functest-kubernetes-jobs
+ - multijob:
+ name: opnfv/functest-kubernetes-cnf:{tag}
+ projects:
+ - name: 'functest-kubernetes-opnfv-functest-kubernetes-cnf-{tag}-k8s_vims-run'
+ <<: *functest-kubernetes-jobs
+ - name: 'functest-kubernetes-opnfv-functest-kubernetes-cnf-{tag}-helm_vims-run'
+ <<: *functest-kubernetes-jobs
+ - name: 'functest-kubernetes-opnfv-functest-kubernetes-cnf-{tag}-cnf_conformance-run'
+ <<: *functest-kubernetes-jobs
+ - multijob:
+ name: dump all campaign data
+ projects:
+ - name: 'functest-kubernetes-{tag}-zip'
+ <<: *functest-kubernetes-jobs
- job-template:
name: 'functest-kubernetes-{repo}-{container}-{tag}-gate'
@@ -289,21 +507,21 @@
ref: $branch
- project:
- name: 'functest-kubernetes-_-golang-1.12-alpine3.10-rmi'
+ name: 'functest-kubernetes-_-golang-1.15-alpine3.12-rmi'
repo: _
port:
container: golang
- tag: '1.12-alpine3.10'
+ tag: '1.15-alpine3.12'
slave: master
jobs:
- 'functest-kubernetes-{repo}-{container}-{tag}-rmi'
- project:
- name: 'functest-kubernetes-_-golang-1.12-alpine3.10-pull'
+ name: 'functest-kubernetes-_-golang-1.15-alpine3.12-pull'
repo: _
port:
container: golang
- tag: '1.12-alpine3.10'
+ tag: '1.15-alpine3.12'
slave: master
jobs:
- 'functest-kubernetes-{repo}-{container}-{tag}-pull'
@@ -329,6 +547,26 @@
- 'functest-kubernetes-{repo}-{container}-{tag}-check'
- project:
+ name: functest-kubernetes-opnfv-functest-kubernetes-cnf-{tag}-build
+ <<: *functest-kubernetes-params
+ container: functest-kubernetes-cnf
+ ref_arg: BRANCH
+ path: docker/cnf
+ jobs:
+ - 'functest-kubernetes-{repo}-{container}-{tag}-gate'
+ - 'functest-kubernetes-{repo}-{container}-{tag}-check'
+
+- project:
+ name: functest-kubernetes-opnfv-functest-kubernetes-security-{tag}-build
+ <<: *functest-kubernetes-params
+ container: functest-kubernetes-security
+ ref_arg: BRANCH
+ path: docker/security
+ jobs:
+ - 'functest-kubernetes-{repo}-{container}-{tag}-gate'
+ - 'functest-kubernetes-{repo}-{container}-{tag}-check'
+
+- project:
name: functest-kubernetes-opnfv-functest-kubernetes-smoke-{tag}-build
<<: *functest-kubernetes-params
container: functest-kubernetes-smoke
@@ -338,20 +576,36 @@
- 'functest-kubernetes-{repo}-{container}-{tag}-gate'
- 'functest-kubernetes-{repo}-{container}-{tag}-check'
+- project:
+ name: functest-kubernetes-opnfv-functest-kubernetes-benchmarking-{tag}-build
+ <<: *functest-kubernetes-params
+ container: functest-kubernetes-benchmarking
+ ref_arg:
+ path: docker/benchmarking
+ jobs:
+ - 'functest-kubernetes-{repo}-{container}-{tag}-gate'
+ - 'functest-kubernetes-{repo}-{container}-{tag}-check'
+
- job-template:
name: 'functest-kubernetes-{tag}-check'
project-type: multijob
parameters:
- functest-kubernetes-slave:
slave: '{slave}'
+ - functest-kubernetes-build_tag:
+ build_tag: ''
- functest-kubernetes-branch:
branch: '{branch}'
+ - functest-kubernetes-DEPLOY_SCENARIO:
+ DEPLOY_SCENARIO: k8-nosdn-nofeature-noha
+ - functest-kubernetes-DEBUG:
+ DEBUG: 'true'
properties:
- build-blocker:
use-build-blocker: true
- blocking-level: 'NODE'
+ blocking-level: 'GLOBAL'
blocking-jobs:
- - '^functest-kubernetes-{tag}-(daily|check|gate)$'
+ - '^functest-kubernetes(-pi)?-(arm.*-|amd64-)*[a-z]+-(daily|gate|check)$'
builders:
- multijob:
name: remove former images
@@ -360,15 +614,21 @@
<<: *functest-kubernetes-jobs
- name: 'functest-kubernetes-opnfv-functest-kubernetes-smoke-{tag}-rmi'
<<: *functest-kubernetes-jobs
+ - name: 'functest-kubernetes-opnfv-functest-kubernetes-security-{tag}-rmi'
+ <<: *functest-kubernetes-jobs
+ - name: 'functest-kubernetes-opnfv-functest-kubernetes-benchmarking-{tag}-rmi'
+ <<: *functest-kubernetes-jobs
+ - name: 'functest-kubernetes-opnfv-functest-kubernetes-cnf-{tag}-rmi'
+ <<: *functest-kubernetes-jobs
- multijob:
name: remove dependencies
projects:
- - name: 'functest-kubernetes-_-golang-1.12-alpine3.10-rmi'
+ - name: 'functest-kubernetes-_-golang-1.15-alpine3.12-rmi'
<<: *functest-kubernetes-jobs
- multijob:
name: pull dependencies
projects:
- - name: 'functest-kubernetes-_-golang-1.12-alpine3.10-pull'
+ - name: 'functest-kubernetes-_-golang-1.15-alpine3.12-pull'
<<: *functest-kubernetes-jobs
- multijob:
name: build opnfv/functest-kubernetes-core
@@ -380,24 +640,57 @@
projects:
- name: 'functest-kubernetes-opnfv-functest-kubernetes-healthcheck-{tag}-check'
<<: *functest-kubernetes-jobs
+ - name: 'functest-kubernetes-opnfv-functest-kubernetes-cnf-{tag}-check'
+ <<: *functest-kubernetes-jobs
+ - name: 'functest-kubernetes-opnfv-functest-kubernetes-security-{tag}-check'
+ <<: *functest-kubernetes-jobs
- multijob:
name: build containers
projects:
- name: 'functest-kubernetes-opnfv-functest-kubernetes-smoke-{tag}-check'
<<: *functest-kubernetes-jobs
- multijob:
+ name: build opnfv/functest-kubernetes-benchmarking
+ projects:
+ - name: 'functest-kubernetes-opnfv-functest-kubernetes-benchmarking-{tag}-check'
+ <<: *functest-kubernetes-jobs
+ - multijob:
name: opnfv/functest-kubernetes-healthcheck:{tag}
projects:
+ - name: 'functest-kubernetes-opnfv-functest-kubernetes-healthcheck-{tag}-k8s_quick-run'
+ <<: *functest-kubernetes-jobs
- name: 'functest-kubernetes-opnfv-functest-kubernetes-healthcheck-{tag}-k8s_smoke-run'
<<: *functest-kubernetes-jobs
- multijob:
name: opnfv/functest-kubernetes-smoke:{tag}
- execution-type: SEQUENTIALLY
projects:
- name: 'functest-kubernetes-opnfv-functest-kubernetes-smoke-{tag}-xrally_kubernetes-run'
<<: *functest-kubernetes-jobs
- name: 'functest-kubernetes-opnfv-functest-kubernetes-smoke-{tag}-k8s_conformance-run'
<<: *functest-kubernetes-jobs
+ - multijob:
+ name: opnfv/functest-kubernetes-benchmarking:{tag}
+ projects:
+ - name: 'functest-kubernetes-opnfv-functest-kubernetes-benchmarking-{tag}-xrally_kubernetes_full-run'
+ <<: *functest-kubernetes-jobs
+ - multijob:
+ name: opnfv/functest-kubernetes-security:{tag}
+ projects:
+ - name: 'functest-kubernetes-opnfv-functest-kubernetes-security-{tag}-kube_hunter-run'
+ <<: *functest-kubernetes-jobs
+ - name: 'functest-kubernetes-opnfv-functest-kubernetes-security-{tag}-kube_bench_master-run'
+ <<: *functest-kubernetes-jobs
+ - name: 'functest-kubernetes-opnfv-functest-kubernetes-security-{tag}-kube_bench_node-run'
+ <<: *functest-kubernetes-jobs
+ - multijob:
+ name: opnfv/functest-kubernetes-cnf:{tag}
+ projects:
+ - name: 'functest-kubernetes-opnfv-functest-kubernetes-cnf-{tag}-k8s_vims-run'
+ <<: *functest-kubernetes-jobs
+ - name: 'functest-kubernetes-opnfv-functest-kubernetes-cnf-{tag}-helm_vims-run'
+ <<: *functest-kubernetes-jobs
+ - name: 'functest-kubernetes-opnfv-functest-kubernetes-cnf-{tag}-cnf_conformance-run'
+ <<: *functest-kubernetes-jobs
- trigger:
name: functest-kubernetes-patchset-created
@@ -431,12 +724,18 @@
parameters:
- functest-kubernetes-slave:
slave: '{slave}'
+ - functest-kubernetes-build_tag:
+ build_tag: ''
+ - functest-kubernetes-DEPLOY_SCENARIO:
+ DEPLOY_SCENARIO: k8-nosdn-nofeature-noha
+ - functest-kubernetes-DEBUG:
+ DEBUG: 'true'
properties:
- build-blocker:
use-build-blocker: true
- blocking-level: 'NODE'
+ blocking-level: 'GLOBAL'
blocking-jobs:
- - '^functest-kubernetes-{tag}-(daily|check|gate)$'
+ - '^functest-kubernetes(-pi)?-(arm.*-|amd64-)*[a-z]+-(daily|gate|check)$'
builders:
- multijob:
name: remove former images
@@ -445,15 +744,21 @@
<<: *functest-kubernetes-jobs
- name: 'functest-kubernetes-opnfv-functest-kubernetes-smoke-{tag}-rmi'
<<: *functest-kubernetes-jobs
+ - name: 'functest-kubernetes-opnfv-functest-kubernetes-security-{tag}-rmi'
+ <<: *functest-kubernetes-jobs
+ - name: 'functest-kubernetes-opnfv-functest-kubernetes-benchmarking-{tag}-rmi'
+ <<: *functest-kubernetes-jobs
+ - name: 'functest-kubernetes-opnfv-functest-kubernetes-cnf-{tag}-rmi'
+ <<: *functest-kubernetes-jobs
- multijob:
name: remove dependencies
projects:
- - name: 'functest-kubernetes-_-golang-1.12-alpine3.10-rmi'
+ - name: 'functest-kubernetes-_-golang-1.15-alpine3.12-rmi'
<<: *functest-kubernetes-jobs
- multijob:
name: pull dependencies
projects:
- - name: 'functest-kubernetes-_-golang-1.12-alpine3.10-pull'
+ - name: 'functest-kubernetes-_-golang-1.15-alpine3.12-pull'
<<: *functest-kubernetes-jobs
- multijob:
name: build opnfv/functest-kubernetes-core
@@ -465,30 +770,68 @@
projects:
- name: 'functest-kubernetes-opnfv-functest-kubernetes-healthcheck-{tag}-gate'
<<: *functest-kubernetes-jobs
+ - name: 'functest-kubernetes-opnfv-functest-kubernetes-cnf-{tag}-gate'
+ <<: *functest-kubernetes-jobs
+ - name: 'functest-kubernetes-opnfv-functest-kubernetes-security-{tag}-gate'
+ <<: *functest-kubernetes-jobs
- multijob:
name: build containers
projects:
- name: 'functest-kubernetes-opnfv-functest-kubernetes-smoke-{tag}-gate'
<<: *functest-kubernetes-jobs
- multijob:
+ name: build opnfv/functest-kubernetes-benchmarking
+ projects:
+ - name: 'functest-kubernetes-opnfv-functest-kubernetes-benchmarking-{tag}-gate'
+ <<: *functest-kubernetes-jobs
+ - multijob:
name: opnfv/functest-kubernetes-healthcheck:{tag}
projects:
+ - name: 'functest-kubernetes-opnfv-functest-kubernetes-healthcheck-{tag}-k8s_quick-run'
+ <<: *functest-kubernetes-jobs
- name: 'functest-kubernetes-opnfv-functest-kubernetes-healthcheck-{tag}-k8s_smoke-run'
<<: *functest-kubernetes-jobs
- multijob:
name: opnfv/functest-kubernetes-smoke:{tag}
- execution-type: SEQUENTIALLY
projects:
- name: 'functest-kubernetes-opnfv-functest-kubernetes-smoke-{tag}-xrally_kubernetes-run'
<<: *functest-kubernetes-jobs
- name: 'functest-kubernetes-opnfv-functest-kubernetes-smoke-{tag}-k8s_conformance-run'
<<: *functest-kubernetes-jobs
+ - multijob:
+ name: opnfv/functest-kubernetes-security:{tag}
+ projects:
+ - name: 'functest-kubernetes-opnfv-functest-kubernetes-security-{tag}-kube_hunter-run'
+ <<: *functest-kubernetes-jobs
+ - name: 'functest-kubernetes-opnfv-functest-kubernetes-security-{tag}-kube_bench_master-run'
+ <<: *functest-kubernetes-jobs
+ - name: 'functest-kubernetes-opnfv-functest-kubernetes-security-{tag}-kube_bench_node-run'
+ <<: *functest-kubernetes-jobs
+ - multijob:
+ name: opnfv/functest-kubernetes-benchmarking:{tag}
+ projects:
+ - name: 'functest-kubernetes-opnfv-functest-kubernetes-benchmarking-{tag}-xrally_kubernetes_full-run'
+ <<: *functest-kubernetes-jobs
+ - multijob:
+ name: opnfv/functest-kubernetes-cnf:{tag}
+ projects:
+ - name: 'functest-kubernetes-opnfv-functest-kubernetes-cnf-{tag}-k8s_vims-run'
+ <<: *functest-kubernetes-jobs
+ - name: 'functest-kubernetes-opnfv-functest-kubernetes-cnf-{tag}-helm_vims-run'
+ <<: *functest-kubernetes-jobs
+ - name: 'functest-kubernetes-opnfv-functest-kubernetes-cnf-{tag}-cnf_conformance-run'
+ <<: *functest-kubernetes-jobs
- project:
name: 'functest-kubernetes'
<<: *functest-kubernetes-params
jobs:
- 'functest-kubernetes-{tag}-daily'
+
+- project:
+ name: 'functest-kubernetes-gate'
+ <<: *functest-kubernetes-params
+ jobs:
- 'functest-kubernetes-{tag}-check'
- 'functest-kubernetes-{tag}-gate'
@@ -502,4 +845,16 @@
- last-success
- last-failure
- last-duration
- regex: ^functest-kubernetes-[a-z]+-(daily|check|gate)$
+ regex: ^functest-kubernetes-(amd64-)*[a-z]+-daily$
+
+- view:
+ name: functest-kubernetes-gate
+ view-type: list
+ columns:
+ - status
+ - weather
+ - job
+ - last-success
+ - last-failure
+ - last-duration
+ regex: ^functest-kubernetes-(amd64-)*[a-z]+-gate$
diff --git a/jjb/functest/functest-pi.yaml b/jjb/functest/functest-pi.yaml
new file mode 100644
index 0000000..045a38e
--- /dev/null
+++ b/jjb/functest/functest-pi.yaml
@@ -0,0 +1,926 @@
+---
+- functest-pi-jobs: &functest-pi-jobs
+ name: 'functest-pi-jobs'
+ current-parameters: true
+
+- functest-pi-params: &functest-pi-params
+ name: 'functest-pi-params'
+ repo: 'ollivier'
+ port:
+ tag:
+ - latest:
+ branch: master
+ slave: lf-virtual9
+ dashboard_url: http://172.30.13.94
+ - leguer:
+ branch: stable/leguer
+ slave: lf-virtual9
+ dashboard_url: http://172.30.13.94
+ - kali:
+ branch: stable/kali
+ slave: lf-pod4-3
+ dashboard_url: http://172.30.12.88
+ - jerma:
+ branch: stable/jerma
+ slave: lf-pod4
+ dashboard_url: http://172.30.12.83
+ - iruya:
+ branch: stable/iruya
+ slave: lf-virtual4
+ dashboard_url: http://172.30.13.89
+ - hunter:
+ branch: stable/hunter
+ slave: lf-virtual6
+ dashboard_url: http://172.30.13.91
+ - arm-latest:
+ branch: master
+ slave: lf-virtual9
+ dashboard_url: http://172.30.13.94
+ - arm-leguer:
+ branch: stable/leguer
+ slave: lf-virtual9
+ dashboard_url: http://172.30.13.94
+ - arm-kali:
+ branch: stable/kali
+ slave: lf-pod4-3
+ dashboard_url: http://172.30.12.88
+ - arm-jerma:
+ branch: stable/jerma
+ slave: lf-pod4
+ dashboard_url: http://172.30.12.83
+ - arm-iruya:
+ branch: stable/iruya
+ slave: lf-virtual4
+ dashboard_url: http://172.30.13.89
+ - arm-hunter:
+ branch: stable/hunter
+ slave: lf-virtual6
+ dashboard_url: http://172.30.13.91
+ - arm64-latest:
+ branch: master
+ slave: lf-virtual9
+ dashboard_url: http://172.30.13.94
+ - arm64-leguer:
+ branch: stable/leguer
+ slave: lf-virtual9
+ dashboard_url: http://172.30.13.94
+ - arm64-kali:
+ branch: stable/kali
+ slave: lf-pod4-3
+ dashboard_url: http://172.30.12.88
+ - arm64-jerma:
+ branch: stable/jerma
+ slave: lf-pod4
+ dashboard_url: http://172.30.12.83
+ - arm64-iruya:
+ branch: stable/iruya
+ slave: lf-virtual4
+ dashboard_url: http://172.30.13.89
+ - arm64-hunter:
+ branch: stable/hunter
+ slave: lf-virtual6
+ dashboard_url: http://172.30.13.91
+
+- parameter:
+ name: functest-pi-slave
+ parameters:
+ - label:
+ name: slave
+ default: '{slave}'
+
+- parameter:
+ name: functest-pi-build_tag
+ parameters:
+ - random-string:
+ name: build_tag
+
+- parameter:
+ name: functest-pi-branch
+ parameters:
+ - string:
+ name: branch
+ default: '{branch}'
+
+- parameter:
+ name: functest-pi-DEBUG
+ parameters:
+ - string:
+ name: DEBUG
+ default: 'true'
+- parameter:
+ name: functest-pi-EXTERNAL_NETWORK
+ parameters:
+ - string:
+ name: EXTERNAL_NETWORK
+ default: public
+- parameter:
+ name: functest-pi-VOLUME_DEVICE_NAME
+ parameters:
+ - string:
+ name: VOLUME_DEVICE_NAME
+ default: sdb
+- parameter:
+ name: functest-pi-IMAGE_PROPERTIES
+ parameters:
+ - string:
+ name: IMAGE_PROPERTIES
+ default: hw_scsi_model:virtio-scsi,hw_disk_bus:scsi
+
+- functest-pi-containers: &functest-pi-containers
+ name: 'functest-pi-containers'
+ repo: '{repo}'
+ port: '{port}'
+ container: '{container}'
+ tag: '{tag}'
+
+- functest-pi-run-containers: &functest-pi-run-containers
+ name: 'functest-pi-run-containers'
+ <<: *functest-pi-containers
+ test: '{test}'
+ dashboard_url: '{dashboard_url}'
+ privileged: '{privileged}'
+ network: '{network}'
+
+- builder:
+ name: functest-pi-pull-containers
+ builders:
+ - shell: |
+ set +x
+ if [ "{repo}" = "_" ]; then
+ image={container}:{tag}
+ elif [ "{port}" = "None" ]; then
+ image={repo}/{container}:{tag}
+ else
+ image={repo}:{port}/{container}:{tag}
+ fi
+ sudo docker pull $image
+
+- builder:
+ name: functest-pi-run-containers
+ builders:
+ - shell: |
+ set +x
+ [ ! -z "$WORKSPACE" ] && sudo rm -rf $WORKSPACE/* || true
+ if [ "{repo}" = "_" ]; then
+ image={container}:{tag}
+ elif [ "{port}" = "None" ]; then
+ image={repo}/{container}:{tag}
+ else
+ image={repo}:{port}/{container}:{tag}
+ fi
+ volumes=""
+ case "{tag}" in
+ arm-hunter)
+ volumes="-v /usr/bin/qemu-arm-static:/usr/bin/qemu-arm-static" ;;
+ arm64-hunter)
+ volumes="-v /usr/bin/qemu-aarch64-static:/usr/bin/qemu-aarch64-static" ;;
+ esac
+ sudo docker run --rm \
+ --privileged={privileged} \
+ --network={network} \
+ -e S3_ENDPOINT_URL=https://storage.googleapis.com \
+ -e S3_DST_URL=s3://artifacts.opnfv.org/functest/$BUILD_TAG/$JOB_NAME-$BUILD_ID \
+ -e HTTP_DST_URL=http://artifacts.opnfv.org/functest/$BUILD_TAG/$JOB_NAME-$BUILD_ID \
+ -e TEST_DB_URL=http://testresults.opnfv.org/test/api/v1/results \
+ -e TEST_DB_EXT_URL=http://testresults.opnfv.org/test/api/v1/results \
+ -e NODE_NAME=$slave \
+ -e BUILD_TAG=$BUILD_TAG \
+ -v $WORKSPACE/../$JOB_NAME/results:/var/lib/xtesting/results \
+ -e DEBUG=$DEBUG \
+ -e EXTERNAL_NETWORK=$EXTERNAL_NETWORK \
+ -e DASHBOARD_URL={dashboard_url} \
+ -e VOLUME_DEVICE_NAME=$VOLUME_DEVICE_NAME \
+ -e IMAGE_PROPERTIES=$IMAGE_PROPERTIES \
+ -v /home/opnfv/functest/.boto:/root/.boto \
+ -v /home/opnfv/functest/openstack.creds:/home/opnfv/functest/conf/env_file \
+ -v /home/opnfv/functest/images:/home/opnfv/functest/images \
+ $volumes $image run_tests -t {test} -r -p
+
+- builder:
+ name: functest-pi-remove-images
+ builders:
+ - shell: |
+ set +x
+ if [ "{repo}" = "_" ]; then
+ image={container}:{tag}
+ elif [ "{port}" = "None" ]; then
+ image={repo}/{container}:{tag}
+ else
+ image={repo}:{port}/{container}:{tag}
+ fi
+ sudo docker rmi $image || true
+
+- job-template:
+ name: 'functest-pi-{repo}-{container}-{tag}-pull'
+ parameters:
+ - functest-pi-slave:
+ slave: '{slave}'
+ builders:
+ - functest-pi-pull-containers:
+ <<: *functest-pi-containers
+
+- project:
+ name: 'functest-pi-ollivier-functest-healthcheck-pull'
+ <<: *functest-pi-params
+ container: 'functest-healthcheck'
+ jobs:
+ - 'functest-pi-{repo}-{container}-{tag}-pull'
+
+- project:
+ name: 'functest-pi-ollivier-functest-smoke-pull'
+ <<: *functest-pi-params
+ container: 'functest-smoke'
+ jobs:
+ - 'functest-pi-{repo}-{container}-{tag}-pull'
+
+- project:
+ name: 'functest-pi-ollivier-functest-smoke-cntt-pull'
+ <<: *functest-pi-params
+ container: 'functest-smoke-cntt'
+ jobs:
+ - 'functest-pi-{repo}-{container}-{tag}-pull'
+
+- project:
+ name: 'functest-pi-ollivier-functest-benchmarking-pull'
+ <<: *functest-pi-params
+ container: 'functest-benchmarking'
+ jobs:
+ - 'functest-pi-{repo}-{container}-{tag}-pull'
+
+- project:
+ name: 'functest-pi-ollivier-functest-benchmarking-cntt-pull'
+ <<: *functest-pi-params
+ container: 'functest-benchmarking-cntt'
+ jobs:
+ - 'functest-pi-{repo}-{container}-{tag}-pull'
+
+- project:
+ name: 'functest-pi-ollivier-functest-vnf-pull'
+ <<: *functest-pi-params
+ container: 'functest-vnf'
+ jobs:
+ - 'functest-pi-{repo}-{container}-{tag}-pull'
+
+- job-template:
+ name: 'functest-pi-{repo}-{container}-{tag}-rmi'
+ parameters:
+ - functest-pi-slave:
+ slave: '{slave}'
+ builders:
+ - functest-pi-remove-images:
+ <<: *functest-pi-containers
+
+- project:
+ name: 'functest-pi-ollivier-functest-healthcheck-rmi'
+ <<: *functest-pi-params
+ container: 'functest-healthcheck'
+ jobs:
+ - 'functest-pi-{repo}-{container}-{tag}-rmi'
+
+- project:
+ name: 'functest-pi-ollivier-functest-smoke-rmi'
+ <<: *functest-pi-params
+ container: 'functest-smoke'
+ jobs:
+ - 'functest-pi-{repo}-{container}-{tag}-rmi'
+
+- project:
+ name: 'functest-pi-ollivier-functest-smoke-cntt-rmi'
+ <<: *functest-pi-params
+ container: 'functest-smoke-cntt'
+ jobs:
+ - 'functest-pi-{repo}-{container}-{tag}-rmi'
+
+- project:
+ name: 'functest-pi-ollivier-functest-benchmarking-rmi'
+ <<: *functest-pi-params
+ container: 'functest-benchmarking'
+ jobs:
+ - 'functest-pi-{repo}-{container}-{tag}-rmi'
+
+- project:
+ name: 'functest-pi-ollivier-functest-benchmarking-cntt-rmi'
+ <<: *functest-pi-params
+ container: 'functest-benchmarking-cntt'
+ jobs:
+ - 'functest-pi-{repo}-{container}-{tag}-rmi'
+
+- project:
+ name: 'functest-pi-ollivier-functest-vnf-rmi'
+ <<: *functest-pi-params
+ container: 'functest-vnf'
+ jobs:
+ - 'functest-pi-{repo}-{container}-{tag}-rmi'
+
+- job-template:
+ name: 'functest-pi-{repo}-{container}-{tag}-{test}-run'
+ parameters:
+ - functest-pi-slave:
+ slave: '{slave}'
+ - functest-pi-build_tag:
+ build_tag: ''
+ - functest-pi-DEBUG:
+ DEBUG: 'true'
+ - functest-pi-EXTERNAL_NETWORK:
+ EXTERNAL_NETWORK: public
+ - functest-pi-VOLUME_DEVICE_NAME:
+ VOLUME_DEVICE_NAME: sdb
+ - functest-pi-IMAGE_PROPERTIES:
+ IMAGE_PROPERTIES: hw_scsi_model:virtio-scsi,hw_disk_bus:scsi
+ builders:
+ - functest-pi-run-containers:
+ <<: *functest-pi-run-containers
+
+- project:
+ name: 'functest-pi-ollivier-functest-healthcheck'
+ <<: *functest-pi-params
+ container: 'functest-healthcheck'
+ test:
+ - connection_check
+ - tenantnetwork1
+ - tenantnetwork2
+ - vmready1
+ - vmready2
+ - singlevm1
+ - singlevm2
+ - vping_ssh
+ - vping_userdata
+ - cinder_test
+ - odl
+ - tempest_smoke
+ - tempest_horizon
+ privileged: 'false'
+ network: bridge
+ jobs:
+ - 'functest-pi-{repo}-{container}-{tag}-{test}-run'
+
+- project:
+ name: 'functest-pi-ollivier-functest-smoke'
+ <<: *functest-pi-params
+ container: 'functest-smoke'
+ test:
+ - tempest_neutron
+ - tempest_cinder
+ - tempest_keystone
+ - tempest_heat
+ - tempest_telemetry
+ - rally_sanity
+ - refstack_defcore
+ - refstack_compute
+ - refstack_object
+ - refstack_platform
+ - tempest_full
+ - tempest_scenario
+ - tempest_slow
+ - patrole
+ - patrole_admin
+ - patrole_member
+ - patrole_reader
+ - networking-bgpvpn
+ - networking-sfc
+ - tempest_barbican
+ - tempest_octavia
+ - tempest_cyborg
+ exclude:
+ - tag: latest
+ test: refstack_defcore
+ - tag: latest
+ test: networking-bgpvpn
+ - tag: latest
+ test: networking-sfc
+ - tag: latest
+ test: patrole
+ - tag: leguer
+ test: refstack_defcore
+ - tag: leguer
+ test: networking-bgpvpn
+ - tag: leguer
+ test: networking-sfc
+ - tag: leguer
+ test: patrole
+ - tag: kali
+ test: refstack_defcore
+ - tag: kali
+ test: networking-bgpvpn
+ - tag: kali
+ test: networking-sfc
+ - tag: kali
+ test: patrole_admin
+ - tag: kali
+ test: patrole_member
+ - tag: kali
+ test: patrole_reader
+ - tag: jerma
+ test: refstack_defcore
+ - tag: jerma
+ test: networking-bgpvpn
+ - tag: jerma
+ test: networking-sfc
+ - tag: jerma
+ test: patrole_admin
+ - tag: jerma
+ test: patrole_member
+ - tag: jerma
+ test: patrole_reader
+ - tag: jerma
+ test: tempest_cyborg
+ - tag: iruya
+ test: refstack_defcore
+ - tag: iruya
+ test: patrole_admin
+ - tag: iruya
+ test: patrole_member
+ - tag: iruya
+ test: patrole_reader
+ - tag: iruya
+ test: tempest_cyborg
+ - tag: hunter
+ test: refstack_compute
+ - tag: hunter
+ test: refstack_object
+ - tag: hunter
+ test: refstack_platform
+ - tag: hunter
+ test: tempest_octavia
+ - tag: hunter
+ test: tempest_telemetry
+ - tag: hunter
+ test: patrole_admin
+ - tag: hunter
+ test: patrole_member
+ - tag: hunter
+ test: patrole_reader
+ - tag: hunter
+ test: tempest_cyborg
+ - tag: arm-latest
+ test: refstack_defcore
+ - tag: arm-latest
+ test: networking-bgpvpn
+ - tag: arm-latest
+ test: networking-sfc
+ - tag: arm-latest
+ test: patrole
+ - tag: arm-leguer
+ test: refstack_defcore
+ - tag: arm-leguer
+ test: networking-bgpvpn
+ - tag: arm-leguer
+ test: networking-sfc
+ - tag: arm-leguer
+ test: patrole
+ - tag: arm-kali
+ test: refstack_defcore
+ - tag: arm-kali
+ test: networking-bgpvpn
+ - tag: arm-kali
+ test: networking-sfc
+ - tag: arm-kali
+ test: patrole_admin
+ - tag: arm-kali
+ test: patrole_member
+ - tag: arm-kali
+ test: patrole_reader
+ - tag: arm-jerma
+ test: refstack_defcore
+ - tag: arm-jerma
+ test: networking-bgpvpn
+ - tag: arm-jerma
+ test: networking-sfc
+ - tag: arm-jerma
+ test: patrole_admin
+ - tag: arm-jerma
+ test: patrole_member
+ - tag: arm-jerma
+ test: patrole_reader
+ - tag: arm-jerma
+ test: tempest_cyborg
+ - tag: arm-iruya
+ test: refstack_defcore
+ - tag: arm-iruya
+ test: patrole_admin
+ - tag: arm-iruya
+ test: patrole_member
+ - tag: arm-iruya
+ test: patrole_reader
+ - tag: arm-iruya
+ test: tempest_cyborg
+ - tag: arm-hunter
+ test: refstack_compute
+ - tag: arm-hunter
+ test: refstack_object
+ - tag: arm-hunter
+ test: refstack_platform
+ - tag: arm-hunter
+ test: tempest_octavia
+ - tag: arm-hunter
+ test: tempest_telemetry
+ - tag: arm-hunter
+ test: patrole_admin
+ - tag: arm-hunter
+ test: patrole_member
+ - tag: arm-hunter
+ test: patrole_reader
+ - tag: arm-hunter
+ test: tempest_cyborg
+ - tag: arm64-latest
+ test: refstack_defcore
+ - tag: arm64-latest
+ test: networking-bgpvpn
+ - tag: arm64-latest
+ test: networking-sfc
+ - tag: arm64-latest
+ test: patrole
+ - tag: arm64-leguer
+ test: refstack_defcore
+ - tag: arm64-leguer
+ test: networking-bgpvpn
+ - tag: arm64-leguer
+ test: networking-sfc
+ - tag: arm64-leguer
+ test: patrole
+ - tag: arm64-kali
+ test: refstack_defcore
+ - tag: arm64-kali
+ test: networking-bgpvpn
+ - tag: arm64-kali
+ test: networking-sfc
+ - tag: arm64-kali
+ test: patrole_admin
+ - tag: arm64-kali
+ test: patrole_member
+ - tag: arm64-kali
+ test: patrole_reader
+ - tag: arm64-jerma
+ test: refstack_defcore
+ - tag: arm64-jerma
+ test: networking-bgpvpn
+ - tag: arm64-jerma
+ test: networking-sfc
+ - tag: arm64-jerma
+ test: patrole_admin
+ - tag: arm64-jerma
+ test: patrole_member
+ - tag: arm64-jerma
+ test: patrole_reader
+ - tag: arm64-jerma
+ test: tempest_cyborg
+ - tag: arm64-iruya
+ test: refstack_defcore
+ - tag: arm64-iruya
+ test: patrole_admin
+ - tag: arm64-iruya
+ test: patrole_member
+ - tag: arm64-iruya
+ test: patrole_reader
+ - tag: arm64-iruya
+ test: tempest_cyborg
+ - tag: arm64-hunter
+ test: refstack_compute
+ - tag: arm64-hunter
+ test: refstack_object
+ - tag: arm64-hunter
+ test: refstack_platform
+ - tag: arm64-hunter
+ test: tempest_octavia
+ - tag: arm64-hunter
+ test: tempest_telemetry
+ - tag: arm64-hunter
+ test: patrole_admin
+ - tag: arm64-hunter
+ test: patrole_member
+ - tag: arm64-hunter
+ test: patrole_reader
+ - tag: arm64-hunter
+ test: tempest_cyborg
+ privileged: 'false'
+ network: bridge
+ jobs:
+ - 'functest-pi-{repo}-{container}-{tag}-{test}-run'
+
+- project:
+ name: 'functest-pi-ollivier-functest-smoke-cntt'
+ <<: *functest-pi-params
+ container: 'functest-smoke-cntt'
+ test:
+ - tempest_neutron_cntt
+ - tempest_cinder_cntt
+ - tempest_keystone_cntt
+ - tempest_heat_cntt
+ - rally_sanity_cntt
+ - tempest_full_cntt
+ - tempest_scenario_cntt
+ - tempest_slow_cntt
+ privileged: 'false'
+ network: bridge
+ jobs:
+ - 'functest-pi-{repo}-{container}-{tag}-{test}-run'
+
+- project:
+ name: 'functest-pi-ollivier-functest-benchmarking'
+ <<: *functest-pi-params
+ container: 'functest-benchmarking'
+ test:
+ - rally_full
+ - rally_jobs
+ - vmtp
+ - shaker
+ privileged: 'false'
+ network: bridge
+ jobs:
+ - 'functest-pi-{repo}-{container}-{tag}-{test}-run'
+
+- project:
+ name: 'functest-pi-ollivier-functest-benchmarking-cntt'
+ <<: *functest-pi-params
+ container: 'functest-benchmarking-cntt'
+ test:
+ - rally_full_cntt
+ - rally_jobs_cntt
+ privileged: 'false'
+ network: bridge
+ jobs:
+ - 'functest-pi-{repo}-{container}-{tag}-{test}-run'
+
+- project:
+ name: 'functest-pi-ollivier-functest-vnf'
+ <<: *functest-pi-params
+ container: 'functest-vnf'
+ test:
+ - cloudify
+ - cloudify_ims
+ - heat_ims
+ - vyos_vrouter
+ - juju_epc
+ privileged: 'false'
+ network: bridge
+ jobs:
+ - 'functest-pi-{repo}-{container}-{tag}-{test}-run'
+
+
+- builder:
+ name: functest-pi-zip
+ builders:
+ - shell: |
+ set +x
+ [ ! -z "$WORKSPACE" ] && sudo rm -rf $WORKSPACE/* || true
+ if [ "{repo}" = "_" ]; then
+ image={container}:{tag}
+ elif [ "{port}" = "None" ]; then
+ image={repo}/{container}:{tag}
+ else
+ image={repo}:{port}/{container}:{tag}
+ fi
+ volumes=""
+ case "{tag}" in
+ arm-hunter)
+ volumes="-v /usr/bin/qemu-arm-static:/usr/bin/qemu-arm-static" ;;
+ arm64-hunter)
+ volumes="-v /usr/bin/qemu-aarch64-static:/usr/bin/qemu-aarch64-static" ;;
+ esac
+ sudo docker run --rm \
+ -e S3_ENDPOINT_URL=https://storage.googleapis.com \
+ -e S3_DST_URL=s3://artifacts.opnfv.org/functest \
+ -e HTTP_DST_URL=http://artifacts.opnfv.org/functest \
+ -e TEST_DB_URL=http://testresults.opnfv.org/test/api/v1/results \
+ -e TEST_DB_EXT_URL=http://testresults.opnfv.org/test/api/v1/results \
+ -e BUILD_TAG=$BUILD_TAG \
+ -v $WORKSPACE/../$JOB_NAME/results:/var/lib/xtesting/results \
+ -e DEBUG=$DEBUG \
+ -e EXTERNAL_NETWORK=$EXTERNAL_NETWORK \
+ -e VOLUME_DEVICE_NAME=$VOLUME_DEVICE_NAME \
+ -e IMAGE_PROPERTIES=$IMAGE_PROPERTIES \
+ -v /home/opnfv/functest/.boto:/root/.boto \
+ -v /home/opnfv/functest/openstack.creds:/home/opnfv/functest/conf/env_file \
+ -v /home/opnfv/functest/images:/home/opnfv/functest/images \
+ $volumes $image zip_campaign
+
+- job-template:
+ name: 'functest-pi-{tag}-zip'
+ parameters:
+ - functest-pi-slave:
+ slave: '{slave}'
+ - functest-pi-build_tag:
+ build_tag: ''
+ - functest-pi-DEBUG:
+ DEBUG: 'true'
+ - functest-pi-EXTERNAL_NETWORK:
+ EXTERNAL_NETWORK: public
+ - functest-pi-VOLUME_DEVICE_NAME:
+ VOLUME_DEVICE_NAME: sdb
+ - functest-pi-IMAGE_PROPERTIES:
+ IMAGE_PROPERTIES: hw_scsi_model:virtio-scsi,hw_disk_bus:scsi
+ builders:
+ - functest-pi-zip:
+ <<: *functest-pi-containers
+
+- project:
+ name: 'functest-pi-{tag}-zip'
+ <<: *functest-pi-params
+ container: 'functest-healthcheck'
+ jobs:
+ - 'functest-pi-{tag}-zip'
+
+- job-template:
+ name: 'functest-pi-{tag}-daily'
+ project-type: multijob
+ triggers:
+ - timed: '@weekly'
+ parameters:
+ - functest-pi-slave:
+ slave: '{slave}'
+ - functest-pi-build_tag:
+ build_tag: ''
+ - functest-pi-DEBUG:
+ DEBUG: 'true'
+ - functest-pi-EXTERNAL_NETWORK:
+ EXTERNAL_NETWORK: public
+ - functest-pi-VOLUME_DEVICE_NAME:
+ VOLUME_DEVICE_NAME: sdb
+ - functest-pi-IMAGE_PROPERTIES:
+ IMAGE_PROPERTIES: hw_scsi_model:virtio-scsi,hw_disk_bus:scsi
+ properties:
+ - build-blocker:
+ use-build-blocker: true
+ blocking-level: 'NODE'
+ blocking-jobs:
+ - '^functest(-pi)?(-ovn)?-(arm.*-|amd64-)*[a-z]+-(daily|gate|check)$'
+ builders:
+ - multijob:
+ name: remove former images
+ projects:
+ - name: 'functest-pi-ollivier-functest-healthcheck-{tag}-rmi'
+ <<: *functest-pi-jobs
+ - name: 'functest-pi-ollivier-functest-smoke-{tag}-rmi'
+ <<: *functest-pi-jobs
+ - name: 'functest-pi-ollivier-functest-smoke-cntt-{tag}-rmi'
+ <<: *functest-pi-jobs
+ - name: 'functest-pi-ollivier-functest-benchmarking-{tag}-rmi'
+ <<: *functest-pi-jobs
+ - name: 'functest-pi-ollivier-functest-benchmarking-cntt-{tag}-rmi'
+ <<: *functest-pi-jobs
+ - name: 'functest-pi-ollivier-functest-vnf-{tag}-rmi'
+ <<: *functest-pi-jobs
+ - multijob:
+ name: pull containers
+ projects:
+ - name: 'functest-pi-ollivier-functest-healthcheck-{tag}-pull'
+ <<: *functest-pi-jobs
+ - name: 'functest-pi-ollivier-functest-smoke-{tag}-pull'
+ <<: *functest-pi-jobs
+ - name: 'functest-pi-ollivier-functest-smoke-cntt-{tag}-pull'
+ <<: *functest-pi-jobs
+ - name: 'functest-pi-ollivier-functest-benchmarking-{tag}-pull'
+ <<: *functest-pi-jobs
+ - name: 'functest-pi-ollivier-functest-benchmarking-cntt-{tag}-pull'
+ <<: *functest-pi-jobs
+ - name: 'functest-pi-ollivier-functest-vnf-{tag}-pull'
+ <<: *functest-pi-jobs
+ - multijob:
+ name: ollivier/functest-healthcheck:{tag}
+ projects:
+ - name: 'functest-pi-ollivier-functest-healthcheck-{tag}-connection_check-run'
+ <<: *functest-pi-jobs
+ - name: 'functest-pi-ollivier-functest-healthcheck-{tag}-tenantnetwork1-run'
+ <<: *functest-pi-jobs
+ - name: 'functest-pi-ollivier-functest-healthcheck-{tag}-tenantnetwork2-run'
+ <<: *functest-pi-jobs
+ - name: 'functest-pi-ollivier-functest-healthcheck-{tag}-vmready1-run'
+ <<: *functest-pi-jobs
+ - name: 'functest-pi-ollivier-functest-healthcheck-{tag}-vmready2-run'
+ <<: *functest-pi-jobs
+ - name: 'functest-pi-ollivier-functest-healthcheck-{tag}-singlevm1-run'
+ <<: *functest-pi-jobs
+ - name: 'functest-pi-ollivier-functest-healthcheck-{tag}-singlevm2-run'
+ <<: *functest-pi-jobs
+ - name: 'functest-pi-ollivier-functest-healthcheck-{tag}-vping_ssh-run'
+ <<: *functest-pi-jobs
+ - name: 'functest-pi-ollivier-functest-healthcheck-{tag}-vping_userdata-run'
+ <<: *functest-pi-jobs
+ - name: 'functest-pi-ollivier-functest-healthcheck-{tag}-cinder_test-run'
+ <<: *functest-pi-jobs
+ - name: 'functest-pi-ollivier-functest-healthcheck-{tag}-odl-run'
+ <<: *functest-pi-jobs
+ - name: 'functest-pi-ollivier-functest-healthcheck-{tag}-tempest_smoke-run'
+ <<: *functest-pi-jobs
+ - name: 'functest-pi-ollivier-functest-healthcheck-{tag}-tempest_horizon-run'
+ <<: *functest-pi-jobs
+ - multijob:
+ name: ollivier/functest-smoke:{tag}
+ projects:
+ - name: 'functest-pi-ollivier-functest-smoke-{tag}-tempest_neutron-run'
+ <<: *functest-pi-jobs
+ - name: 'functest-pi-ollivier-functest-smoke-{tag}-tempest_cinder-run'
+ <<: *functest-pi-jobs
+ - name: 'functest-pi-ollivier-functest-smoke-{tag}-tempest_keystone-run'
+ <<: *functest-pi-jobs
+ - name: 'functest-pi-ollivier-functest-smoke-{tag}-tempest_heat-run'
+ <<: *functest-pi-jobs
+ - name: 'functest-pi-ollivier-functest-smoke-{tag}-tempest_telemetry-run'
+ <<: *functest-pi-jobs
+ - name: 'functest-pi-ollivier-functest-smoke-{tag}-rally_sanity-run'
+ <<: *functest-pi-jobs
+ - name: 'functest-pi-ollivier-functest-smoke-{tag}-refstack_defcore-run'
+ <<: *functest-pi-jobs
+ - name: 'functest-pi-ollivier-functest-smoke-{tag}-refstack_compute-run'
+ <<: *functest-pi-jobs
+ - name: 'functest-pi-ollivier-functest-smoke-{tag}-refstack_object-run'
+ <<: *functest-pi-jobs
+ - name: 'functest-pi-ollivier-functest-smoke-{tag}-refstack_platform-run'
+ <<: *functest-pi-jobs
+ - name: 'functest-pi-ollivier-functest-smoke-{tag}-tempest_full-run'
+ <<: *functest-pi-jobs
+ - name: 'functest-pi-ollivier-functest-smoke-{tag}-tempest_scenario-run'
+ <<: *functest-pi-jobs
+ - name: 'functest-pi-ollivier-functest-smoke-{tag}-tempest_slow-run'
+ <<: *functest-pi-jobs
+ - name: 'functest-pi-ollivier-functest-smoke-{tag}-patrole-run'
+ <<: *functest-pi-jobs
+ - name: 'functest-pi-ollivier-functest-smoke-{tag}-patrole_admin-run'
+ <<: *functest-pi-jobs
+ - name: 'functest-pi-ollivier-functest-smoke-{tag}-patrole_member-run'
+ <<: *functest-pi-jobs
+ - name: 'functest-pi-ollivier-functest-smoke-{tag}-patrole_reader-run'
+ <<: *functest-pi-jobs
+ - name: 'functest-pi-ollivier-functest-smoke-{tag}-networking-bgpvpn-run'
+ <<: *functest-pi-jobs
+ - name: 'functest-pi-ollivier-functest-smoke-{tag}-networking-sfc-run'
+ <<: *functest-pi-jobs
+ - name: 'functest-pi-ollivier-functest-smoke-{tag}-tempest_barbican-run'
+ <<: *functest-pi-jobs
+ - name: 'functest-pi-ollivier-functest-smoke-{tag}-tempest_octavia-run'
+ <<: *functest-pi-jobs
+ - name: 'functest-pi-ollivier-functest-smoke-{tag}-tempest_cyborg-run'
+ <<: *functest-pi-jobs
+ - multijob:
+ name: ollivier/functest-smoke-cntt:{tag}
+ projects:
+ - name: 'functest-pi-ollivier-functest-smoke-cntt-{tag}-tempest_neutron_cntt-run'
+ <<: *functest-pi-jobs
+ - name: 'functest-pi-ollivier-functest-smoke-cntt-{tag}-tempest_cinder_cntt-run'
+ <<: *functest-pi-jobs
+ - name: 'functest-pi-ollivier-functest-smoke-cntt-{tag}-tempest_keystone_cntt-run'
+ <<: *functest-pi-jobs
+ - name: 'functest-pi-ollivier-functest-smoke-cntt-{tag}-tempest_heat_cntt-run'
+ <<: *functest-pi-jobs
+ - name: 'functest-pi-ollivier-functest-smoke-cntt-{tag}-rally_sanity_cntt-run'
+ <<: *functest-pi-jobs
+ - name: 'functest-pi-ollivier-functest-smoke-cntt-{tag}-tempest_full_cntt-run'
+ <<: *functest-pi-jobs
+ - name: 'functest-pi-ollivier-functest-smoke-cntt-{tag}-tempest_scenario_cntt-run'
+ <<: *functest-pi-jobs
+ - name: 'functest-pi-ollivier-functest-smoke-cntt-{tag}-tempest_slow_cntt-run'
+ <<: *functest-pi-jobs
+ - multijob:
+ name: ollivier/functest-benchmarking:{tag}
+ projects:
+ - name: 'functest-pi-ollivier-functest-benchmarking-{tag}-rally_full-run'
+ <<: *functest-pi-jobs
+ - name: 'functest-pi-ollivier-functest-benchmarking-{tag}-rally_jobs-run'
+ <<: *functest-pi-jobs
+ - name: 'functest-pi-ollivier-functest-benchmarking-{tag}-vmtp-run'
+ <<: *functest-pi-jobs
+ - name: 'functest-pi-ollivier-functest-benchmarking-{tag}-shaker-run'
+ <<: *functest-pi-jobs
+ - multijob:
+ name: ollivier/functest-benchmarking-cntt:{tag}
+ projects:
+ - name: 'functest-pi-ollivier-functest-benchmarking-cntt-{tag}-rally_full_cntt-run'
+ <<: *functest-pi-jobs
+ - name: 'functest-pi-ollivier-functest-benchmarking-cntt-{tag}-rally_jobs_cntt-run'
+ <<: *functest-pi-jobs
+ - multijob:
+ name: ollivier/functest-vnf:{tag}
+ projects:
+ - name: 'functest-pi-ollivier-functest-vnf-{tag}-cloudify-run'
+ <<: *functest-pi-jobs
+ - name: 'functest-pi-ollivier-functest-vnf-{tag}-cloudify_ims-run'
+ <<: *functest-pi-jobs
+ - name: 'functest-pi-ollivier-functest-vnf-{tag}-heat_ims-run'
+ <<: *functest-pi-jobs
+ - name: 'functest-pi-ollivier-functest-vnf-{tag}-vyos_vrouter-run'
+ <<: *functest-pi-jobs
+ - name: 'functest-pi-ollivier-functest-vnf-{tag}-juju_epc-run'
+ <<: *functest-pi-jobs
+ - multijob:
+ name: dump all campaign data
+ projects:
+ - name: 'functest-pi-{tag}-zip'
+ <<: *functest-pi-jobs
+
+- project:
+ name: 'functest-pi'
+ <<: *functest-pi-params
+ jobs:
+ - 'functest-pi-{tag}-daily'
+
+- view:
+ name: functest-pi
+ view-type: list
+ columns:
+ - status
+ - weather
+ - job
+ - last-success
+ - last-failure
+ - last-duration
+ regex: ^functest-pi(-ovn)?-(arm.*-|amd64-)*[a-z]+-daily$
diff --git a/jjb/functest/functest-project-jobs.yaml b/jjb/functest/functest-project-jobs.yaml
index d50b1a5..438fb4d 100644
--- a/jjb/functest/functest-project-jobs.yaml
+++ b/jjb/functest/functest-project-jobs.yaml
@@ -1,167 +1,86 @@
---
-###################################################
-# All the jobs except verify have been removed!
-# They will only be enabled on request by projects!
-###################################################
-- project:
- name: functest-project-jobs
-
- project: 'functest'
-
- jobs:
- - 'functest-verify-{stream}'
- - 'functest-verify-{phase}-{stream}'
-
- stream:
- - master:
- branch: '{stream}'
- gs-pathname: ''
- disabled: false
+- functest-project-params: &functest-project-params
+ name: 'functest-project-params'
+ tag:
+ - latest:
+ branch: master
+ slave: lf-virtual1
+ - leguer:
+ branch: stable/leguer
+ slave: lf-virtual1
+ - kali:
+ branch: stable/kali
+ slave: lf-virtual1
- jerma:
- branch: 'stable/{stream}'
- gs-pathname: ''
- disabled: false
+ branch: stable/jerma
+ slave: lf-virtual1
- iruya:
- branch: 'stable/{stream}'
- gs-pathname: ''
- disabled: false
+ branch: stable/iruya
+ slave: lf-virtual1
- hunter:
- branch: 'stable/{stream}'
- gs-pathname: ''
- disabled: false
-
- phase:
- - 'unit-tests-and-docs':
- slave-label: 'lf-virtual1'
-
-- job-template:
- name: 'functest-verify-{stream}'
-
- disabled: '{obj:disabled}'
-
- project-type: 'multijob'
-
- parameters:
- - project-parameter:
- project: '{project}'
- branch: '{branch}'
- - 'opnfv-build-ubuntu-defaults'
-
- scm:
- - git-scm-gerrit
-
- triggers:
- - 'functest-verify-triggers-macro':
- project: '{project}'
- branch: '{branch}'
-
- builders:
- - shell: |
- #!/bin/bash
- # we do nothing here as the main stuff will be done
- # in phase jobs
- echo "Triggering phase jobs!"
- - multijob:
- name: 'functest-build-and-unittest'
- execution-type: PARALLEL
- projects:
- - name: 'functest-verify-unit-tests-and-docs-{stream}'
- current-parameters: false
- predefined-parameters: |
- GERRIT_BRANCH=$GERRIT_BRANCH
- GERRIT_REFSPEC=$GERRIT_REFSPEC
- GERRIT_CHANGE_NUMBER=$GERRIT_CHANGE_NUMBER
- GERRIT_CHANGE_COMMIT_MESSAGE=$GERRIT_CHANGE_COMMIT_MESSAGE
- git-revision: true
- node-parameters: false
- kill-phase-on: FAILURE
- abort-all-job: false
-
-- job-template:
- name: 'functest-verify-{phase}-{stream}'
-
- disabled: '{obj:disabled}'
-
- wrappers:
- - ssh-agent-wrapper
- - build-timeout:
- timeout: 60
-
- parameters:
- - project-parameter:
- project: '{project}'
- branch: '{branch}'
- - '{slave-label}-defaults'
-
- scm:
- - git-scm-gerrit
+ branch: stable/hunter
+ slave: lf-virtual1
+- builder:
+ name: functest-run-tox
builders:
- - 'functest-verify-{phase}-builders-macro'
-
- publishers:
- - 'functest-verify-{phase}-publishers-macro'
+ - shell: tox
-################################
-# job triggers
-################################
- trigger:
- name: 'functest-verify-triggers-macro'
+ name: functest-project-patchset-created
triggers:
- gerrit:
server-name: 'gerrit.opnfv.org'
trigger-on:
- - patchset-created-event:
- exclude-drafts: 'false'
- exclude-trivial-rebase: 'false'
- exclude-no-code-change: 'false'
- - draft-published-event
+ - patchset-created-event
- comment-added-contains-event:
comment-contains-value: 'recheck'
- comment-added-contains-event:
comment-contains-value: 'reverify'
projects:
- project-compare-type: 'ANT'
- project-pattern: '{project}'
+ project-pattern: 'functest'
branches:
- branch-compare-type: 'ANT'
branch-pattern: '**/{branch}'
- disable-strict-forbidden-file-verification: 'true'
- forbidden-file-paths:
- - compare-type: ANT
- pattern: 'docs/**|.gitignore'
+ skip-vote:
+ successful: false
+ failed: false
+ unstable: false
+ notbuilt: false
+
+- parameter:
+ name: functest-project-slave
+ parameters:
+ - label:
+ name: slave
+ default: '{slave}'
-################################
-# job builders
-################################
+- scm:
+ name: functest-project-scm
+ scm:
+ - git:
+ url: https://gerrit.opnfv.org/gerrit/functest
+ refspec: '+refs/changes/*:refs/changes/*'
+ branches:
+ - '{ref}'
-- builder:
- name: 'functest-verify-unit-tests-and-docs-builders-macro'
+- job-template:
+ name: 'functest-run-tox-{tag}'
+ triggers:
+ - functest-project-patchset-created:
+ branch: '{branch}'
+ scm:
+ - functest-project-scm:
+ ref: $GERRIT_REFSPEC
+ parameters:
+ - functest-project-slave:
+ slave: '{slave}'
builders:
- - shell: |
- cd $WORKSPACE && tox
+ - functest-run-tox
-################################
-# job publishers
-################################
-- publisher:
- name: 'functest-verify-unit-tests-and-docs-publishers-macro'
- publishers:
- - junit:
- results: nosetests.xml
- - cobertura:
- report-file: "coverage.xml"
- only-stable: "true"
- health-auto-update: "true"
- stability-auto-update: "true"
- zoom-coverage-chart: "true"
- targets:
- - files:
- healthy: 10
- unhealthy: 20
- failing: 30
- - method:
- healthy: 50
- unhealthy: 40
- failing: 30
- - email-jenkins-admins-on-failure
+- project:
+ name: 'functest-run-tox'
+ <<: *functest-project-params
+ jobs:
+ - 'functest-run-tox-{tag}'
diff --git a/jjb/functest/functest-rtd-jobs.yaml b/jjb/functest/functest-rtd-jobs.yaml
deleted file mode 100644
index 8d20dd2..0000000
--- a/jjb/functest/functest-rtd-jobs.yaml
+++ /dev/null
@@ -1,24 +0,0 @@
----
-- project:
- name: functest-rtd
- project: functest
- project-name: functest
-
- gerrit-skip-vote: true
- project-pattern: 'functest'
- rtd-build-url: 'https://readthedocs.org/api/v2/webhook/opnfv-functest/47369/'
- rtd-token: '26f9131bd5c337928ba8b431a289f6850b330504'
-
- stream:
- - master:
- branch: '{stream}'
- disabled: false
- - iruya:
- branch: 'stable/{stream}'
- disabled: false
- - hunter:
- branch: 'stable/{stream}'
- disabled: false
-
- jobs:
- - '{project-name}-rtd-jobs'
diff --git a/jjb/functest/functest-suite.sh b/jjb/functest/functest-suite.sh
deleted file mode 100755
index 469a577..0000000
--- a/jjb/functest/functest-suite.sh
+++ /dev/null
@@ -1,21 +0,0 @@
-#!/bin/bash
-
-container_id=$(docker ps -a | grep opnfv/functest | awk '{print $1}' | head -1)
-if [ -z $container_id ]; then
- echo "Functest container not found"
- exit 1
-fi
-
-global_ret_val=0
-
-tests=($(echo $FUNCTEST_SUITE_NAME | tr "," "\n"))
-for test in ${tests[@]}; do
- cmd="run_tests -t $test"
- docker exec $container_id $cmd
- let global_ret_val+=$?
-done
-
-ret_val_file="${HOME}/opnfv/functest/results/${BRANCH##*/}/return_value"
-echo ${global_ret_val}>${ret_val_file}
-
-exit 0
diff --git a/jjb/functest/functest.ovn.yaml b/jjb/functest/functest.ovn.yaml
new file mode 100644
index 0000000..52ba238
--- /dev/null
+++ b/jjb/functest/functest.ovn.yaml
@@ -0,0 +1,1245 @@
+---
+- functest-ovn-jobs: &functest-ovn-jobs
+ name: 'functest-ovn-jobs'
+ current-parameters: true
+
+- functest-ovn-params: &functest-ovn-params
+ name: 'functest-ovn-params'
+ repo: 'opnfv'
+ port:
+ tag:
+ - latest:
+ branch: master
+ slave: lf-pod4-2
+ dashboard_url: http://172.30.12.85
+
+- parameter:
+ name: functest-ovn-slave
+ parameters:
+ - label:
+ name: slave
+ default: '{slave}'
+
+- parameter:
+ name: functest-ovn-build_tag
+ parameters:
+ - random-string:
+ name: build_tag
+
+- parameter:
+ name: functest-ovn-branch
+ parameters:
+ - string:
+ name: branch
+ default: '{branch}'
+
+- parameter:
+ name: functest-ovn-DEBUG
+ parameters:
+ - string:
+ name: DEBUG
+ default: 'true'
+
+- parameter:
+ name: functest-ovn-EXTERNAL_NETWORK
+ parameters:
+ - string:
+ name: EXTERNAL_NETWORK
+ default: public
+
+- functest-ovn-containers: &functest-ovn-containers
+ name: 'functest-ovn-containers'
+ repo: '{repo}'
+ port: '{port}'
+ container: '{container}'
+ tag: '{tag}'
+
+- functest-ovn-run-containers: &functest-ovn-run-containers
+ name: 'functest-ovn-run-containers'
+ <<: *functest-ovn-containers
+ test: '{test}'
+ dashboard_url: '{dashboard_url}'
+
+- functest-ovn-build-containers: &functest-ovn-build-containers
+ name: 'functest-ovn-build-containers'
+ <<: *functest-ovn-containers
+ ref_arg: '{ref_arg}'
+ path: '{path}'
+
+- builder:
+ name: functest-ovn-pull-containers
+ builders:
+ - shell: |
+ set +x
+ if [ "{repo}" = "_" ]; then
+ image={container}:{tag}
+ elif [ "{port}" = "None" ]; then
+ image={repo}/{container}:{tag}
+ else
+ image={repo}:{port}/{container}:{tag}
+ fi
+ sudo docker pull $image
+
+- builder:
+ name: functest-ovn-build-containers
+ builders:
+ - shell: |
+ set +x
+ if [ "{repo}" = "_" ]; then
+ image={container}:{tag}
+ elif [ "{port}" = "None" ]; then
+ image={repo}/{container}:{tag}
+ else
+ image={repo}:{port}/{container}:{tag}
+ fi
+ if [ "{ref_arg}" = "None" ]; then
+ build_arg=""
+ else
+ build_arg="--build-arg {ref_arg}={ref}"
+ fi
+ cd {path}
+ sudo docker build $build_arg \
+ --pull=false --no-cache --force-rm=true \
+ -t $image .
+
+- builder:
+ name: functest-ovn-run-containers
+ builders:
+ - shell: |
+ set +x
+ [ ! -z "$WORKSPACE" ] && sudo rm -rf $WORKSPACE/* || true
+ if [ "{repo}" = "_" ]; then
+ image={container}:{tag}
+ elif [ "{port}" = "None" ]; then
+ image={repo}/{container}:{tag}
+ else
+ image={repo}:{port}/{container}:{tag}
+ fi
+ if [ "{tag}" = "latest" ]; then
+ py=3.8
+ elif [ "{tag}" = "kali" ]; then
+ py=3.8
+ elif [ "{tag}" = "jerma" ]; then
+ py=3.7
+ elif [ "{tag}" = "iruya" ]; then
+ py=3.6
+ else
+ py=2.7
+ fi
+ sudo docker run --rm \
+ -e S3_ENDPOINT_URL=https://storage.googleapis.com \
+ -e S3_DST_URL=s3://artifacts.opnfv.org/functest/$BUILD_TAG/$JOB_NAME-$BUILD_ID \
+ -e HTTP_DST_URL=http://artifacts.opnfv.org/functest/$BUILD_TAG/$JOB_NAME-$BUILD_ID \
+ -e TEST_DB_URL=http://testresults.opnfv.org/test/api/v1/results \
+ -e NODE_NAME=$slave \
+ -e BUILD_TAG=$BUILD_TAG \
+ -v $WORKSPACE/../$JOB_NAME/results:/var/lib/xtesting/results \
+ -e DEBUG=$DEBUG \
+ -e DEPLOY_SCENARIO=os-ovn-nofeature-noha \
+ -e EXTERNAL_NETWORK=$EXTERNAL_NETWORK \
+ -e DASHBOARD_URL={dashboard_url} \
+ -e VOLUME_DEVICE_NAME=sdb \
+ -e IMAGE_PROPERTIES=hw_scsi_model:virtio-scsi,hw_disk_bus:scsi \
+ -v /home/opnfv/functest/openstack.creds:/home/opnfv/functest/conf/env_file \
+ -v /home/opnfv/functest/images:/home/opnfv/functest/images \
+ -v /home/opnfv/functest/tempest_conf.yaml:/src/functest/\
+ functest/opnfv_tests/openstack/tempest/custom_tests/\
+ tempest_conf.yaml \
+ -v /home/opnfv/functest/.boto:/root/.boto \
+ $image run_tests -t {test} -r -p
+
+- builder:
+ name: functest-ovn-remove-images
+ builders:
+ - shell: |
+ set +x
+ if [ "{repo}" = "_" ]; then
+ image={container}:{tag}
+ elif [ "{port}" = "None" ]; then
+ image={repo}/{container}:{tag}
+ else
+ image={repo}:{port}/{container}:{tag}
+ fi
+ sudo docker rmi $image || true
+
+- scm:
+ name: functest-ovn-scm
+ scm:
+ - git:
+ url: https://gerrit.opnfv.org/gerrit/functest
+ refspec: '+refs/changes/*:refs/changes/*'
+ branches:
+ - '{ref}'
+
+- job-template:
+ name: 'functest-ovn-{repo}-{container}-{tag}-pull'
+ parameters:
+ - functest-ovn-slave:
+ slave: '{slave}'
+ builders:
+ - functest-ovn-pull-containers:
+ <<: *functest-ovn-containers
+
+- project:
+ name: 'functest-ovn-opnfv-functest-healthcheck-pull'
+ <<: *functest-ovn-params
+ container: 'functest-healthcheck'
+ jobs:
+ - 'functest-ovn-{repo}-{container}-{tag}-pull'
+
+- project:
+ name: 'functest-ovn-opnfv-functest-smoke-pull'
+ <<: *functest-ovn-params
+ container: 'functest-smoke'
+ jobs:
+ - 'functest-ovn-{repo}-{container}-{tag}-pull'
+
+- project:
+ name: 'functest-ovn-opnfv-functest-smoke-cntt-pull'
+ <<: *functest-ovn-params
+ container: 'functest-smoke-cntt'
+ jobs:
+ - 'functest-ovn-{repo}-{container}-{tag}-pull'
+
+- project:
+ name: 'functest-ovn-opnfv-functest-benchmarking-pull'
+ <<: *functest-ovn-params
+ container: 'functest-benchmarking'
+ jobs:
+ - 'functest-ovn-{repo}-{container}-{tag}-pull'
+
+- project:
+ name: 'functest-ovn-opnfv-functest-benchmarking-cntt-pull'
+ <<: *functest-ovn-params
+ container: 'functest-benchmarking-cntt'
+ jobs:
+ - 'functest-ovn-{repo}-{container}-{tag}-pull'
+
+- project:
+ name: 'functest-ovn-opnfv-functest-vnf-pull'
+ <<: *functest-ovn-params
+ container: 'functest-vnf'
+ jobs:
+ - 'functest-ovn-{repo}-{container}-{tag}-pull'
+
+- job-template:
+ name: 'functest-ovn-{repo}-{container}-{tag}-rmi'
+ parameters:
+ - functest-ovn-slave:
+ slave: '{slave}'
+ builders:
+ - functest-ovn-remove-images:
+ <<: *functest-ovn-containers
+
+- project:
+ name: 'functest-ovn-opnfv-functest-healthcheck-rmi'
+ <<: *functest-ovn-params
+ container: 'functest-healthcheck'
+ jobs:
+ - 'functest-ovn-{repo}-{container}-{tag}-rmi'
+
+- project:
+ name: 'functest-ovn-opnfv-functest-smoke-rmi'
+ <<: *functest-ovn-params
+ container: 'functest-smoke'
+ jobs:
+ - 'functest-ovn-{repo}-{container}-{tag}-rmi'
+
+- project:
+ name: 'functest-ovn-opnfv-functest-smoke-cntt-rmi'
+ <<: *functest-ovn-params
+ container: 'functest-smoke-cntt'
+ jobs:
+ - 'functest-ovn-{repo}-{container}-{tag}-rmi'
+
+- project:
+ name: 'functest-ovn-opnfv-functest-benchmarking-rmi'
+ <<: *functest-ovn-params
+ container: 'functest-benchmarking'
+ jobs:
+ - 'functest-ovn-{repo}-{container}-{tag}-rmi'
+
+- project:
+ name: 'functest-ovn-opnfv-functest-benchmarking-cntt-rmi'
+ <<: *functest-ovn-params
+ container: 'functest-benchmarking-cntt'
+ jobs:
+ - 'functest-ovn-{repo}-{container}-{tag}-rmi'
+
+- project:
+ name: 'functest-ovn-opnfv-functest-vnf-rmi'
+ <<: *functest-ovn-params
+ container: 'functest-vnf'
+ jobs:
+ - 'functest-ovn-{repo}-{container}-{tag}-rmi'
+
+- job-template:
+ name: 'functest-ovn-{repo}-{container}-{tag}-{test}-run'
+ parameters:
+ - functest-ovn-slave:
+ slave: '{slave}'
+ - functest-ovn-build_tag:
+ build_tag: ''
+ - functest-ovn-DEBUG:
+ DEBUG: 'true'
+ - functest-ovn-EXTERNAL_NETWORK:
+ EXTERNAL_NETWORK: public
+ builders:
+ - functest-ovn-run-containers:
+ <<: *functest-ovn-run-containers
+
+- project:
+ name: 'functest-ovn-opnfv-functest-healthcheck'
+ <<: *functest-ovn-params
+ container: 'functest-healthcheck'
+ test:
+ - connection_check
+ - tenantnetwork1
+ - tenantnetwork2
+ - vmready1
+ - vmready2
+ - singlevm1
+ - singlevm2
+ - vping_ssh
+ - vping_userdata
+ - cinder_test
+ - odl
+ - tempest_smoke
+ - tempest_horizon
+ jobs:
+ - 'functest-ovn-{repo}-{container}-{tag}-{test}-run'
+
+- project:
+ name: 'functest-ovn-opnfv-functest-smoke'
+ <<: *functest-ovn-params
+ container: 'functest-smoke'
+ test:
+ - tempest_neutron
+ - tempest_cinder
+ - tempest_keystone
+ - tempest_heat
+ - tempest_telemetry
+ - rally_sanity
+ - refstack_defcore
+ - refstack_compute
+ - refstack_object
+ - refstack_platform
+ - tempest_full
+ - tempest_scenario
+ - tempest_slow
+ - patrole
+ - patrole_admin
+ - patrole_member
+ - patrole_reader
+ - networking-bgpvpn
+ - networking-sfc
+ - tempest_barbican
+ - tempest_octavia
+ - tempest_cyborg
+ exclude:
+ - tag: latest
+ test: refstack_defcore
+ - tag: latest
+ test: networking-bgpvpn
+ - tag: latest
+ test: networking-sfc
+ - tag: latest
+ test: patrole
+ - tag: kali
+ test: refstack_defcore
+ - tag: kali
+ test: networking-bgpvpn
+ - tag: kali
+ test: networking-sfc
+ - tag: kali
+ test: patrole_admin
+ - tag: kali
+ test: patrole_member
+ - tag: kali
+ test: patrole_reader
+ - tag: jerma
+ test: refstack_defcore
+ - tag: jerma
+ test: networking-bgpvpn
+ - tag: jerma
+ test: networking-sfc
+ - tag: jerma
+ test: patrole_admin
+ - tag: jerma
+ test: patrole_member
+ - tag: jerma
+ test: patrole_reader
+ - tag: jerma
+ test: tempest_cyborg
+ - tag: iruya
+ test: refstack_defcore
+ - tag: iruya
+ test: patrole_admin
+ - tag: iruya
+ test: patrole_member
+ - tag: iruya
+ test: patrole_reader
+ - tag: iruya
+ test: tempest_cyborg
+ - tag: hunter
+ test: refstack_compute
+ - tag: hunter
+ test: refstack_object
+ - tag: hunter
+ test: refstack_platform
+ - tag: hunter
+ test: tempest_octavia
+ - tag: hunter
+ test: tempest_telemetry
+ - tag: hunter
+ test: patrole_admin
+ - tag: hunter
+ test: patrole_member
+ - tag: hunter
+ test: patrole_reader
+ - tag: hunter
+ test: tempest_cyborg
+ jobs:
+ - 'functest-ovn-{repo}-{container}-{tag}-{test}-run'
+
+- project:
+ name: 'functest-ovn-opnfv-functest-smoke-cntt'
+ <<: *functest-ovn-params
+ container: 'functest-smoke-cntt'
+ test:
+ - tempest_neutron_cntt
+ - tempest_cinder_cntt
+ - tempest_keystone_cntt
+ - tempest_heat_cntt
+ - rally_sanity_cntt
+ - tempest_full_cntt
+ - tempest_scenario_cntt
+ - tempest_slow_cntt
+ jobs:
+ - 'functest-ovn-{repo}-{container}-{tag}-{test}-run'
+
+- project:
+ name: 'functest-ovn-opnfv-functest-benchmarking'
+ <<: *functest-ovn-params
+ container: 'functest-benchmarking'
+ test:
+ - rally_full
+ - rally_jobs
+ - vmtp
+ - shaker
+ jobs:
+ - 'functest-ovn-{repo}-{container}-{tag}-{test}-run'
+
+- project:
+ name: 'functest-ovn-opnfv-functest-benchmarking-cntt'
+ <<: *functest-ovn-params
+ container: 'functest-benchmarking-cntt'
+ test:
+ - rally_full_cntt
+ - rally_jobs_cntt
+ jobs:
+ - 'functest-ovn-{repo}-{container}-{tag}-{test}-run'
+
+- project:
+ name: 'functest-ovn-opnfv-functest-vnf'
+ <<: *functest-ovn-params
+ container: 'functest-vnf'
+ test:
+ - cloudify
+ - cloudify_ims
+ - heat_ims
+ - vyos_vrouter
+ - juju_epc
+ jobs:
+ - 'functest-ovn-{repo}-{container}-{tag}-{test}-run'
+
+- builder:
+ name: functest-ovn-zip
+ builders:
+ - shell: |
+ set +x
+ [ ! -z "$WORKSPACE" ] && sudo rm -rf $WORKSPACE/* || true
+ if [ "{repo}" = "_" ]; then
+ image={container}:{tag}
+ elif [ "{port}" = "None" ]; then
+ image={repo}/{container}:{tag}
+ else
+ image={repo}:{port}/{container}:{tag}
+ fi
+ sudo docker run --rm \
+ -e S3_ENDPOINT_URL=https://storage.googleapis.com \
+ -e S3_DST_URL=s3://artifacts.opnfv.org/functest \
+ -e HTTP_DST_URL=http://artifacts.opnfv.org/functest \
+ -e TEST_DB_URL=http://testresults.opnfv.org/test/api/v1/results \
+ -e BUILD_TAG=$BUILD_TAG \
+ -v $WORKSPACE/../$JOB_NAME/results:/var/lib/xtesting/results \
+ -v /home/opnfv/functest/.boto:/root/.boto \
+ $image zip_campaign
+
+- job-template:
+ name: 'functest-ovn-{tag}-zip'
+ parameters:
+ - functest-ovn-build_tag:
+ build_tag: ''
+ builders:
+ - functest-ovn-zip:
+ <<: *functest-ovn-containers
+
+- project:
+ name: 'functest-ovn-{tag}-zip'
+ <<: *functest-ovn-params
+ container: 'functest-healthcheck'
+ jobs:
+ - 'functest-ovn-{tag}-zip'
+
+- job-template:
+ name: 'functest-ovn-{tag}-daily'
+ disabled: true
+ project-type: multijob
+ triggers:
+ - timed: '@daily'
+ parameters:
+ - functest-ovn-slave:
+ slave: '{slave}'
+ - functest-ovn-build_tag:
+ build_tag: ''
+ - functest-ovn-DEBUG:
+ DEBUG: 'true'
+ - functest-ovn-EXTERNAL_NETWORK:
+ EXTERNAL_NETWORK: public
+ properties:
+ - build-blocker:
+ use-build-blocker: true
+ blocking-level: 'NODE'
+ blocking-jobs:
+ - '^functest-ovn-{tag}-(daily|check|gate)$'
+ builders:
+ - multijob:
+ name: remove former images
+ projects:
+ - name: 'functest-ovn-opnfv-functest-healthcheck-{tag}-rmi'
+ <<: *functest-ovn-jobs
+ - name: 'functest-ovn-opnfv-functest-smoke-{tag}-rmi'
+ <<: *functest-ovn-jobs
+ - name: 'functest-ovn-opnfv-functest-smoke-cntt-{tag}-rmi'
+ <<: *functest-ovn-jobs
+ - name: 'functest-ovn-opnfv-functest-benchmarking-{tag}-rmi'
+ <<: *functest-ovn-jobs
+ - name: 'functest-ovn-opnfv-functest-benchmarking-cntt-{tag}-rmi'
+ <<: *functest-ovn-jobs
+ - name: 'functest-ovn-opnfv-functest-vnf-{tag}-rmi'
+ <<: *functest-ovn-jobs
+ - multijob:
+ name: pull containers
+ projects:
+ - name: 'functest-ovn-opnfv-functest-healthcheck-{tag}-pull'
+ <<: *functest-ovn-jobs
+ - name: 'functest-ovn-opnfv-functest-smoke-{tag}-pull'
+ <<: *functest-ovn-jobs
+ - name: 'functest-ovn-opnfv-functest-smoke-cntt-{tag}-pull'
+ <<: *functest-ovn-jobs
+ - name: 'functest-ovn-opnfv-functest-benchmarking-{tag}-pull'
+ <<: *functest-ovn-jobs
+ - name: 'functest-ovn-opnfv-functest-benchmarking-cntt-{tag}-pull'
+ <<: *functest-ovn-jobs
+ - name: 'functest-ovn-opnfv-functest-vnf-{tag}-pull'
+ <<: *functest-ovn-jobs
+ - multijob:
+ name: opnfv/functest-healthcheck:{tag}
+ projects:
+ - name: 'functest-ovn-opnfv-functest-healthcheck-{tag}-connection_check-run'
+ <<: *functest-ovn-jobs
+ - name: 'functest-ovn-opnfv-functest-healthcheck-{tag}-tenantnetwork1-run'
+ <<: *functest-ovn-jobs
+ - name: 'functest-ovn-opnfv-functest-healthcheck-{tag}-tenantnetwork2-run'
+ <<: *functest-ovn-jobs
+ - name: 'functest-ovn-opnfv-functest-healthcheck-{tag}-vmready1-run'
+ <<: *functest-ovn-jobs
+ - name: 'functest-ovn-opnfv-functest-healthcheck-{tag}-vmready2-run'
+ <<: *functest-ovn-jobs
+ - name: 'functest-ovn-opnfv-functest-healthcheck-{tag}-singlevm1-run'
+ <<: *functest-ovn-jobs
+ - name: 'functest-ovn-opnfv-functest-healthcheck-{tag}-singlevm2-run'
+ <<: *functest-ovn-jobs
+ - name: 'functest-ovn-opnfv-functest-healthcheck-{tag}-vping_ssh-run'
+ <<: *functest-ovn-jobs
+ - name: 'functest-ovn-opnfv-functest-healthcheck-{tag}-vping_userdata-run'
+ <<: *functest-ovn-jobs
+ - name: 'functest-ovn-opnfv-functest-healthcheck-{tag}-cinder_test-run'
+ <<: *functest-ovn-jobs
+ - name: 'functest-ovn-opnfv-functest-healthcheck-{tag}-odl-run'
+ <<: *functest-ovn-jobs
+ - name: 'functest-ovn-opnfv-functest-healthcheck-{tag}-tempest_smoke-run'
+ <<: *functest-ovn-jobs
+ - name: 'functest-ovn-opnfv-functest-healthcheck-{tag}-tempest_horizon-run'
+ <<: *functest-ovn-jobs
+ - multijob:
+ name: opnfv/functest-smoke:{tag}
+ projects:
+ - name: 'functest-ovn-opnfv-functest-smoke-{tag}-tempest_neutron-run'
+ <<: *functest-ovn-jobs
+ - name: 'functest-ovn-opnfv-functest-smoke-{tag}-tempest_cinder-run'
+ <<: *functest-ovn-jobs
+ - name: 'functest-ovn-opnfv-functest-smoke-{tag}-tempest_keystone-run'
+ <<: *functest-ovn-jobs
+ - name: 'functest-ovn-opnfv-functest-smoke-{tag}-tempest_heat-run'
+ <<: *functest-ovn-jobs
+ - name: 'functest-ovn-opnfv-functest-smoke-{tag}-tempest_telemetry-run'
+ <<: *functest-ovn-jobs
+ - name: 'functest-ovn-opnfv-functest-smoke-{tag}-rally_sanity-run'
+ <<: *functest-ovn-jobs
+ - name: 'functest-ovn-opnfv-functest-smoke-{tag}-refstack_defcore-run'
+ <<: *functest-ovn-jobs
+ - name: 'functest-ovn-opnfv-functest-smoke-{tag}-refstack_compute-run'
+ <<: *functest-ovn-jobs
+ - name: 'functest-ovn-opnfv-functest-smoke-{tag}-refstack_object-run'
+ <<: *functest-ovn-jobs
+ - name: 'functest-ovn-opnfv-functest-smoke-{tag}-refstack_platform-run'
+ <<: *functest-ovn-jobs
+ - name: 'functest-ovn-opnfv-functest-smoke-{tag}-tempest_full-run'
+ <<: *functest-ovn-jobs
+ - name: 'functest-ovn-opnfv-functest-smoke-{tag}-tempest_scenario-run'
+ <<: *functest-ovn-jobs
+ - name: 'functest-ovn-opnfv-functest-smoke-{tag}-tempest_slow-run'
+ <<: *functest-ovn-jobs
+ - name: 'functest-ovn-opnfv-functest-smoke-{tag}-patrole-run'
+ <<: *functest-ovn-jobs
+ - name: 'functest-ovn-opnfv-functest-smoke-{tag}-patrole_admin-run'
+ <<: *functest-ovn-jobs
+ - name: 'functest-ovn-opnfv-functest-smoke-{tag}-patrole_member-run'
+ <<: *functest-ovn-jobs
+ - name: 'functest-ovn-opnfv-functest-smoke-{tag}-patrole_reader-run'
+ <<: *functest-ovn-jobs
+ - name: 'functest-ovn-opnfv-functest-smoke-{tag}-networking-bgpvpn-run'
+ <<: *functest-ovn-jobs
+ - name: 'functest-ovn-opnfv-functest-smoke-{tag}-networking-sfc-run'
+ <<: *functest-ovn-jobs
+ - name: 'functest-ovn-opnfv-functest-smoke-{tag}-tempest_barbican-run'
+ <<: *functest-ovn-jobs
+ - name: 'functest-ovn-opnfv-functest-smoke-{tag}-tempest_octavia-run'
+ <<: *functest-ovn-jobs
+ - name: 'functest-ovn-opnfv-functest-smoke-{tag}-tempest_cyborg-run'
+ <<: *functest-ovn-jobs
+ - multijob:
+ name: opnfv/functest-smoke-cntt:{tag}
+ projects:
+ - name: 'functest-ovn-opnfv-functest-smoke-cntt-{tag}-tempest_neutron_cntt-run'
+ <<: *functest-ovn-jobs
+ - name: 'functest-ovn-opnfv-functest-smoke-cntt-{tag}-tempest_cinder_cntt-run'
+ <<: *functest-ovn-jobs
+ - name: 'functest-ovn-opnfv-functest-smoke-cntt-{tag}-tempest_keystone_cntt-run'
+ <<: *functest-ovn-jobs
+ - name: 'functest-ovn-opnfv-functest-smoke-cntt-{tag}-tempest_heat_cntt-run'
+ <<: *functest-ovn-jobs
+ - name: 'functest-ovn-opnfv-functest-smoke-cntt-{tag}-rally_sanity_cntt-run'
+ <<: *functest-ovn-jobs
+ - name: 'functest-ovn-opnfv-functest-smoke-cntt-{tag}-tempest_full_cntt-run'
+ <<: *functest-ovn-jobs
+ - name: 'functest-ovn-opnfv-functest-smoke-cntt-{tag}-tempest_scenario_cntt-run'
+ <<: *functest-ovn-jobs
+ - name: 'functest-ovn-opnfv-functest-smoke-cntt-{tag}-tempest_slow_cntt-run'
+ <<: *functest-ovn-jobs
+ - multijob:
+ name: opnfv/functest-benchmarking:{tag}
+ projects:
+ - name: 'functest-ovn-opnfv-functest-benchmarking-{tag}-rally_full-run'
+ <<: *functest-ovn-jobs
+ - name: 'functest-ovn-opnfv-functest-benchmarking-{tag}-rally_jobs-run'
+ <<: *functest-ovn-jobs
+ - name: 'functest-ovn-opnfv-functest-benchmarking-{tag}-vmtp-run'
+ <<: *functest-ovn-jobs
+ - name: 'functest-ovn-opnfv-functest-benchmarking-{tag}-shaker-run'
+ <<: *functest-ovn-jobs
+ - multijob:
+ name: opnfv/functest-benchmarking-cntt:{tag}
+ projects:
+ - name: 'functest-ovn-opnfv-functest-benchmarking-cntt-{tag}-rally_full_cntt-run'
+ <<: *functest-ovn-jobs
+ - name: 'functest-ovn-opnfv-functest-benchmarking-cntt-{tag}-rally_jobs_cntt-run'
+ <<: *functest-ovn-jobs
+ - multijob:
+ name: opnfv/functest-vnf:{tag}
+ projects:
+ - name: 'functest-ovn-opnfv-functest-vnf-{tag}-cloudify-run'
+ <<: *functest-ovn-jobs
+ - name: 'functest-ovn-opnfv-functest-vnf-{tag}-cloudify_ims-run'
+ <<: *functest-ovn-jobs
+ - name: 'functest-ovn-opnfv-functest-vnf-{tag}-heat_ims-run'
+ <<: *functest-ovn-jobs
+ - name: 'functest-ovn-opnfv-functest-vnf-{tag}-vyos_vrouter-run'
+ <<: *functest-ovn-jobs
+ - name: 'functest-ovn-opnfv-functest-vnf-{tag}-juju_epc-run'
+ <<: *functest-ovn-jobs
+ - multijob:
+ name: dump all campaign data
+ projects:
+ - name: 'functest-ovn-{tag}-zip'
+ <<: *functest-ovn-jobs
+
+- job-template:
+ name: 'functest-ovn-{repo}-{container}-{tag}-gate'
+ parameters:
+ - functest-ovn-slave:
+ slave: '{slave}'
+ scm:
+ - functest-ovn-scm:
+ ref: $GERRIT_REFSPEC
+ builders:
+ - functest-ovn-build-containers:
+ <<: *functest-ovn-build-containers
+ ref: $GERRIT_REFSPEC
+
+- job-template:
+ name: 'functest-ovn-{repo}-{container}-{tag}-check'
+ parameters:
+ - functest-ovn-slave:
+ slave: '{slave}'
+ - functest-ovn-branch:
+ branch: '{branch}'
+ scm:
+ - functest-ovn-scm:
+ ref: $branch
+ builders:
+ - functest-ovn-build-containers:
+ <<: *functest-ovn-build-containers
+ ref: $branch
+
+- project:
+ name: 'functest-ovn-_-alpine-3.12-rmi'
+ repo: _
+ port:
+ container: alpine
+ tag: '3.12'
+ slave: master
+ jobs:
+ - 'functest-ovn-{repo}-{container}-{tag}-rmi'
+
+- project:
+ name: 'functest-ovn-_-alpine-3.12-pull'
+ repo: _
+ port:
+ container: alpine
+ tag: '3.12'
+ slave: master
+ jobs:
+ - 'functest-ovn-{repo}-{container}-{tag}-pull'
+
+- project:
+ name: functest-ovn-opnfv-functest-core-{tag}-build
+ <<: *functest-ovn-params
+ container: functest-core
+ ref_arg: BRANCH
+ path: docker/core
+ jobs:
+ - 'functest-ovn-{repo}-{container}-{tag}-gate'
+ - 'functest-ovn-{repo}-{container}-{tag}-check'
+
+- project:
+ name: functest-ovn-opnfv-functest-tempest-{tag}-build
+ <<: *functest-ovn-params
+ container: functest-tempest
+ ref_arg: BRANCH
+ path: docker/tempest
+ jobs:
+ - 'functest-ovn-{repo}-{container}-{tag}-gate'
+ - 'functest-ovn-{repo}-{container}-{tag}-check'
+ exclude:
+ - tag: latest
+ - tag: kali
+ - tag: jerma
+
+- project:
+ name: functest-ovn-opnfv-functest-healthcheck-{tag}-build
+ <<: *functest-ovn-params
+ container: functest-healthcheck
+ ref_arg: BRANCH
+ path: docker/healthcheck
+ jobs:
+ - 'functest-ovn-{repo}-{container}-{tag}-gate'
+ - 'functest-ovn-{repo}-{container}-{tag}-check'
+
+- project:
+ name: functest-ovn-opnfv-functest-smoke-{tag}-build
+ <<: *functest-ovn-params
+ container: functest-smoke
+ ref_arg: BRANCH
+ path: docker/smoke
+ jobs:
+ - 'functest-ovn-{repo}-{container}-{tag}-gate'
+ - 'functest-ovn-{repo}-{container}-{tag}-check'
+
+- project:
+ name: functest-ovn-opnfv-functest-smoke-cntt-{tag}-build
+ <<: *functest-ovn-params
+ container: functest-smoke-cntt
+ ref_arg: BRANCH
+ path: docker/smoke-cntt
+ jobs:
+ - 'functest-ovn-{repo}-{container}-{tag}-gate'
+ - 'functest-ovn-{repo}-{container}-{tag}-check'
+
+- project:
+ name: functest-ovn-opnfv-functest-benchmarking-{tag}-build
+ <<: *functest-ovn-params
+ container: functest-benchmarking
+ ref_arg: BRANCH
+ path: docker/benchmarking
+ jobs:
+ - 'functest-ovn-{repo}-{container}-{tag}-gate'
+ - 'functest-ovn-{repo}-{container}-{tag}-check'
+
+- project:
+ name: functest-ovn-opnfv-functest-benchmarking-cntt-{tag}-build
+ <<: *functest-ovn-params
+ container: functest-benchmarking-cntt
+ ref_arg: BRANCH
+ path: docker/benchmarking-cntt
+ jobs:
+ - 'functest-ovn-{repo}-{container}-{tag}-gate'
+ - 'functest-ovn-{repo}-{container}-{tag}-check'
+
+- project:
+ name: functest-ovn-opnfv-functest-vnf-{tag}-build
+ <<: *functest-ovn-params
+ container: functest-vnf
+ ref_arg:
+ path: docker/vnf
+ jobs:
+ - 'functest-ovn-{repo}-{container}-{tag}-gate'
+ - 'functest-ovn-{repo}-{container}-{tag}-check'
+
+- job-template:
+ name: 'functest-ovn-{tag}-check'
+ disabled: true
+ project-type: multijob
+ parameters:
+ - functest-ovn-slave:
+ slave: '{slave}'
+ - functest-ovn-build_tag:
+ build_tag: ''
+ - functest-ovn-branch:
+ branch: '{branch}'
+ - functest-ovn-DEBUG:
+ DEBUG: 'true'
+ - functest-ovn-EXTERNAL_NETWORK:
+ EXTERNAL_NETWORK: public
+ properties:
+ - build-blocker:
+ use-build-blocker: true
+ blocking-level: 'NODE'
+ blocking-jobs:
+ - '^functest-ovn-{tag}-(daily|check|gate)$'
+ builders:
+ - multijob:
+ name: remove former images
+ projects:
+ - name: 'functest-ovn-opnfv-functest-healthcheck-{tag}-rmi'
+ <<: *functest-ovn-jobs
+ - name: 'functest-ovn-opnfv-functest-smoke-{tag}-rmi'
+ <<: *functest-ovn-jobs
+ - name: 'functest-ovn-opnfv-functest-smoke-cntt-{tag}-rmi'
+ <<: *functest-ovn-jobs
+ - name: 'functest-ovn-opnfv-functest-benchmarking-{tag}-rmi'
+ <<: *functest-ovn-jobs
+ - name: 'functest-ovn-opnfv-functest-benchmarking-cntt-{tag}-rmi'
+ <<: *functest-ovn-jobs
+ - name: 'functest-ovn-opnfv-functest-vnf-{tag}-rmi'
+ <<: *functest-ovn-jobs
+ - multijob:
+ name: remove dependencies
+ projects:
+ - name: 'functest-ovn-_-alpine-3.12-rmi'
+ <<: *functest-ovn-jobs
+ - multijob:
+ name: pull dependencies
+ projects:
+ - name: 'functest-ovn-_-alpine-3.12-pull'
+ <<: *functest-ovn-jobs
+ - multijob:
+ name: build opnfv/functest-core
+ projects:
+ - name: 'functest-ovn-opnfv-functest-core-{tag}-check'
+ <<: *functest-ovn-jobs
+ - multijob:
+ name: build opnfv/functest-tempest
+ projects:
+ - name: 'functest-ovn-opnfv-functest-tempest-{tag}-check'
+ <<: *functest-ovn-jobs
+ - multijob:
+ name: build containers
+ projects:
+ - name: 'functest-ovn-opnfv-functest-healthcheck-{tag}-check'
+ <<: *functest-ovn-jobs
+ - name: 'functest-ovn-opnfv-functest-smoke-{tag}-check'
+ <<: *functest-ovn-jobs
+ - name: 'functest-ovn-opnfv-functest-benchmarking-{tag}-check'
+ <<: *functest-ovn-jobs
+ - name: 'functest-ovn-opnfv-functest-vnf-{tag}-check'
+ <<: *functest-ovn-jobs
+ - multijob:
+ name: build cntt containers
+ projects:
+ - name: 'functest-ovn-opnfv-functest-smoke-cntt-{tag}-check'
+ <<: *functest-ovn-jobs
+ - name: 'functest-ovn-opnfv-functest-benchmarking-cntt-{tag}-check'
+ <<: *functest-ovn-jobs
+ - multijob:
+ name: opnfv/functest-healthcheck:{tag}
+ projects:
+ - name: 'functest-ovn-opnfv-functest-healthcheck-{tag}-connection_check-run'
+ <<: *functest-ovn-jobs
+ - name: 'functest-ovn-opnfv-functest-healthcheck-{tag}-tenantnetwork1-run'
+ <<: *functest-ovn-jobs
+ - name: 'functest-ovn-opnfv-functest-healthcheck-{tag}-tenantnetwork2-run'
+ <<: *functest-ovn-jobs
+ - name: 'functest-ovn-opnfv-functest-healthcheck-{tag}-vmready1-run'
+ <<: *functest-ovn-jobs
+ - name: 'functest-ovn-opnfv-functest-healthcheck-{tag}-vmready2-run'
+ <<: *functest-ovn-jobs
+ - name: 'functest-ovn-opnfv-functest-healthcheck-{tag}-singlevm1-run'
+ <<: *functest-ovn-jobs
+ - name: 'functest-ovn-opnfv-functest-healthcheck-{tag}-singlevm2-run'
+ <<: *functest-ovn-jobs
+ - name: 'functest-ovn-opnfv-functest-healthcheck-{tag}-vping_ssh-run'
+ <<: *functest-ovn-jobs
+ - name: 'functest-ovn-opnfv-functest-healthcheck-{tag}-vping_userdata-run'
+ <<: *functest-ovn-jobs
+ - name: 'functest-ovn-opnfv-functest-healthcheck-{tag}-cinder_test-run'
+ <<: *functest-ovn-jobs
+ - name: 'functest-ovn-opnfv-functest-healthcheck-{tag}-odl-run'
+ <<: *functest-ovn-jobs
+ - name: 'functest-ovn-opnfv-functest-healthcheck-{tag}-tempest_smoke-run'
+ <<: *functest-ovn-jobs
+ - name: 'functest-ovn-opnfv-functest-healthcheck-{tag}-tempest_horizon-run'
+ <<: *functest-ovn-jobs
+ - multijob:
+ name: opnfv/functest-smoke:{tag}
+ projects:
+ - name: 'functest-ovn-opnfv-functest-smoke-{tag}-tempest_neutron-run'
+ <<: *functest-ovn-jobs
+ - name: 'functest-ovn-opnfv-functest-smoke-{tag}-tempest_cinder-run'
+ <<: *functest-ovn-jobs
+ - name: 'functest-ovn-opnfv-functest-smoke-{tag}-tempest_keystone-run'
+ <<: *functest-ovn-jobs
+ - name: 'functest-ovn-opnfv-functest-smoke-{tag}-tempest_heat-run'
+ <<: *functest-ovn-jobs
+ - name: 'functest-ovn-opnfv-functest-smoke-{tag}-tempest_telemetry-run'
+ <<: *functest-ovn-jobs
+ - name: 'functest-ovn-opnfv-functest-smoke-{tag}-rally_sanity-run'
+ <<: *functest-ovn-jobs
+ - name: 'functest-ovn-opnfv-functest-smoke-{tag}-refstack_defcore-run'
+ <<: *functest-ovn-jobs
+ - name: 'functest-ovn-opnfv-functest-smoke-{tag}-refstack_compute-run'
+ <<: *functest-ovn-jobs
+ - name: 'functest-ovn-opnfv-functest-smoke-{tag}-refstack_object-run'
+ <<: *functest-ovn-jobs
+ - name: 'functest-ovn-opnfv-functest-smoke-{tag}-refstack_platform-run'
+ <<: *functest-ovn-jobs
+ - name: 'functest-ovn-opnfv-functest-smoke-{tag}-tempest_full-run'
+ <<: *functest-ovn-jobs
+ - name: 'functest-ovn-opnfv-functest-smoke-{tag}-tempest_scenario-run'
+ <<: *functest-ovn-jobs
+ - name: 'functest-ovn-opnfv-functest-smoke-{tag}-tempest_slow-run'
+ <<: *functest-ovn-jobs
+ - name: 'functest-ovn-opnfv-functest-smoke-{tag}-patrole-run'
+ <<: *functest-ovn-jobs
+ - name: 'functest-ovn-opnfv-functest-smoke-{tag}-patrole_admin-run'
+ <<: *functest-ovn-jobs
+ - name: 'functest-ovn-opnfv-functest-smoke-{tag}-patrole_member-run'
+ <<: *functest-ovn-jobs
+ - name: 'functest-ovn-opnfv-functest-smoke-{tag}-patrole_reader-run'
+ <<: *functest-ovn-jobs
+ - name: 'functest-ovn-opnfv-functest-smoke-{tag}-networking-bgpvpn-run'
+ <<: *functest-ovn-jobs
+ - name: 'functest-ovn-opnfv-functest-smoke-{tag}-networking-sfc-run'
+ <<: *functest-ovn-jobs
+ - name: 'functest-ovn-opnfv-functest-smoke-{tag}-tempest_barbican-run'
+ <<: *functest-ovn-jobs
+ - name: 'functest-ovn-opnfv-functest-smoke-{tag}-tempest_octavia-run'
+ <<: *functest-ovn-jobs
+ - name: 'functest-ovn-opnfv-functest-smoke-{tag}-tempest_cyborg-run'
+ <<: *functest-ovn-jobs
+ - multijob:
+ name: opnfv/functest-smoke-cntt:{tag}
+ projects:
+ - name: 'functest-ovn-opnfv-functest-smoke-cntt-{tag}-tempest_neutron_cntt-run'
+ <<: *functest-ovn-jobs
+ - name: 'functest-ovn-opnfv-functest-smoke-cntt-{tag}-tempest_cinder_cntt-run'
+ <<: *functest-ovn-jobs
+ - name: 'functest-ovn-opnfv-functest-smoke-cntt-{tag}-tempest_keystone_cntt-run'
+ <<: *functest-ovn-jobs
+ - name: 'functest-ovn-opnfv-functest-smoke-cntt-{tag}-tempest_heat_cntt-run'
+ <<: *functest-ovn-jobs
+ - name: 'functest-ovn-opnfv-functest-smoke-cntt-{tag}-rally_sanity_cntt-run'
+ <<: *functest-ovn-jobs
+ - name: 'functest-ovn-opnfv-functest-smoke-cntt-{tag}-tempest_full_cntt-run'
+ <<: *functest-ovn-jobs
+ - name: 'functest-ovn-opnfv-functest-smoke-cntt-{tag}-tempest_scenario_cntt-run'
+ <<: *functest-ovn-jobs
+ - name: 'functest-ovn-opnfv-functest-smoke-cntt-{tag}-tempest_slow_cntt-run'
+ <<: *functest-ovn-jobs
+ - multijob:
+ name: opnfv/functest-benchmarking:{tag}
+ projects:
+ - name: 'functest-ovn-opnfv-functest-benchmarking-{tag}-rally_full-run'
+ <<: *functest-ovn-jobs
+ - name: 'functest-ovn-opnfv-functest-benchmarking-{tag}-rally_jobs-run'
+ <<: *functest-ovn-jobs
+ - name: 'functest-ovn-opnfv-functest-benchmarking-{tag}-vmtp-run'
+ <<: *functest-ovn-jobs
+ - name: 'functest-ovn-opnfv-functest-benchmarking-{tag}-shaker-run'
+ <<: *functest-ovn-jobs
+ - multijob:
+ name: opnfv/functest-benchmarking-cntt:{tag}
+ projects:
+ - name: 'functest-ovn-opnfv-functest-benchmarking-cntt-{tag}-rally_full_cntt-run'
+ <<: *functest-ovn-jobs
+ - name: 'functest-ovn-opnfv-functest-benchmarking-cntt-{tag}-rally_jobs_cntt-run'
+ <<: *functest-ovn-jobs
+ - multijob:
+ name: opnfv/functest-vnf:{tag}
+ projects:
+ - name: 'functest-ovn-opnfv-functest-vnf-{tag}-cloudify-run'
+ <<: *functest-ovn-jobs
+ - name: 'functest-ovn-opnfv-functest-vnf-{tag}-cloudify_ims-run'
+ <<: *functest-ovn-jobs
+ - name: 'functest-ovn-opnfv-functest-vnf-{tag}-heat_ims-run'
+ <<: *functest-ovn-jobs
+ - name: 'functest-ovn-opnfv-functest-vnf-{tag}-vyos_vrouter-run'
+ <<: *functest-ovn-jobs
+ - name: 'functest-ovn-opnfv-functest-vnf-{tag}-juju_epc-run'
+ <<: *functest-ovn-jobs
+
+- trigger:
+ name: functest-ovn-patchset-created
+ triggers:
+ - gerrit:
+ server-name: 'gerrit.opnfv.org'
+ trigger-on:
+ - patchset-created-event
+ - comment-added-contains-event:
+ comment-contains-value: 'recheck'
+ - comment-added-contains-event:
+ comment-contains-value: 'reverify'
+ projects:
+ - project-compare-type: 'ANT'
+ project-pattern: 'functest'
+ branches:
+ - branch-compare-type: 'ANT'
+ branch-pattern: '**/{branch}'
+ skip-vote:
+ successful: false
+ failed: false
+ unstable: false
+ notbuilt: false
+
+- job-template:
+ name: 'functest-ovn-{tag}-gate'
+ disabled: true
+ project-type: multijob
+ triggers:
+ - functest-ovn-patchset-created:
+ branch: '{branch}'
+ parameters:
+ - functest-ovn-slave:
+ slave: '{slave}'
+ - functest-ovn-build_tag:
+ build_tag: ''
+ - functest-ovn-DEBUG:
+ DEBUG: 'true'
+ - functest-ovn-EXTERNAL_NETWORK:
+ EXTERNAL_NETWORK: public
+ properties:
+ - build-blocker:
+ use-build-blocker: true
+ blocking-level: 'NODE'
+ blocking-jobs:
+ - '^functest-ovn-{tag}-(daily|check|gate)$'
+ builders:
+ - multijob:
+ name: remove former images
+ projects:
+ - name: 'functest-ovn-opnfv-functest-healthcheck-{tag}-rmi'
+ <<: *functest-ovn-jobs
+ - name: 'functest-ovn-opnfv-functest-smoke-{tag}-rmi'
+ <<: *functest-ovn-jobs
+ - name: 'functest-ovn-opnfv-functest-smoke-cntt-{tag}-rmi'
+ <<: *functest-ovn-jobs
+ - name: 'functest-ovn-opnfv-functest-benchmarking-{tag}-rmi'
+ <<: *functest-ovn-jobs
+ - name: 'functest-ovn-opnfv-functest-benchmarking-cntt-{tag}-rmi'
+ <<: *functest-ovn-jobs
+ - name: 'functest-ovn-opnfv-functest-vnf-{tag}-rmi'
+ <<: *functest-ovn-jobs
+ - multijob:
+ name: remove dependencies
+ projects:
+ - name: 'functest-ovn-_-alpine-3.12-rmi'
+ <<: *functest-ovn-jobs
+ - multijob:
+ name: pull dependencies
+ projects:
+ - name: 'functest-ovn-_-alpine-3.12-pull'
+ <<: *functest-ovn-jobs
+ - multijob:
+ name: build opnfv/functest-core
+ projects:
+ - name: 'functest-ovn-opnfv-functest-core-{tag}-gate'
+ <<: *functest-ovn-jobs
+ - multijob:
+ name: build opnfv/functest-tempest
+ projects:
+ - name: 'functest-ovn-opnfv-functest-tempest-{tag}-gate'
+ <<: *functest-ovn-jobs
+ - multijob:
+ name: build containers
+ projects:
+ - name: 'functest-ovn-opnfv-functest-healthcheck-{tag}-gate'
+ <<: *functest-ovn-jobs
+ - name: 'functest-ovn-opnfv-functest-smoke-{tag}-gate'
+ <<: *functest-ovn-jobs
+ - name: 'functest-ovn-opnfv-functest-benchmarking-{tag}-gate'
+ <<: *functest-ovn-jobs
+ - name: 'functest-ovn-opnfv-functest-vnf-{tag}-gate'
+ <<: *functest-ovn-jobs
+ - multijob:
+ name: build cntt containers
+ projects:
+ - name: 'functest-ovn-opnfv-functest-smoke-cntt-{tag}-gate'
+ <<: *functest-ovn-jobs
+ - name: 'functest-ovn-opnfv-functest-benchmarking-cntt-{tag}-gate'
+ <<: *functest-ovn-jobs
+ - multijob:
+ name: opnfv/functest-healthcheck:{tag}
+ projects:
+ - name: 'functest-ovn-opnfv-functest-healthcheck-{tag}-connection_check-run'
+ <<: *functest-ovn-jobs
+ - name: 'functest-ovn-opnfv-functest-healthcheck-{tag}-tenantnetwork1-run'
+ <<: *functest-ovn-jobs
+ - name: 'functest-ovn-opnfv-functest-healthcheck-{tag}-tenantnetwork2-run'
+ <<: *functest-ovn-jobs
+ - name: 'functest-ovn-opnfv-functest-healthcheck-{tag}-vmready1-run'
+ <<: *functest-ovn-jobs
+ - name: 'functest-ovn-opnfv-functest-healthcheck-{tag}-vmready2-run'
+ <<: *functest-ovn-jobs
+ - name: 'functest-ovn-opnfv-functest-healthcheck-{tag}-singlevm1-run'
+ <<: *functest-ovn-jobs
+ - name: 'functest-ovn-opnfv-functest-healthcheck-{tag}-singlevm2-run'
+ <<: *functest-ovn-jobs
+ - name: 'functest-ovn-opnfv-functest-healthcheck-{tag}-vping_ssh-run'
+ <<: *functest-ovn-jobs
+ - name: 'functest-ovn-opnfv-functest-healthcheck-{tag}-vping_userdata-run'
+ <<: *functest-ovn-jobs
+ - name: 'functest-ovn-opnfv-functest-healthcheck-{tag}-cinder_test-run'
+ <<: *functest-ovn-jobs
+ - name: 'functest-ovn-opnfv-functest-healthcheck-{tag}-odl-run'
+ <<: *functest-ovn-jobs
+ - name: 'functest-ovn-opnfv-functest-healthcheck-{tag}-tempest_smoke-run'
+ <<: *functest-ovn-jobs
+ - name: 'functest-ovn-opnfv-functest-healthcheck-{tag}-tempest_horizon-run'
+ <<: *functest-ovn-jobs
+ - multijob:
+ name: opnfv/functest-smoke:{tag}
+ projects:
+ - name: 'functest-ovn-opnfv-functest-smoke-{tag}-tempest_neutron-run'
+ <<: *functest-ovn-jobs
+ - name: 'functest-ovn-opnfv-functest-smoke-{tag}-tempest_cinder-run'
+ <<: *functest-ovn-jobs
+ - name: 'functest-ovn-opnfv-functest-smoke-{tag}-tempest_keystone-run'
+ <<: *functest-ovn-jobs
+ - name: 'functest-ovn-opnfv-functest-smoke-{tag}-tempest_heat-run'
+ <<: *functest-ovn-jobs
+ - name: 'functest-ovn-opnfv-functest-smoke-{tag}-tempest_telemetry-run'
+ <<: *functest-ovn-jobs
+ - name: 'functest-ovn-opnfv-functest-smoke-{tag}-rally_sanity-run'
+ <<: *functest-ovn-jobs
+ - name: 'functest-ovn-opnfv-functest-smoke-{tag}-refstack_defcore-run'
+ <<: *functest-ovn-jobs
+ - name: 'functest-ovn-opnfv-functest-smoke-{tag}-refstack_compute-run'
+ <<: *functest-ovn-jobs
+ - name: 'functest-ovn-opnfv-functest-smoke-{tag}-refstack_object-run'
+ <<: *functest-ovn-jobs
+ - name: 'functest-ovn-opnfv-functest-smoke-{tag}-refstack_platform-run'
+ <<: *functest-ovn-jobs
+ - name: 'functest-ovn-opnfv-functest-smoke-{tag}-tempest_full-run'
+ <<: *functest-ovn-jobs
+ - name: 'functest-ovn-opnfv-functest-smoke-{tag}-tempest_scenario-run'
+ <<: *functest-ovn-jobs
+ - name: 'functest-ovn-opnfv-functest-smoke-{tag}-tempest_slow-run'
+ <<: *functest-ovn-jobs
+ - name: 'functest-ovn-opnfv-functest-smoke-{tag}-patrole-run'
+ <<: *functest-ovn-jobs
+ - name: 'functest-ovn-opnfv-functest-smoke-{tag}-patrole_admin-run'
+ <<: *functest-ovn-jobs
+ - name: 'functest-ovn-opnfv-functest-smoke-{tag}-patrole_member-run'
+ <<: *functest-ovn-jobs
+ - name: 'functest-ovn-opnfv-functest-smoke-{tag}-patrole_reader-run'
+ <<: *functest-ovn-jobs
+ - name: 'functest-ovn-opnfv-functest-smoke-{tag}-networking-bgpvpn-run'
+ <<: *functest-ovn-jobs
+ - name: 'functest-ovn-opnfv-functest-smoke-{tag}-networking-sfc-run'
+ <<: *functest-ovn-jobs
+ - name: 'functest-ovn-opnfv-functest-smoke-{tag}-tempest_barbican-run'
+ <<: *functest-ovn-jobs
+ - name: 'functest-ovn-opnfv-functest-smoke-{tag}-tempest_octavia-run'
+ <<: *functest-ovn-jobs
+ - name: 'functest-ovn-opnfv-functest-smoke-{tag}-tempest_cyborg-run'
+ <<: *functest-ovn-jobs
+ - multijob:
+ name: opnfv/functest-smoke-cntt:{tag}
+ projects:
+ - name: 'functest-ovn-opnfv-functest-smoke-cntt-{tag}-tempest_neutron_cntt-run'
+ <<: *functest-ovn-jobs
+ - name: 'functest-ovn-opnfv-functest-smoke-cntt-{tag}-tempest_cinder_cntt-run'
+ <<: *functest-ovn-jobs
+ - name: 'functest-ovn-opnfv-functest-smoke-cntt-{tag}-tempest_keystone_cntt-run'
+ <<: *functest-ovn-jobs
+ - name: 'functest-ovn-opnfv-functest-smoke-cntt-{tag}-tempest_heat_cntt-run'
+ <<: *functest-ovn-jobs
+ - name: 'functest-ovn-opnfv-functest-smoke-cntt-{tag}-rally_sanity_cntt-run'
+ <<: *functest-ovn-jobs
+ - name: 'functest-ovn-opnfv-functest-smoke-cntt-{tag}-tempest_full_cntt-run'
+ <<: *functest-ovn-jobs
+ - name: 'functest-ovn-opnfv-functest-smoke-cntt-{tag}-tempest_scenario_cntt-run'
+ <<: *functest-ovn-jobs
+ - name: 'functest-ovn-opnfv-functest-smoke-cntt-{tag}-tempest_slow_cntt-run'
+ <<: *functest-ovn-jobs
+ - multijob:
+ name: opnfv/functest-benchmarking:{tag}
+ projects:
+ - name: 'functest-ovn-opnfv-functest-benchmarking-{tag}-rally_full-run'
+ <<: *functest-ovn-jobs
+ - name: 'functest-ovn-opnfv-functest-benchmarking-{tag}-rally_jobs-run'
+ <<: *functest-ovn-jobs
+ - name: 'functest-ovn-opnfv-functest-benchmarking-{tag}-vmtp-run'
+ <<: *functest-ovn-jobs
+ - name: 'functest-ovn-opnfv-functest-benchmarking-{tag}-shaker-run'
+ <<: *functest-ovn-jobs
+ - multijob:
+ name: opnfv/functest-benchmarking-cntt:{tag}
+ projects:
+ - name: 'functest-ovn-opnfv-functest-benchmarking-cntt-{tag}-rally_full_cntt-run'
+ <<: *functest-ovn-jobs
+ - name: 'functest-ovn-opnfv-functest-benchmarking-cntt-{tag}-rally_jobs_cntt-run'
+ <<: *functest-ovn-jobs
+ - multijob:
+ name: opnfv/functest-vnf:{tag}
+ projects:
+ - name: 'functest-ovn-opnfv-functest-vnf-{tag}-cloudify-run'
+ <<: *functest-ovn-jobs
+ - name: 'functest-ovn-opnfv-functest-vnf-{tag}-cloudify_ims-run'
+ <<: *functest-ovn-jobs
+ - name: 'functest-ovn-opnfv-functest-vnf-{tag}-heat_ims-run'
+ <<: *functest-ovn-jobs
+ - name: 'functest-ovn-opnfv-functest-vnf-{tag}-vyos_vrouter-run'
+ <<: *functest-ovn-jobs
+ - name: 'functest-ovn-opnfv-functest-vnf-{tag}-juju_epc-run'
+ <<: *functest-ovn-jobs
+
+- project:
+ name: 'functest-ovn'
+ <<: *functest-ovn-params
+ jobs:
+ - 'functest-ovn-{tag}-daily'
+ - 'functest-ovn-{tag}-check'
+ - 'functest-ovn-{tag}-gate'
diff --git a/jjb/functest/functest.yaml b/jjb/functest/functest.yaml
index fc0718a..59a5a12 100644
--- a/jjb/functest/functest.yaml
+++ b/jjb/functest/functest.yaml
@@ -11,15 +11,27 @@
- latest:
branch: master
slave: lf-virtual9
+ dashboard_url: http://172.30.13.94
+ - leguer:
+ branch: stable/leguer
+ slave: lf-virtual9
+ dashboard_url: http://172.30.13.94
+ - kali:
+ branch: stable/kali
+ slave: lf-pod4-3
+ dashboard_url: http://172.30.12.88
- jerma:
branch: stable/jerma
- slave: lf-virtual4
+ slave: lf-pod4
+ dashboard_url: http://172.30.12.83
- iruya:
branch: stable/iruya
slave: lf-virtual4
+ dashboard_url: http://172.30.13.89
- hunter:
branch: stable/hunter
slave: lf-virtual6
+ dashboard_url: http://172.30.13.91
- parameter:
name: functest-slave
@@ -29,12 +41,46 @@
default: '{slave}'
- parameter:
+ name: functest-build_tag
+ parameters:
+ - random-string:
+ name: build_tag
+
+- parameter:
name: functest-branch
parameters:
- string:
name: branch
default: '{branch}'
+- parameter:
+ name: functest-DEBUG
+ parameters:
+ - string:
+ name: DEBUG
+ default: 'true'
+
+- parameter:
+ name: functest-EXTERNAL_NETWORK
+ parameters:
+ - string:
+ name: EXTERNAL_NETWORK
+ default: public
+
+- parameter:
+ name: functest-VOLUME_DEVICE_NAME
+ parameters:
+ - string:
+ name: VOLUME_DEVICE_NAME
+ default: sdb
+
+- parameter:
+ name: functest-IMAGE_PROPERTIES
+ parameters:
+ - string:
+ name: IMAGE_PROPERTIES
+ default: hw_scsi_model:virtio-scsi,hw_disk_bus:scsi
+
- functest-containers: &functest-containers
name: 'functest-containers'
repo: '{repo}'
@@ -43,15 +89,12 @@
tag: '{tag}'
- functest-run-containers: &functest-run-containers
- name: 'functest-build-containers'
+ name: 'functest-run-containers'
<<: *functest-containers
test: '{test}'
-
-- functest-build-containers: &functest-build-containers
- name: 'functest-build-containers'
- <<: *functest-containers
- ref_arg: '{ref_arg}'
- path: '{path}'
+ dashboard_url: '{dashboard_url}'
+ privileged: '{privileged}'
+ network: '{network}'
- builder:
name: functest-pull-containers
@@ -68,10 +111,11 @@
sudo docker pull $image
- builder:
- name: functest-build-containers
+ name: functest-run-containers
builders:
- shell: |
set +x
+ [ ! -z "$WORKSPACE" ] && sudo rm -rf $WORKSPACE/* || true
if [ "{repo}" = "_" ]; then
image={container}:{tag}
elif [ "{port}" = "None" ]; then
@@ -79,22 +123,32 @@
else
image={repo}:{port}/{container}:{tag}
fi
- if [ "{ref_arg}" = "None" ]; then
- build_arg=""
- else
- build_arg="--build-arg {ref_arg}={ref}"
- fi
- cd {path}
- sudo docker build $build_arg \
- --pull=false --no-cache --force-rm=true \
- -t $image .
+ sudo docker run --rm \
+ --privileged={privileged} \
+ --network={network} \
+ -e S3_ENDPOINT_URL=https://storage.googleapis.com \
+ -e S3_DST_URL=s3://artifacts.opnfv.org/functest/$BUILD_TAG/$JOB_NAME-$BUILD_ID \
+ -e HTTP_DST_URL=http://artifacts.opnfv.org/functest/$BUILD_TAG/$JOB_NAME-$BUILD_ID \
+ -e TEST_DB_URL=http://testresults.opnfv.org/test/api/v1/results \
+ -e TEST_DB_EXT_URL=http://testresults.opnfv.org/test/api/v1/results \
+ -e NODE_NAME=$slave \
+ -e BUILD_TAG=$BUILD_TAG \
+ -v $WORKSPACE/../$JOB_NAME/results:/var/lib/xtesting/results \
+ -e DEBUG=$DEBUG \
+ -e EXTERNAL_NETWORK=$EXTERNAL_NETWORK \
+ -e DASHBOARD_URL={dashboard_url} \
+ -e VOLUME_DEVICE_NAME=$VOLUME_DEVICE_NAME \
+ -e IMAGE_PROPERTIES=$IMAGE_PROPERTIES \
+ -v /home/opnfv/functest/.boto:/root/.boto \
+ -v /home/opnfv/functest/openstack.creds:/home/opnfv/functest/conf/env_file \
+ -v /home/opnfv/functest/images:/home/opnfv/functest/images \
+ $image run_tests -t {test} -r -p
- builder:
- name: functest-run-containers
+ name: functest-remove-images
builders:
- shell: |
- set +ex
- [ ! -z "$WORKSPACE" ] && sudo rm -rf $WORKSPACE/* || true
+ set +x
if [ "{repo}" = "_" ]; then
image={container}:{tag}
elif [ "{port}" = "None" ]; then
@@ -102,37 +156,16 @@
else
image={repo}:{port}/{container}:{tag}
fi
- if [ "{tag}" = "latest" ]; then
- py=3.7
- elif [ "{tag}" = "jerma" ]; then
- py=3.7
- elif [ "{tag}" = "iruya" ]; then
- py=3.6
- else
- py=2.7
- fi
- sudo docker run --rm \
- -v $WORKSPACE/../$JOB_NAME/results:/var/lib/xtesting/results \
- -e DEBUG=True \
- -e EXTERNAL_NETWORK=public \
- -v /home/opnfv/functest/openstack.creds:/home/opnfv/functest/conf/env_file \
- -v /home/opnfv/functest/images:/home/opnfv/functest/images \
- -v /home/opnfv/functest/tempest_blacklist.yaml:/usr/lib/python$py/\
- site-packages/functest/opnfv_tests/openstack/tempest/custom_tests/\
- blacklist.yaml \
- -v /home/opnfv/functest/blacklist.yaml:/usr/lib/python$py/\
- site-packages/functest/opnfv_tests/openstack/rally/blacklist.yaml \
- $image run_tests -t {test}
- res=$?
- gsutil -m cp -r $WORKSPACE/ \
- gs://artifacts.opnfv.org/functest/$JOB_NAME-$BUILD_ID > /dev/null 2>&1
- find $WORKSPACE -type f \
- -printf \
- "http://artifacts.opnfv.org/functest/$JOB_NAME-$BUILD_ID/%P\n"
- exit $res
+ sudo docker rmi $image || true
+
+- functest-build-containers: &functest-build-containers
+ name: 'functest-build-containers'
+ <<: *functest-containers
+ ref_arg: '{ref_arg}'
+ path: '{path}'
- builder:
- name: functest-remove-images
+ name: functest-build-containers
builders:
- shell: |
set +x
@@ -143,7 +176,15 @@
else
image={repo}:{port}/{container}:{tag}
fi
- sudo docker rmi $image || true
+ if [ "{ref_arg}" = "None" ]; then
+ build_arg=""
+ else
+ build_arg="--build-arg {ref_arg}={ref}"
+ fi
+ cd {path}
+ sudo docker build $build_arg \
+ --pull=false --no-cache --force-rm=true \
+ -t $image .
- scm:
name: functest-scm
@@ -178,6 +219,13 @@
- 'functest-{repo}-{container}-{tag}-pull'
- project:
+ name: 'functest-opnfv-functest-smoke-cntt-pull'
+ <<: *functest-params
+ container: 'functest-smoke-cntt'
+ jobs:
+ - 'functest-{repo}-{container}-{tag}-pull'
+
+- project:
name: 'functest-opnfv-functest-benchmarking-pull'
<<: *functest-params
container: 'functest-benchmarking'
@@ -185,6 +233,13 @@
- 'functest-{repo}-{container}-{tag}-pull'
- project:
+ name: 'functest-opnfv-functest-benchmarking-cntt-pull'
+ <<: *functest-params
+ container: 'functest-benchmarking-cntt'
+ jobs:
+ - 'functest-{repo}-{container}-{tag}-pull'
+
+- project:
name: 'functest-opnfv-functest-vnf-pull'
<<: *functest-params
container: 'functest-vnf'
@@ -215,6 +270,13 @@
- 'functest-{repo}-{container}-{tag}-rmi'
- project:
+ name: 'functest-opnfv-functest-smoke-cntt-rmi'
+ <<: *functest-params
+ container: 'functest-smoke-cntt'
+ jobs:
+ - 'functest-{repo}-{container}-{tag}-rmi'
+
+- project:
name: 'functest-opnfv-functest-benchmarking-rmi'
<<: *functest-params
container: 'functest-benchmarking'
@@ -222,6 +284,13 @@
- 'functest-{repo}-{container}-{tag}-rmi'
- project:
+ name: 'functest-opnfv-functest-benchmarking-cntt-rmi'
+ <<: *functest-params
+ container: 'functest-benchmarking-cntt'
+ jobs:
+ - 'functest-{repo}-{container}-{tag}-rmi'
+
+- project:
name: 'functest-opnfv-functest-vnf-rmi'
<<: *functest-params
container: 'functest-vnf'
@@ -233,6 +302,16 @@
parameters:
- functest-slave:
slave: '{slave}'
+ - functest-build_tag:
+ build_tag: ''
+ - functest-DEBUG:
+ DEBUG: 'true'
+ - functest-EXTERNAL_NETWORK:
+ EXTERNAL_NETWORK: public
+ - functest-VOLUME_DEVICE_NAME:
+ VOLUME_DEVICE_NAME: sdb
+ - functest-IMAGE_PROPERTIES:
+ IMAGE_PROPERTIES: hw_scsi_model:virtio-scsi,hw_disk_bus:scsi
builders:
- functest-run-containers:
<<: *functest-run-containers
@@ -254,6 +333,9 @@
- cinder_test
- odl
- tempest_smoke
+ - tempest_horizon
+ privileged: 'false'
+ network: bridge
jobs:
- 'functest-{repo}-{container}-{tag}-{test}-run'
@@ -262,7 +344,11 @@
<<: *functest-params
container: 'functest-smoke'
test:
- - neutron-tempest-plugin-api
+ - tempest_neutron
+ - tempest_cinder
+ - tempest_keystone
+ - tempest_heat
+ - tempest_telemetry
- rally_sanity
- refstack_defcore
- refstack_compute
@@ -272,20 +358,67 @@
- tempest_scenario
- tempest_slow
- patrole
- - neutron_trunk
+ - patrole_admin
+ - patrole_member
+ - patrole_reader
- networking-bgpvpn
- networking-sfc
- - barbican
- - octavia
+ - tempest_barbican
+ - tempest_octavia
+ - tempest_cyborg
exclude:
- tag: latest
test: refstack_defcore
+ - tag: latest
+ test: networking-bgpvpn
+ - tag: latest
+ test: networking-sfc
+ - tag: latest
+ test: patrole
+ - tag: leguer
+ test: refstack_defcore
+ - tag: leguer
+ test: networking-bgpvpn
+ - tag: leguer
+ test: networking-sfc
+ - tag: leguer
+ test: patrole
+ - tag: kali
+ test: refstack_defcore
+ - tag: kali
+ test: networking-bgpvpn
+ - tag: kali
+ test: networking-sfc
+ - tag: kali
+ test: patrole_admin
+ - tag: kali
+ test: patrole_member
+ - tag: kali
+ test: patrole_reader
- tag: jerma
test: refstack_defcore
+ - tag: jerma
+ test: networking-bgpvpn
+ - tag: jerma
+ test: networking-sfc
+ - tag: jerma
+ test: patrole_admin
+ - tag: jerma
+ test: patrole_member
+ - tag: jerma
+ test: patrole_reader
+ - tag: jerma
+ test: tempest_cyborg
- tag: iruya
test: refstack_defcore
- tag: iruya
- test: octavia
+ test: patrole_admin
+ - tag: iruya
+ test: patrole_member
+ - tag: iruya
+ test: patrole_reader
+ - tag: iruya
+ test: tempest_cyborg
- tag: hunter
test: refstack_compute
- tag: hunter
@@ -293,9 +426,37 @@
- tag: hunter
test: refstack_platform
- tag: hunter
- test: tempest_slow
+ test: tempest_octavia
+ - tag: hunter
+ test: tempest_telemetry
+ - tag: hunter
+ test: patrole_admin
- tag: hunter
- test: octavia
+ test: patrole_member
+ - tag: hunter
+ test: patrole_reader
+ - tag: hunter
+ test: tempest_cyborg
+ privileged: 'false'
+ network: bridge
+ jobs:
+ - 'functest-{repo}-{container}-{tag}-{test}-run'
+
+- project:
+ name: 'functest-opnfv-functest-smoke-cntt'
+ <<: *functest-params
+ container: 'functest-smoke-cntt'
+ test:
+ - tempest_neutron_cntt
+ - tempest_cinder_cntt
+ - tempest_keystone_cntt
+ - tempest_heat_cntt
+ - rally_sanity_cntt
+ - tempest_full_cntt
+ - tempest_scenario_cntt
+ - tempest_slow_cntt
+ privileged: 'false'
+ network: bridge
jobs:
- 'functest-{repo}-{container}-{tag}-{test}-run'
@@ -308,6 +469,20 @@
- rally_jobs
- vmtp
- shaker
+ privileged: 'false'
+ network: bridge
+ jobs:
+ - 'functest-{repo}-{container}-{tag}-{test}-run'
+
+- project:
+ name: 'functest-opnfv-functest-benchmarking-cntt'
+ <<: *functest-params
+ container: 'functest-benchmarking-cntt'
+ test:
+ - rally_full_cntt
+ - rally_jobs_cntt
+ privileged: 'false'
+ network: bridge
jobs:
- 'functest-{repo}-{container}-{tag}-{test}-run'
@@ -321,23 +496,92 @@
- heat_ims
- vyos_vrouter
- juju_epc
+ privileged: 'false'
+ network: bridge
jobs:
- 'functest-{repo}-{container}-{tag}-{test}-run'
+
+- builder:
+ name: functest-zip
+ builders:
+ - shell: |
+ set +x
+ [ ! -z "$WORKSPACE" ] && sudo rm -rf $WORKSPACE/* || true
+ if [ "{repo}" = "_" ]; then
+ image={container}:{tag}
+ elif [ "{port}" = "None" ]; then
+ image={repo}/{container}:{tag}
+ else
+ image={repo}:{port}/{container}:{tag}
+ fi
+ sudo docker run --rm \
+ -e S3_ENDPOINT_URL=https://storage.googleapis.com \
+ -e S3_DST_URL=s3://artifacts.opnfv.org/functest \
+ -e HTTP_DST_URL=http://artifacts.opnfv.org/functest \
+ -e TEST_DB_URL=http://testresults.opnfv.org/test/api/v1/results \
+ -e TEST_DB_EXT_URL=http://testresults.opnfv.org/test/api/v1/results \
+ -e BUILD_TAG=$BUILD_TAG \
+ -v $WORKSPACE/../$JOB_NAME/results:/var/lib/xtesting/results \
+ -e DEBUG=$DEBUG \
+ -e EXTERNAL_NETWORK=$EXTERNAL_NETWORK \
+ -e VOLUME_DEVICE_NAME=$VOLUME_DEVICE_NAME \
+ -e IMAGE_PROPERTIES=$IMAGE_PROPERTIES \
+ -v /home/opnfv/functest/.boto:/root/.boto \
+ -v /home/opnfv/functest/openstack.creds:/home/opnfv/functest/conf/env_file \
+ -v /home/opnfv/functest/images:/home/opnfv/functest/images \
+ $image zip_campaign
+
+- job-template:
+ name: 'functest-{tag}-zip'
+ parameters:
+ - functest-slave:
+ slave: '{slave}'
+ - functest-build_tag:
+ build_tag: ''
+ - functest-DEBUG:
+ DEBUG: 'true'
+ - functest-EXTERNAL_NETWORK:
+ EXTERNAL_NETWORK: public
+ - functest-VOLUME_DEVICE_NAME:
+ VOLUME_DEVICE_NAME: sdb
+ - functest-IMAGE_PROPERTIES:
+ IMAGE_PROPERTIES: hw_scsi_model:virtio-scsi,hw_disk_bus:scsi
+ builders:
+ - functest-zip:
+ <<: *functest-containers
+
+- project:
+ name: 'functest-{tag}-zip'
+ <<: *functest-params
+ container: 'functest-healthcheck'
+ jobs:
+ - 'functest-{tag}-zip'
+
- job-template:
name: 'functest-{tag}-daily'
project-type: multijob
triggers:
- - timed: '@daily'
+ - timed: '@weekly'
parameters:
- functest-slave:
slave: '{slave}'
+ - functest-build_tag:
+ build_tag: ''
+ - functest-DEBUG:
+ DEBUG: 'true'
+ - functest-EXTERNAL_NETWORK:
+ EXTERNAL_NETWORK: public
+ - functest-VOLUME_DEVICE_NAME:
+ VOLUME_DEVICE_NAME: sdb
+ - functest-IMAGE_PROPERTIES:
+ IMAGE_PROPERTIES: hw_scsi_model:virtio-scsi,hw_disk_bus:scsi
properties:
- build-blocker:
use-build-blocker: true
blocking-level: 'NODE'
blocking-jobs:
- - '^functest-{tag}-(daily|check|gate)$'
+ - '^functest(-pi)?(-ovn)?-(arm.*-|amd64-)*[a-z]+-(daily|gate|check)$'
builders:
- multijob:
name: remove former images
@@ -346,8 +590,12 @@
<<: *functest-jobs
- name: 'functest-opnfv-functest-smoke-{tag}-rmi'
<<: *functest-jobs
+ - name: 'functest-opnfv-functest-smoke-cntt-{tag}-rmi'
+ <<: *functest-jobs
- name: 'functest-opnfv-functest-benchmarking-{tag}-rmi'
<<: *functest-jobs
+ - name: 'functest-opnfv-functest-benchmarking-cntt-{tag}-rmi'
+ <<: *functest-jobs
- name: 'functest-opnfv-functest-vnf-{tag}-rmi'
<<: *functest-jobs
- multijob:
@@ -357,8 +605,12 @@
<<: *functest-jobs
- name: 'functest-opnfv-functest-smoke-{tag}-pull'
<<: *functest-jobs
+ - name: 'functest-opnfv-functest-smoke-cntt-{tag}-pull'
+ <<: *functest-jobs
- name: 'functest-opnfv-functest-benchmarking-{tag}-pull'
<<: *functest-jobs
+ - name: 'functest-opnfv-functest-benchmarking-cntt-{tag}-pull'
+ <<: *functest-jobs
- name: 'functest-opnfv-functest-vnf-{tag}-pull'
<<: *functest-jobs
- multijob:
@@ -388,10 +640,20 @@
<<: *functest-jobs
- name: 'functest-opnfv-functest-healthcheck-{tag}-tempest_smoke-run'
<<: *functest-jobs
+ - name: 'functest-opnfv-functest-healthcheck-{tag}-tempest_horizon-run'
+ <<: *functest-jobs
- multijob:
name: opnfv/functest-smoke:{tag}
projects:
- - name: 'functest-opnfv-functest-smoke-{tag}-neutron-tempest-plugin-api-run'
+ - name: 'functest-opnfv-functest-smoke-{tag}-tempest_neutron-run'
+ <<: *functest-jobs
+ - name: 'functest-opnfv-functest-smoke-{tag}-tempest_cinder-run'
+ <<: *functest-jobs
+ - name: 'functest-opnfv-functest-smoke-{tag}-tempest_keystone-run'
+ <<: *functest-jobs
+ - name: 'functest-opnfv-functest-smoke-{tag}-tempest_heat-run'
+ <<: *functest-jobs
+ - name: 'functest-opnfv-functest-smoke-{tag}-tempest_telemetry-run'
<<: *functest-jobs
- name: 'functest-opnfv-functest-smoke-{tag}-rally_sanity-run'
<<: *functest-jobs
@@ -411,15 +673,40 @@
<<: *functest-jobs
- name: 'functest-opnfv-functest-smoke-{tag}-patrole-run'
<<: *functest-jobs
- - name: 'functest-opnfv-functest-smoke-{tag}-neutron_trunk-run'
+ - name: 'functest-opnfv-functest-smoke-{tag}-patrole_admin-run'
+ <<: *functest-jobs
+ - name: 'functest-opnfv-functest-smoke-{tag}-patrole_member-run'
+ <<: *functest-jobs
+ - name: 'functest-opnfv-functest-smoke-{tag}-patrole_reader-run'
<<: *functest-jobs
- name: 'functest-opnfv-functest-smoke-{tag}-networking-bgpvpn-run'
<<: *functest-jobs
- name: 'functest-opnfv-functest-smoke-{tag}-networking-sfc-run'
<<: *functest-jobs
- - name: 'functest-opnfv-functest-smoke-{tag}-barbican-run'
+ - name: 'functest-opnfv-functest-smoke-{tag}-tempest_barbican-run'
+ <<: *functest-jobs
+ - name: 'functest-opnfv-functest-smoke-{tag}-tempest_octavia-run'
<<: *functest-jobs
- - name: 'functest-opnfv-functest-smoke-{tag}-octavia-run'
+ - name: 'functest-opnfv-functest-smoke-{tag}-tempest_cyborg-run'
+ <<: *functest-jobs
+ - multijob:
+ name: opnfv/functest-smoke-cntt:{tag}
+ projects:
+ - name: 'functest-opnfv-functest-smoke-cntt-{tag}-tempest_neutron_cntt-run'
+ <<: *functest-jobs
+ - name: 'functest-opnfv-functest-smoke-cntt-{tag}-tempest_cinder_cntt-run'
+ <<: *functest-jobs
+ - name: 'functest-opnfv-functest-smoke-cntt-{tag}-tempest_keystone_cntt-run'
+ <<: *functest-jobs
+ - name: 'functest-opnfv-functest-smoke-cntt-{tag}-tempest_heat_cntt-run'
+ <<: *functest-jobs
+ - name: 'functest-opnfv-functest-smoke-cntt-{tag}-rally_sanity_cntt-run'
+ <<: *functest-jobs
+ - name: 'functest-opnfv-functest-smoke-cntt-{tag}-tempest_full_cntt-run'
+ <<: *functest-jobs
+ - name: 'functest-opnfv-functest-smoke-cntt-{tag}-tempest_scenario_cntt-run'
+ <<: *functest-jobs
+ - name: 'functest-opnfv-functest-smoke-cntt-{tag}-tempest_slow_cntt-run'
<<: *functest-jobs
- multijob:
name: opnfv/functest-benchmarking:{tag}
@@ -433,8 +720,14 @@
- name: 'functest-opnfv-functest-benchmarking-{tag}-shaker-run'
<<: *functest-jobs
- multijob:
+ name: opnfv/functest-benchmarking-cntt:{tag}
+ projects:
+ - name: 'functest-opnfv-functest-benchmarking-cntt-{tag}-rally_full_cntt-run'
+ <<: *functest-jobs
+ - name: 'functest-opnfv-functest-benchmarking-cntt-{tag}-rally_jobs_cntt-run'
+ <<: *functest-jobs
+ - multijob:
name: opnfv/functest-vnf:{tag}
- execution-type: SEQUENTIALLY
projects:
- name: 'functest-opnfv-functest-vnf-{tag}-cloudify-run'
<<: *functest-jobs
@@ -446,6 +739,11 @@
<<: *functest-jobs
- name: 'functest-opnfv-functest-vnf-{tag}-juju_epc-run'
<<: *functest-jobs
+ - multijob:
+ name: dump all campaign data
+ projects:
+ - name: 'functest-{tag}-zip'
+ <<: *functest-jobs
- job-template:
name: 'functest-{repo}-{container}-{tag}-gate'
@@ -476,21 +774,21 @@
ref: $branch
- project:
- name: 'functest-_-alpine-3.10-rmi'
+ name: 'functest-_-alpine-3.12-rmi'
repo: _
port:
container: alpine
- tag: '3.10'
+ tag: '3.12'
slave: master
jobs:
- 'functest-{repo}-{container}-{tag}-rmi'
- project:
- name: 'functest-_-alpine-3.10-pull'
+ name: 'functest-_-alpine-3.12-pull'
repo: _
port:
container: alpine
- tag: '3.10'
+ tag: '3.12'
slave: master
jobs:
- 'functest-{repo}-{container}-{tag}-pull'
@@ -516,6 +814,8 @@
- 'functest-{repo}-{container}-{tag}-check'
exclude:
- tag: latest
+ - tag: leguer
+ - tag: kali
- tag: jerma
- project:
@@ -549,6 +849,16 @@
- 'functest-{repo}-{container}-{tag}-check'
- project:
+ name: functest-opnfv-functest-benchmarking-cntt-{tag}-build
+ <<: *functest-params
+ container: functest-benchmarking-cntt
+ ref_arg: BRANCH
+ path: docker/benchmarking-cntt
+ jobs:
+ - 'functest-{repo}-{container}-{tag}-gate'
+ - 'functest-{repo}-{container}-{tag}-check'
+
+- project:
name: functest-opnfv-functest-vnf-{tag}-build
<<: *functest-params
container: functest-vnf
@@ -558,20 +868,40 @@
- 'functest-{repo}-{container}-{tag}-gate'
- 'functest-{repo}-{container}-{tag}-check'
+- project:
+ name: functest-opnfv-functest-smoke-cntt-{tag}-build
+ <<: *functest-params
+ container: functest-smoke-cntt
+ ref_arg: BRANCH
+ path: docker/smoke-cntt
+ jobs:
+ - 'functest-{repo}-{container}-{tag}-gate'
+ - 'functest-{repo}-{container}-{tag}-check'
+
- job-template:
name: 'functest-{tag}-check'
project-type: multijob
parameters:
- functest-slave:
slave: '{slave}'
+ - functest-build_tag:
+ build_tag: ''
- functest-branch:
branch: '{branch}'
+ - functest-DEBUG:
+ DEBUG: 'true'
+ - functest-EXTERNAL_NETWORK:
+ EXTERNAL_NETWORK: public
+ - functest-VOLUME_DEVICE_NAME:
+ VOLUME_DEVICE_NAME: sdb
+ - functest-IMAGE_PROPERTIES:
+ IMAGE_PROPERTIES: hw_scsi_model:virtio-scsi,hw_disk_bus:scsi
properties:
- build-blocker:
use-build-blocker: true
blocking-level: 'NODE'
blocking-jobs:
- - '^functest-{tag}-(daily|check|gate)$'
+ - '^functest(-pi)?(-ovn)?-(arm.*-|amd64-)*[a-z]+-(daily|gate|check)$'
builders:
- multijob:
name: remove former images
@@ -580,19 +910,23 @@
<<: *functest-jobs
- name: 'functest-opnfv-functest-smoke-{tag}-rmi'
<<: *functest-jobs
+ - name: 'functest-opnfv-functest-smoke-cntt-{tag}-rmi'
+ <<: *functest-jobs
- name: 'functest-opnfv-functest-benchmarking-{tag}-rmi'
<<: *functest-jobs
+ - name: 'functest-opnfv-functest-benchmarking-cntt-{tag}-rmi'
+ <<: *functest-jobs
- name: 'functest-opnfv-functest-vnf-{tag}-rmi'
<<: *functest-jobs
- multijob:
name: remove dependencies
projects:
- - name: 'functest-_-alpine-3.10-rmi'
+ - name: 'functest-_-alpine-3.12-rmi'
<<: *functest-jobs
- multijob:
name: pull dependencies
projects:
- - name: 'functest-_-alpine-3.10-pull'
+ - name: 'functest-_-alpine-3.12-pull'
<<: *functest-jobs
- multijob:
name: build opnfv/functest-core
@@ -616,6 +950,13 @@
- name: 'functest-opnfv-functest-vnf-{tag}-check'
<<: *functest-jobs
- multijob:
+ name: build cntt containers
+ projects:
+ - name: 'functest-opnfv-functest-smoke-cntt-{tag}-check'
+ <<: *functest-jobs
+ - name: 'functest-opnfv-functest-benchmarking-cntt-{tag}-check'
+ <<: *functest-jobs
+ - multijob:
name: opnfv/functest-healthcheck:{tag}
projects:
- name: 'functest-opnfv-functest-healthcheck-{tag}-connection_check-run'
@@ -642,10 +983,20 @@
<<: *functest-jobs
- name: 'functest-opnfv-functest-healthcheck-{tag}-tempest_smoke-run'
<<: *functest-jobs
+ - name: 'functest-opnfv-functest-healthcheck-{tag}-tempest_horizon-run'
+ <<: *functest-jobs
- multijob:
name: opnfv/functest-smoke:{tag}
projects:
- - name: 'functest-opnfv-functest-smoke-{tag}-neutron-tempest-plugin-api-run'
+ - name: 'functest-opnfv-functest-smoke-{tag}-tempest_neutron-run'
+ <<: *functest-jobs
+ - name: 'functest-opnfv-functest-smoke-{tag}-tempest_cinder-run'
+ <<: *functest-jobs
+ - name: 'functest-opnfv-functest-smoke-{tag}-tempest_keystone-run'
+ <<: *functest-jobs
+ - name: 'functest-opnfv-functest-smoke-{tag}-tempest_heat-run'
+ <<: *functest-jobs
+ - name: 'functest-opnfv-functest-smoke-{tag}-tempest_telemetry-run'
<<: *functest-jobs
- name: 'functest-opnfv-functest-smoke-{tag}-rally_sanity-run'
<<: *functest-jobs
@@ -665,15 +1016,40 @@
<<: *functest-jobs
- name: 'functest-opnfv-functest-smoke-{tag}-patrole-run'
<<: *functest-jobs
- - name: 'functest-opnfv-functest-smoke-{tag}-neutron_trunk-run'
+ - name: 'functest-opnfv-functest-smoke-{tag}-patrole_admin-run'
+ <<: *functest-jobs
+ - name: 'functest-opnfv-functest-smoke-{tag}-patrole_member-run'
+ <<: *functest-jobs
+ - name: 'functest-opnfv-functest-smoke-{tag}-patrole_reader-run'
<<: *functest-jobs
- name: 'functest-opnfv-functest-smoke-{tag}-networking-bgpvpn-run'
<<: *functest-jobs
- name: 'functest-opnfv-functest-smoke-{tag}-networking-sfc-run'
<<: *functest-jobs
- - name: 'functest-opnfv-functest-smoke-{tag}-barbican-run'
+ - name: 'functest-opnfv-functest-smoke-{tag}-tempest_barbican-run'
<<: *functest-jobs
- - name: 'functest-opnfv-functest-smoke-{tag}-octavia-run'
+ - name: 'functest-opnfv-functest-smoke-{tag}-tempest_octavia-run'
+ <<: *functest-jobs
+ - name: 'functest-opnfv-functest-smoke-{tag}-tempest_cyborg-run'
+ <<: *functest-jobs
+ - multijob:
+ name: opnfv/functest-smoke-cntt:{tag}
+ projects:
+ - name: 'functest-opnfv-functest-smoke-cntt-{tag}-tempest_neutron_cntt-run'
+ <<: *functest-jobs
+ - name: 'functest-opnfv-functest-smoke-cntt-{tag}-tempest_cinder_cntt-run'
+ <<: *functest-jobs
+ - name: 'functest-opnfv-functest-smoke-cntt-{tag}-tempest_keystone_cntt-run'
+ <<: *functest-jobs
+ - name: 'functest-opnfv-functest-smoke-cntt-{tag}-tempest_heat_cntt-run'
+ <<: *functest-jobs
+ - name: 'functest-opnfv-functest-smoke-cntt-{tag}-rally_sanity_cntt-run'
+ <<: *functest-jobs
+ - name: 'functest-opnfv-functest-smoke-cntt-{tag}-tempest_full_cntt-run'
+ <<: *functest-jobs
+ - name: 'functest-opnfv-functest-smoke-cntt-{tag}-tempest_scenario_cntt-run'
+ <<: *functest-jobs
+ - name: 'functest-opnfv-functest-smoke-cntt-{tag}-tempest_slow_cntt-run'
<<: *functest-jobs
- multijob:
name: opnfv/functest-benchmarking:{tag}
@@ -687,8 +1063,14 @@
- name: 'functest-opnfv-functest-benchmarking-{tag}-shaker-run'
<<: *functest-jobs
- multijob:
+ name: opnfv/functest-benchmarking-cntt:{tag}
+ projects:
+ - name: 'functest-opnfv-functest-benchmarking-cntt-{tag}-rally_full_cntt-run'
+ <<: *functest-jobs
+ - name: 'functest-opnfv-functest-benchmarking-cntt-{tag}-rally_jobs_cntt-run'
+ <<: *functest-jobs
+ - multijob:
name: opnfv/functest-vnf:{tag}
- execution-type: SEQUENTIALLY
projects:
- name: 'functest-opnfv-functest-vnf-{tag}-cloudify-run'
<<: *functest-jobs
@@ -733,12 +1115,22 @@
parameters:
- functest-slave:
slave: '{slave}'
+ - functest-build_tag:
+ build_tag: ''
+ - functest-DEBUG:
+ DEBUG: 'true'
+ - functest-EXTERNAL_NETWORK:
+ EXTERNAL_NETWORK: public
+ - functest-VOLUME_DEVICE_NAME:
+ VOLUME_DEVICE_NAME: sdb
+ - functest-IMAGE_PROPERTIES:
+ IMAGE_PROPERTIES: hw_scsi_model:virtio-scsi,hw_disk_bus:scsi
properties:
- build-blocker:
use-build-blocker: true
blocking-level: 'NODE'
blocking-jobs:
- - '^functest-{tag}-(daily|check|gate)$'
+ - '^functest(-pi)?(-ovn)?-(arm.*-|amd64-)*[a-z]+-(daily|gate|check)$'
builders:
- multijob:
name: remove former images
@@ -747,19 +1139,23 @@
<<: *functest-jobs
- name: 'functest-opnfv-functest-smoke-{tag}-rmi'
<<: *functest-jobs
+ - name: 'functest-opnfv-functest-smoke-cntt-{tag}-rmi'
+ <<: *functest-jobs
- name: 'functest-opnfv-functest-benchmarking-{tag}-rmi'
<<: *functest-jobs
+ - name: 'functest-opnfv-functest-benchmarking-cntt-{tag}-rmi'
+ <<: *functest-jobs
- name: 'functest-opnfv-functest-vnf-{tag}-rmi'
<<: *functest-jobs
- multijob:
name: remove dependencies
projects:
- - name: 'functest-_-alpine-3.10-rmi'
+ - name: 'functest-_-alpine-3.12-rmi'
<<: *functest-jobs
- multijob:
name: pull dependencies
projects:
- - name: 'functest-_-alpine-3.10-pull'
+ - name: 'functest-_-alpine-3.12-pull'
<<: *functest-jobs
- multijob:
name: build opnfv/functest-core
@@ -783,6 +1179,13 @@
- name: 'functest-opnfv-functest-vnf-{tag}-gate'
<<: *functest-jobs
- multijob:
+ name: build cntt containers
+ projects:
+ - name: 'functest-opnfv-functest-smoke-cntt-{tag}-gate'
+ <<: *functest-jobs
+ - name: 'functest-opnfv-functest-benchmarking-cntt-{tag}-gate'
+ <<: *functest-jobs
+ - multijob:
name: opnfv/functest-healthcheck:{tag}
projects:
- name: 'functest-opnfv-functest-healthcheck-{tag}-connection_check-run'
@@ -809,10 +1212,20 @@
<<: *functest-jobs
- name: 'functest-opnfv-functest-healthcheck-{tag}-tempest_smoke-run'
<<: *functest-jobs
+ - name: 'functest-opnfv-functest-healthcheck-{tag}-tempest_horizon-run'
+ <<: *functest-jobs
- multijob:
name: opnfv/functest-smoke:{tag}
projects:
- - name: 'functest-opnfv-functest-smoke-{tag}-neutron-tempest-plugin-api-run'
+ - name: 'functest-opnfv-functest-smoke-{tag}-tempest_neutron-run'
+ <<: *functest-jobs
+ - name: 'functest-opnfv-functest-smoke-{tag}-tempest_cinder-run'
+ <<: *functest-jobs
+ - name: 'functest-opnfv-functest-smoke-{tag}-tempest_keystone-run'
+ <<: *functest-jobs
+ - name: 'functest-opnfv-functest-smoke-{tag}-tempest_heat-run'
+ <<: *functest-jobs
+ - name: 'functest-opnfv-functest-smoke-{tag}-tempest_telemetry-run'
<<: *functest-jobs
- name: 'functest-opnfv-functest-smoke-{tag}-rally_sanity-run'
<<: *functest-jobs
@@ -832,15 +1245,40 @@
<<: *functest-jobs
- name: 'functest-opnfv-functest-smoke-{tag}-patrole-run'
<<: *functest-jobs
- - name: 'functest-opnfv-functest-smoke-{tag}-neutron_trunk-run'
+ - name: 'functest-opnfv-functest-smoke-{tag}-patrole_admin-run'
+ <<: *functest-jobs
+ - name: 'functest-opnfv-functest-smoke-{tag}-patrole_member-run'
+ <<: *functest-jobs
+ - name: 'functest-opnfv-functest-smoke-{tag}-patrole_reader-run'
<<: *functest-jobs
- name: 'functest-opnfv-functest-smoke-{tag}-networking-bgpvpn-run'
<<: *functest-jobs
- name: 'functest-opnfv-functest-smoke-{tag}-networking-sfc-run'
<<: *functest-jobs
- - name: 'functest-opnfv-functest-smoke-{tag}-barbican-run'
+ - name: 'functest-opnfv-functest-smoke-{tag}-tempest_barbican-run'
+ <<: *functest-jobs
+ - name: 'functest-opnfv-functest-smoke-{tag}-tempest_octavia-run'
<<: *functest-jobs
- - name: 'functest-opnfv-functest-smoke-{tag}-octavia-run'
+ - name: 'functest-opnfv-functest-smoke-{tag}-tempest_cyborg-run'
+ <<: *functest-jobs
+ - multijob:
+ name: opnfv/functest-smoke-cntt:{tag}
+ projects:
+ - name: 'functest-opnfv-functest-smoke-cntt-{tag}-tempest_neutron_cntt-run'
+ <<: *functest-jobs
+ - name: 'functest-opnfv-functest-smoke-cntt-{tag}-tempest_cinder_cntt-run'
+ <<: *functest-jobs
+ - name: 'functest-opnfv-functest-smoke-cntt-{tag}-tempest_keystone_cntt-run'
+ <<: *functest-jobs
+ - name: 'functest-opnfv-functest-smoke-cntt-{tag}-tempest_heat_cntt-run'
+ <<: *functest-jobs
+ - name: 'functest-opnfv-functest-smoke-cntt-{tag}-rally_sanity_cntt-run'
+ <<: *functest-jobs
+ - name: 'functest-opnfv-functest-smoke-cntt-{tag}-tempest_full_cntt-run'
+ <<: *functest-jobs
+ - name: 'functest-opnfv-functest-smoke-cntt-{tag}-tempest_scenario_cntt-run'
+ <<: *functest-jobs
+ - name: 'functest-opnfv-functest-smoke-cntt-{tag}-tempest_slow_cntt-run'
<<: *functest-jobs
- multijob:
name: opnfv/functest-benchmarking:{tag}
@@ -854,8 +1292,14 @@
- name: 'functest-opnfv-functest-benchmarking-{tag}-shaker-run'
<<: *functest-jobs
- multijob:
+ name: opnfv/functest-benchmarking-cntt:{tag}
+ projects:
+ - name: 'functest-opnfv-functest-benchmarking-cntt-{tag}-rally_full_cntt-run'
+ <<: *functest-jobs
+ - name: 'functest-opnfv-functest-benchmarking-cntt-{tag}-rally_jobs_cntt-run'
+ <<: *functest-jobs
+ - multijob:
name: opnfv/functest-vnf:{tag}
- execution-type: SEQUENTIALLY
projects:
- name: 'functest-opnfv-functest-vnf-{tag}-cloudify-run'
<<: *functest-jobs
@@ -873,6 +1317,11 @@
<<: *functest-params
jobs:
- 'functest-{tag}-daily'
+
+- project:
+ name: 'functest-gate'
+ <<: *functest-params
+ jobs:
- 'functest-{tag}-check'
- 'functest-{tag}-gate'
@@ -886,4 +1335,16 @@
- last-success
- last-failure
- last-duration
- regex: ^functest-[a-z]+-(daily|check|gate)$
+ regex: ^functest(-ovn)?-(amd64-)*[a-z]+-daily$
+
+- view:
+ name: functest-gate
+ view-type: list
+ columns:
+ - status
+ - weather
+ - job
+ - last-success
+ - last-failure
+ - last-duration
+ regex: ^functest(-ovn)?-(amd64-)*[a-z]+-gate$
diff --git a/jjb/functest/xtesting-docker.yaml b/jjb/functest/xtesting-docker.yaml
index fbc90c2..a2dec35 100644
--- a/jjb/functest/xtesting-docker.yaml
+++ b/jjb/functest/xtesting-docker.yaml
@@ -12,6 +12,12 @@
- master:
branch: '{stream}'
disabled: false
+ - leguer:
+ branch: 'stable/{stream}'
+ disabled: false
+ - kali:
+ branch: 'stable/{stream}'
+ disabled: false
- jerma:
branch: 'stable/{stream}'
disabled: false
@@ -24,9 +30,21 @@
arch_tag:
- 'amd64':
- slave_label: 'opnfv-build-ubuntu'
- - 'arm64':
- slave_label: 'opnfv-build-ubuntu-arm'
+ slave_label: 'lf-build2'
+
+ image:
+ - 'core'
+ - 'mts'
+
+ exclude:
+ - stream: 'kali'
+ image: 'mts'
+ - stream: 'jerma'
+ image: 'mts'
+ - stream: 'iruya'
+ image: 'mts'
+ - stream: 'hunter'
+ image: 'mts'
# settings for jobs run in multijob phases
build-job-settings: &build-job-settings
@@ -53,8 +71,8 @@
# yamllint enable rule:key-duplicates
jobs:
- "xtesting-docker-{stream}"
- - "xtesting-docker-build-{arch_tag}-{stream}"
- - "xtesting-docker-manifest-{stream}"
+ - "xtesting-{image}-docker-build-{arch_tag}-{stream}"
+ - "xtesting-{image}-docker-manifest-{stream}"
########################
# job templates
@@ -70,7 +88,7 @@
- xtesting-job-parameters:
project: '{project}'
branch: '{branch}'
- slave_label: 'opnfv-build-ubuntu'
+ slave_label: 'lf-build2'
arch_tag: 'amd64'
properties:
@@ -92,23 +110,33 @@
name: 'build xtesting images'
execution-type: PARALLEL
projects:
- - name: 'xtesting-docker-build-amd64-{stream}'
- <<: *build-job-settings
- - name: 'xtesting-docker-build-arm64-{stream}'
+ - name: 'xtesting-core-docker-build-amd64-{stream}'
<<: *build-job-settings
- multijob:
name: 'publish xtesting manifests'
execution-type: PARALLEL
projects:
- - name: 'xtesting-docker-manifest-{stream}'
+ - name: 'xtesting-core-docker-manifest-{stream}'
+ <<: *manifest-job-settings
+ - multijob:
+ name: 'build xtesting-mts images'
+ execution-type: PARALLEL
+ projects:
+ - name: 'xtesting-mts-docker-build-amd64-{stream}'
+ <<: *build-job-settings
+ - multijob:
+ name: 'publish xtesting-mts manifests'
+ execution-type: PARALLEL
+ projects:
+ - name: 'xtesting-mts-docker-manifest-{stream}'
<<: *manifest-job-settings
+
publishers:
- 'xtesting-amd64-recipients'
- - 'xtesting-arm64-recipients'
- job-template:
- name: 'xtesting-docker-build-{arch_tag}-{stream}'
+ name: 'xtesting-{image}-docker-build-{arch_tag}-{stream}'
disabled: '{obj:disabled}'
parameters:
- xtesting-job-parameters:
@@ -121,11 +149,11 @@
builders:
- shell: |
#!/bin/bash -ex
- sudo arch={arch_tag} bash ./build.sh
+ sudo arch=amd64 amd64_dirs=docker/{image} arm64_dirs= arm_dirs= bash ./build.sh
exit $?
- job-template:
- name: 'xtesting-docker-manifest-{stream}'
+ name: 'xtesting-{image}-docker-manifest-{stream}'
parameters:
- project-parameter:
@@ -133,7 +161,7 @@
branch: '{branch}'
- label:
name: SLAVE_LABEL
- default: 'opnfv-build-ubuntu'
+ default: 'lf-build2'
description: 'Slave label on Jenkins'
all-nodes: false
node-eligibility: 'ignore-offline'
@@ -148,7 +176,7 @@
- string:
name: REPO
default: "opnfv"
- description: "Repository name for functest images"
+ description: "Repository name for xtesting images"
disabled: '{obj:disabled}'
@@ -162,10 +190,16 @@
*)
tag="{stream}" ;;
esac
+ case "{image}" in
+ "core")
+ img="" ;;
+ *)
+ img="-{image}" ;;
+ esac
sudo manifest-tool push from-args \
- --platforms linux/amd64,linux/arm64 \
- --template $REPO/xtesting:ARCH-$tag \
- --target $REPO/xtesting:$tag
+ --platforms linux/amd64 \
+ --template $REPO/xtesting$img:ARCH-$tag \
+ --target $REPO/xtesting$img:$tag
exit $?
- parameter:
@@ -211,19 +245,10 @@
- string:
name: REPO
default: "opnfv"
- description: "Repository name for functest images"
+ description: "Repository name for xtesting images"
# publisher macros
- publisher:
- name: 'xtesting-arm64-recipients'
- publishers:
- - email:
- recipients: >
- cristina.pauna@enea.com
- alexandru.avadanii@enea.com
- delia.popescu@enea.com
-
-- publisher:
name: 'xtesting-amd64-recipients'
publishers:
- email:
diff --git a/jjb/functest/xtesting-pi.yaml b/jjb/functest/xtesting-pi.yaml
new file mode 100644
index 0000000..ef4609f
--- /dev/null
+++ b/jjb/functest/xtesting-pi.yaml
@@ -0,0 +1,444 @@
+---
+- xtesting-pi-jobs: &xtesting-pi-jobs
+ name: 'xtesting-pi-jobs'
+ current-parameters: true
+
+- xtesting-pi-params: &xtesting-pi-params
+ name: 'xtesting-pi-params'
+ repo: 'ollivier'
+ port:
+ tag:
+ - latest:
+ branch: master
+ slave: lf-virtual1
+ - leguer:
+ branch: stable/leguer
+ slave: lf-virtual1
+ - kali:
+ branch: stable/kali
+ slave: lf-virtual1
+ - jerma:
+ branch: stable/jerma
+ slave: lf-virtual1
+ - iruya:
+ branch: stable/iruya
+ slave: lf-virtual1
+ - hunter:
+ branch: stable/hunter
+ slave: lf-virtual1
+ - arm-latest:
+ branch: master
+ slave: lf-virtual1
+ - arm-leguer:
+ branch: stable/leguer
+ slave: lf-virtual1
+ - arm-kali:
+ branch: stable/kali
+ slave: lf-virtual1
+ - arm-jerma:
+ branch: stable/jerma
+ slave: lf-virtual1
+ - arm-iruya:
+ branch: stable/iruya
+ slave: lf-virtual1
+ - arm-hunter:
+ branch: stable/hunter
+ slave: lf-virtual1
+ - arm64-latest:
+ branch: master
+ slave: lf-virtual1
+ - arm64-leguer:
+ branch: stable/leguer
+ slave: lf-virtual1
+ - arm64-kali:
+ branch: stable/kali
+ slave: lf-virtual1
+ - arm64-jerma:
+ branch: stable/jerma
+ slave: lf-virtual1
+ - arm64-iruya:
+ branch: stable/iruya
+ slave: lf-virtual1
+ - arm64-hunter:
+ branch: stable/hunter
+ slave: lf-virtual1
+
+- parameter:
+ name: xtesting-pi-slave
+ parameters:
+ - label:
+ name: slave
+ default: '{slave}'
+
+- parameter:
+ name: xtesting-pi-build_tag
+ parameters:
+ - random-string:
+ name: build_tag
+
+- parameter:
+ name: xtesting-pi-branch
+ parameters:
+ - string:
+ name: branch
+ default: '{branch}'
+
+- parameter:
+ name: xtesting-pi-DEBUG
+ parameters:
+ - string:
+ name: DEBUG
+ default: 'true'
+
+- xtesting-pi-containers: &xtesting-pi-containers
+ name: 'xtesting-pi-containers'
+ repo: '{repo}'
+ port: '{port}'
+ container: '{container}'
+ tag: '{tag}'
+
+- xtesting-pi-run-containers: &xtesting-pi-run-containers
+ name: 'xtesting-pi-run-containers'
+ <<: *xtesting-pi-containers
+ test: '{test}'
+ privileged: '{privileged}'
+ network: '{network}'
+
+- builder:
+ name: xtesting-pi-pull-containers
+ builders:
+ - shell: |
+ set +x
+ if [ "{repo}" = "_" ]; then
+ image={container}:{tag}
+ elif [ "{port}" = "None" ]; then
+ image={repo}/{container}:{tag}
+ else
+ image={repo}:{port}/{container}:{tag}
+ fi
+ sudo docker pull $image
+
+- builder:
+ name: xtesting-pi-run-containers
+ builders:
+ - shell: |
+ set +x
+ [ ! -z "$WORKSPACE" ] && sudo rm -rf $WORKSPACE/* || true
+ if [ "{repo}" = "_" ]; then
+ image={container}:{tag}
+ elif [ "{port}" = "None" ]; then
+ image={repo}/{container}:{tag}
+ else
+ image={repo}:{port}/{container}:{tag}
+ fi
+ sudo docker run --rm \
+ --privileged={privileged} \
+ --network={network} \
+ -e S3_ENDPOINT_URL=https://storage.googleapis.com \
+ -e S3_DST_URL=s3://artifacts.opnfv.org/xtesting/$BUILD_TAG/$JOB_NAME-$BUILD_ID \
+ -e HTTP_DST_URL=http://artifacts.opnfv.org/xtesting/$BUILD_TAG/$JOB_NAME-$BUILD_ID \
+ -e TEST_DB_URL=http://testresults.opnfv.org/test/api/v1/results \
+ -e TEST_DB_EXT_URL=http://testresults.opnfv.org/test/api/v1/results \
+ -e NODE_NAME=$slave \
+ -e BUILD_TAG=$BUILD_TAG \
+ -v $WORKSPACE/../$JOB_NAME/results:/var/lib/xtesting/results \
+ -e DEBUG=$DEBUG \
+ -v /home/opnfv/xtesting/.boto:/root/.boto \
+ $image run_tests -t {test} -p -r
+
+- builder:
+ name: xtesting-pi-remove-images
+ builders:
+ - shell: |
+ set +x
+ if [ "{repo}" = "_" ]; then
+ image={container}:{tag}
+ elif [ "{port}" = "None" ]; then
+ image={repo}/{container}:{tag}
+ else
+ image={repo}:{port}/{container}:{tag}
+ fi
+ sudo docker rmi $image || true
+
+
+- job-template:
+ name: 'xtesting-pi-{repo}-{container}-{tag}-pull'
+ parameters:
+ - xtesting-pi-slave:
+ slave: '{slave}'
+ builders:
+ - xtesting-pi-pull-containers:
+ <<: *xtesting-pi-containers
+
+- project:
+ name: 'xtesting-pi-ollivier-xtesting-pull'
+ <<: *xtesting-pi-params
+ container: 'xtesting'
+ jobs:
+ - 'xtesting-pi-{repo}-{container}-{tag}-pull'
+
+- project:
+ name: 'xtesting-pi-ollivier-xtesting-mts-pull'
+ <<: *xtesting-pi-params
+ container: 'xtesting-mts'
+ exclude:
+ - tag: hunter
+ - tag: iruya
+ - tag: jerma
+ - tag: kali
+ - tag: arm-hunter
+ - tag: arm-iruya
+ - tag: arm-jerma
+ - tag: arm-kali
+ - tag: arm-leguer
+ - tag: arm-latest
+ - tag: arm64-hunter
+ - tag: arm64-iruya
+ - tag: arm64-jerma
+ - tag: arm64-kali
+ jobs:
+ - 'xtesting-pi-{repo}-{container}-{tag}-pull'
+
+- job-template:
+ name: 'xtesting-pi-{repo}-{container}-{tag}-rmi'
+ parameters:
+ - xtesting-pi-slave:
+ slave: '{slave}'
+ builders:
+ - xtesting-pi-remove-images:
+ <<: *xtesting-pi-containers
+
+- project:
+ name: 'xtesting-pi-ollivier-xtesting-rmi'
+ <<: *xtesting-pi-params
+ container: 'xtesting'
+ jobs:
+ - 'xtesting-pi-{repo}-{container}-{tag}-rmi'
+
+- project:
+ name: 'xtesting-pi-ollivier-xtesting-mts-rmi'
+ <<: *xtesting-pi-params
+ container: 'xtesting-mts'
+ exclude:
+ - tag: hunter
+ - tag: iruya
+ - tag: jerma
+ - tag: kali
+ - tag: arm-hunter
+ - tag: arm-iruya
+ - tag: arm-jerma
+ - tag: arm-kali
+ - tag: arm-leguer
+ - tag: arm-latest
+ - tag: arm64-hunter
+ - tag: arm64-iruya
+ - tag: arm64-jerma
+ - tag: arm64-kali
+ jobs:
+ - 'xtesting-pi-{repo}-{container}-{tag}-rmi'
+
+- job-template:
+ name: 'xtesting-pi-{repo}-{container}-{tag}-{test}-run'
+ parameters:
+ - xtesting-pi-slave:
+ slave: '{slave}'
+ - xtesting-pi-build_tag:
+ build_tag: ''
+ - xtesting-pi-DEBUG:
+ DEBUG: 'true'
+ builders:
+ - xtesting-pi-run-containers:
+ <<: *xtesting-pi-run-containers
+
+- project:
+ name: 'xtesting-pi-ollivier-xtesting'
+ <<: *xtesting-pi-params
+ container: 'xtesting'
+ test:
+ - first
+ - second
+ - third
+ - fourth
+ - fifth
+ - sixth
+ exclude:
+ - tag: hunter
+ test: sixth
+ - tag: iruya
+ test: sixth
+ - tag: arm-hunter
+ test: sixth
+ - tag: arm-iruya
+ test: sixth
+ - tag: arm64-hunter
+ test: sixth
+ - tag: arm64-iruya
+ test: sixth
+ privileged: 'false'
+ network: bridge
+ jobs:
+ - 'xtesting-pi-{repo}-{container}-{tag}-{test}-run'
+
+- project:
+ name: 'xtesting-pi-ollivier-xtesting-mts'
+ <<: *xtesting-pi-params
+ container: 'xtesting-mts'
+ test:
+ - seventh
+ exclude:
+ - tag: hunter
+ test: seventh
+ - tag: iruya
+ test: seventh
+ - tag: jerma
+ test: seventh
+ - tag: kali
+ test: seventh
+ - tag: arm-hunter
+ test: seventh
+ - tag: arm-iruya
+ test: seventh
+ - tag: arm-jerma
+ test: seventh
+ - tag: arm-kali
+ test: seventh
+ - tag: arm-leguer
+ test: seventh
+ - tag: arm-latest
+ test: seventh
+ - tag: arm64-hunter
+ test: seventh
+ - tag: arm64-iruya
+ test: seventh
+ - tag: arm64-jerma
+ test: seventh
+ - tag: arm64-kali
+ test: seventh
+ privileged: 'false'
+ network: bridge
+ jobs:
+ - 'xtesting-pi-{repo}-{container}-{tag}-{test}-run'
+
+
+- builder:
+ name: xtesting-pi-zip
+ builders:
+ - shell: |
+ set +x
+ [ ! -z "$WORKSPACE" ] && sudo rm -rf $WORKSPACE/* || true
+ if [ "{repo}" = "_" ]; then
+ image={container}:{tag}
+ elif [ "{port}" = "None" ]; then
+ image={repo}/{container}:{tag}
+ else
+ image={repo}:{port}/{container}:{tag}
+ fi
+ sudo docker run --rm \
+ -e S3_ENDPOINT_URL=https://storage.googleapis.com \
+ -e S3_DST_URL=s3://artifacts.opnfv.org/xtesting \
+ -e HTTP_DST_URL=http://artifacts.opnfv.org/xtesting \
+ -e TEST_DB_URL=http://testresults.opnfv.org/test/api/v1/results \
+ -e TEST_DB_EXT_URL=http://testresults.opnfv.org/test/api/v1/results \
+ -e BUILD_TAG=$BUILD_TAG \
+ -v $WORKSPACE/../$JOB_NAME/results:/var/lib/xtesting/results \
+ -e DEBUG=$DEBUG \
+ -v /home/opnfv/xtesting/.boto:/root/.boto \
+ $image zip_campaign
+
+- job-template:
+ name: 'xtesting-pi-{tag}-zip'
+ parameters:
+ - xtesting-pi-slave:
+ slave: '{slave}'
+ - xtesting-pi-build_tag:
+ build_tag: ''
+ - xtesting-pi-DEBUG:
+ DEBUG: 'true'
+ builders:
+ - xtesting-pi-zip:
+ <<: *xtesting-pi-containers
+
+- project:
+ name: 'xtesting-pi-{tag}-zip'
+ <<: *xtesting-pi-params
+ container: 'xtesting'
+ jobs:
+ - 'xtesting-pi-{tag}-zip'
+
+- job-template:
+ name: 'xtesting-pi-{tag}-daily'
+ project-type: multijob
+ triggers:
+ - timed: '@daily'
+ parameters:
+ - xtesting-pi-slave:
+ slave: '{slave}'
+ - xtesting-pi-build_tag:
+ build_tag: ''
+ - xtesting-pi-DEBUG:
+ DEBUG: 'true'
+ properties:
+ - build-blocker:
+ use-build-blocker: true
+ blocking-level: 'NODE'
+ blocking-jobs:
+ - '^xtesting-pi-{tag}-(daily|check|gate)$'
+ builders:
+ - multijob:
+ name: remove former images
+ projects:
+ - name: 'xtesting-pi-ollivier-xtesting-{tag}-rmi'
+ <<: *xtesting-pi-jobs
+ - name: 'xtesting-pi-ollivier-xtesting-mts-{tag}-rmi'
+ <<: *xtesting-pi-jobs
+ - multijob:
+ name: pull containers
+ projects:
+ - name: 'xtesting-pi-ollivier-xtesting-{tag}-pull'
+ <<: *xtesting-pi-jobs
+ - name: 'xtesting-pi-ollivier-xtesting-mts-{tag}-pull'
+ <<: *xtesting-pi-jobs
+ - multijob:
+ name: ollivier/xtesting:{tag}
+ projects:
+ - name: 'xtesting-pi-ollivier-xtesting-{tag}-first-run'
+ <<: *xtesting-pi-jobs
+ - name: 'xtesting-pi-ollivier-xtesting-{tag}-second-run'
+ <<: *xtesting-pi-jobs
+ - name: 'xtesting-pi-ollivier-xtesting-{tag}-third-run'
+ <<: *xtesting-pi-jobs
+ - name: 'xtesting-pi-ollivier-xtesting-{tag}-fourth-run'
+ <<: *xtesting-pi-jobs
+ - name: 'xtesting-pi-ollivier-xtesting-{tag}-fifth-run'
+ <<: *xtesting-pi-jobs
+ - name: 'xtesting-pi-ollivier-xtesting-{tag}-sixth-run'
+ <<: *xtesting-pi-jobs
+ - multijob:
+ name: ollivier/xtesting-mts:{tag}
+ projects:
+ - name: 'xtesting-pi-ollivier-xtesting-mts-{tag}-seventh-run'
+ <<: *xtesting-pi-jobs
+ - multijob:
+ name: dump all campaign data
+ projects:
+ - name: 'xtesting-pi-{tag}-zip'
+ <<: *xtesting-pi-jobs
+
+
+- project:
+ name: 'xtesting-pi'
+ <<: *xtesting-pi-params
+ jobs:
+ - 'xtesting-pi-{tag}-daily'
+
+- view:
+ name: xtesting-pi
+ view-type: list
+ columns:
+ - status
+ - weather
+ - job
+ - last-success
+ - last-failure
+ - last-duration
+ regex: ^xtesting-pi-(arm.*-|amd64-)*[a-z]+-daily$
diff --git a/jjb/functest/xtesting-project-jobs.yaml b/jjb/functest/xtesting-project-jobs.yaml
index b030fce..1a42d41 100644
--- a/jjb/functest/xtesting-project-jobs.yaml
+++ b/jjb/functest/xtesting-project-jobs.yaml
@@ -1,167 +1,86 @@
---
-###################################################
-# All the jobs except verify have been removed!
-# They will only be enabled on request by projects!
-###################################################
-- project:
- name: xtesting-project-jobs
-
- project: 'functest-xtesting'
-
- jobs:
- - 'xtesting-verify-{stream}'
- - 'xtesting-verify-{phase}-{stream}'
-
- stream:
- - master:
- branch: '{stream}'
- gs-pathname: ''
- disabled: false
- - jerma: &jerma
- branch: 'stable/{stream}'
- gs-pathname: '/{stream}'
- disabled: false
- - iruya: &iruya
- branch: 'stable/{stream}'
- gs-pathname: '/{stream}'
- disabled: false
- - hunter: &hunter
- branch: 'stable/{stream}'
- gs-pathname: '/{stream}'
- disabled: false
-
- phase:
- - 'unit-tests-and-docs':
- slave-label: 'lf-virtual1'
-
-- job-template:
- name: 'xtesting-verify-{stream}'
-
- disabled: '{obj:disabled}'
-
- project-type: 'multijob'
-
- parameters:
- - project-parameter:
- project: '{project}'
- branch: '{branch}'
- - 'opnfv-build-ubuntu-defaults'
-
- scm:
- - git-scm-gerrit
-
- triggers:
- - 'xtesting-verify-triggers-macro':
- project: '{project}'
- branch: '{branch}'
-
- builders:
- - shell: |
- #!/bin/bash
- # we do nothing here as the main stuff will be done
- # in phase jobs
- echo "Triggering phase jobs!"
- - multijob:
- name: 'xtesting-build-and-unittest'
- execution-type: PARALLEL
- projects:
- - name: 'xtesting-verify-unit-tests-and-docs-{stream}'
- current-parameters: false
- predefined-parameters: |
- GERRIT_BRANCH=$GERRIT_BRANCH
- GERRIT_REFSPEC=$GERRIT_REFSPEC
- GERRIT_CHANGE_NUMBER=$GERRIT_CHANGE_NUMBER
- GERRIT_CHANGE_COMMIT_MESSAGE=$GERRIT_CHANGE_COMMIT_MESSAGE
- git-revision: true
- node-parameters: false
- kill-phase-on: FAILURE
- abort-all-job: false
-
-- job-template:
- name: 'xtesting-verify-{phase}-{stream}'
-
- disabled: '{obj:disabled}'
-
- wrappers:
- - ssh-agent-wrapper
- - build-timeout:
- timeout: 30
-
- parameters:
- - project-parameter:
- project: '{project}'
- branch: '{branch}'
- - '{slave-label}-defaults'
-
- scm:
- - git-scm-gerrit
+- xtesting-project-params: &xtesting-project-params
+ name: 'xtesting-project-params'
+ tag:
+ - latest:
+ branch: master
+ slave: lf-virtual1
+ - leguer:
+ branch: stable/leguer
+ slave: lf-virtual1
+ - kali:
+ branch: stable/kali
+ slave: lf-virtual1
+ - jerma:
+ branch: stable/jerma
+ slave: lf-virtual1
+ - iruya:
+ branch: stable/iruya
+ slave: lf-virtual1
+ - hunter:
+ branch: stable/hunter
+ slave: lf-virtual1
+- builder:
+ name: xtesting-run-tox
builders:
- - 'xtesting-verify-{phase}-builders-macro'
-
- publishers:
- - 'xtesting-verify-{phase}-publishers-macro'
+ - shell: tox
-################################
-# job triggers
-################################
- trigger:
- name: 'xtesting-verify-triggers-macro'
+ name: xtesting-project-patchset-created
triggers:
- gerrit:
server-name: 'gerrit.opnfv.org'
trigger-on:
- - patchset-created-event:
- exclude-drafts: 'false'
- exclude-trivial-rebase: 'false'
- exclude-no-code-change: 'false'
- - draft-published-event
+ - patchset-created-event
- comment-added-contains-event:
comment-contains-value: 'recheck'
- comment-added-contains-event:
comment-contains-value: 'reverify'
projects:
- project-compare-type: 'ANT'
- project-pattern: '{project}'
+ project-pattern: 'functest-xtesting'
branches:
- branch-compare-type: 'ANT'
branch-pattern: '**/{branch}'
- disable-strict-forbidden-file-verification: 'true'
- forbidden-file-paths:
- - compare-type: ANT
- pattern: 'docs/**|.gitignore'
+ skip-vote:
+ successful: false
+ failed: false
+ unstable: false
+ notbuilt: false
+
+- parameter:
+ name: xtesting-project-slave
+ parameters:
+ - label:
+ name: slave
+ default: '{slave}'
-################################
-# job builders
-################################
+- scm:
+ name: xtesting-project-scm
+ scm:
+ - git:
+ url: https://gerrit.opnfv.org/gerrit/functest-xtesting
+ refspec: '+refs/changes/*:refs/changes/*'
+ branches:
+ - '{ref}'
-- builder:
- name: 'xtesting-verify-unit-tests-and-docs-builders-macro'
+- job-template:
+ name: 'xtesting-run-tox-{tag}'
+ triggers:
+ - xtesting-project-patchset-created:
+ branch: '{branch}'
+ scm:
+ - xtesting-project-scm:
+ ref: $GERRIT_REFSPEC
+ parameters:
+ - xtesting-project-slave:
+ slave: '{slave}'
builders:
- - shell: |
- cd $WORKSPACE && tox
+ - xtesting-run-tox
-################################
-# job publishers
-################################
-- publisher:
- name: 'xtesting-verify-unit-tests-and-docs-publishers-macro'
- publishers:
- - junit:
- results: nosetests.xml
- - cobertura:
- report-file: "coverage.xml"
- only-stable: "true"
- health-auto-update: "true"
- stability-auto-update: "true"
- zoom-coverage-chart: "true"
- targets:
- - files:
- healthy: 10
- unhealthy: 20
- failing: 30
- - method:
- healthy: 50
- unhealthy: 40
- failing: 30
- - email-jenkins-admins-on-failure
+- project:
+ name: 'xtesting-run-tox'
+ <<: *xtesting-project-params
+ jobs:
+ - 'xtesting-run-tox-{tag}'
diff --git a/jjb/functest/xtesting.yaml b/jjb/functest/xtesting.yaml
index cc9ec07..640e349 100644
--- a/jjb/functest/xtesting.yaml
+++ b/jjb/functest/xtesting.yaml
@@ -11,6 +11,12 @@
- latest:
branch: master
slave: lf-virtual1
+ - leguer:
+ branch: stable/leguer
+ slave: lf-virtual1
+ - kali:
+ branch: stable/kali
+ slave: lf-virtual1
- jerma:
branch: stable/jerma
slave: lf-virtual1
@@ -29,12 +35,25 @@
default: '{slave}'
- parameter:
+ name: xtesting-build_tag
+ parameters:
+ - random-string:
+ name: build_tag
+
+- parameter:
name: xtesting-branch
parameters:
- string:
name: branch
default: '{branch}'
+- parameter:
+ name: xtesting-DEBUG
+ parameters:
+ - string:
+ name: DEBUG
+ default: 'true'
+
- xtesting-containers: &xtesting-containers
name: 'xtesting-containers'
repo: '{repo}'
@@ -43,15 +62,11 @@
tag: '{tag}'
- xtesting-run-containers: &xtesting-run-containers
- name: 'xtesting-build-containers'
+ name: 'xtesting-run-containers'
<<: *xtesting-containers
test: '{test}'
-
-- xtesting-build-containers: &xtesting-build-containers
- name: 'xtesting-build-containers'
- <<: *xtesting-containers
- ref_arg: '{ref_arg}'
- path: '{path}'
+ privileged: '{privileged}'
+ network: '{network}'
- builder:
name: xtesting-pull-containers
@@ -68,10 +83,11 @@
sudo docker pull $image
- builder:
- name: xtesting-build-containers
+ name: xtesting-run-containers
builders:
- shell: |
set +x
+ [ ! -z "$WORKSPACE" ] && sudo rm -rf $WORKSPACE/* || true
if [ "{repo}" = "_" ]; then
image={container}:{tag}
elif [ "{port}" = "None" ]; then
@@ -79,22 +95,26 @@
else
image={repo}:{port}/{container}:{tag}
fi
- if [ "{ref_arg}" = "None" ]; then
- build_arg=""
- else
- build_arg="--build-arg {ref_arg}={ref}"
- fi