summaryrefslogtreecommitdiffstats
path: root/jjb
diff options
context:
space:
mode:
Diffstat (limited to 'jjb')
-rwxr-xr-xjjb/3rd_party_ci/create-apex-vms.sh12
-rwxr-xr-xjjb/3rd_party_ci/download-netvirt-artifact.sh23
-rwxr-xr-xjjb/3rd_party_ci/functest-netvirt.sh7
-rwxr-xr-xjjb/3rd_party_ci/install-netvirt.sh8
-rw-r--r--jjb/3rd_party_ci/odl-netvirt.yml212
-rwxr-xr-xjjb/3rd_party_ci/postprocess-netvirt.sh7
-rwxr-xr-xjjb/apex/apex-build.sh2
-rwxr-xr-xjjb/apex/apex-deploy.sh2
-rwxr-xr-xjjb/apex/apex-upload-artifact.sh2
-rw-r--r--jjb/apex/apex.yml304
-rw-r--r--jjb/armband/armband-ci-jobs.yml17
-rw-r--r--jjb/barometer/barometer.yml (renamed from jjb/fastpathmetrics/fastpathmetrics.yml)24
-rw-r--r--jjb/compass4nfv/compass-ci-jobs.yml40
-rw-r--r--jjb/compass4nfv/compass-deploy.sh16
-rw-r--r--jjb/compass4nfv/compass-verify-jobs.yml23
-rw-r--r--jjb/doctor/doctor.yml11
-rw-r--r--jjb/dovetail/dovetail-ci-jobs.yml48
-rwxr-xr-xjjb/dovetail/dovetail-cleanup.sh7
-rwxr-xr-xjjb/dovetail/dovetail-run.sh41
-rw-r--r--jjb/functest/functest-ci-jobs.yml9
-rwxr-xr-xjjb/functest/functest-cleanup.sh2
-rwxr-xr-xjjb/functest/functest-suite.sh2
-rw-r--r--jjb/global/installer-params.yml19
-rw-r--r--jjb/global/slave-params.yml20
-rw-r--r--jjb/infra/bifrost-verify-jobs.yml3
-rwxr-xr-xjjb/infra/bifrost-verify.sh3
-rw-r--r--jjb/kvmfornfv/kvmfornfv.yml116
-rw-r--r--jjb/qtip/qtip-ci-jobs.yml38
-rw-r--r--jjb/qtip/qtip-project-jobs.yml20
-rw-r--r--jjb/releng/opnfv-docker.sh2
-rw-r--r--jjb/securityscanning/opnfv-security-scan.yml109
31 files changed, 626 insertions, 523 deletions
diff --git a/jjb/3rd_party_ci/create-apex-vms.sh b/jjb/3rd_party_ci/create-apex-vms.sh
new file mode 100755
index 000000000..a076dd084
--- /dev/null
+++ b/jjb/3rd_party_ci/create-apex-vms.sh
@@ -0,0 +1,12 @@
+#!/bin/bash
+set -e
+
+# wipe the WORKSPACE
+/bin/rm -rf $WORKSPACE/*
+
+# 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/download-netvirt-artifact.sh b/jjb/3rd_party_ci/download-netvirt-artifact.sh
new file mode 100755
index 000000000..0a48e3aec
--- /dev/null
+++ b/jjb/3rd_party_ci/download-netvirt-artifact.sh
@@ -0,0 +1,23 @@
+#!/bin/bash
+set -e
+
+# wipe the WORKSPACE
+/bin/rm -rf $WORKSPACE/*
+
+echo "Attempting to fetch the artifact location from ODL Jenkins"
+CHANGE_DETAILS_URL="https://git.opendaylight.org/gerrit/changes/netvirt~master~$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_JOB_URL=$(curl -s $CHANGE_DETAILS_URL | grep netvirt-patch-test-current-carbon | tail -1 | \
+ sed 's/\\n//g' | awk '{print $6}')
+NETVIRT_ARTIFACT_URL="${ODL_JOB_URL}org.opendaylight.integration\$distribution-karaf/artifact/org.opendaylight.integration/distribution-karaf/0.6.0-SNAPSHOT/distribution-karaf-0.6.0-SNAPSHOT.tar.gz"
+echo -e "URL to artifact is\n\t$NETVIRT_ARTIFACT_URL"
+
+echo "Downloading the artifact. This could take time..."
+wget -q -O $NETVIRT_ARTIFACT $NETVIRT_ARTIFACT_URL
+if [[ $? -ne 0 ]]; then
+ echo "The artifact does not exist! Probably removed due to ODL Jenkins artifact retention policy."
+ echo "Rerun netvirt-patch-test-current-carbon to get artifact rebuilt."
+ exit 1
+fi
+echo "Download complete"
+ls -al $NETVIRT_ARTIFACT
diff --git a/jjb/3rd_party_ci/functest-netvirt.sh b/jjb/3rd_party_ci/functest-netvirt.sh
new file mode 100755
index 000000000..adffaf42d
--- /dev/null
+++ b/jjb/3rd_party_ci/functest-netvirt.sh
@@ -0,0 +1,7 @@
+#!/bin/bash
+set -e
+
+# wipe the WORKSPACE
+/bin/rm -rf $WORKSPACE/*
+
+echo "Hello World"
diff --git a/jjb/3rd_party_ci/install-netvirt.sh b/jjb/3rd_party_ci/install-netvirt.sh
new file mode 100755
index 000000000..96c4b9634
--- /dev/null
+++ b/jjb/3rd_party_ci/install-netvirt.sh
@@ -0,0 +1,8 @@
+#!/bin/bash
+set -e
+# 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
+./odl_reinstaller.sh --cloner-info $CLONER_INFO --odl-artifact $NETVIRT_ARTIFACT
+popd \ No newline at end of file
diff --git a/jjb/3rd_party_ci/odl-netvirt.yml b/jjb/3rd_party_ci/odl-netvirt.yml
new file mode 100644
index 000000000..3dd4c0b44
--- /dev/null
+++ b/jjb/3rd_party_ci/odl-netvirt.yml
@@ -0,0 +1,212 @@
+- project:
+ name: 'netvirt'
+
+ project: 'netvirt'
+
+ installer: 'apex'
+#####################################
+# branch definitions
+#####################################
+ stream:
+ - master:
+ branch: '{stream}'
+ gs-pathname: ''
+ disabled: false
+#####################################
+# patch verification phases
+#####################################
+ phase:
+ - 'create-apex-vms':
+ slave-label: 'ericsson-virtual5'
+ - 'install-netvirt':
+ slave-label: 'odl-netvirt-virtual'
+ - 'functest':
+ slave-label: 'odl-netvirt-virtual'
+ - 'postprocess':
+ slave-label: 'odl-netvirt-virtual'
+#####################################
+# 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:
+ - throttle:
+ enabled: true
+ max-total: 5
+ max-per-node: 1
+ option: 'project'
+
+ parameters:
+ - project-parameter:
+ project: '{project}'
+ - gerrit-parameter:
+ branch: '{branch}'
+ - string:
+ name: NETVIRT_ARTIFACT
+ default: $WORKSPACE/distribution-karaf.tar.gz
+ - 'odl-netvirt-virtual-defaults'
+
+ triggers:
+ - gerrit:
+ server-name: 'git.opendaylight.org'
+ trigger-on:
+ - 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'
+ - comment-added-contains-event:
+ comment-contains-value: 'opnfv-test'
+ projects:
+ - project-compare-type: 'ANT'
+ project-pattern: '{project}'
+ branches:
+ - branch-compare-type: 'ANT'
+ branch-pattern: '**/{branch}'
+ readable-message: true
+
+ builders:
+ - description-setter:
+ description: "Built on $NODE_NAME"
+ - multijob:
+ name: create-apex-vms
+ condition: SUCCESSFUL
+ projects:
+ - name: 'odl-netvirt-verify-virtual-create-apex-vms-{stream}'
+ current-parameters: false
+ predefined-parameters: |
+ GERRIT_BRANCH=$GERRIT_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
+ node-parameters: false
+ 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: |
+ GERRIT_BRANCH=$GERRIT_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: true
+ - multijob:
+ name: functest
+ condition: SUCCESSFUL
+ projects:
+ - name: 'functest-netvirt-virtual-suite-{stream}'
+ predefined-parameters: |
+ FUNCTEST_SUITE_NAME=vping_userdata,bgpvpn
+ RC_FILE_PATH=/home/jenkins/cloner-info/overcloudrc
+ node-parameters: true
+ kill-phase-on: FAILURE
+ abort-all-job: false
+ - multijob:
+ name: postprocess
+ condition: ALWAYS
+ projects:
+ - name: 'odl-netvirt-verify-virtual-postprocess-{stream}'
+ current-parameters: false
+ predefined-parameters: |
+ GERRIT_BRANCH=$GERRIT_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: true
+
+- job-template:
+ name: 'odl-netvirt-verify-virtual-{phase}-{stream}'
+
+ disabled: '{obj:disabled}'
+
+ concurrent: true
+
+ properties:
+ - throttle:
+ enabled: true
+ max-total: 5
+ max-per-node: 1
+ option: 'project'
+ - build-blocker:
+ use-build-blocker: true
+ blocking-jobs:
+ - 'odl-netvirt-verify-virtual-install-.*'
+ - 'odl-netvirt-verify-virtual-functest-.*'
+ - 'odl-netvirt-verify-virtual-postprocess-.*'
+ block-level: 'NODE'
+
+ wrappers:
+ - ssh-agent-credentials:
+ users:
+ - '{ssh-credentials}'
+ - timeout:
+ timeout: 360
+ fail: true
+
+ parameters:
+ - project-parameter:
+ project: '{project}'
+ - gerrit-parameter:
+ branch: '{branch}'
+ - '{slave-label}-defaults'
+ - '{installer}-defaults'
+
+ 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: ./create-apex-vms.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-functest-builder'
+ builders:
+ - shell:
+ !include-raw: ./functest-netvirt.sh
+- builder:
+ name: 'netvirt-verify-postprocess-builder'
+ builders:
+ - shell:
+ !include-raw: ./postprocess-netvirt.sh
diff --git a/jjb/3rd_party_ci/postprocess-netvirt.sh b/jjb/3rd_party_ci/postprocess-netvirt.sh
new file mode 100755
index 000000000..adffaf42d
--- /dev/null
+++ b/jjb/3rd_party_ci/postprocess-netvirt.sh
@@ -0,0 +1,7 @@
+#!/bin/bash
+set -e
+
+# wipe the WORKSPACE
+/bin/rm -rf $WORKSPACE/*
+
+echo "Hello World"
diff --git a/jjb/apex/apex-build.sh b/jjb/apex/apex-build.sh
index e3e3f6194..ee1dfb5d3 100755
--- a/jjb/apex/apex-build.sh
+++ b/jjb/apex/apex-build.sh
@@ -23,7 +23,7 @@ fi
# start the build
cd $WORKSPACE/ci
./build.sh $BUILD_ARGS
-RPM_VERSION=$(grep Version: $BUILD_DIRECTORY/rpm_specs/opnfv-apex.spec | awk '{ print $2 }')-$(echo $OPNFV_ARTIFACT_VERSION | tr -d '_-')
+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}"
echo "Build Directory Contents:"
diff --git a/jjb/apex/apex-deploy.sh b/jjb/apex/apex-deploy.sh
index bbceb4b88..8d5c4cb13 100755
--- a/jjb/apex/apex-deploy.sh
+++ b/jjb/apex/apex-deploy.sh
@@ -72,7 +72,7 @@ if [[ "$BUILD_DIRECTORY" == *verify* ]]; then
DEPLOY_SETTINGS_DIR="${WORKSPACE}/config/deploy"
NETWORK_SETTINGS_DIR="${WORKSPACE}/config/network"
DEPLOY_CMD="$(pwd)/deploy.sh"
- RESOURCES="${WORKSPACE}/build/images/"
+ RESOURCES="${WORKSPACE}/.build/"
CONFIG="${WORKSPACE}/build"
LIB="${WORKSPACE}/lib"
# Make sure python34 deps are installed
diff --git a/jjb/apex/apex-upload-artifact.sh b/jjb/apex/apex-upload-artifact.sh
index f54e4c55a..64f13f4e6 100755
--- a/jjb/apex/apex-upload-artifact.sh
+++ b/jjb/apex/apex-upload-artifact.sh
@@ -11,6 +11,8 @@ echo
# source the opnfv.properties to get ARTIFACT_VERSION
source $WORKSPACE/opnfv.properties
+BUILD_DIRECTORY=${WORKSPACE}/.build
+
# clone releng repository
echo "Cloning releng repository..."
[ -d releng ] && rm -rf releng
diff --git a/jjb/apex/apex.yml b/jjb/apex/apex.yml
index 6011fe790..d8784c678 100644
--- a/jjb/apex/apex.yml
+++ b/jjb/apex/apex.yml
@@ -16,38 +16,10 @@
- master:
branch: 'master'
gs-pathname: ''
- block-stream: 'colorado'
- slave: 'lf-pod1'
- verify-slave: 'apex-verify-master'
- daily-slave: 'apex-daily-master'
- - colorado:
- branch: 'stable/colorado'
- gs-pathname: '/colorado'
- block-stream: 'master'
- slave: 'lf-pod1'
- verify-slave: 'apex-verify-colorado'
- daily-slave: 'apex-daily-colorado'
- disabled: false
-
- stream1:
- - master:
- branch: 'master'
- gs-pathname: ''
- block-stream: 'colorado'
slave: 'lf-pod1'
verify-slave: 'apex-verify-master'
daily-slave: 'apex-daily-master'
- stream2:
- - colorado:
- branch: 'stable/colorado'
- gs-pathname: '/colorado'
- block-stream: 'master'
- slave: 'lf-pod1'
- verify-slave: 'apex-verify-colorado'
- daily-slave: 'apex-daily-colorado'
- disabled: false
-
project: 'apex'
scenario:
@@ -56,15 +28,12 @@
- 'os-nosdn-nofeature-ha-ipv6'
- 'os-nosdn-ovs-noha'
- 'os-nosdn-fdio-noha'
- - 'os-odl_l2-nofeature-ha'
- - 'os-odl_l2-bgpvpn-ha'
+ - 'os-odl_l3-bgpvpn-ha'
- 'os-odl_l2-fdio-noha'
- 'os-odl_l2-fdio-ha'
- 'os-odl_l2-sfc-noha'
- 'os-odl_l3-nofeature-ha'
- 'os-onos-nofeature-ha'
- - 'os-onos-sfc-ha'
- - 'os-ocl-nofeature-ha'
platform:
- 'baremetal'
@@ -216,7 +185,7 @@
block: true
same-node: true
- trigger-builds:
- - project: 'apex-deploy-virtual-os-odl_l2-nofeature-ha-{stream}'
+ - project: 'apex-deploy-virtual-os-odl_l3-nofeature-ha-{stream}'
predefined-parameters: |
BUILD_DIRECTORY=apex-verify-{stream}
OPNFV_CLEAN=yes
@@ -226,7 +195,7 @@
- trigger-builds:
- project: 'functest-apex-{verify-slave}-suite-{stream}'
predefined-parameters: |
- DEPLOY_SCENARIO=os-odl_l2-nofeature-ha
+ DEPLOY_SCENARIO=os-odl_l3-nofeature-ha
FUNCTEST_SUITE_NAME=healthcheck
block: true
same-node: true
@@ -393,7 +362,7 @@
- trigger-builds:
- project: 'apex-deploy-virtual-os-nosdn-nofeature-noha-{stream}'
predefined-parameters: |
- BUILD_DIRECTORY=apex-build-{stream}/build
+ BUILD_DIRECTORY=apex-build-{stream}/.build
OPNFV_CLEAN=yes
git-revision: false
same-node: true
@@ -539,7 +508,7 @@
- trigger-builds:
- project: 'apex-deploy-baremetal-os-nosdn-nofeature-ha-{stream}'
predefined-parameters: |
- BUILD_DIRECTORY=apex-build-{stream}/build
+ BUILD_DIRECTORY=apex-build-{stream}/.build
OPNFV_CLEAN=yes
git-revision: true
same-node: true
@@ -567,39 +536,9 @@
failure-threshold: 'never'
unstable-threshold: 'FAILURE'
- trigger-builds:
- - project: 'apex-deploy-baremetal-os-odl_l2-nofeature-ha-{stream}'
- predefined-parameters: |
- BUILD_DIRECTORY=apex-build-{stream}/build
- OPNFV_CLEAN=yes
- git-revision: true
- same-node: true
- block-thresholds:
- build-step-failure-threshold: 'never'
- block: true
- - trigger-builds:
- - project: 'functest-apex-{daily-slave}-daily-{stream}'
- predefined-parameters:
- DEPLOY_SCENARIO=os-odl_l2-nofeature-ha
- block: true
- same-node: true
- block-thresholds:
- build-step-failure-threshold: 'never'
- failure-threshold: 'never'
- unstable-threshold: 'FAILURE'
- - trigger-builds:
- - project: 'yardstick-apex-{slave}-daily-{stream}'
- predefined-parameters:
- DEPLOY_SCENARIO=os-odl_l2-nofeature-ha
- block: true
- same-node: true
- block-thresholds:
- build-step-failure-threshold: 'never'
- failure-threshold: 'never'
- unstable-threshold: 'FAILURE'
- - trigger-builds:
- project: 'apex-deploy-baremetal-os-odl_l3-nofeature-ha-{stream}'
predefined-parameters: |
- BUILD_DIRECTORY=apex-build-{stream}/build
+ BUILD_DIRECTORY=apex-build-{stream}/.build
OPNFV_CLEAN=yes
git-revision: true
same-node: true
@@ -626,226 +565,6 @@
build-step-failure-threshold: 'never'
failure-threshold: 'never'
unstable-threshold: 'FAILURE'
- - trigger-builds:
- - project: 'apex-deploy-baremetal-os-onos-nofeature-ha-{stream}'
- predefined-parameters: |
- BUILD_DIRECTORY=apex-build-{stream}/build
- OPNFV_CLEAN=yes
- git-revision: true
- same-node: true
- block-thresholds:
- build-step-failure-threshold: 'never'
- block: true
- - trigger-builds:
- - project: 'functest-apex-{daily-slave}-daily-{stream}'
- predefined-parameters:
- DEPLOY_SCENARIO=os-onos-nofeature-ha
- block: true
- same-node: true
- block-thresholds:
- build-step-failure-threshold: 'never'
- failure-threshold: 'never'
- unstable-threshold: 'FAILURE'
- - trigger-builds:
- - project: 'yardstick-apex-{slave}-daily-{stream}'
- predefined-parameters:
- DEPLOY_SCENARIO=os-onos-nofeature-ha
- block: true
- same-node: true
- block-thresholds:
- build-step-failure-threshold: 'never'
- failure-threshold: 'never'
- unstable-threshold: 'FAILURE'
- - trigger-builds:
- - project: 'apex-deploy-baremetal-os-odl_l2-bgpvpn-ha-{stream}'
- predefined-parameters: |
- BUILD_DIRECTORY=apex-build-{stream}/build
- OPNFV_CLEAN=yes
- git-revision: true
- same-node: true
- block-thresholds:
- build-step-failure-threshold: 'never'
- block: true
- - trigger-builds:
- - project: 'functest-apex-{daily-slave}-daily-{stream}'
- predefined-parameters:
- DEPLOY_SCENARIO=os-odl_l2-bgpvpn-ha
- block: true
- same-node: true
- block-thresholds:
- build-step-failure-threshold: 'never'
- failure-threshold: 'never'
- unstable-threshold: 'FAILURE'
- - trigger-builds:
- - project: 'yardstick-apex-{slave}-daily-{stream}'
- predefined-parameters:
- DEPLOY_SCENARIO=os-odl_l2-bgpvpn-ha
- block: true
- same-node: true
- block-thresholds:
- build-step-failure-threshold: 'never'
- failure-threshold: 'never'
- unstable-threshold: 'FAILURE'
- - trigger-builds:
- - project: 'apex-deploy-baremetal-os-onos-sfc-ha-{stream}'
- predefined-parameters: |
- BUILD_DIRECTORY=apex-build-{stream}/build
- OPNFV_CLEAN=yes
- git-revision: true
- same-node: true
- block-thresholds:
- build-step-failure-threshold: 'never'
- block: true
- - trigger-builds:
- - project: 'functest-apex-{daily-slave}-daily-{stream}'
- predefined-parameters:
- DEPLOY_SCENARIO=os-onos-sfc-ha
- block: true
- same-node: true
- block-thresholds:
- build-step-failure-threshold: 'never'
- failure-threshold: 'never'
- unstable-threshold: 'FAILURE'
- - trigger-builds:
- - project: 'yardstick-apex-{slave}-daily-{stream}'
- predefined-parameters:
- DEPLOY_SCENARIO=os-onos-sfc-ha
- block: true
- same-node: true
- block-thresholds:
- build-step-failure-threshold: 'never'
- failure-threshold: 'never'
- unstable-threshold: 'FAILURE'
- - trigger-builds:
- - project: 'apex-deploy-baremetal-os-odl_l2-sfc-noha-{stream}'
- predefined-parameters: |
- BUILD_DIRECTORY=apex-build-{stream}/build
- OPNFV_CLEAN=yes
- git-revision: true
- same-node: true
- block-thresholds:
- build-step-failure-threshold: 'never'
- block: true
- - trigger-builds:
- - project: 'functest-apex-{daily-slave}-daily-{stream}'
- predefined-parameters:
- DEPLOY_SCENARIO=os-odl_l2-sfc-noha
- block: true
- same-node: true
- block-thresholds:
- build-step-failure-threshold: 'never'
- failure-threshold: 'never'
- unstable-threshold: 'FAILURE'
- - trigger-builds:
- - project: 'yardstick-apex-{slave}-daily-{stream}'
- predefined-parameters:
- DEPLOY_SCENARIO=os-odl_l2-sfc-noha
- block: true
- same-node: true
- block-thresholds:
- build-step-failure-threshold: 'never'
- failure-threshold: 'never'
- unstable-threshold: 'FAILURE'
- - trigger-builds:
- - project: 'apex-deploy-baremetal-os-odl_l2-fdio-ha-{stream}'
- predefined-parameters: |
- BUILD_DIRECTORY=apex-build-{stream}/build
- OPNFV_CLEAN=yes
- git-revision: true
- same-node: true
- block-thresholds:
- build-step-failure-threshold: 'never'
- block: true
- - trigger-builds:
- - project: 'functest-apex-{daily-slave}-daily-{stream}'
- predefined-parameters:
- DEPLOY_SCENARIO=os-odl_l2-fdio-ha
- block: true
- same-node: true
- block-thresholds:
- build-step-failure-threshold: 'never'
- failure-threshold: 'never'
- unstable-threshold: 'FAILURE'
- - trigger-builds:
- - project: 'yardstick-apex-{slave}-daily-{stream}'
- predefined-parameters:
- DEPLOY_SCENARIO=os-odl_l2-fdio-ha
- block: true
- same-node: true
- block-thresholds:
- build-step-failure-threshold: 'never'
- failure-threshold: 'never'
- unstable-threshold: 'FAILURE'
- - trigger-builds:
- - project: 'apex-deploy-baremetal-os-nosdn-fdio-noha-{stream}'
- predefined-parameters: |
- BUILD_DIRECTORY=apex-build-{stream}/build
- OPNFV_CLEAN=yes
- git-revision: true
- same-node: true
- block-thresholds:
- build-step-failure-threshold: 'never'
- block: true
- - trigger-builds:
- - project: 'functest-apex-{daily-slave}-daily-{stream}'
- predefined-parameters:
- DEPLOY_SCENARIO=os-nosdn-fdio-noha
- block: true
- same-node: true
- block-thresholds:
- build-step-failure-threshold: 'never'
- failure-threshold: 'never'
- unstable-threshold: 'FAILURE'
- - trigger-builds:
- - project: 'yardstick-apex-{slave}-daily-{stream}'
- predefined-parameters:
- DEPLOY_SCENARIO=os-nosdn-fdio-noha
- block: true
- same-node: true
- block-thresholds:
- build-step-failure-threshold: 'never'
- failure-threshold: 'never'
- unstable-threshold: 'FAILURE'
- - trigger-builds:
- - project: 'apex-deploy-virtual-os-nosdn-nofeature-ha-ipv6-{stream}'
- predefined-parameters: |
- BUILD_DIRECTORY=apex-build-{stream}/build
- OPNFV_CLEAN=yes
- git-revision: true
- same-node: true
- block-thresholds:
- build-step-failure-threshold: 'never'
- block: true
- - trigger-builds:
- - project: 'apex-deploy-baremetal-os-nosdn-ovs-noha-{stream}'
- predefined-parameters: |
- BUILD_DIRECTORY=apex-build-{stream}/build
- OPNFV_CLEAN=yes
- git-revision: true
- same-node: true
- block-thresholds:
- build-step-failure-threshold: 'never'
- block: true
- - trigger-builds:
- - project: 'functest-apex-{daily-slave}-daily-{stream}'
- predefined-parameters:
- DEPLOY_SCENARIO=os-nosdn-ovs-noha
- block: true
- same-node: true
- block-thresholds:
- build-step-failure-threshold: 'never'
- failure-threshold: 'never'
- unstable-threshold: 'FAILURE'
- - trigger-builds:
- - project: 'yardstick-apex-{slave}-daily-{stream}'
- predefined-parameters:
- DEPLOY_SCENARIO=os-nosdn-ovs-noha
- block: true
- same-node: true
- block-thresholds:
- build-step-failure-threshold: 'never'
- failure-threshold: 'never'
- unstable-threshold: 'FAILURE'
- job-template:
name: 'apex-gs-clean-{stream}'
@@ -952,16 +671,7 @@
- trigger:
name: 'apex-master'
triggers:
- - timed: '0 3 * * 0'
- - timed: '0 3 * * 4'
-- trigger:
- name: 'apex-colorado'
- triggers:
- - timed: '0 3 * * 1'
- - timed: '0 3 * * 2'
- - timed: '0 3 * * 3'
- - timed: '0 3 * * 5'
- - timed: '0 3 * * 6'
+ - timed: '0 3 * * *'
- trigger:
name: 'apex-gs-clean-{stream}'
triggers:
diff --git a/jjb/armband/armband-ci-jobs.yml b/jjb/armband/armband-ci-jobs.yml
index b1cd9bf75..77718e181 100644
--- a/jjb/armband/armband-ci-jobs.yml
+++ b/jjb/armband/armband-ci-jobs.yml
@@ -160,6 +160,23 @@
build-step-failure-threshold: 'never'
failure-threshold: 'never'
unstable-threshold: 'FAILURE'
+ # 1.dovetail only master by now, not sync with A/B/C branches
+ # 2.here the stream means the SUT stream, dovetail stream is defined in its own job
+ # 3.only debug testsuite here(includes 3 basic testcase,
+ # i.e. one tempest smoke ipv6, two vping from functest)
+ # 4.not used for release criteria or compliance,
+ # only to debug the dovetail tool bugs with arm pods
+ - trigger-builds:
+ - project: 'dovetail-{installer}-{pod}-debug-{stream}'
+ current-parameters: false
+ predefined-parameters:
+ DEPLOY_SCENARIO={scenario}
+ block: true
+ same-node: true
+ block-thresholds:
+ build-step-failure-threshold: 'never'
+ failure-threshold: 'never'
+ unstable-threshold: 'FAILURE'
- job-template:
name: '{installer}-deploy-{pod}-daily-{stream}'
diff --git a/jjb/fastpathmetrics/fastpathmetrics.yml b/jjb/barometer/barometer.yml
index 6be6a52c3..c763f3001 100644
--- a/jjb/fastpathmetrics/fastpathmetrics.yml
+++ b/jjb/barometer/barometer.yml
@@ -3,14 +3,14 @@
# They will only be enabled on request by projects!
###################################################
- project:
- name: fastpathmetrics
+ name: barometer
project: '{name}'
jobs:
- - 'fastpathmetrics-verify-{stream}'
- - 'fastpathmetrics-merge-{stream}'
- - 'fastpathmetrics-daily-{stream}'
+ - 'barometer-verify-{stream}'
+ - 'barometer-merge-{stream}'
+ - 'barometer-daily-{stream}'
stream:
- master:
@@ -23,7 +23,7 @@
disabled: false
- job-template:
- name: 'fastpathmetrics-verify-{stream}'
+ name: 'barometer-verify-{stream}'
disabled: '{obj:disabled}'
@@ -71,7 +71,7 @@
make
- job-template:
- name: 'fastpathmetrics-merge-{stream}'
+ name: 'barometer-merge-{stream}'
project-type: freestyle
@@ -120,11 +120,12 @@
- shell: |
pwd
cd src
- make clobber
- make
+ ./install_build_deps.sh
+ sudo make clobber
+ sudo make
- job-template:
- name: 'fastpathmetrics-daily-{stream}'
+ name: 'barometer-daily-{stream}'
project-type: freestyle
@@ -159,5 +160,6 @@
- shell: |
pwd
cd src
- make clobber
- make
+ ./install_build_deps.sh
+ sudo make clobber
+ sudo make
diff --git a/jjb/compass4nfv/compass-ci-jobs.yml b/jjb/compass4nfv/compass-ci-jobs.yml
index b70bfc67b..0d97fef75 100644
--- a/jjb/compass4nfv/compass-ci-jobs.yml
+++ b/jjb/compass4nfv/compass-ci-jobs.yml
@@ -10,10 +10,10 @@
stream: master
branch: '{stream}'
gs-pathname: ''
- colorado: &colorado
- stream: colorado
- branch: 'stable/{stream}'
- gs-pathname: '/{stream}'
+# colorado: &colorado
+# stream: colorado
+# branch: 'stable/{stream}'
+# gs-pathname: '/{stream}'
#--------------------------------
# POD, INSTALLER, AND BRANCH MAPPING
#--------------------------------
@@ -28,14 +28,14 @@
slave-label: compass-virtual
os-version: 'trusty'
<<: *master
- - baremetal:
- slave-label: compass-baremetal
- os-version: 'trusty'
- <<: *colorado
- - virtual:
- slave-label: compass-virtual
- os-version: 'trusty'
- <<: *colorado
+# - baremetal:
+# slave-label: compass-baremetal
+# os-version: 'trusty'
+# <<: *colorado
+# - virtual:
+# slave-label: compass-virtual
+# os-version: 'trusty'
+# <<: *colorado
#--------------------------------
# master
#--------------------------------
@@ -48,35 +48,27 @@
- 'os-nosdn-nofeature-ha':
disabled: false
auto-trigger-name: 'compass-{scenario}-{pod}-{stream}-trigger'
- openstack-os-version: ''
- 'os-odl_l2-nofeature-ha':
disabled: false
auto-trigger-name: 'compass-{scenario}-{pod}-{stream}-trigger'
- openstack-os-version: ''
- 'os-odl_l3-nofeature-ha':
disabled: false
auto-trigger-name: 'compass-{scenario}-{pod}-{stream}-trigger'
- openstack-os-version: ''
- 'os-onos-nofeature-ha':
disabled: false
auto-trigger-name: 'compass-{scenario}-{pod}-{stream}-trigger'
- openstack-os-version: ''
- 'os-ocl-nofeature-ha':
disabled: false
auto-trigger-name: 'compass-{scenario}-{pod}-{stream}-trigger'
- openstack-os-version: ''
- 'os-onos-sfc-ha':
disabled: false
auto-trigger-name: 'compass-{scenario}-{pod}-{stream}-trigger'
- openstack-os-version: ''
- 'os-odl_l2-moon-ha':
disabled: false
auto-trigger-name: 'compass-{scenario}-{pod}-{stream}-trigger'
- openstack-os-version: 'xenial'
- 'os-nosdn-kvm-ha':
disabled: false
auto-trigger-name: 'compass-{scenario}-{pod}-{stream}-trigger'
- openstack-os-version: ''
jobs:
- 'compass-{scenario}-{pod}-daily-{stream}'
@@ -131,7 +123,6 @@
predefined-parameters: |
DEPLOY_SCENARIO={scenario}
COMPASS_OS_VERSION={os-version}
- COMPASS_OS_VERSION_OPTION={openstack-os-version}
same-node: true
block: true
- trigger-builds:
@@ -159,7 +150,7 @@
#dovetail only master by now, not sync with A/B/C branches
#here the stream means the SUT stream, dovetail stream is defined in its own job
- trigger-builds:
- - project: 'dovetail-compass-{pod}-basic-{stream}'
+ - project: 'dovetail-compass-{pod}-debug-{stream}'
current-parameters: false
predefined-parameters:
DEPLOY_SCENARIO={scenario}
@@ -250,11 +241,6 @@
- 'mitaka'
- 'newton'
- 'liberty'
- - choice:
- name: COMPASS_OS_VERSION_OPTION
- choices:
- - ''
- - 'xenial'
########################
# trigger macros
diff --git a/jjb/compass4nfv/compass-deploy.sh b/jjb/compass4nfv/compass-deploy.sh
index 256717953..c8d6159a2 100644
--- a/jjb/compass4nfv/compass-deploy.sh
+++ b/jjb/compass4nfv/compass-deploy.sh
@@ -29,19 +29,9 @@ cd $WORKSPACE
export OS_VERSION=${COMPASS_OS_VERSION}
export OPENSTACK_VERSION=${COMPASS_OPENSTACK_VERSION}
-if [[ "${COMPASS_OS_VERSION_OPTION}" = "xenial" ]] && [[ "${OPENSTACK_VERSION}" = "mitaka" ]]; then
- export OPENSTACK_VERSION=${OPENSTACK_VERSION}_${COMPASS_OS_VERSION_OPTION}
- export OS_VERSION=${COMPASS_OS_VERSION_OPTION}
-fi
-if [[ "${OPENSTACK_VERSION}" = "newton" ]]; then
- export OS_VERSION="xenial"
- export OPENSTACK_VERSION=${OPENSTACK_VERSION}_${OS_VERSION}
-fi
-
if [[ "${DEPLOY_SCENARIO}" =~ "-ocl" ]]; then
export NETWORK_CONF_FILE=network_ocl.yml
- export OPENSTACK_VERSION=liberty
elif [[ "${DEPLOY_SCENARIO}" =~ "-onos" ]]; then
export NETWORK_CONF_FILE=network_onos.yml
else
@@ -57,7 +47,11 @@ else
export DHA_CONF=$CONFDIR/hardware_environment/$NODE_NAME/${DEPLOY_SCENARIO}.yml
fi
-./deploy.sh --dha ${DHA_CONF} --network ${NETWORK_CONF}
+export DHA=${DHA_CONF}
+export NETWORK=${NETWORK_CONF}
+
+source ./ci/deploy_ci.sh
+
if [ $? -ne 0 ]; then
echo "depolyment failed!"
deploy_ret=1
diff --git a/jjb/compass4nfv/compass-verify-jobs.yml b/jjb/compass4nfv/compass-verify-jobs.yml
index 938214485..69cc958a8 100644
--- a/jjb/compass4nfv/compass-verify-jobs.yml
+++ b/jjb/compass4nfv/compass-verify-jobs.yml
@@ -138,21 +138,20 @@
current-parameters: true
predefined-parameters: |
COMPASS_OS_VERSION={os-version}
- COMPASS_OS_VERSION_OPTION={openstack-os-version}
node-parameters: true
kill-phase-on: FAILURE
abort-all-job: true
- - multijob:
- name: smoke-test
- condition: SUCCESSFUL
- projects:
- - name: 'functest-compass-virtual-suite-{stream}'
- current-parameters: true
- predefined-parameters:
- FUNCTEST_SUITE_NAME=healthcheck
- node-parameters: true
- kill-phase-on: NEVER
- abort-all-job: true
+# - multijob:
+# name: smoke-test
+# condition: SUCCESSFUL
+# projects:
+# - name: 'functest-compass-virtual-suite-{stream}'
+# current-parameters: true
+# predefined-parameters:
+# FUNCTEST_SUITE_NAME=healthcheck
+# node-parameters: true
+# kill-phase-on: NEVER
+# abort-all-job: true
- job-template:
name: 'compass-verify-{phase}-{distro}-{stream}'
diff --git a/jjb/doctor/doctor.yml b/jjb/doctor/doctor.yml
index 7a5bd22f2..f9ee3de79 100644
--- a/jjb/doctor/doctor.yml
+++ b/jjb/doctor/doctor.yml
@@ -96,6 +96,10 @@
default: '{docker-tag}'
description: 'Tag to pull docker image'
- string:
+ name: CLEAN_DOCKER_IMAGES
+ default: 'false'
+ description: 'Remove downloaded docker images (opnfv/functest:*)'
+ - string:
name: DEPLOY_SCENARIO
default: 'os-nosdn-nofeature-ha'
description: 'Scenario to deploy and test'
@@ -162,7 +166,12 @@
builders:
- 'functest-suite-builder'
- shell: |
- cp $HOME/opnfv/functest/results/{stream}/{project}.log $WORKSPACE/tests/
+ functest_log="$HOME/opnfv/functest/results/{stream}/{project}.log"
+ to_be_archived="$WORKSPACE/tests/functest-{project}.log"
+ cp $functest_log $to_be_archived
+ # NOTE: checking the test result, as the previous job could return
+ # 0 regardless the result of doctor test scenario.
+ grep -e ' OK$' $functest_log || exit 1
publishers:
- archive:
diff --git a/jjb/dovetail/dovetail-ci-jobs.yml b/jjb/dovetail/dovetail-ci-jobs.yml
index 29212005d..0c7dbe33a 100644
--- a/jjb/dovetail/dovetail-ci-jobs.yml
+++ b/jjb/dovetail/dovetail-ci-jobs.yml
@@ -102,6 +102,27 @@
SUT: apex
auto-trigger-name: 'daily-trigger-disabled'
<<: *colorado
+#armband CI PODs
+ - armband_baremetal:
+ slave-label: armband-baremetal
+ SUT: fuel
+ auto-trigger-name: 'daily-trigger-disabled'
+ <<: *master
+ - armband_virtual:
+ slave-label: armband-virtual
+ SUT: fuel
+ auto-trigger-name: 'daily-trigger-disabled'
+ <<: *master
+ - armband_baremetal:
+ slave-label: armband-baremetal
+ SUT: fuel
+ auto-trigger-name: 'daily-trigger-disabled'
+ <<: *colorado
+ - armband_virtual:
+ slave-label: armband-virtual
+ SUT: fuel
+ auto-trigger-name: 'daily-trigger-disabled'
+ <<: *colorado
#--------------------------------
# None-CI PODs
#--------------------------------
@@ -110,9 +131,21 @@
SUT: compass
auto-trigger-name: 'daily-trigger-disabled'
<<: *master
+ - arm-pod2:
+ slave-label: '{pod}'
+ SUT: fuel
+ auto-trigger-name: 'daily-trigger-disabled'
+ <<: *master
+ - arm-pod3:
+ slave-label: '{pod}'
+ SUT: fuel
+ auto-trigger-name: 'daily-trigger-disabled'
+ <<: *master
#--------------------------------
testsuite:
- - 'basic'
+ - 'debug'
+ - 'proposed_tests'
+ - 'compliance_set'
jobs:
- 'dovetail-{SUT}-{pod}-{testsuite}-{stream}'
@@ -159,6 +192,14 @@
name: CI_DEBUG
default: 'true'
description: "Show debug output information"
+ - string:
+ name: TESTSUITE
+ default: '{testsuite}'
+ description: "dovetail testsuite to run"
+ - string:
+ name: DOVETAIL_REPO_DIR
+ default: "/home/opnfv/dovetail"
+ description: "Directory where the dovetail repository is cloned"
scm:
- git-scm:
@@ -170,7 +211,7 @@
- description-setter:
description: "POD: $NODE_NAME"
- 'dovetail-cleanup'
- - 'dovetail-{testsuite}'
+ - 'dovetail-run'
publishers:
- archive:
@@ -182,11 +223,12 @@
# builder macros
########################
- builder:
- name: dovetail-basic
+ name: dovetail-run
builders:
- shell:
!include-raw: ./dovetail-run.sh
+
- builder:
name: dovetail-fetch-os-creds
builders:
diff --git a/jjb/dovetail/dovetail-cleanup.sh b/jjb/dovetail/dovetail-cleanup.sh
index 297222bb3..f215278db 100755
--- a/jjb/dovetail/dovetail-cleanup.sh
+++ b/jjb/dovetail/dovetail-cleanup.sh
@@ -1,20 +1,21 @@
#!/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/dovetail) ]]; then
echo "Removing existing opnfv/dovetail containers..."
- docker ps -a | grep opnfv/dovetail | awk '{print $1}' | xargs docker rm -f >$redirect
+ docker ps -a | grep opnfv/dovetail | awk '{print $1}' | xargs docker rm -f >${redirect}
fi
# Remove existing images if exist
if [[ ! -z $(docker images | grep opnfv/dovetail) ]]; then
echo "Docker images to remove:"
- docker images | head -1 && docker images | grep opnfv/dovetail
+ docker images | head -1 && docker images | grep opnfv/dovetail >${redirect}
image_tags=($(docker images | grep opnfv/dovetail | awk '{print $2}'))
for tag in "${image_tags[@]}"; do
echo "Removing docker image opnfv/dovetail:$tag..."
- docker rmi opnfv/dovetail:$tag >$redirect
+ docker rmi opnfv/dovetail:$tag >${redirect}
done
fi
diff --git a/jjb/dovetail/dovetail-run.sh b/jjb/dovetail/dovetail-run.sh
index 098b7db0c..4082c34fe 100755
--- a/jjb/dovetail/dovetail-run.sh
+++ b/jjb/dovetail/dovetail-run.sh
@@ -22,7 +22,7 @@ if [[ ${INSTALLER_TYPE} == 'apex' ]]; then
elif [[ ${INSTALLER_TYPE} == 'joid' ]]; then
# If production lab then creds may be retrieved dynamically
# creds are on the jumphost, always in the same folder
- labconfig="-v $LAB_CONFIG/admin-openrc:/home/opnfv/openrc"
+ labconfig="-v $LAB_CONFIG/admin-openrc:/home/opnfv/functest/conf/openstack.creds"
# If dev lab, credentials may not be the default ones, just provide a path to put them into docker
# replace the default one by the customized one provided by jenkins config
fi
@@ -32,26 +32,45 @@ if ! sudo iptables -C FORWARD -j RETURN 2> ${redirect} || ! sudo iptables -L FOR
sudo iptables -I FORWARD -j RETURN
fi
-opts="--privileged=true --rm"
+opts="--privileged=true -id"
envs="-e CI_DEBUG=${CI_DEBUG} \
-e INSTALLER_TYPE=${INSTALLER_TYPE} \
-e INSTALLER_IP=${INSTALLER_IP} \
-e DEPLOY_SCENARIO=${DEPLOY_SCENARIO} \
- -e DEPLOY_TYPE=${DEPLOY_TYPE} \
- -v /var/run/docker.sock:/var/run/docker.sock \
- -v /home/opnfv/dovetail/results:/home/opnfv/dovetail/results"
+ -e DEPLOY_TYPE=${DEPLOY_TYPE}"
+results_envs="-v /var/run/docker.sock:/var/run/docker.sock \
+ -v /home/opnfv/dovetail/results:/home/opnfv/dovetail/results"
# Pull the image with correct tag
echo "Dovetail: Pulling image opnfv/dovetail:${DOCKER_TAG}"
docker pull opnfv/dovetail:$DOCKER_TAG >$redirect
-# Run docker
-echo "Dovetail: docker running..."
-sudo docker run ${opts} ${envs} ${labconfig} ${sshkey} opnfv/dovetail:${DOCKER_TAG} \
-"/home/opnfv/dovetail/dovetail/run.py"
+cmd="sudo docker run ${opts} ${envs} ${results_envs} ${labconfig} ${sshkey} \
+ opnfv/dovetail:${DOCKER_TAG} /bin/bash"
+echo "Dovetail: running docker run command: ${cmd}"
+${cmd} >${redirect}
+sleep 5
+container_id=$(docker ps | grep "opnfv/dovetail:${DOCKER_TAG}" | awk '{print $1}' | head -1)
+echo "Container ID=${container_id}"
+if [ -z ${container_id} ]; then
+ echo "Cannot find opnfv/dovetail container ID ${container_id}. Please check if it is existing."
+ docker ps -a
+ exit 1
+fi
+echo "COntainer Start: docker start ${container_id}"
+docker start ${container_id}
+sleep 5
+docker ps >${redirect}
+if [ $(docker ps | grep "opnfv/dovetail:${DOCKER_TAG}" | wc -l) == 0 ]; then
+ echo "The container opnfv/dovetail with ID=${container_id} has not been properly started. Exiting..."
+ exit 1
+fi
+
+exec_cmd="python ${DOVETAIL_REPO_DIR}/dovetail/run.py --testsuite ${TESTSUITE} -d true"
+echo "Container exec command: ${exec_cmd}"
+docker exec ${container_id} ${exec_cmd}
-echo "Dovetail: store results..."
-sudo cp -r /home/opnfv/dovetail/results ./
+sudo cp -r ${DOVETAIL_REPO_DIR}/results ./
#To make sure the file owner is jenkins, for the copied results files in the above line
#if not, there will be error when next time to wipe workspace
sudo chown -R jenkins:jenkins ${WORKSPACE}/results
diff --git a/jjb/functest/functest-ci-jobs.yml b/jjb/functest/functest-ci-jobs.yml
index 1cded61fc..a578fcecd 100644
--- a/jjb/functest/functest-ci-jobs.yml
+++ b/jjb/functest/functest-ci-jobs.yml
@@ -113,6 +113,11 @@
slave-label: armband-virtual
installer: fuel
<<: *colorado
+# netvirt 3rd party ci
+ - virtual:
+ slave-label: odl-netvirt-virtual
+ installer: netvirt
+ <<: *master
#--------------------------------
# None-CI PODs
#--------------------------------
@@ -224,6 +229,10 @@
name: DOCKER_TAG
default: '{docker-tag}'
description: 'Tag to pull docker image'
+ - string:
+ name: CLEAN_DOCKER_IMAGES
+ default: 'false'
+ description: 'Remove downloaded docker images (opnfv/functest:*)'
- functest-parameter:
gs-pathname: '{gs-pathname}'
diff --git a/jjb/functest/functest-cleanup.sh b/jjb/functest/functest-cleanup.sh
index 4bedfe7de..3c4c7f965 100755
--- a/jjb/functest/functest-cleanup.sh
+++ b/jjb/functest/functest-cleanup.sh
@@ -10,7 +10,7 @@ if [[ ! -z $(docker ps -a | grep opnfv/functest) ]]; then
fi
# Remove existing images if exist
-if [[ ! -z $(docker images | grep opnfv/functest) ]]; then
+if [[ $CLEAN_DOCKER_IMAGES ]] && [[ ! -z $(docker images | grep opnfv/functest) ]]; then
echo "Docker images to remove:"
docker images | head -1 && docker images | grep opnfv/functest >${redirect}
image_tags=($(docker images | grep opnfv/functest | awk '{print $2}'))
diff --git a/jjb/functest/functest-suite.sh b/jjb/functest/functest-suite.sh
index df286569f..a30fb5973 100755
--- a/jjb/functest/functest-suite.sh
+++ b/jjb/functest/functest-suite.sh
@@ -8,7 +8,7 @@ if [[ ${branch} == *"brahmaputra"* ]]; then
elif [[ ${branch} == *"colorado"* ]]; then
cmd="python ${FUNCTEST_REPO_DIR}/ci/run_tests.py -t $FUNCTEST_SUITE_NAME"
else
- cmd="python ${FUNCTEST_REPO_DIR}/functest/ci/run_tests.py -t $FUNCTEST_SUITE_NAME"
+ cmd="functest testcase run $FUNCTEST_SUITE_NAME"
fi
container_id=$(docker ps -a | grep opnfv/functest | awk '{print $1}' | head -1)
docker exec $container_id $cmd
diff --git a/jjb/global/installer-params.yml b/jjb/global/installer-params.yml
index 55f4769b7..610072d1b 100644
--- a/jjb/global/installer-params.yml
+++ b/jjb/global/installer-params.yml
@@ -100,3 +100,22 @@
name: INSTALLER_TYPE
default: infra
description: 'Installer used for deploying OPNFV on this POD'
+- parameter:
+ name: 'netvirt-defaults'
+ parameters:
+ - string:
+ name: INSTALLER_IP
+ default: '192.168.X.X'
+ description: 'IP of the installer'
+ - string:
+ name: INSTALLER_TYPE
+ default: apex
+ description: 'Installer used for deploying OPNFV on this POD'
+ - string:
+ name: DEPLOY_SCENARIO
+ default: 'none'
+ description: 'Scenario to deploy and test'
+ - string:
+ name: EXTERNAL_NETWORK
+ default: 'external'
+ description: 'external network for test'
diff --git a/jjb/global/slave-params.yml b/jjb/global/slave-params.yml
index dd0c97996..7eec70918 100644
--- a/jjb/global/slave-params.yml
+++ b/jjb/global/slave-params.yml
@@ -670,6 +670,26 @@
name: GIT_BASE
default: https://gerrit.opnfv.org/gerrit/$PROJECT
description: 'Git URL to use on this Jenkins Slave'
+- parameter:
+ name: 'ericsson-virtual5-defaults'
+ parameters:
+ - label:
+ name: SLAVE_LABEL
+ default: 'ericsson-virtual5'
+ - string:
+ name: GIT_BASE
+ default: https://git.opendaylight.org/gerrit/p/$PROJECT.git
+ description: 'Git URL to use on this Jenkins Slave'
+- parameter:
+ name: 'odl-netvirt-virtual-defaults'
+ parameters:
+ - label:
+ name: SLAVE_LABEL
+ default: 'odl-netvirt-virtual'
+ - string:
+ name: GIT_BASE
+ default: https://gerrit.opnfv.org/gerrit/$PROJECT
+ description: 'Git URL to use on this Jenkins Slave'
#####################################################
# These slaves are just dummy slaves for sandbox jobs
#####################################################
diff --git a/jjb/infra/bifrost-verify-jobs.yml b/jjb/infra/bifrost-verify-jobs.yml
index be3cf9a0e..422a42274 100644
--- a/jjb/infra/bifrost-verify-jobs.yml
+++ b/jjb/infra/bifrost-verify-jobs.yml
@@ -36,8 +36,7 @@
disabled: false
dib-os-release: '42.2'
dib-os-element: 'opensuse-minimal'
- # python-xml is needed until https://review.openstack.org/#/c/400150/ is merged
- dib-os-packages: 'vim,less,bridge-utils,iputils,rsyslog,curl,python-xml'
+ dib-os-packages: 'vim,less,bridge-utils,iputils,rsyslog,curl'
extra-dib-elements: 'openssh-server'
vm-disk: '30'
vm-memory: '4096'
diff --git a/jjb/infra/bifrost-verify.sh b/jjb/infra/bifrost-verify.sh
index ded4ed463..9fbb1d0d9 100755
--- a/jjb/infra/bifrost-verify.sh
+++ b/jjb/infra/bifrost-verify.sh
@@ -17,6 +17,9 @@ function fix_ownership() {
if [ -z "${JOB_URL+x}" ]; then
echo "Not running as part of Jenkins. Handle the logs manually."
else
+ # Make sure cache exists
+ [[ ! -d ${HOME}/.cache ]] && mkdir ${HOME}/.cache
+
sudo chown -R jenkins:jenkins $WORKSPACE
sudo chown -R jenkins:jenkins ${HOME}/.cache
fi
diff --git a/jjb/kvmfornfv/kvmfornfv.yml b/jjb/kvmfornfv/kvmfornfv.yml
index 4cba6d1d3..1c2bf5053 100644
--- a/jjb/kvmfornfv/kvmfornfv.yml
+++ b/jjb/kvmfornfv/kvmfornfv.yml
@@ -24,12 +24,8 @@
# patch verification phases
#####################################
testname:
- - 'Idle_Idle':
- trigger_time: '@midnight'
- - 'Stress_Idle':
- trigger_time: '@midnight+3hours'
- - 'Packet_Forwarding':
- trigger_time: '@midnight+6hours'
+ - 'cyclictest'
+ - 'packet_forward'
#####################################
# patch verification phases
#####################################
@@ -37,7 +33,7 @@
- 'kvmfornfv-verify-{stream}'
- 'kvmfornfv-verify-{phase}-{stream}'
- 'kvmfornfv-merge-{stream}'
- - 'kvmfornfv-{testname}-daily-{stream}'
+ - 'kvmfornfv-daily-{stream}'
- 'kvmfornfv-{testname}-daily-{phase}-{stream}'
#####################################
# job templates
@@ -186,7 +182,7 @@
!include-raw: ./kvmfornfv-build.sh
- job-template:
- name: 'kvmfornfv-{testname}-daily-{stream}'
+ name: 'kvmfornfv-daily-{stream}'
project-type: multijob
@@ -210,7 +206,7 @@
choosing-strategy: 'default'
triggers:
- - timed: '{trigger_time}'
+ - timed: '@midnight'
builders:
- description-setter:
@@ -219,7 +215,7 @@
name: build
condition: SUCCESSFUL
projects:
- - name: 'kvmfornfv-Idle_Idle-daily-build-{stream}'
+ - name: 'kvmfornfv-{testname}-daily-build-{stream}'
current-parameters: false
node-parameters: false
git-revision: true
@@ -229,56 +225,13 @@
name: build
condition: SUCCESSFUL
projects:
- - name: 'kvmfornfv-Stress_Idle-daily-build-{stream}'
- current-parameters: false
- node-parameters: false
- git-revision: true
- kill-phase-on: FAILURE
- abort-all-job: true
- - multijob:
- name: build
- condition: SUCCESSFUL
- projects:
- - name: 'kvmfornfv-Packet_Forwarding-daily-build-{stream}'
- current-parameters: false
- node-parameters: false
- git-revision: true
- kill-phase-on: FAILURE
- abort-all-job: true
-
- - multijob:
- name: build
- condition: SUCCESSFUL
- projects:
- - name: 'kvmfornfv-Idle_Idle-daily-test-{stream}'
+ - name: 'kvmfornfv-{testname}-daily-test-{stream}'
current-parameters: false
node-parameters: false
git-revision: true
kill-phase-on: FAILURE
abort-all-job: true
- - multijob:
- name: test
- condition: SUCCESSFUL
- projects:
- - name: 'kvmfornfv-Stress_Idle-daily-test-{stream}'
- current-parameters: false
- node-parameters: false
- git-revision: true
- kill-phase-on: FAILURE
- abort-all-job: true
- - multijob:
- name: build
- condition: SUCCESSFUL
- projects:
- - name: 'kvmfornfv-Packet_Forwarding-daily-test-{stream}'
- current-parameters: false
- node-parameters: false
- git-revision: true
- kill-phase-on: FAILURE
- abort-all-job: true
-
-
- job-template:
name: 'kvmfornfv-{testname}-daily-{phase}-{stream}'
@@ -307,35 +260,15 @@
- '{slave-label}-defaults'
- 'kvmfornfv-defaults':
gs-pathname: '{gs-pathname}'
+ - string:
+ name: TEST_NAME
+ default: '{testname}'
+ description: "Daily job to execute kvmfornfv '{testname}' testcase."
builders:
- description-setter:
description: "Built on $NODE_NAME"
- '{project}-{testname}-daily-{phase}-macro'
-########################
-# parameter macros
-########################
-- parameter:
- name: 'kvmfornfv-Idle_Idle-daily-test-{stream}'
- parameters:
- - string:
- name: TEST_NAME
- default: 'idle_idle'
- description: "Daily job to run cyclictest without applying any stress"
-- parameter:
- name: 'kvmfornfv-Stress_Idle-daily-test-{stream}'
- parameters:
- - string:
- name: TEST_NAME
- default: 'stress_idle'
- description: "Daily job to run cyclictest with stress applied"
-- parameter:
- name: 'kvmfornfv-Packet_Forwarding-daily-test-{stream}'
- parameters:
- - string:
- name: TEST_NAME
- default: 'packet_forward'
- description: "Daily job to run packet forwarding test cases"
#####################################
# builder macros
#####################################
@@ -354,48 +287,33 @@
- shell:
!include-raw: ./kvmfornfv-test.sh
- builder:
- name: 'kvmfornfv-Idle_Idle-daily-build-macro'
+ name: 'kvmfornfv-cyclictest-daily-build-macro'
builders:
- shell:
!include-raw: ./kvmfornfv-build.sh
- shell:
!include-raw: ./kvmfornfv-upload-artifact.sh
- builder:
- name: 'kvmfornfv-Stress_Idle-daily-build-macro'
- builders:
- - shell:
- !include-raw: ./kvmfornfv-build.sh
- - shell:
- !include-raw: ./kvmfornfv-upload-artifact.sh
-- builder:
- name: 'kvmfornfv-Packet_Forwarding-daily-build-macro'
- builders:
- - shell:
- !include-raw: ./kvmfornfv-build.sh
- - shell:
- !include-raw: ./kvmfornfv-upload-artifact.sh
-- builder:
- name: 'kvmfornfv-Idle_Idle-daily-test-macro'
+ name: 'kvmfornfv-cyclictest-daily-test-macro'
builders:
- shell:
!include-raw: ./kvmfornfv-download-artifact.sh
- shell:
!include-raw: ./kvmfornfv-test.sh
- builder:
- name: 'kvmfornfv-Stress_Idle-daily-test-macro'
+ name: 'kvmfornfv-packet_forward-daily-build-macro'
builders:
- shell:
- !include-raw: ./kvmfornfv-download-artifact.sh
+ !include-raw: ./kvmfornfv-build.sh
- shell:
- !include-raw: ./kvmfornfv-test.sh
+ !include-raw: ./kvmfornfv-upload-artifact.sh
- builder:
- name: 'kvmfornfv-Packet_Forwarding-daily-test-macro'
+ name: 'kvmfornfv-packet_forward-daily-test-macro'
builders:
- shell:
!include-raw: ./kvmfornfv-download-artifact.sh
- shell:
!include-raw: ./kvmfornfv-test.sh
-
#####################################
# parameter macros
#####################################
diff --git a/jjb/qtip/qtip-ci-jobs.yml b/jjb/qtip/qtip-ci-jobs.yml
index cca8cee4c..ac9854365 100644
--- a/jjb/qtip/qtip-ci-jobs.yml
+++ b/jjb/qtip/qtip-ci-jobs.yml
@@ -2,7 +2,7 @@
# job configuration for qtip
####################################
- project:
- name: qtip-ci-jobs
+ name: qtip
project: 'qtip'
@@ -20,22 +20,6 @@
# master
#--------------------------------
pod:
- - dell-pod1:
- installer: compass
- auto-trigger-name: 'daily-trigger-disabled'
- <<: *master
- - orange-pod2:
- installer: joid
- auto-trigger-name: 'daily-trigger-disabled'
- <<: *master
- - juniper-pod1:
- installer: joid
- <<: *master
- auto-trigger-name: 'daily-trigger-disabled'
- - zte-pod1:
- installer: fuel
- auto-trigger-name: 'daily-trigger-disabled'
- <<: *master
- zte-pod2:
installer: fuel
auto-trigger-name: 'qtip-daily-zte-pod2-trigger'
@@ -80,12 +64,14 @@
- '{auto-trigger-name}'
builders:
+ - description-setter:
+ description: "POD: $NODE_NAME"
- 'qtip-cleanup'
- 'qtip-daily-ci'
publishers:
- email:
- recipients: nauman.ahad@xflowresearch.com, mofassir.arif@xflowresearch.com, vikram@nvirters.com, zhang.yujunz@zte.com.cn
+ recipients: wu.zhihui1@zte.com.cn, zhang.yujunz@zte.com.cn
###########################
#biuilder macros
@@ -105,22 +91,6 @@
#################
#trigger macros
#################
-
-#- trigger:
-# name: 'qtip-daily-dell-pod1-trigger'
-# triggers:
-# - timed: '0 3 * * *'
-
-#- trigger:
-# name: 'qtip-daily-juniper-pod1-trigger'
-# triggers:
-# - timed : '0 0 * * *'
-
-#- trigger:
-# name: 'qtip-dailty-orange-pod2-trigger'
-# triggers:
-# - timed : ' 0 0 * * *'
-
- trigger:
name: 'qtip-daily-zte-pod2-trigger'
triggers:
diff --git a/jjb/qtip/qtip-project-jobs.yml b/jjb/qtip/qtip-project-jobs.yml
index 8b406fea5..8798fd115 100644
--- a/jjb/qtip/qtip-project-jobs.yml
+++ b/jjb/qtip/qtip-project-jobs.yml
@@ -1,22 +1,20 @@
- project:
- name: qtip
+ name: qtip-project-jobs
- project: '{name}'
+ project: 'qtip'
jobs:
- 'qtip-verify-{stream}'
-# only master branch is enabled at the moment to keep no of jobs sane
stream:
- master:
branch: '{stream}'
gs-pathname: ''
disabled: false
- - colorado:
- branch: 'stable/{stream}'
- gs-pathname: '/{stream}'
- disabled: false
+################################
+## job templates
+#################################
- job-template:
name: 'qtip-verify-{stream}'
@@ -59,6 +57,14 @@
pattern: 'docs/**|.gitignore'
builders:
+ - qtip-unit-tests-and-docs-build
+
+################################
+## job builders
+#################################
+- builder:
+ name: qtip-unit-tests-and-docs-build
+ builders:
- shell: |
#!/bin/bash
set -o errexit
diff --git a/jjb/releng/opnfv-docker.sh b/jjb/releng/opnfv-docker.sh
index 6f8d81a91..e26727abf 100644
--- a/jjb/releng/opnfv-docker.sh
+++ b/jjb/releng/opnfv-docker.sh
@@ -70,7 +70,7 @@ else
release=$(echo $branch|sed 's/.*\///')
DOCKER_TAG=${release}.${RELEASE_VERSION}
# e.g. colorado.1.0, colorado.2.0, colorado.3.0
- else:
+ else
DOCKER_TAG="stable"
fi
fi
diff --git a/jjb/securityscanning/opnfv-security-scan.yml b/jjb/securityscanning/opnfv-security-scan.yml
new file mode 100644
index 000000000..546f4e7e5
--- /dev/null
+++ b/jjb/securityscanning/opnfv-security-scan.yml
@@ -0,0 +1,109 @@
+########################
+# Job configuration for opnfv-lint
+########################
+- project:
+
+ name: anteaterfw
+
+ project: anteaterfw
+
+ jobs:
+ - 'opnfv-security-scan-verify-{stream}'
+
+ stream:
+ - master:
+ branch: '{stream}'
+ gs-pathname: ''
+ disabled: false
+
+########################
+# job templates
+########################
+- job-template:
+ name: 'opnfv-security-scan-verify-{stream}'
+
+ disabled: '{obj:disabled}'
+
+ parameters:
+ - project-parameter:
+ project: $GERRIT_PROJECT
+ - gerrit-parameter:
+ branch: '{branch}'
+
+ scm:
+ - gerrit-trigger-scm:
+ credentials-id: '{ssh-credentials}'
+ refspec: '$GERRIT_REFSPEC'
+ choosing-strategy: '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: 'REG_EXP'
+ project-pattern: 'sandbox'
+ branches:
+ - branch-compare-type: 'ANT'
+ branch-pattern: '**/{branch}'
+ file-paths:
+ - compare-type: ANT
+ pattern: '**/*.py'
+ skip-vote:
+ successful: true
+ failed: true
+ unstable: true
+ notbuilt: true
+
+ builders:
+ - security-scan-python-code
+ - report-security-scan-result-to-gerrit
+########################
+# builder macros
+########################
+- builder:
+ name: security-scan-python-code
+ builders:
+ - shell: |
+ #!/bin/bash
+ set -o errexit
+ set -o pipefail
+ set -o xtrace
+ export PATH=$PATH:/usr/local/bin/
+
+ # this is where the security/license scan script will be executed
+ echo "Hello World!"
+- builder:
+ name: report-security-scan-result-to-gerrit
+ builders:
+ - shell: |
+ #!/bin/bash
+ set -o errexit
+ set -o pipefail
+ set -o xtrace
+ export PATH=$PATH:/usr/local/bin/
+
+ # If no violations were found, no lint log will exist.
+ if [[ -e securityscan.log ]] ; then
+ echo -e "\nposting security scan report to gerrit...\n"
+
+ cat securityscan.log
+ echo
+
+ ssh -p 29418 gerrit.opnfv.org \
+ "gerrit review -p $GERRIT_PROJECT \
+ -m \"$(cat securityscan.log)\" \
+ $GERRIT_PATCHSET_REVISION \
+ --notify NONE"
+
+ exit 1
+ fi