summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--jjb/armband/armband-ci-jobs.yml8
-rw-r--r--jjb/auto/auto.yml50
-rw-r--r--jjb/availability/availability.yml58
-rw-r--r--jjb/ci_gate_security/opnfv-ci-gate-security.yml2
-rw-r--r--jjb/conductor/conductor.yml58
-rw-r--r--jjb/copper/copper.yml63
-rw-r--r--jjb/daisy4nfv/daisy-daily-jobs.yml73
-rwxr-xr-xjjb/daisy4nfv/daisy-deploy.sh2
-rwxr-xr-xjjb/daisy4nfv/daisy4nfv-download-artifact.sh10
-rw-r--r--jjb/doctor/doctor.yml128
-rw-r--r--jjb/dpacc/dpacc.yml58
-rw-r--r--jjb/global/basic-jobs.yml46
-rwxr-xr-xjjb/global/installer-report.sh25
-rw-r--r--jjb/global/releng-macros.yml28
-rw-r--r--jjb/global/slave-params.yml39
-rw-r--r--jjb/ipv6/ipv6.yml58
-rw-r--r--jjb/models/models.yml63
-rw-r--r--jjb/netready/netready.yml43
-rw-r--r--jjb/octopus/octopus.yml54
-rw-r--r--jjb/pharos/check-jinja2.yml2
-rw-r--r--jjb/pharos/pharos.yml73
-rw-r--r--jjb/prediction/prediction.yml58
-rw-r--r--jjb/promise/promise.yml58
-rw-r--r--jjb/releng/compass4nfv-docker.yml6
-rw-r--r--jjb/releng/functest-docker.yml34
-rw-r--r--jjb/releng/opnfv-docker-arm.yml9
-rw-r--r--jjb/releng/opnfv-docker.sh3
-rw-r--r--jjb/releng/opnfv-docker.yml10
-rw-r--r--jjb/releng/releng-ci-jobs.yml6
-rw-r--r--jjb/snaps/snaps-verify-jobs.yml2
-rw-r--r--jjb/stor4nfv/stor4nfv-project.yml58
-rw-r--r--jjb/ves/ves.yml64
-rw-r--r--jjb/vnf_forwarding_graph/vnf_forwarding_graph.yml48
-rwxr-xr-xjjb/xci/xci-cleanup.sh24
-rw-r--r--jjb/xci/xci-merge-jobs.yml257
-rwxr-xr-xjjb/xci/xci-promote.sh30
-rwxr-xr-xjjb/xci/xci-run-functest.sh30
-rwxr-xr-xjjb/xci/xci-start-deployment.sh30
-rwxr-xr-xjjb/xci/xci-start-new-vm.sh63
-rw-r--r--jjb/xci/xci-verify-jobs.yml85
-rwxr-xr-xjjb/yardstick/yardstick-daily.sh19
-rwxr-xr-xjjb/yardstick/yardstick-get-k8s-conf.sh6
42 files changed, 838 insertions, 1003 deletions
diff --git a/jjb/armband/armband-ci-jobs.yml b/jjb/armband/armband-ci-jobs.yml
index b2fa62f87..da3992ea8 100644
--- a/jjb/armband/armband-ci-jobs.yml
+++ b/jjb/armband/armband-ci-jobs.yml
@@ -250,7 +250,7 @@
- trigger:
name: 'fuel-os-nosdn-nofeature-ha-armband-baremetal-master-trigger'
triggers:
- - timed: '0 16 * * 2,4,6'
+ - timed: '0 1 * * 2,4,6'
- trigger:
name: 'fuel-os-nosdn-nofeature-noha-armband-baremetal-master-trigger'
triggers:
@@ -258,14 +258,14 @@
- trigger:
name: 'fuel-os-odl-nofeature-ha-armband-baremetal-master-trigger'
triggers:
- - timed: '0 16 * * 1,3,5,7'
+ - timed: '0 1 * * 1,3,5,7'
# ---------------------------------------------------------------------
# Enea Armband CI Baremetal Triggers running against euphrates branch
# ---------------------------------------------------------------------
- trigger:
name: 'fuel-os-nosdn-nofeature-ha-armband-baremetal-euphrates-trigger'
triggers:
- - timed: '0 1 * * 2,4,6'
+ - timed: ''
- trigger:
name: 'fuel-os-nosdn-nofeature-noha-armband-baremetal-euphrates-trigger'
triggers:
@@ -273,7 +273,7 @@
- trigger:
name: 'fuel-os-odl-nofeature-ha-armband-baremetal-euphrates-trigger'
triggers:
- - timed: '0 1 * * 1,3,5,7'
+ - timed: ''
# --------------------------------------------------------------
# Enea Armband CI Virtual Triggers running against master branch
# --------------------------------------------------------------
diff --git a/jjb/auto/auto.yml b/jjb/auto/auto.yml
index fefa37626..c28dc5618 100644
--- a/jjb/auto/auto.yml
+++ b/jjb/auto/auto.yml
@@ -4,53 +4,5 @@
project: '{name}'
- stream:
- - master:
- branch: '{stream}'
- gs-pathname: ''
- disabled: false
-
jobs:
- - 'auto-verify-{stream}'
-
-- job-template:
- name: 'auto-verify-{stream}'
-
- disabled: '{obj:disabled}'
-
- parameters:
- - project-parameter:
- project: '{project}'
- branch: '{branch}'
- - 'opnfv-build-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}'
- disable-strict-forbidden-file-verification: 'true'
- forbidden-file-paths:
- - compare-type: ANT
- pattern: 'docs/**|.gitignore'
-
- builders:
- - shell: |
- echo "Nothing to verify!"
+ - '{project}-verify-basic'
diff --git a/jjb/availability/availability.yml b/jjb/availability/availability.yml
index a8f629734..2d3473499 100644
--- a/jjb/availability/availability.yml
+++ b/jjb/availability/availability.yml
@@ -1,64 +1,8 @@
---
-###################################################
-# All the jobs except verify have been removed!
-# They will only be enabled on request by projects!
-###################################################
- project:
name: availability
project: '{name}'
jobs:
- - 'availability-verify-{stream}'
-
- stream:
- - master:
- branch: '{stream}'
- gs-pathname: ''
- disabled: 'false'
- - euphrates:
- branch: 'stable/{stream}'
- gs-pathname: '/{stream}'
- disabled: 'false'
-
-- job-template:
- name: 'availability-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}'
- disable-strict-forbidden-file-verification: 'true'
- forbidden-file-paths:
- - compare-type: ANT
- pattern: 'docs/**|.gitignore'
-
- builders:
- - shell: |
- echo "Nothing to verify!"
+ - '{project}-verify-basic'
diff --git a/jjb/ci_gate_security/opnfv-ci-gate-security.yml b/jjb/ci_gate_security/opnfv-ci-gate-security.yml
index ef0da7f3a..d54aebea4 100644
--- a/jjb/ci_gate_security/opnfv-ci-gate-security.yml
+++ b/jjb/ci_gate_security/opnfv-ci-gate-security.yml
@@ -163,7 +163,7 @@
comment-contains-value: 'reverify'
projects:
- project-compare-type: 'REG_EXP'
- project-pattern: 'apex|armband|bamboo|barometer|bottlenecks|calipso|compass4nfv|conductor|cooper|cperf|daisy|doctor|dovetail|dpacc|enfv|escalator|fds|fuel|functest|octopus|pharos|releng|sandbox|yardstick|infra|ipv6|kvmfornfv|lsoapi|models|moon|multisite|netready'
+ project-pattern: 'apex|armband|bamboo|barometer|bottlenecks|calipso|compass4nfv|conductor|copper|cperf|daisy|doctor|dovetail|dpacc|enfv|escalator|fds|fuel|functest|octopus|pharos|releng|sandbox|yardstick|infra|ipv6|kvmfornfv|lsoapi|models|moon|multisite|netready'
branches:
- branch-compare-type: 'ANT'
branch-pattern: '**/{branch}'
diff --git a/jjb/conductor/conductor.yml b/jjb/conductor/conductor.yml
index 3e5e5dedb..8a128da37 100644
--- a/jjb/conductor/conductor.yml
+++ b/jjb/conductor/conductor.yml
@@ -1,64 +1,8 @@
---
-###################################################
-# All the jobs except verify have been removed!
-# They will only be enabled on request by projects!
-###################################################
- project:
name: conductor
project: '{name}'
jobs:
- - 'conductor-verify-{stream}'
-
- stream:
- - master:
- branch: '{stream}'
- gs-pathname: ''
- disabled: false
- - euphrates:
- branch: 'stable/{stream}'
- gs-pathname: '/{stream}'
- disabled: false
-
-- job-template:
- name: 'conductor-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}'
- disable-strict-forbidden-file-verification: 'true'
- forbidden-file-paths:
- - compare-type: ANT
- pattern: 'docs/**|.gitignore'
-
- builders:
- - shell: |
- echo "Nothing to verify!"
+ - '{project}-verify-basic'
diff --git a/jjb/copper/copper.yml b/jjb/copper/copper.yml
index d9ac0b85a..620aefd9c 100644
--- a/jjb/copper/copper.yml
+++ b/jjb/copper/copper.yml
@@ -1,69 +1,8 @@
---
-###################################################
-# All the jobs except verify have been removed!
-# They will only be enabled on request by projects!
-###################################################
- project:
name: copper
project: '{name}'
jobs:
- - 'copper-verify-{stream}'
-
- stream:
- - master:
- branch: '{stream}'
- gs-pathname: ''
- disabled: false
- - euphrates:
- branch: 'stable/{stream}'
- gs-pathname: '/{stream}'
- disabled: false
-
-- job-template:
- name: 'copper-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}'
- disable-strict-forbidden-file-verification: 'true'
- forbidden-file-paths:
- - compare-type: ANT
- pattern: 'docs/**|.gitignore'
-
- builders:
- - shell: |
- #!/bin/bash
- set -o errexit
- set -o nounset
- set -o pipefail
-
- # shellcheck -f tty tests/*.sh
+ - '{project}-verify-basic'
diff --git a/jjb/daisy4nfv/daisy-daily-jobs.yml b/jjb/daisy4nfv/daisy-daily-jobs.yml
index 090d2e1f2..6f4643ac8 100644
--- a/jjb/daisy4nfv/daisy-daily-jobs.yml
+++ b/jjb/daisy4nfv/daisy-daily-jobs.yml
@@ -50,7 +50,9 @@
- baremetal:
slave-label: zte-pod3
<<: *master
-
+ - zte-pod9:
+ slave-label: zte-pod9
+ <<: *master
# -------------------------------
# None-CI PODs
# -------------------------------
@@ -68,6 +70,9 @@
# 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}'
@@ -124,15 +129,21 @@
- trigger-builds:
- project: 'daisy-deploy-{pod}-daily-{stream}'
current-parameters: false
- predefined-parameters:
+ 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:
+ 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:
@@ -152,8 +163,11 @@
- trigger-builds:
- project: 'yardstick-daisy-{pod}-daily-{stream}'
current-parameters: false
- predefined-parameters:
+ 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:
@@ -209,10 +223,13 @@
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
@@ -224,7 +241,7 @@
- trigger:
name: 'daisy-os-nosdn-nofeature-ha-baremetal-daily-master-trigger'
triggers:
- - timed: '0 18 * * *'
+ - timed: '0 12 * * *'
# Basic NOHA Scenarios
- trigger:
name: 'daisy-os-nosdn-nofeature-noha-baremetal-daily-master-trigger'
@@ -234,7 +251,12 @@
- trigger:
name: 'daisy-os-odl-nofeature-ha-baremetal-daily-master-trigger'
triggers:
- - timed: '0 12 * * *'
+ - timed: '0 18 * * *'
+# 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
@@ -254,6 +276,11 @@
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 euphrates branch
@@ -273,6 +300,11 @@
name: 'daisy-os-odl-nofeature-ha-baremetal-daily-euphrates-trigger'
triggers:
- timed: '0 20 * * *'
+# ovs_dpdk Scenarios
+- trigger:
+ name: 'daisy-os-nosdn-ovs_dpdk-noha-baremetal-daily-euphrates-trigger'
+ triggers:
+ - timed: ''
# ----------------------------------------------
# Triggers for job running on daisy-virtual against euphrates branch
@@ -292,3 +324,32 @@
name: 'daisy-os-odl-nofeature-ha-virtual-daily-euphrates-trigger'
triggers:
- timed: '0 20 * * *'
+# ovs_dpdk Scenarios
+- trigger:
+ name: 'daisy-os-nosdn-ovs_dpdk-noha-virtual-daily-euphrates-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 10 * * *'
+# 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: ''
diff --git a/jjb/daisy4nfv/daisy-deploy.sh b/jjb/daisy4nfv/daisy-deploy.sh
index 1723fd109..f729c380e 100755
--- a/jjb/daisy4nfv/daisy-deploy.sh
+++ b/jjb/daisy4nfv/daisy-deploy.sh
@@ -30,7 +30,7 @@ fi
LABS_DIR=/var/tmp/opnfv-${CONFIG_REPO_NAME}
echo "Cloning ${CONFIG_REPO_NAME} repo $BRANCH to $LABS_DIR"
-rm -rf $LABS_DIR
+sudo rm -rf $LABS_DIR
git clone ssh://jenkins-zte@gerrit.opnfv.org:29418/${CONFIG_REPO_NAME} \
--quiet --branch $BRANCH $LABS_DIR
diff --git a/jjb/daisy4nfv/daisy4nfv-download-artifact.sh b/jjb/daisy4nfv/daisy4nfv-download-artifact.sh
index a64c80e5c..ae5ca3813 100755
--- a/jjb/daisy4nfv/daisy4nfv-download-artifact.sh
+++ b/jjb/daisy4nfv/daisy4nfv-download-artifact.sh
@@ -68,7 +68,15 @@ else
DOWNLOAD_CMD="curl -L -s -o $WORKSPACE/opnfv.bin"
fi
-$DOWNLOAD_CMD http://$OPNFV_ARTIFACT_URL > gsutil.bin.log 2>&1
+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
diff --git a/jjb/doctor/doctor.yml b/jjb/doctor/doctor.yml
index e0de9aa2e..64194d136 100644
--- a/jjb/doctor/doctor.yml
+++ b/jjb/doctor/doctor.yml
@@ -38,10 +38,6 @@
task:
- verify:
auto-trigger-name: 'doctor-verify'
- is-python: false
- - python-verify:
- auto-trigger-name: 'doctor-verify'
- is-python: true
exclude:
- installer: 'apex'
@@ -133,7 +129,6 @@
publishers:
- 'doctor-verify-unit-test-publishers-macro'
-
- job-template:
name: 'doctor-{task}-{inspector}-{stream}'
@@ -141,60 +136,6 @@
project-type: 'multijob'
- parameters:
- - project-parameter:
- project: '{project}'
- branch: '{branch}'
- - 'opnfv-build-ubuntu-defaults'
- - string:
- name: OS_CREDS
- default: /home/jenkins/openstack.creds
- description: 'OpenStack credentials'
- - string:
- 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:*)'
- - string:
- name: DEPLOY_SCENARIO
- default: 'os-nosdn-nofeature-ha'
- description: 'Scenario to deploy and test'
- # functest-suite-parameter
- - string:
- name: FUNCTEST_MODE
- default: 'testcase'
- - string:
- name: FUNCTEST_SUITE_NAME
- default: 'doctor-notification'
- - string:
- name: TESTCASE_OPTIONS
- # yamllint disable rule:line-length
- default: '-e INSPECTOR_TYPE={inspector} -e PYTHON_ENABLE={is-python} -v $WORKSPACE:/home/opnfv/repos/doctor'
- # yamllint enable rule:line-length
- description: 'Addtional parameters specific to test case(s)'
- # functest-parameter
- - string:
- name: GS_PATHNAME
- default: '{gs-pathname}'
- # yamllint disable rule:line-length
- description: "Version directory where the opnfv documents will be stored in gs repository"
- # yamllint enable rule:line-length
- - 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: 'true'
- description: "Show debug output information"
-
scm:
- git-scm-gerrit
@@ -270,12 +211,74 @@
branch: '{branch}'
- '{installer}-defaults'
- '{slave-label}-defaults'
+ - 'doctor-parameter'
+ - 'doctor-functest-parameter'
scm:
- git-scm-gerrit
builders:
- 'doctor-verify-installer-inspector-builders-macro'
publishers:
- 'doctor-verify-publishers-macro'
+
+
+# -------------------------------
+# parameter macros
+# -------------------------------
+- parameter:
+ name: 'doctor-parameter'
+ parameters:
+ - string:
+ name: OS_CREDS
+ default: /home/jenkins/openstack.creds
+ description: 'OpenStack credentials'
+ - string:
+ 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:*)'
+ - string:
+ name: DEPLOY_SCENARIO
+ default: 'os-nosdn-nofeature-ha'
+ description: 'Scenario to deploy and test'
+
+- parameter:
+ name: 'doctor-functest-parameter'
+ parameters:
+ # functest-suite-parameter
+ - string:
+ name: FUNCTEST_MODE
+ default: 'testcase'
+ - string:
+ name: FUNCTEST_SUITE_NAME
+ default: 'doctor-notification'
+ - string:
+ name: TESTCASE_OPTIONS
+ # yamllint disable rule:line-length
+ default: '-e INSPECTOR_TYPE={inspector} -v $WORKSPACE:/home/opnfv/repos/doctor'
+ # yamllint enable rule:line-length
+ description: 'Addtional parameters specific to test case(s)'
+ # functest-parameter
+ - string:
+ name: GS_PATHNAME
+ default: '{gs-pathname}'
+ # yamllint disable rule:line-length
+ description: "Version directory where the opnfv documents will be stored in gs repository"
+ # yamllint enable rule:line-length
+ - 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: 'true'
+ description: "Show debug output information"
# -------------------------------
# builder macros
# -------------------------------
@@ -283,7 +286,8 @@
- builder:
name: 'doctor-verify-unit-test-builders-macro'
builders:
- - shell: "[ -e tests/run.sh ] && bash -n ./tests/run.sh"
+ - shell: "tox -e pep8"
+
- builder:
name: 'doctor-verify-installer-inspector-builders-macro'
builders:
@@ -320,10 +324,14 @@
- archive:
artifacts: 'functest_results/$FUNCTEST_SUITE_NAME.log'
- email-jenkins-admins-on-failure
+
- publisher:
name: 'doctor-verify-unit-test-publishers-macro'
publishers:
- email-jenkins-admins-on-failure
+ - archive:
+ artifacts: '.tox/'
+
#####################################
# trigger macros
diff --git a/jjb/dpacc/dpacc.yml b/jjb/dpacc/dpacc.yml
index 3501d276d..a9a091413 100644
--- a/jjb/dpacc/dpacc.yml
+++ b/jjb/dpacc/dpacc.yml
@@ -1,64 +1,8 @@
---
-###################################################
-# All the jobs except verify have been removed!
-# They will only be enabled on request by projects!
-###################################################
- project:
name: dpacc
project: '{name}'
jobs:
- - 'dpacc-verify-{stream}'
-
- stream:
- - master:
- branch: '{stream}'
- gs-pathname: ''
- disabled: false
- - euphrates:
- branch: 'stable/{stream}'
- gs-pathname: '/{stream}'
- disabled: false
-
-- job-template:
- name: 'dpacc-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}'
- disable-strict-forbidden-file-verification: 'true'
- forbidden-file-paths:
- - compare-type: ANT
- pattern: 'docs/**|.gitignore'
-
- builders:
- - shell: |
- echo "Nothing to verify!"
+ - '{project}-verify-basic'
diff --git a/jjb/global/basic-jobs.yml b/jjb/global/basic-jobs.yml
new file mode 100644
index 000000000..e55f068ca
--- /dev/null
+++ b/jjb/global/basic-jobs.yml
@@ -0,0 +1,46 @@
+---
+##
+# Basic Job Config
+#
+# This is used for project which don't have any jobs of substance
+# defined yet, but still need 'Verified+1'.
+##
+- job-group:
+ name: '{project}-verify-basic'
+
+ stream:
+ - master:
+ branch: '{stream}'
+ gs-pathname: ''
+ disabled: false
+ - euphrates:
+ branch: 'stable/{stream}'
+ gs-pathname: '/{stream}'
+ disabled: false
+
+ jobs:
+ - '{project}-verify-{stream}'
+
+- job-template:
+ name: '{project}-verify-{stream}'
+
+ disabled: '{obj:disabled}'
+
+ parameters:
+ - project-parameter:
+ project: '{project}'
+ branch: '{branch}'
+ - 'opnfv-build-defaults'
+
+ scm:
+ - git-scm-gerrit
+
+ triggers:
+ - gerrit-trigger-patchset-created:
+ project: '{project}'
+ branch: '{branch}'
+ files: 'docs/**|.gitignore'
+
+ builders:
+ - shell: |
+ echo "Nothing to verify!"
diff --git a/jjb/global/installer-report.sh b/jjb/global/installer-report.sh
new file mode 100755
index 000000000..e2fcfd6f6
--- /dev/null
+++ b/jjb/global/installer-report.sh
@@ -0,0 +1,25 @@
+#!/bin/bash
+##############################################################################
+# Copyright (c) 2017 ZTE Corporation 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
+##############################################################################
+
+source $WORKSPACE/installer_track.sh
+echo """
+ INSTALLER: $INSTALLER
+ INSTALLER_VERSION: $INSTALLER_VERSION
+ JOB_NAME: $JOB_NAME
+ BUILD_ID: $BUILD_ID
+ SENARIO: $DEPLOY_SCENARIO
+ UPSTREAM_JOB_NAME: $UPSTREAM_JOB_NAME:
+ UPSTREAM_BUILD_ID: $UPSTREAM_BUILD_ID
+ PROVISION_RESULT: $PROVISION_RESULT
+ TIMESTAMP_START: $TIMESTAMP_START
+ TIMESTAMP_END: `date '+%Y-%m-%d %H:%M:%S.%3N'`
+ POD_NAME: $NODE_NAME
+"""
+
+# TODO call TestAPI to report installer provisoin result when API is ready
diff --git a/jjb/global/releng-macros.yml b/jjb/global/releng-macros.yml
index aeeb24610..330584e25 100644
--- a/jjb/global/releng-macros.yml
+++ b/jjb/global/releng-macros.yml
@@ -151,7 +151,7 @@
- gerrit:
server-name: 'gerrit.opnfv.org'
trigger-on:
- - ref-updated
+ - ref-updated-event
projects:
- project-compare-type: 'ANT'
project-pattern: '{project}'
@@ -431,6 +431,12 @@
- shell: |
find $WORKSPACE -type f -name '*.log' | xargs rm -f
+- builder:
+ name: track-begin-timestamp
+ builders:
+ - shell: |
+ echo "export TIMESTAMP_START="\'`date '+%Y-%m-%d %H:%M:%S.%3N'`\' > $WORKSPACE/installer_track.sh
+
- publisher:
name: archive-artifacts
publishers:
@@ -971,3 +977,23 @@
<<: *email_ptl_defaults
recipients: >
ross.b.brattain@intel.com
+
+- publisher:
+ name: 'report-provision-result'
+ publishers:
+ - postbuildscript:
+ script-only-if-succeeded: true
+ builders:
+ - shell: |
+ echo "export PROVISION_RESULT=SUCCEED" >> $WORKSPACE/installer_track.sh
+ echo "export INSTALLER={installer}" >> $WORKSPACE/installer_track.sh
+ - shell:
+ !include-raw-escape: installer-report.sh
+ - postbuildscript:
+ script-only-if-failed: true
+ builders:
+ - shell: |
+ echo "export PROVISION_RESULT=FAIL" >> $WORKSPACE/installer_track.sh
+ echo "export INSTALLER={installer}" >> $WORKSPACE/installer_track.sh
+ - shell:
+ !include-raw-escape: installer-report.sh
diff --git a/jjb/global/slave-params.yml b/jjb/global/slave-params.yml
index dc0fb0c98..5136e7148 100644
--- a/jjb/global/slave-params.yml
+++ b/jjb/global/slave-params.yml
@@ -441,6 +441,22 @@
description: "Directory where the build artifact will be located upon the completion of the build."
- parameter:
+ name: 'pharos-dashboard-defaults'
+ parameters:
+ - label:
+ name: SLAVE_LABEL
+ default: 'pharos-dashboard'
+ description: 'Slave label on Jenkins'
+ - string:
+ name: GIT_BASE
+ default: https://gerrit.opnfv.org/gerrit/$PROJECT
+ description: 'Git URL to use on this Jenkins Slave'
+ - string:
+ name: BUILD_DIRECTORY
+ default: $WORKSPACE/build_output
+ description: "Directory where the build artifact will be located upon the completion of the build."
+
+- parameter:
name: 'opnfv-build-defaults'
parameters:
- label:
@@ -768,6 +784,29 @@
description: 'pxe bridge for booting of Daisy master'
- parameter:
+ name: 'zte-pod9-defaults'
+ parameters:
+ - node:
+ name: SLAVE_NAME
+ description: 'Slave name on Jenkins'
+ allowed-slaves:
+ - zte-pod9
+ default-slaves:
+ - zte-pod9
+ - string:
+ name: GIT_BASE
+ default: https://gerrit.opnfv.org/gerrit/$PROJECT
+ description: 'Git URL to use on this Jenkins Slave'
+ - string:
+ name: INSTALLER_IP
+ default: '10.20.7.2'
+ description: 'IP of the installer'
+ - string:
+ name: BRIDGE
+ default: 'br0'
+ description: 'pxe bridge for booting of Daisy master'
+
+- parameter:
name: zte-virtual5-defaults
parameters:
- node:
diff --git a/jjb/ipv6/ipv6.yml b/jjb/ipv6/ipv6.yml
index f51c4970b..2946ec77b 100644
--- a/jjb/ipv6/ipv6.yml
+++ b/jjb/ipv6/ipv6.yml
@@ -1,64 +1,8 @@
---
-###################################################
-# All the jobs except verify have been removed!
-# They will only be enabled on request by projects!
-###################################################
- project:
name: ipv6
project: '{name}'
jobs:
- - 'ipv6-verify-{stream}'
-
- stream:
- - master:
- branch: '{stream}'
- gs-pathname: ''
- disabled: false
- - euphrates:
- branch: 'stable/{stream}'
- gs-pathname: '/{stream}'
- disabled: false
-
-- job-template:
- name: 'ipv6-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}'
- disable-strict-forbidden-file-verification: 'true'
- forbidden-file-paths:
- - compare-type: ANT
- pattern: 'docs/**|.gitignore'
-
- builders:
- - shell: |
- echo "Nothing to verify!"
+ - '{project}-verify-basic'
diff --git a/jjb/models/models.yml b/jjb/models/models.yml
index b317c05f2..40fcf68de 100644
--- a/jjb/models/models.yml
+++ b/jjb/models/models.yml
@@ -1,69 +1,8 @@
---
-###################################################
-# All the jobs except verify have been removed!
-# They will only be enabled on request by projects!
-###################################################
- project:
name: models
project: '{name}'
jobs:
- - 'models-verify-{stream}'
-
- stream:
- - master:
- branch: '{stream}'
- gs-pathname: ''
- disabled: false
- - euphrates:
- branch: 'stable/{stream}'
- gs-pathname: '/{stream}'
- disabled: false
-
-- job-template:
- name: 'models-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}'
- disable-strict-forbidden-file-verification: 'true'
- forbidden-file-paths:
- - compare-type: ANT
- pattern: 'docs/**|.gitignore'
-
- builders:
- - shell: |
- #!/bin/bash
- set -o errexit
- set -o nounset
- set -o pipefail
-
- # shellcheck -f tty tests/*.sh
+ - '{project}-verify-basic'
diff --git a/jjb/netready/netready.yml b/jjb/netready/netready.yml
index b72eeaa46..798029373 100644
--- a/jjb/netready/netready.yml
+++ b/jjb/netready/netready.yml
@@ -5,7 +5,7 @@
project: '{name}'
jobs:
- - 'netready-verify-{stream}'
+ - '{project}-verify-{stream}'
- 'netready-build-gluon-packages-daily-{stream}'
stream:
@@ -15,47 +15,6 @@
disabled: false
- job-template:
- name: 'netready-verify-{stream}'
-
- disabled: '{obj:disabled}'
-
- parameters:
- - 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: '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}'
- disable-strict-forbidden-file-verification: 'true'
- forbidden-file-paths:
- - compare-type: ANT
- pattern: 'docs/**'
-
- builders:
- - shell: |
- echo "Nothing to verify!"
-
-
-- job-template:
name: 'netready-build-gluon-packages-daily-{stream}'
disabled: true
diff --git a/jjb/octopus/octopus.yml b/jjb/octopus/octopus.yml
index fb6263d81..a04d7f10d 100644
--- a/jjb/octopus/octopus.yml
+++ b/jjb/octopus/octopus.yml
@@ -8,56 +8,4 @@
project: '{name}'
jobs:
- - 'octopus-verify-{stream}'
-
- stream:
- - master:
- branch: '{stream}'
- gs-pathname: ''
- disabled: false
- - euphrates:
- branch: 'stable/{stream}'
- gs-pathname: '/{stream}'
- disabled: false
-
-- job-template:
- name: 'octopus-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}'
- disable-strict-forbidden-file-verification: 'true'
- forbidden-file-paths:
- - compare-type: ANT
- pattern: 'docs/**|.gitignore'
-
- builders:
- - shell: |
- echo "Nothing to verify!"
+ - '{project}-verify-basic'
diff --git a/jjb/pharos/check-jinja2.yml b/jjb/pharos/check-jinja2.yml
index cfc123e4c..8ee2a2aa1 100644
--- a/jjb/pharos/check-jinja2.yml
+++ b/jjb/pharos/check-jinja2.yml
@@ -68,6 +68,8 @@
- compare-type: ANT
pattern: '**/*.yaml'
- compare-type: ANT
+ pattern: 'config/installers/**/*.j2'
+ - compare-type: ANT
pattern: 'check-jinja2.sh'
skip-vote:
successful: true
diff --git a/jjb/pharos/pharos.yml b/jjb/pharos/pharos.yml
index 7af4f0fa6..bf42f6e9c 100644
--- a/jjb/pharos/pharos.yml
+++ b/jjb/pharos/pharos.yml
@@ -1,8 +1,4 @@
---
-###################################################
-# All the jobs except verify have been removed!
-# They will only be enabled on request by projects!
-###################################################
- project:
name: pharos
@@ -11,28 +7,47 @@
- '{name}-tools'
jobs:
- - '{project}-verify-{stream}'
+ - '{project}-verify-basic'
+ - 'backup-pharos-dashboard'
+ - 'deploy-pharos-dashboard'
- stream:
- - master:
- branch: '{stream}'
- gs-pathname: ''
- disabled: false
- - euphrates:
- branch: 'stable/{stream}'
- gs-pathname: '/{stream}'
- disabled: false
+- job-template:
+ name: 'backup-pharos-dashboard'
+
+ disabled: '{obj:disabled}'
+
+ parameters:
+ - 'pharos-dashboard-defaults'
+
+ triggers:
+ - timed: '@daily'
+
+ builders:
+ - shell: |
+ BACKUP_DIR=$HOME/backups/
+ TMP_DIR=$HOME/tmp/
+ mkdir -p $BACKUP_DIR
+ echo "-- $(date +%Y%m%d) --"
+ echo "Backing up Pharos Dashboard data..."
+ sudo docker run -it --rm \
+ -v pharos-data:/pharos-data:ro \
+ -v $TMP_DIR:/backup \
+ alpine \
+ tar -czf /backup/pharos-dashboard-db-$(date +%Y%m%d).tar.gz -C /pharos-data ./
+ sudo mv $TMP_DIR/pharos-dashboard-db-$(date +%Y%m%d).tar.gz $BACKUP_DIR
+ sudo chown $USER:$USER $BACKUP_DIR/pharos-dashboard-db-$(date +%Y%m%d).tar.gz
+ echo "...complete"
- job-template:
- name: '{project}-verify-{stream}'
+ name: 'deploy-pharos-dashboard'
disabled: '{obj:disabled}'
parameters:
- project-parameter:
- project: '{project}'
- branch: '{branch}'
- - 'opnfv-build-ubuntu-defaults'
+ project: 'pharos-tools'
+ branch: 'master'
+ - 'pharos-dashboard-defaults'
scm:
- git-scm-gerrit
@@ -41,26 +56,18 @@
- 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'
+ - ref-updated-event
- comment-added-contains-event:
- comment-contains-value: 'reverify'
+ comment-contains-value: '^redeploy$'
projects:
- project-compare-type: 'ANT'
- project-pattern: '{project}'
+ project-pattern: 'pharos-tools'
branches:
- branch-compare-type: 'ANT'
- branch-pattern: '**/{branch}'
- disable-strict-forbidden-file-verification: 'true'
- forbidden-file-paths:
- - compare-type: ANT
- pattern: 'docs/**|.gitignore'
+ branch-pattern: '**/master'
builders:
- shell: |
- echo "Nothing to verify!"
+ cd $WORKSPACE/dashboard
+ sudo docker-compose build
+ sudo docker-compose up -d
diff --git a/jjb/prediction/prediction.yml b/jjb/prediction/prediction.yml
index 5e6e834e8..b686d9524 100644
--- a/jjb/prediction/prediction.yml
+++ b/jjb/prediction/prediction.yml
@@ -1,64 +1,8 @@
---
-###################################################
-# All the jobs except verify have been removed!
-# They will only be enabled on request by projects!
-###################################################
- project:
name: prediction
project: '{name}'
jobs:
- - 'prediction-verify-{stream}'
-
- stream:
- - master:
- branch: '{stream}'
- gs-pathname: ''
- disabled: false
- - euphrates:
- branch: 'stable/{stream}'
- gs-pathname: '/{stream}'
- disabled: false
-
-- job-template:
- name: 'prediction-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}'
- disable-strict-forbidden-file-verification: 'true'
- forbidden-file-paths:
- - compare-type: ANT
- pattern: 'docs/**|.gitignore'
-
- builders:
- - shell: |
- echo "Nothing to verify!"
+ - '{project}-verify-basic'
diff --git a/jjb/promise/promise.yml b/jjb/promise/promise.yml
index 3f1d9e23b..6e6fb54a8 100644
--- a/jjb/promise/promise.yml
+++ b/jjb/promise/promise.yml
@@ -1,64 +1,8 @@
---
-###################################################
-# All the jobs except verify have been removed!
-# They will only be enabled on request by projects!
-###################################################
- project:
name: promise
project: '{name}'
jobs:
- - 'promise-verify-{stream}'
-
- stream:
- - master:
- branch: '{stream}'
- gs-pathname: ''
- disabled: false
- - euphrates:
- branch: 'stable/{stream}'
- gs-pathname: '/{stream}'
- disabled: false
-
-- job-template:
- name: 'promise-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}'
- disable-strict-forbidden-file-verification: 'true'
- forbidden-file-paths:
- - compare-type: ANT
- pattern: 'docs/**|.gitignore'
-
- builders:
- - shell: |
- echo "Nothing to verify!"
+ - '{project}-verify-basic'
diff --git a/jjb/releng/compass4nfv-docker.yml b/jjb/releng/compass4nfv-docker.yml
index db2e4273b..7f142241c 100644
--- a/jjb/releng/compass4nfv-docker.yml
+++ b/jjb/releng/compass4nfv-docker.yml
@@ -36,7 +36,7 @@
predefined-parameters: |
PUSH_IMAGE=$PUSH_IMAGE
COMMIT_ID=$COMMIT_ID
- RELEASE_VERSION=$RELEASE_VERSION
+ GERRIT_REFNAME=$GERRIT_REFNAME
DOCKERFILE=$DOCKERFILE
kill-phase-on: FAILURE
abort-all-jobs: false
@@ -146,9 +146,9 @@
default: ""
description: "commit id to make a snapshot docker image"
- string:
- name: RELEASE_VERSION
+ name: GERRIT_REFNAME
default: ""
- description: "Docker tag to be built, e.g. 5.0.0, opnfv-5.0.0, 5.0.RC1"
+ description: "Docker tag to be built, e.g. refs/tags/5.0.0, refs/tags/opnfv-5.0.0, refs/tags/5.0.RC1"
- string:
name: DOCKERFILE
default: "Dockerfile"
diff --git a/jjb/releng/functest-docker.yml b/jjb/releng/functest-docker.yml
index 92dd54eaf..584dc302c 100644
--- a/jjb/releng/functest-docker.yml
+++ b/jjb/releng/functest-docker.yml
@@ -41,7 +41,7 @@
predefined-parameters: |
PUSH_IMAGE=$PUSH_IMAGE
COMMIT_ID=$COMMIT_ID
- RELEASE_VERSION=$RELEASE_VERSION
+ GERRIT_REFNAME=$GERRIT_REFNAME
DOCKERFILE=$DOCKERFILE
kill-phase-on: FAILURE
abort-all-jobs: false
@@ -51,7 +51,7 @@
git-revision: true
node-parameters: false
predefined-parameters:
- RELEASE_VERSION=$RELEASE_VERSION
+ GERRIT_REFNAME=$GERRIT_REFNAME
kill-phase-on: FAILURE
abort-all-jobs: false
@@ -89,6 +89,8 @@
triggers:
- pollscm:
cron: "*/30 * * * *"
+ - gerrit-trigger-tag-created:
+ project: '{project}'
builders:
- multijob:
@@ -132,8 +134,12 @@
<<: *build-job-settings
- name: 'functest-vnf-docker-build-amd64-{stream}'
<<: *build-job-settings
+ - name: 'functest-vnf-docker-build-arm64-{stream}'
+ <<: *build-job-settings
- name: 'functest-restapi-docker-build-amd64-{stream}'
<<: *build-job-settings
+ - name: 'functest-restapi-docker-build-arm64-{stream}'
+ <<: *build-job-settings
- multijob:
name: 'publish all manifests'
condition: SUCCESSFUL
@@ -196,10 +202,6 @@
default: "{project}"
description: "Project name used to enable job conditions"
- string:
- name: RELEASE_VERSION
- default: ""
- description: "Docker tag to be built, e.g. 5.0.0, opnfv-5.0.0, 5.0.RC1"
- - string:
name: GIT_BASE
default: https://gerrit.opnfv.org/gerrit/$PROJECT
description: 'Git URL to use on this Jenkins Slave'
@@ -215,18 +217,10 @@
*)
tag="{stream}" ;;
esac
- case "{image}" in
- "vnf"|"restapi")
- sudo manifest-tool push from-args \
- --platforms linux/amd64 \
- --template opnfv/functest-{image}:ARCH-$tag \
- --target opnfv/functest-{image}:$tag ;;
- *)
- sudo manifest-tool push from-args \
- --platforms linux/amd64,linux/arm64 \
- --template opnfv/functest-{image}:ARCH-$tag \
- --target opnfv/functest-{image}:$tag ;;
- esac
+ sudo manifest-tool push from-args \
+ --platforms linux/amd64,linux/arm64 \
+ --template opnfv/functest-{image}:ARCH-$tag \
+ --target opnfv/functest-{image}:$tag
exit $?
# parameter macro
@@ -253,9 +247,9 @@
default: ""
description: "commit id to make a snapshot docker image"
- string:
- name: RELEASE_VERSION
+ name: GERRIT_REFNAME
default: ""
- description: "Docker tag to be built, e.g. 5.0.0, opnfv-5.0.0, 5.0.RC1"
+ description: "Docker tag to be built, e.g. refs/tags/5.0.0, refs/tags/opnfv-5.0.0, refs/tags/5.0.RC1"
- string:
name: DOCKERFILE
default: "Dockerfile"
diff --git a/jjb/releng/opnfv-docker-arm.yml b/jjb/releng/opnfv-docker-arm.yml
index d1566b48d..fbf565844 100644
--- a/jjb/releng/opnfv-docker-arm.yml
+++ b/jjb/releng/opnfv-docker-arm.yml
@@ -19,7 +19,6 @@
receivers: >
cristina.pauna@enea.com
alexandru.avadanii@enea.com
- alexandru.nemes@enea.com
storperf-arm-receivers: &storperf-arm-receivers
receivers: >
cristina.pauna@enea.com
@@ -29,8 +28,6 @@
receivers: >
cristina.pauna@enea.com
alexandru.avadanii@enea.com
- alexandru.nemes@enea.com
- catalina.focsa@enea.com
delia.popescu@enea.com
other-receivers: &other-receivers
receivers: ''
@@ -157,9 +154,9 @@
default: "{docker_repo_name}"
description: "Dockerhub repo to be pushed to."
- string:
- name: RELEASE_VERSION
+ name: GERRIT_REFNAME
default: ""
- description: "Release version, e.g. 1.0, 2.0, 3.0"
+ description: "Docker tag to be built, e.g. refs/tags/5.0.0, refs/tags/opnfv-5.0.0, refs/tags/5.0.RC1"
- string:
name: DOCKER_DIR
default: "{dockerdir}"
@@ -188,6 +185,8 @@
triggers:
- pollscm:
cron: "*/30 * * * *"
+ - gerrit-trigger-tag-created:
+ project: '{project}'
publishers:
- email:
diff --git a/jjb/releng/opnfv-docker.sh b/jjb/releng/opnfv-docker.sh
index 7f646f1d9..69a9f89c7 100644
--- a/jjb/releng/opnfv-docker.sh
+++ b/jjb/releng/opnfv-docker.sh
@@ -77,6 +77,9 @@ echo "Current branch: $BRANCH"
BUILD_BRANCH=$BRANCH
+GERRIT_REFNAME=${GERRIT_REFNAME:-''}
+RELEASE_VERSION=${GERRIT_REFNAME/refs\/tags//}
+
if [[ "$BRANCH" == "master" ]]; then
DOCKER_TAG="latest"
elif [[ -n "${RELEASE_VERSION-}" ]]; then
diff --git a/jjb/releng/opnfv-docker.yml b/jjb/releng/opnfv-docker.yml
index 3ec0794a0..317efc807 100644
--- a/jjb/releng/opnfv-docker.yml
+++ b/jjb/releng/opnfv-docker.yml
@@ -120,6 +120,10 @@
project: 'yardstick'
<<: *master
<<: *other-receivers
+ - 'functest-kubernetes':
+ project: 'functest-kubernetes'
+ <<: *master
+ <<: *other-receivers
# projects with jobs for euphrates
- 'bottlenecks':
project: 'bottlenecks'
@@ -227,9 +231,9 @@
default: ""
description: "commit id to make a snapshot docker image"
- string:
- name: RELEASE_VERSION
+ name: GERRIT_REFNAME
default: ""
- description: "Docker tag to be built, e.g. 5.0.0, opnfv-5.0.0, 5.0.RC1"
+ description: "Docker tag to be built, e.g. refs/tags/5.0.0, refs/tags/opnfv-5.0.0, refs/tags/5.0.RC1"
- string:
name: DOCKERFILE
default: "{dockerfile}"
@@ -254,6 +258,8 @@
triggers:
- pollscm:
cron: "*/30 * * * *"
+ - gerrit-trigger-tag-created:
+ project: '{project}'
publishers:
- email:
diff --git a/jjb/releng/releng-ci-jobs.yml b/jjb/releng/releng-ci-jobs.yml
index c4b7c8db3..ef99f5abb 100644
--- a/jjb/releng/releng-ci-jobs.yml
+++ b/jjb/releng/releng-ci-jobs.yml
@@ -90,6 +90,12 @@
project: '{project}'
branch: 'master'
+ properties:
+ - throttle:
+ max-per-node: 1
+ max-total: 1
+ option: 'project'
+
scm:
- git-scm
diff --git a/jjb/snaps/snaps-verify-jobs.yml b/jjb/snaps/snaps-verify-jobs.yml
index bc3f39315..a6c86c966 100644
--- a/jjb/snaps/snaps-verify-jobs.yml
+++ b/jjb/snaps/snaps-verify-jobs.yml
@@ -15,7 +15,7 @@
- master:
branch: '{stream}'
gs-pathname: ''
- disabled: false
+ disabled: true
- job-template:
name: 'snaps-verify-{stream}'
diff --git a/jjb/stor4nfv/stor4nfv-project.yml b/jjb/stor4nfv/stor4nfv-project.yml
index fc479b1a1..6e796cfd4 100644
--- a/jjb/stor4nfv/stor4nfv-project.yml
+++ b/jjb/stor4nfv/stor4nfv-project.yml
@@ -1,64 +1,8 @@
---
-###################################################
-# All the jobs except verify have been removed!
-# They will only be enabled on request by projects!
-###################################################
- project:
name: stor4nfv
project: '{name}'
jobs:
- - 'stor4nfv-verify-{stream}'
-
- stream:
- - master:
- branch: '{stream}'
- gs-pathname: ''
- disabled: false
- - euphrates:
- branch: 'stable/{stream}'
- gs-pathname: '/{stream}'
- disabled: false
-
-- job-template:
- name: 'stor4nfv-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}'
- disable-strict-forbidden-file-verification: 'true'
- forbidden-file-paths:
- - compare-type: ANT
- pattern: 'docs/**|.gitignore'
-
- builders:
- - shell: |
- echo "Nothing to verify!"
+ - '{project}-verify-basic'
diff --git a/jjb/ves/ves.yml b/jjb/ves/ves.yml
index d2182cbc3..f8c5da2b4 100644
--- a/jjb/ves/ves.yml
+++ b/jjb/ves/ves.yml
@@ -1,70 +1,8 @@
---
-###################################################
-# All the jobs except verify have been removed!
-# They will only be enabled on request by projects!
-###################################################
- project:
name: ves
project: '{name}'
jobs:
- - 'ves-verify-{stream}'
-
- stream:
- - master:
- branch: '{stream}'
- gs-pathname: ''
- disabled: false
- - euphrates:
- branch: 'stable/{stream}'
- gs-pathname: '/{stream}'
- disabled: false
-
-- job-template:
- name: 'ves-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}'
- disable-strict-forbidden-file-verification: 'true'
- forbidden-file-paths:
- - compare-type: ANT
- pattern: 'docs/**|.gitignore'
-
- builders:
- - shell: |
- #!/bin/bash
- set -o errexit
- set -o nounset
- set -o pipefail
-
- # shellcheck -f tty tests/*.sh
- # shellcheck -f tty utils/*.sh
+ - '{project}-verify-basic'
diff --git a/jjb/vnf_forwarding_graph/vnf_forwarding_graph.yml b/jjb/vnf_forwarding_graph/vnf_forwarding_graph.yml
index 7f21032e2..b11c20f62 100644
--- a/jjb/vnf_forwarding_graph/vnf_forwarding_graph.yml
+++ b/jjb/vnf_forwarding_graph/vnf_forwarding_graph.yml
@@ -5,50 +5,4 @@
project: '{name}'
jobs:
- - 'vnf_forwarding_graph-verify-{stream}'
-
- stream:
- - master:
- branch: '{stream}'
- gs-pathname: ''
- disabled: false
- - euphrates:
- branch: 'stable/{stream}'
- gs-pathname: '/{stream}'
- disabled: false
-
-- job-template:
- name: 'vnf_forwarding_graph-verify-{stream}'
-
- disabled: '{obj:disabled}'
-
- parameters:
- - 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: '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:
- - shell: |
- echo "Nothing to verify!"
+ - '{project}-verify-basic'
diff --git a/jjb/xci/xci-cleanup.sh b/jjb/xci/xci-cleanup.sh
new file mode 100755
index 000000000..45b4ec273
--- /dev/null
+++ b/jjb/xci/xci-cleanup.sh
@@ -0,0 +1,24 @@
+#!/bin/bash
+# SPDX-license-identifier: Apache-2.0
+##############################################################################
+# Copyright (c) 2018 SUSE 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
+##############################################################################
+
+#----------------------------------------------------------------------
+# This script is used by CI and executed by Jenkins jobs.
+# You are not supposed to use this script manually if you don't know
+# what you are doing.
+#----------------------------------------------------------------------
+
+# skip the deployment if the patch doesn't impact the deployment
+if [[ "$GERRIT_TOPIC" =~ 'skip-verify' ]]; then
+ echo "Skipping the deployment!"
+ exit 0
+fi
+
+sudo virsh destroy ${DISTRO}_xci_vm
+sudo virsh undefine ${DISTRO}_xci_vm
diff --git a/jjb/xci/xci-merge-jobs.yml b/jjb/xci/xci-merge-jobs.yml
new file mode 100644
index 000000000..351fe22bb
--- /dev/null
+++ b/jjb/xci/xci-merge-jobs.yml
@@ -0,0 +1,257 @@
+---
+- project:
+ name: 'opnfv-xci-merge'
+
+ # -------------------------------
+ # branches
+ # -------------------------------
+ stream:
+ - master:
+ branch: '{stream}'
+ # -------------------------------
+ # distros
+ # -------------------------------
+ distro:
+ - ubuntu:
+ disabled: false
+ - centos:
+ disabled: false
+ - opensuse:
+ disabled: false
+ # -------------------------------
+ # type
+ # -------------------------------
+ type:
+ - virtual
+ # -------------------------------
+ # patch verification phases
+ # -------------------------------
+ phase:
+ - 'deploy'
+ - 'healthcheck'
+ - 'promote'
+ # -------------------------------
+ # scenarios
+ # -------------------------------
+ scenario:
+ - 'os-odl-sfc':
+ project: sfc
+ # -------------------------------
+ # jobs
+ # -------------------------------
+ jobs:
+ - 'xci-{scenario}-{type}-{distro}-merge-{stream}'
+ - 'xci-{phase}-{type}-{distro}-merge-{stream}'
+# -------------------------------
+# job templates
+# -------------------------------
+- job-template:
+ name: 'xci-{scenario}-{type}-{distro}-merge-{stream}'
+
+ project-type: multijob
+
+ disabled: '{obj:disabled}'
+
+ concurrent: false
+
+ properties:
+ - logrotate-default
+ - build-blocker:
+ use-build-blocker: true
+ blocking-jobs:
+ - 'xci-verify-{distro}-.*'
+ - 'bifrost-verify-{distro}-.*'
+ - 'bifrost-periodic-{distro}-.*'
+ - 'xci-osa-verify-{distro}-.*'
+ - 'xci-osa-periodic-{distro}-.*'
+ - 'xci-(os|k8s).*?-virtual-{distro}-.*'
+ block-level: 'NODE'
+
+ wrappers:
+ - ssh-agent-wrapper
+ - build-timeout:
+ timeout: 240
+ - fix-workspace-permissions
+
+ scm:
+ - git:
+ credentials-id: '$SSH_CREDENTIAL_ID'
+ url: 'https://gerrit.opnfv.org/gerrit/releng-xci'
+ branches:
+ - 'origin/master'
+ timeout: 15
+
+ 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: '{obj:project}'
+ branches:
+ - branch-compare-type: 'ANT'
+ branch-pattern: '**/{branch}'
+ disable-strict-forbidden-file-verification: 'true'
+ file-paths:
+ - compare-type: ANT
+ pattern: 'scenarios/**'
+ readable-message: true
+ custom-url: '* $JOB_NAME $BUILD_URL'
+
+ parameters:
+ - project-parameter:
+ project: '{obj:project}'
+ branch: '{branch}'
+ - label:
+ name: SLAVE_LABEL
+ default: 'xci-virtual'
+ - string:
+ name: DEPLOY_SCENARIO
+ default: '{scenario}'
+ - string:
+ name: CLEAN_DIB_IMAGES
+ default: 'true'
+ - string:
+ name: GIT_BASE
+ default: https://gerrit.opnfv.org/gerrit/$PROJECT
+ description: 'Git URL to use on this Jenkins Slave'
+
+ builders:
+ - description-setter:
+ description: "Built on $NODE_NAME"
+ - multijob:
+ name: deploy
+ condition: SUCCESSFUL
+ projects:
+ - name: 'xci-deploy-{type}-{distro}-merge-{stream}'
+ current-parameters: true
+ predefined-parameters: |
+ PROJECT=$PROJECT
+ DISTRO={distro}
+ DEPLOY_SCENARIO={scenario}
+ CLEAN_DIB_IMAGES=$CLEAN_DIB_IMAGES
+ 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
+ - multijob:
+ name: healthcheck
+ condition: SUCCESSFUL
+ projects:
+ - name: 'xci-healthcheck-{type}-{distro}-merge-{stream}'
+ current-parameters: true
+ predefined-parameters: |
+ PROJECT=$PROJECT
+ DISTRO={distro}
+ DEPLOY_SCENARIO={scenario}
+ CLEAN_DIB_IMAGES=$CLEAN_DIB_IMAGES
+ FUNCTEST_MODE=tier
+ FUNCTEST_TIER=healthcheck
+ 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
+
+- job-template:
+ name: 'xci-{phase}-{type}-{distro}-merge-{stream}'
+
+ disabled: false
+
+ concurrent: true
+
+ properties:
+ - logrotate-default
+ - build-blocker:
+ use-build-blocker: true
+ blocking-jobs:
+ - '.*-bifrost-verify-.*'
+ - '.*-bifrost-periodic-.*'
+ - 'osa-verify-.*'
+ - 'osa-periodic-.*'
+ block-level: 'NODE'
+
+ parameters:
+ - string:
+ name: PROJECT
+ default: 'releng-xci'
+ - string:
+ name: DISTRO
+ default: 'ubuntu'
+ - string:
+ name: DEPLOY_SCENARIO
+ default: 'os-nosdn-nofeature-noha'
+ - string:
+ name: FUNCTEST_MODE
+ default: 'tier'
+ - string:
+ name: FUNCTEST_SUITE_NAME
+ default: 'healthcheck'
+ - string:
+ name: XCI_FLAVOR
+ default: 'mini'
+ - string:
+ name: CLEAN_DIB_IMAGES
+ default: 'true'
+ - string:
+ name: OPNFV_RELENG_DEV_PATH
+ default: $WORKSPACE/
+ - string:
+ name: INSTALLER_TYPE
+ default: 'osa'
+ - string:
+ name: GIT_BASE
+ default: https://gerrit.opnfv.org/gerrit/$PROJECT
+ description: 'Git URL to use on this Jenkins Slave'
+
+ wrappers:
+ - ssh-agent-wrapper
+ - build-timeout:
+ timeout: 240
+ - fix-workspace-permissions
+
+ scm:
+ - git:
+ credentials-id: '$SSH_CREDENTIAL_ID'
+ url: 'https://gerrit.opnfv.org/gerrit/releng-xci'
+ branches:
+ - 'origin/master'
+ timeout: 15
+
+ builders:
+ - description-setter:
+ description: "Built on $NODE_NAME"
+ - 'xci-merge-{phase}-macro'
+
+# -------------------------------
+# builder macros
+# -------------------------------
+- builder:
+ name: 'xci-merge-deploy-macro'
+ builders:
+ - shell:
+ !include-raw: ./xci-start-new-vm.sh
+ - shell:
+ !include-raw: ./xci-start-deployment.sh
+
+- builder:
+ name: 'xci-merge-healthcheck-macro'
+ builders:
+ - shell:
+ !include-raw: ./xci-run-functest.sh
+ - shell:
+ !include-raw: ./xci-cleanup.sh
+
+- builder:
+ name: 'xci-merge-promote-macro'
+ builders:
+ - shell:
+ !include-raw: ./xci-promote.sh
diff --git a/jjb/xci/xci-promote.sh b/jjb/xci/xci-promote.sh
new file mode 100755
index 000000000..98ad7ff4a
--- /dev/null
+++ b/jjb/xci/xci-promote.sh
@@ -0,0 +1,30 @@
+#!/bin/bash
+# SPDX-license-identifier: Apache-2.0
+##############################################################################
+# Copyright (c) 2018 Ericsson 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
+##############################################################################
+
+#----------------------------------------------------------------------
+# This script is used by CI and executed by Jenkins jobs.
+# You are not supposed to use this script manually if you don't know
+# what you are doing.
+#----------------------------------------------------------------------
+
+# skip the healthcheck if the patch doesn't impact the deployment
+if [[ "$GERRIT_TOPIC" =~ skip-verify|skip-deployment ]]; then
+ echo "Skipping the healthcheck!"
+ exit 0
+fi
+
+# skip the deployment if the scenario is not supported on this distro
+OPNFV_SCENARIO_REQUIREMENTS=$WORKSPACE/xci/opnfv-scenario-requirements.yml
+if ! sed -n "/^- scenario: $DEPLOY_SCENARIO$/,/^$/p" $OPNFV_SCENARIO_REQUIREMENTS | grep -q $DISTRO; then
+ echo "# SKIPPED: Scenario $DEPLOY_SCENARIO is NOT supported on $DISTRO"
+ exit 0
+fi
+
+echo "Hello World!"
diff --git a/jjb/xci/xci-run-functest.sh b/jjb/xci/xci-run-functest.sh
new file mode 100755
index 000000000..4fbc6c40d
--- /dev/null
+++ b/jjb/xci/xci-run-functest.sh
@@ -0,0 +1,30 @@
+#!/bin/bash
+# SPDX-license-identifier: Apache-2.0
+##############################################################################
+# Copyright (c) 2018 SUSE 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
+##############################################################################
+
+#----------------------------------------------------------------------
+# This script is used by CI and executed by Jenkins jobs.
+# You are not supposed to use this script manually if you don't know
+# what you are doing.
+#----------------------------------------------------------------------
+
+# skip the healthcheck if the patch doesn't impact the deployment
+if [[ "$GERRIT_TOPIC" =~ skip-verify|skip-deployment ]]; then
+ echo "Skipping the healthcheck!"
+ exit 0
+fi
+
+# skip the deployment if the scenario is not supported on this distro
+OPNFV_SCENARIO_REQUIREMENTS=$WORKSPACE/xci/opnfv-scenario-requirements.yml
+if ! sed -n "/^- scenario: $DEPLOY_SCENARIO$/,/^$/p" $OPNFV_SCENARIO_REQUIREMENTS | grep -q $DISTRO; then
+ echo "# SKIPPED: Scenario $DEPLOY_SCENARIO is NOT supported on $DISTRO"
+ exit 0
+fi
+
+echo "Hello World!"
diff --git a/jjb/xci/xci-start-deployment.sh b/jjb/xci/xci-start-deployment.sh
new file mode 100755
index 000000000..e86f5b3a1
--- /dev/null
+++ b/jjb/xci/xci-start-deployment.sh
@@ -0,0 +1,30 @@
+#!/bin/bash
+# SPDX-license-identifier: Apache-2.0
+##############################################################################
+# Copyright (c) 2018 SUSE 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
+##############################################################################
+
+#----------------------------------------------------------------------
+# This script is used by CI and executed by Jenkins jobs.
+# You are not supposed to use this script manually if you don't know
+# what you are doing.
+#----------------------------------------------------------------------
+
+# skip the deployment if the patch doesn't impact the deployment
+if [[ "$GERRIT_TOPIC" =~ skip-verify|skip-deployment ]]; then
+ echo "Skipping the deployment!"
+ exit 0
+fi
+
+# skip the deployment if the scenario is not supported on this distro
+OPNFV_SCENARIO_REQUIREMENTS=$WORKSPACE/xci/opnfv-scenario-requirements.yml
+if ! sed -n "/^- scenario: $DEPLOY_SCENARIO$/,/^$/p" $OPNFV_SCENARIO_REQUIREMENTS | grep -q $DISTRO; then
+ echo "# SKIPPED: Scenario $DEPLOY_SCENARIO is NOT supported on $DISTRO"
+ exit 0
+fi
+
+ssh -F $HOME/.ssh/xci-vm-config ${DISTRO}_xci_vm "cd releng-xci && ./xci_test.sh"
diff --git a/jjb/xci/xci-start-new-vm.sh b/jjb/xci/xci-start-new-vm.sh
new file mode 100755
index 000000000..b72c33920
--- /dev/null
+++ b/jjb/xci/xci-start-new-vm.sh
@@ -0,0 +1,63 @@
+#!/bin/bash
+# SPDX-license-identifier: Apache-2.0
+##############################################################################
+# Copyright (c) 2018 SUSE 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
+##############################################################################
+
+#----------------------------------------------------------------------
+# This script is used by CI and executed by Jenkins jobs.
+# You are not supposed to use this script manually if you don't know
+# what you are doing.
+#----------------------------------------------------------------------
+
+# skip the deployment if the patch doesn't impact the deployment
+if [[ "$GERRIT_TOPIC" =~ 'skip-verify' ]]; then
+ echo "Skipping the deployment!"
+ exit 0
+fi
+
+# skip the deployment if the scenario is not supported on this distro
+OPNFV_SCENARIO_REQUIREMENTS=$WORKSPACE/xci/opnfv-scenario-requirements.yml
+if ! sed -n "/^- scenario: $DEPLOY_SCENARIO$/,/^$/p" $OPNFV_SCENARIO_REQUIREMENTS | grep -q $DISTRO; then
+ echo "# SKIPPED: Scenario $DEPLOY_SCENARIO is NOT supported on $DISTRO"
+ exit 0
+fi
+
+cd $WORKSPACE
+
+# The start-new-vm.sh script will copy the entire releng-xci directory
+# so lets prepare the test script now so it can be copied by the script.
+# Please do not move it elsewhere or you would have to move it to the VM
+# yourself.
+cat > xci_test.sh<<EOF
+#!/bin/bash
+export DISTRO=$DISTRO
+export DEPLOY_SCENARIO=$DEPLOY_SCENARIO
+export FUNCTEST_MODE=$FUNCTEST_MODE
+export FUNCTEST_SUITE_NAME=$FUNCTEST_SUITE_NAME
+export XCI_FLAVOR=$XCI_FLAVOR
+export CLEAN_DIB_IMAGES=$CLEAN_DIB_IMAGES
+export OPNFV_RELENG_DEV_PATH=/home/devuser/releng-xci/
+export INSTALLER_TYPE=$INSTALLER_TYPE
+export GIT_BASE=$GIT_BASE
+export JENKINS_HOME=$JENKINS_HOME
+
+if [[ ! -z ${WORKSPACE+x} && $GERRIT_PROJECT != "releng-xci" ]]; then
+ git clone https://gerrit.opnfv.org/gerrit/$GERRIT_PROJECT xci/scenarios/$DEPLOY_SCENARIO && cd xci/scenarios/$DEPLOY_SCENARIO
+ git fetch https://gerrit.opnfv.org/gerrit/$GERRIT_PROJECT $GERRIT_REFSPEC && git checkout FETCH_HEAD
+ cd -
+fi
+
+cd xci
+./xci-deploy.sh
+EOF
+chmod a+x xci_test.sh
+
+export XCI_BUILD_CLEAN_VM_OS=false
+export XCI_UPDATE_CLEAN_VM_OS=true
+
+./xci/scripts/vm/start-new-vm.sh $DISTRO
diff --git a/jjb/xci/xci-verify-jobs.yml b/jjb/xci/xci-verify-jobs.yml
index fffd5c2b4..af2432dd0 100644
--- a/jjb/xci/xci-verify-jobs.yml
+++ b/jjb/xci/xci-verify-jobs.yml
@@ -244,85 +244,16 @@
- builder:
name: 'xci-verify-deploy-macro'
builders:
- - shell: |
- #!/bin/bash
-
- # skip the deployment if the patch doesn't impact the deployment
- if [[ "$GERRIT_TOPIC" =~ 'skip-verify' ]]; then
- echo "Skipping the deployment!"
- exit 0
- fi
-
- cd $WORKSPACE
-
- # The start-new-vm.sh script will copy the entire releng-xci directory
- # so lets prepare the test script now so it can be copied by the script.
- # Please do not move it elsewhere or you would have to move it to the VM
- # yourself.
- cat > xci_test.sh<<EOF
- #!/bin/bash
- export DISTRO=$DISTRO
- export DEPLOY_SCENARIO=$DEPLOY_SCENARIO
- export FUNCTEST_MODE=$FUNCTEST_MODE
- export FUNCTEST_SUITE_NAME=$FUNCTEST_SUITE_NAME
- export XCI_FLAVOR=$XCI_FLAVOR
- export CLEAN_DIB_IMAGES=$CLEAN_DIB_IMAGES
- export OPNFV_RELENG_DEV_PATH=/home/devuser/releng-xci/
- export INSTALLER_TYPE=$INSTALLER_TYPE
- export GIT_BASE=$GIT_BASE
- export JENKINS_HOME=$JENKINS_HOME
-
- cd xci
- ./xci-deploy.sh
- EOF
- chmod a+x xci_test.sh
-
- export XCI_BUILD_CLEAN_VM_OS=false
- export XCI_UPDATE_CLEAN_VM_OS=true
-
- ./xci/scripts/vm/start-new-vm.sh $DISTRO
- - shell: |
- #!/bin/bash
-
- # skip the deployment if the patch doesn't impact the deployment
- if [[ "$GERRIT_TOPIC" =~ skip-verify|skip-deployment ]]; then
- echo "Skipping the deployment!"
- exit 0
- fi
-
- ssh -F $HOME/.ssh/xci-vm-config ${DISTRO}_xci_vm "cd releng-xci && ./xci_test.sh"
+ - shell:
+ !include-raw: ./xci-start-new-vm.sh
+ - shell:
+ !include-raw: ./xci-start-deployment.sh
- builder:
name: 'xci-verify-healthcheck-macro'
builders:
- - shell: |
- #!/bin/bash
-
- # skip the healthcheck if the patch doesn't impact the deployment
- if [[ "$GERRIT_TOPIC" =~ skip-verify|skip-deployment ]]; then
- echo "Skipping the healthcheck!"
- exit 0
- fi
-
- echo "Hello World!"
- - shell: |
- #!/bin/bash
-
- # skip the deployment if the patch doesn't impact the deployment
- if [[ "$GERRIT_TOPIC" =~ 'skip-verify' ]]; then
- echo "Skipping the deployment!"
- exit 0
- fi
-
- sudo virsh destroy ${DISTRO}_xci_vm
- sudo virsh undefine ${DISTRO}_xci_vm
-
-# this will be enabled once the xci is prepared
-# - builder:
-# name: 'xci-verify-healthcheck-macro'
-# builders:
-# - shell:
-# !include-raw: ../../utils/fetch_os_creds.sh
-# - shell:
-# !include-raw: ../functest/functest-alpine.sh
+ - shell:
+ !include-raw: ./xci-run-functest.sh
+ - shell:
+ !include-raw: ./xci-cleanup.sh
diff --git a/jjb/yardstick/yardstick-daily.sh b/jjb/yardstick/yardstick-daily.sh
index 4b8c5d240..f0e4f8e22 100755
--- a/jjb/yardstick/yardstick-daily.sh
+++ b/jjb/yardstick/yardstick-daily.sh
@@ -22,7 +22,7 @@ fi
if [[ ${INSTALLER_TYPE} == 'joid' ]]; then
if [[ "${DEPLOY_SCENARIO:0:2}" == "k8" ]];then
- rc_file_vol="-v /home/ubuntu/config:/etc/yardstick/admin.conf"
+ rc_file_vol="-v ${HOME}/admin.conf:/etc/yardstick/admin.conf"
else
# If production lab then creds may be retrieved dynamically
# creds are on the jumphost, always in the same folder
@@ -31,8 +31,12 @@ if [[ ${INSTALLER_TYPE} == 'joid' ]]; then
# replace the default one by the customized one provided by jenkins config
fi
elif [[ ${INSTALLER_TYPE} == 'compass' ]]; then
- cacert_file_vol="-v ${HOME}/os_cacert:/etc/yardstick/os_cacert"
- echo "export OS_CACERT=/etc/yardstick/os_cacert" >> ${HOME}/opnfv-openrc.sh
+ if [[ "${DEPLOY_SCENARIO:0:2}" == "k8" ]];then
+ rc_file_vol="-v ${HOME}/admin.conf:/etc/yardstick/admin.conf"
+ else
+ cacert_file_vol="-v ${HOME}/os_cacert:/etc/yardstick/os_cacert"
+ echo "export OS_CACERT=/etc/yardstick/os_cacert" >> ${HOME}/opnfv-openrc.sh
+ fi
elif [[ ${INSTALLER_TYPE} == 'fuel' ]]; then
cacert_file_vol="-v ${HOME}/os_cacert:/etc/ssl/certs/mcp_os_cacert"
sshkey="-v ${SSH_KEY}:/root/.ssh/mcp.rsa"
@@ -68,13 +72,8 @@ sudo rm -rf ${dir_result}/*
map_log_dir="-v ${dir_result}:/tmp/yardstick"
# Run docker
-if [[ ${INSTALLER_TYPE} == "joid" && "${DEPLOY_SCENARIO:0:2}" == "k8" ]];then
- juju ssh kubernetes-master/0 sudo apt-get install -y docker.io
- cmd="juju ssh kubernetes-master/0 sudo docker run ${opts} ${envs} ${rc_file_vol} ${cacert_file_vol} ${map_log_dir} ${sshkey} ${DOCKER_REPO}:${DOCKER_TAG} exec_tests.sh ${YARDSTICK_DB_BACKEND} ${YARDSTICK_SCENARIO_SUITE_NAME}"
-else
- cmd="sudo docker run ${opts} ${envs} ${rc_file_vol} ${cacert_file_vol} ${map_log_dir} ${sshkey} ${DOCKER_REPO}:${DOCKER_TAG} \
- exec_tests.sh ${YARDSTICK_DB_BACKEND} ${YARDSTICK_SCENARIO_SUITE_NAME}"
-fi
+cmd="sudo docker run ${opts} ${envs} ${rc_file_vol} ${cacert_file_vol} ${map_log_dir} ${sshkey} ${DOCKER_REPO}:${DOCKER_TAG} \
+exec_tests.sh ${YARDSTICK_DB_BACKEND} ${YARDSTICK_SCENARIO_SUITE_NAME}"
echo "Yardstick: Running docker cmd: ${cmd}"
${cmd}
diff --git a/jjb/yardstick/yardstick-get-k8s-conf.sh b/jjb/yardstick/yardstick-get-k8s-conf.sh
index e93367f9a..22a6aa4e6 100755
--- a/jjb/yardstick/yardstick-get-k8s-conf.sh
+++ b/jjb/yardstick/yardstick-get-k8s-conf.sh
@@ -4,5 +4,9 @@ set -e
dest_path="$HOME/admin.conf"
if [[ "${DEPLOY_SCENARIO:0:2}" == "k8" ]];then
- juju scp kubernetes-master/0:config "${dest_path}"
+ if [[ ${INSTALLER_TYPE} == 'joid' ]];then
+ juju scp kubernetes-master/0:config "${dest_path}"
+ elif [[ ${INSTALLER_TYPE} == 'compass' ]];then
+ docker cp compass-tasks:/opt/admin.conf "${dest_path}"
+ fi
fi