summaryrefslogtreecommitdiffstats
path: root/jjb
diff options
context:
space:
mode:
Diffstat (limited to 'jjb')
-rw-r--r--jjb/apex/apex-verify-jobs.yml2
-rw-r--r--jjb/apex/apex.yml14
-rw-r--r--jjb/apex/apex.yml.j24
-rw-r--r--jjb/apex/scenarios.yaml.hidden1
-rw-r--r--jjb/armband/armband-ci-jobs.yml41
-rw-r--r--jjb/auto/auto.yml50
-rw-r--r--jjb/availability/availability.yml58
-rw-r--r--jjb/barometer/barometer-build.sh1
-rw-r--r--jjb/barometer/barometer-upload-artifact.sh2
-rw-r--r--jjb/ci_gate_security/opnfv-ci-gate-security.yml5
-rw-r--r--jjb/compass4nfv/compass-ci-jobs.yml149
-rw-r--r--jjb/compass4nfv/compass-deploy.sh10
-rw-r--r--jjb/compass4nfv/compass-verify-jobs.yml8
-rw-r--r--jjb/conductor/conductor.yml58
-rw-r--r--jjb/container4nfv/container4nfv-project.yml41
-rw-r--r--jjb/copper/copper.yml63
-rw-r--r--jjb/daisy4nfv/daisy-daily-jobs.yml67
-rwxr-xr-xjjb/daisy4nfv/daisy-deploy.sh20
-rwxr-xr-xjjb/daisy4nfv/daisy4nfv-download-artifact.sh10
-rw-r--r--jjb/doctor/doctor.yml14
-rw-r--r--jjb/dovetail/dovetail-project-jobs.yml4
-rwxr-xr-xjjb/dovetail/dovetail-run.sh76
-rw-r--r--jjb/dpacc/dpacc.yml58
-rw-r--r--jjb/fuel/fuel-daily-jobs.yml290
-rw-r--r--jjb/functest/functest-daily-jobs.yml4
-rw-r--r--jjb/global/basic-jobs.yml46
-rwxr-xr-xjjb/global/installer-report.sh25
-rw-r--r--jjb/global/releng-macros.yml43
-rw-r--r--jjb/global/slave-params.yml53
-rw-r--r--jjb/ipv6/ipv6.yml58
-rw-r--r--jjb/joid/joid-daily-jobs.yml4
-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.yml64
-rw-r--r--jjb/prediction/prediction.yml58
-rw-r--r--jjb/promise/promise.yml58
-rw-r--r--jjb/qtip/qtip-experimental-jobs.yml14
-rw-r--r--jjb/qtip/qtip-verify-jobs.yml8
-rw-r--r--jjb/releng/compass4nfv-docker.yml11
-rw-r--r--jjb/releng/functest-docker.yml72
-rw-r--r--jjb/releng/opnfv-docker-arm.yml3
-rw-r--r--jjb/releng/opnfv-docker.sh7
-rw-r--r--jjb/releng/opnfv-docker.yml60
-rw-r--r--jjb/releng/opnfv-repo-archiver.sh2
-rw-r--r--jjb/releng/opnfv-utils.yml15
-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
-rw-r--r--jjb/xci/bifrost-verify-jobs.yml6
-rwxr-xr-xjjb/xci/bifrost-verify.sh16
-rw-r--r--jjb/xci/osa-periodic-jobs.yml194
-rw-r--r--jjb/xci/xci-verify-jobs.yml30
-rwxr-xr-xjjb/yardstick/yardstick-daily.sh19
-rwxr-xr-xjjb/yardstick/yardstick-get-k8s-conf.sh6
-rw-r--r--jjb/yardstick/yardstick-project-jobs.yml90
59 files changed, 926 insertions, 1426 deletions
diff --git a/jjb/apex/apex-verify-jobs.yml b/jjb/apex/apex-verify-jobs.yml
index c57ac1d60..88c1b1765 100644
--- a/jjb/apex/apex-verify-jobs.yml
+++ b/jjb/apex/apex-verify-jobs.yml
@@ -157,6 +157,8 @@
- compare-type: ANT
pattern: 'build/**'
- compare-type: ANT
+ pattern: 'ci/**'
+ - compare-type: ANT
pattern: 'lib/**'
- compare-type: ANT
pattern: 'config/**'
diff --git a/jjb/apex/apex.yml b/jjb/apex/apex.yml
index 43e234ce1..6714d6a66 100644
--- a/jjb/apex/apex.yml
+++ b/jjb/apex/apex.yml
@@ -35,7 +35,7 @@
baremetal-slave: 'apex-baremetal-master'
verify-scenario: 'os-odl-nofeature-ha'
scenario_stream: 'euphrates'
- disable_daily: false
+ disable_daily: true
- danube: &danube
branch: 'stable/danube'
gs-pathname: '/danube'
@@ -110,6 +110,8 @@
<<: *master
- 'os-odl-bgpvpn-ha':
<<: *master
+ - 'os-odl-bgpvpn-noha':
+ <<: *master
- 'os-ovn-nofeature-noha':
<<: *master
- 'os-nosdn-fdio-noha':
@@ -543,7 +545,7 @@
predefined-parameters:
DEPLOY_SCENARIO=$DEPLOY_SCENARIO
kill-phase-on: NEVER
- enable-condition: "def m = '$DEPLOY_SCENARIO' ==~ /os-(nosdn-nofeature|nosdn-kvm|odl_l3-fdio)-ha/"
+ enable-condition: "def m = '$DEPLOY_SCENARIO' ==~ /os-(nosdn-nofeature|odl-bgpvpn)-ha/"
abort-all-job: false
git-revision: false
- multijob:
@@ -1335,6 +1337,14 @@
kill-phase-on: NEVER
abort-all-job: true
git-revision: false
+ - name: 'apex-os-odl-bgpvpn-noha-baremetal-master'
+ node-parameters: false
+ current-parameters: false
+ predefined-parameters: |
+ OPNFV_CLEAN=yes
+ kill-phase-on: NEVER
+ abort-all-job: true
+ git-revision: false
- name: 'apex-os-ovn-nofeature-noha-baremetal-master'
node-parameters: false
current-parameters: false
diff --git a/jjb/apex/apex.yml.j2 b/jjb/apex/apex.yml.j2
index 6cd9de282..27a854dd7 100644
--- a/jjb/apex/apex.yml.j2
+++ b/jjb/apex/apex.yml.j2
@@ -35,7 +35,7 @@
baremetal-slave: 'apex-baremetal-master'
verify-scenario: 'os-odl-nofeature-ha'
scenario_stream: 'euphrates'
- disable_daily: false
+ disable_daily: true
- danube: &danube
branch: 'stable/danube'
gs-pathname: '/danube'
@@ -419,7 +419,7 @@
predefined-parameters:
DEPLOY_SCENARIO=$DEPLOY_SCENARIO
kill-phase-on: NEVER
- enable-condition: "def m = '$DEPLOY_SCENARIO' ==~ /os-(nosdn-nofeature|nosdn-kvm|odl_l3-fdio)-ha/"
+ enable-condition: "def m = '$DEPLOY_SCENARIO' ==~ /os-(nosdn-nofeature|odl-bgpvpn)-ha/"
abort-all-job: false
git-revision: false
- multijob:
diff --git a/jjb/apex/scenarios.yaml.hidden b/jjb/apex/scenarios.yaml.hidden
index 98b698dd8..789ca7f7e 100644
--- a/jjb/apex/scenarios.yaml.hidden
+++ b/jjb/apex/scenarios.yaml.hidden
@@ -4,6 +4,7 @@ master:
- 'os-odl-nofeature-ha'
- 'os-odl-nofeature-noha'
- 'os-odl-bgpvpn-ha'
+ - 'os-odl-bgpvpn-noha'
- 'os-ovn-nofeature-noha'
- 'os-nosdn-fdio-noha'
- 'os-nosdn-fdio-ha'
diff --git a/jjb/armband/armband-ci-jobs.yml b/jjb/armband/armband-ci-jobs.yml
index 0202ef0e7..b2fa62f87 100644
--- a/jjb/armband/armband-ci-jobs.yml
+++ b/jjb/armband/armband-ci-jobs.yml
@@ -158,34 +158,21 @@
build-step-failure-threshold: 'never'
failure-threshold: 'never'
unstable-threshold: 'FAILURE'
- # 1.dovetail only master, based on D release
- # 2.here the stream means the SUT stream,
- # dovetail stream is defined in its own job
- # 3.only proposed_tests testsuite here(refstack, ha, ipv6, bgpvpn)
- # 4.not used for release criteria or compliance,
+ # 1.here the stream means the SUT stream, dovetail stream is defined in its own job
+ # 2.only debug testsuite here(refstack, ha, vping, ipv6, tempest, bgpvpn)
+ # 3.not used for release criteria or compliance,
# only to debug the dovetail tool bugs with arm pods
- # 5.only run against scenario os-(nosdn|odl)-(nofeature-bgpvpn)-ha
- - conditional-step:
- condition-kind: and
- condition-operands:
- - condition-kind: regex-match
- regex: os-(nosdn|odl)-(nofeature|bgpvpn)-ha
- label: '{scenario}'
- - condition-kind: regex-match
- regex: 'danube'
- label: '{stream}'
- steps:
- - trigger-builds:
- - project: 'dovetail-{installer}-{pod}-proposed_tests-master'
- 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'
+ - trigger-builds:
+ - project: 'dovetail-{installer}-{pod}-proposed_tests-{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'
# Armband uses Fuel's log collection project job, no need to duplicate
- conditional-step:
condition-kind: not
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/barometer/barometer-build.sh b/jjb/barometer/barometer-build.sh
index e40841bc2..5f78aae7a 100644
--- a/jjb/barometer/barometer-build.sh
+++ b/jjb/barometer/barometer-build.sh
@@ -11,6 +11,7 @@ echo
cd ci
./install_dependencies.sh
./build_rpm.sh
+cp utility/rpms_list $WORKSPACE
cd $WORKSPACE
# save information regarding artifact into file
diff --git a/jjb/barometer/barometer-upload-artifact.sh b/jjb/barometer/barometer-upload-artifact.sh
index 0f639b5d9..f05dc2af8 100644
--- a/jjb/barometer/barometer-upload-artifact.sh
+++ b/jjb/barometer/barometer-upload-artifact.sh
@@ -2,7 +2,7 @@
set -o nounset
set -o pipefail
-RPM_LIST=$WORKSPACE/ci/utilities/rpms_list
+RPM_LIST=$WORKSPACE/rpms_list
RPM_WORKDIR=$WORKSPACE/rpmbuild
RPM_DIR=$RPM_WORKDIR/RPMS/x86_64/
cd $WORKSPACE/
diff --git a/jjb/ci_gate_security/opnfv-ci-gate-security.yml b/jjb/ci_gate_security/opnfv-ci-gate-security.yml
index 75d1698ad..d54aebea4 100644
--- a/jjb/ci_gate_security/opnfv-ci-gate-security.yml
+++ b/jjb/ci_gate_security/opnfv-ci-gate-security.yml
@@ -116,12 +116,13 @@
builders:
- anteater-security-audit-weekly
- - clean-workspace
publishers:
# defined in jjb/global/releng-macros.yml
- 'email-{repo}-ptl':
subject: 'OPNFV Security Scan Result: {repo}'
+ - workspace-cleanup:
+ fail-build: false
- job-template:
name: 'opnfv-security-audit-verify-{stream}'
@@ -162,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/compass4nfv/compass-ci-jobs.yml b/jjb/compass4nfv/compass-ci-jobs.yml
index 4adfc2a3f..0790b83ca 100644
--- a/jjb/compass4nfv/compass-ci-jobs.yml
+++ b/jjb/compass4nfv/compass-ci-jobs.yml
@@ -13,7 +13,7 @@
gs-pathname: ''
ppa-pathname: '/{stream}'
disabled: false
- openstack-version: ocata
+ openstack-version: pike
euphrates: &euphrates
stream: euphrates
branch: 'stable/{stream}'
@@ -54,7 +54,7 @@
# master
# -------------------------------
- baremetal-centos:
- slave-label: 'intel-pod8'
+ slave-label: 'intel-pod17'
os-version: 'centos7'
<<: *master
# -------------------------------
@@ -120,6 +120,9 @@
- 'os-nosdn-ovs_dpdk-noha':
disabled: false
auto-trigger-name: 'compass-{scenario}-{pod}-{stream}-trigger'
+ - 'os-nosdn-bar-ha':
+ disabled: false
+ auto-trigger-name: 'compass-{scenario}-{pod}-{stream}-trigger'
jobs:
- 'compass-{scenario}-{pod}-daily-{stream}'
@@ -207,24 +210,21 @@
unstable-threshold: 'FAILURE'
# 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
- # only run on os-(nosdn|odl_l2|onos|odl_l3)-nofeature-ha scenario
- # run against SUT master branch, dovetail docker image with latest tag
- # run against SUT danube branch, dovetail docker image with latest tag(Monday and Sunday)
- # run against SUT danube branch, dovetail docker image with cvp.X.X.X tag(Tuesday, Thursday, Friday and Saturday)
+ # only run on os-(nosdn|odl_l2|odl_l3)-nofeature-ha scenario
+ # run against SUT master/euphrates branch, dovetail docker image with latest tag(Monday, Tuesday)
+ # run against SUT master/euphrates branch, dovetail docker image with cvp.X.X.X tag(Thursday, Friday)
+ # run against SUT danube branch, dovetail docker image with cvp.X.X.X tag on huawei-pod7
- conditional-step:
condition-kind: and
condition-operands:
- condition-kind: regex-match
- regex: danube
- label: '{stream}'
- - condition-kind: regex-match
- regex: os-(nosdn|odl_l2|odl_l3)-nofeature-ha
+ regex: os-(nosdn|odl_l3)-nofeature-ha
label: '{scenario}'
- condition-kind: day-of-week
day-selector: select-days
days:
MON: true
- SUN: true
+ TUES: true
use-build-time: true
steps:
- trigger-builds:
@@ -243,19 +243,13 @@
condition-kind: and
condition-operands:
- condition-kind: regex-match
- regex: danube
- label: '{stream}'
- - condition-kind: regex-match
- regex: os-(nosdn|odl_l2|odl_l3)-nofeature-ha
+ regex: os-(nosdn|odl_l3)-nofeature-ha
label: '{scenario}'
- condition-kind: day-of-week
day-selector: select-days
days:
- TUES: true
- WED: true
THURS: true
FRI: true
- SAT: true
use-build-time: true
steps:
- trigger-builds:
@@ -273,27 +267,6 @@
condition-kind: and
condition-operands:
- condition-kind: regex-match
- regex: os-(nosdn|odl_l2|odl_l3)-nofeature-ha
- label: '{scenario}'
- - condition-kind: regex-match
- regex: master
- label: '{stream}'
- steps:
- - trigger-builds:
- - project: 'dovetail-compass-{pod}-proposed_tests-{stream}'
- current-parameters: false
- predefined-parameters:
- DEPLOY_SCENARIO={scenario}
- block: true
- same-node: true
- block-thresholds:
- build-step-failure-threshold: 'never'
- failure-threshold: 'never'
- unstable-threshold: 'FAILURE'
- - conditional-step:
- condition-kind: and
- condition-operands:
- - condition-kind: regex-match
regex: os-nosdn-nofeature-ha
label: '{scenario}'
steps:
@@ -333,7 +306,7 @@
- build-name:
name: '$BUILD_NUMBER - Scenario: $DEPLOY_SCENARIO'
- timeout:
- timeout: 240
+ timeout: 360
abort: true
- fix-workspace-permissions
@@ -453,6 +426,10 @@
name: 'compass-k8-nosdn-nofeature-ha-baremetal-centos-master-trigger'
triggers:
- timed: ''
+- trigger:
+ name: 'compass-os-nosdn-bar-ha-baremetal-centos-master-trigger'
+ triggers:
+ - timed: '' # '0 19 * * *'
# ----------------------------
# noha-baremetal-centos-master
@@ -533,6 +510,10 @@
name: 'compass-k8-nosdn-nofeature-ha-huawei-pod7-danube-trigger'
triggers:
- timed: ''
+- trigger:
+ name: 'compass-os-nosdn-bar-ha-huawei-pod7-danube-trigger'
+ triggers:
+ - timed: '' # '0 19 * * *'
# ----------------------------
# noha-huawei-pod7-danube
@@ -568,7 +549,7 @@
- trigger:
name: 'compass-os-nosdn-nofeature-ha-baremetal-master-trigger'
triggers:
- - timed: '0 20 * * *'
+ - timed: '0 20 2-30/2 * *'
- trigger:
name: 'compass-os-nosdn-openo-ha-baremetal-master-trigger'
triggers:
@@ -580,7 +561,7 @@
- trigger:
name: 'compass-os-odl_l3-nofeature-ha-baremetal-master-trigger'
triggers:
- - timed: '0 18 * * *'
+ - timed: '0 18 1-29/2 * *'
- trigger:
name: 'compass-os-onos-nofeature-ha-baremetal-master-trigger'
triggers:
@@ -596,15 +577,15 @@
- trigger:
name: 'compass-os-odl_l2-moon-ha-baremetal-master-trigger'
triggers:
- - timed: '0 12 * * *'
+ - timed: '0 12 2-30/2 * *'
- trigger:
name: 'compass-os-nosdn-kvm-ha-baremetal-master-trigger'
triggers:
- - timed: '0 14 * * *'
+ - timed: '0 14 1-29/2 * *'
- trigger:
name: 'compass-os-nosdn-ovs_dpdk-ha-baremetal-master-trigger'
triggers:
- - timed: '0 16 * * *'
+ - timed: '0 16 2-30/2 * *'
- trigger:
name: 'compass-k8-nosdn-nofeature-ha-baremetal-master-trigger'
triggers:
@@ -612,7 +593,11 @@
- trigger:
name: 'compass-os-odl-sfc-ha-baremetal-master-trigger'
triggers:
- - timed: '0 10 * * *'
+ - timed: '0 10 1-29/2 * *'
+- trigger:
+ name: 'compass-os-nosdn-bar-ha-baremetal-master-trigger'
+ triggers:
+ - timed: '0 2 2-30/2 * *'
# ---------------------
# noha-baremetal-master
@@ -648,7 +633,7 @@
- trigger:
name: 'compass-os-nosdn-nofeature-ha-baremetal-euphrates-trigger'
triggers:
- - timed: '0 1 * * *'
+ - timed: '0 1 1-29/2 * *'
- trigger:
name: 'compass-os-nosdn-openo-ha-baremetal-euphrates-trigger'
triggers:
@@ -660,7 +645,7 @@
- trigger:
name: 'compass-os-odl_l3-nofeature-ha-baremetal-euphrates-trigger'
triggers:
- - timed: '0 21 * * *'
+ - timed: '0 21 2-30/2 * *'
- trigger:
name: 'compass-os-onos-nofeature-ha-baremetal-euphrates-trigger'
triggers:
@@ -676,15 +661,15 @@
- trigger:
name: 'compass-os-odl_l2-moon-ha-baremetal-euphrates-trigger'
triggers:
- - timed: '0 5 * * *'
+ - timed: '0 5 1-29/2 * *'
- trigger:
name: 'compass-os-nosdn-kvm-ha-baremetal-euphrates-trigger'
triggers:
- - timed: '0 13 * * *'
+ - timed: '0 13 2-30/2 * *'
- trigger:
name: 'compass-os-nosdn-ovs_dpdk-ha-baremetal-euphrates-trigger'
triggers:
- - timed: '0 9 * * *'
+ - timed: '0 9 1-29/2 * *'
- trigger:
name: 'compass-k8-nosdn-nofeature-ha-baremetal-euphrates-trigger'
triggers:
@@ -692,7 +677,11 @@
- trigger:
name: 'compass-os-odl-sfc-ha-baremetal-euphrates-trigger'
triggers:
- - timed: '0 17 * * *'
+ - timed: '0 17 2-30/2 * *'
+- trigger:
+ name: 'compass-os-nosdn-bar-ha-baremetal-euphrates-trigger'
+ triggers:
+ - timed: '0 21 1-29/2 * *'
# ---------------------
# noha-baremetal-euphrates
@@ -740,7 +729,7 @@
- trigger:
name: 'compass-os-odl_l3-nofeature-ha-virtual-master-trigger'
triggers:
- - timed: '0 19 * * *'
+ - timed: '0 19 2-30/2 * *'
- trigger:
name: 'compass-os-onos-nofeature-ha-virtual-master-trigger'
triggers:
@@ -756,15 +745,15 @@
- trigger:
name: 'compass-os-odl_l2-moon-ha-virtual-master-trigger'
triggers:
- - timed: '30 12 * * *'
+ - timed: '30 12 1-29/2 * *'
- trigger:
name: 'compass-os-nosdn-kvm-ha-virtual-master-trigger'
triggers:
- - timed: '0 13 * * *'
+ - timed: '0 13 1-29/2 * *'
- trigger:
name: 'compass-os-nosdn-ovs_dpdk-ha-virtual-master-trigger'
triggers:
- - timed: '0 17 * * *'
+ - timed: '0 17 2-30/2 * *'
- trigger:
name: 'compass-k8-nosdn-nofeature-ha-virtual-master-trigger'
triggers:
@@ -772,7 +761,11 @@
- trigger:
name: 'compass-os-odl-sfc-ha-virtual-master-trigger'
triggers:
- - timed: '0 16 * * *'
+ - timed: '0 16 2-30/2 * *'
+- trigger:
+ name: 'compass-os-nosdn-bar-ha-virtual-master-trigger'
+ triggers:
+ - timed: '0 17 1-29/2 * *'
# -------------------
# noha-virtual-master
@@ -780,27 +773,27 @@
- trigger:
name: 'compass-os-nosdn-kvm-noha-virtual-master-trigger'
triggers:
- - timed: '30 13 * * *'
+ - timed: '30 13 1-29/2 * *'
- trigger:
name: 'compass-os-nosdn-nofeature-noha-virtual-master-trigger'
triggers:
- - timed: '0 14 * * *'
+ - timed: '0 14 2-30/2 * *'
- trigger:
name: 'compass-os-odl_l3-nofeature-noha-virtual-master-trigger'
triggers:
- - timed: '0 15 * * *'
+ - timed: '0 15 1-29/2 * *'
- trigger:
name: 'compass-os-odl_l2-moon-noha-virtual-master-trigger'
triggers:
- - timed: '0 18 * * *'
+ - timed: '0 18 2-30/2 * *'
- trigger:
name: 'compass-os-odl-sfc-noha-virtual-master-trigger'
triggers:
- - timed: '0 20 * * *'
+ - timed: '0 20 1-29/2 * *'
- trigger:
name: 'compass-os-nosdn-ovs_dpdk-noha-virtual-master-trigger'
triggers:
- - timed: '0 11 * * *'
+ - timed: '0 11 2-30/2 * *'
# -----------------
# ha-virtual-euphrates
@@ -808,7 +801,7 @@
- trigger:
name: 'compass-os-nosdn-nofeature-ha-virtual-euphrates-trigger'
triggers:
- - timed: '0 23 * * *'
+ - timed: '0 23 1-29/2 * *'
- trigger:
name: 'compass-os-nosdn-openo-ha-virtual-euphrates-trigger'
triggers:
@@ -820,7 +813,7 @@
- trigger:
name: 'compass-os-odl_l3-nofeature-ha-virtual-euphrates-trigger'
triggers:
- - timed: '0 22 * * *'
+ - timed: '0 22 2-30/2 * *'
- trigger:
name: 'compass-os-onos-nofeature-ha-virtual-euphrates-trigger'
triggers:
@@ -836,23 +829,27 @@
- trigger:
name: 'compass-os-odl_l2-moon-ha-virtual-euphrates-trigger'
triggers:
- - timed: '0 20 * * *'
+ - timed: '0 20 1-29/2 * *'
- trigger:
name: 'compass-os-nosdn-kvm-ha-virtual-euphrates-trigger'
triggers:
- - timed: '0 16 * * *'
+ - timed: '0 16 2-30/2 * *'
- trigger:
name: 'compass-os-nosdn-ovs_dpdk-ha-virtual-euphrates-trigger'
triggers:
- - timed: '0 14 * * *'
+ - timed: '0 14 1-29/2 * *'
- trigger:
name: 'compass-os-odl-sfc-ha-virtual-euphrates-trigger'
triggers:
- - timed: '0 18 * * *'
+ - timed: '0 18 2-30/2 * *'
- trigger:
name: 'compass-k8-nosdn-nofeature-ha-virtual-euphrates-trigger'
triggers:
- - timed: '5 1 * * *'
+ - timed: '5 1 2-30/2 * *'
+- trigger:
+ name: 'compass-os-nosdn-bar-ha-virtual-euphrates-trigger'
+ triggers:
+ - timed: '0 19 1-29/2 * *'
# -------------------
# noha-virtual-euphrates
@@ -860,24 +857,24 @@
- trigger:
name: 'compass-os-nosdn-kvm-noha-virtual-euphrates-trigger'
triggers:
- - timed: '0 15 * * *'
+ - timed: '0 15 1-29/2 * *'
- trigger:
name: 'compass-os-nosdn-nofeature-noha-virtual-euphrates-trigger'
triggers:
- - timed: '0 17 * * *'
+ - timed: '0 17 2-30/2 * *'
- trigger:
name: 'compass-os-odl_l3-nofeature-noha-virtual-euphrates-trigger'
triggers:
- - timed: '0 23 * * *'
+ - timed: '0 23 1-29/2 * *'
- trigger:
name: 'compass-os-odl_l2-moon-noha-virtual-euphrates-trigger'
triggers:
- - timed: '0 21 * * *'
+ - timed: '0 21 2-30/2 * *'
- trigger:
name: 'compass-os-odl-sfc-noha-virtual-euphrates-trigger'
triggers:
- - timed: '0 19 * * *'
+ - timed: '0 19 1-29/2 * *'
- trigger:
name: 'compass-os-nosdn-ovs_dpdk-noha-virtual-euphrates-trigger'
triggers:
- - timed: '0 12 * * *'
+ - timed: '0 12 2-30/2 * *'
diff --git a/jjb/compass4nfv/compass-deploy.sh b/jjb/compass4nfv/compass-deploy.sh
index ad069a57c..ac649b992 100644
--- a/jjb/compass4nfv/compass-deploy.sh
+++ b/jjb/compass4nfv/compass-deploy.sh
@@ -45,10 +45,6 @@ else
export NETWORK_CONF_FILE=network.yml
fi
-if [[ "$NODE_NAME" =~ "intel-pod8" ]]; then
- export OS_MGMT_NIC=em4
-fi
-
if [[ "$NODE_NAME" =~ "-virtual" ]]; then
export NETWORK_CONF=$CONFDIR/vm_environment/$NODE_NAME/${NETWORK_CONF_FILE}
export DHA_CONF=$CONFDIR/vm_environment/${DEPLOY_SCENARIO}.yml
@@ -58,7 +54,11 @@ if [[ "$NODE_NAME" =~ "-virtual" ]]; then
export VIRT_NUMBER=2
fi
else
- export INSTALL_NIC=eth1
+ if [[ "$NODE_NAME" =~ "intel-pod17" ]]; then
+ export INSTALL_NIC=eno2
+ else
+ export INSTALL_NIC=eth1
+ fi
export NETWORK_CONF=$CONFDIR/hardware_environment/$NODE_NAME/${NETWORK_CONF_FILE}
export DHA_CONF=$CONFDIR/hardware_environment/$NODE_NAME/${DEPLOY_SCENARIO}.yml
fi
diff --git a/jjb/compass4nfv/compass-verify-jobs.yml b/jjb/compass4nfv/compass-verify-jobs.yml
index 6927145c8..7024dad58 100644
--- a/jjb/compass4nfv/compass-verify-jobs.yml
+++ b/jjb/compass4nfv/compass-verify-jobs.yml
@@ -16,13 +16,13 @@
disabled: false
openstack-version: 'ocata'
branch-type: 'master'
- - danube:
+ - euphrates:
branch: 'stable/{stream}'
gs-pathname: '/{stream}'
ppa-pathname: '/{stream}'
disabled: false
- openstack-version: 'newton'
- branch-type: 'branch'
+ openstack-version: 'ocata'
+ branch-type: 'master'
distro:
- 'xenial':
@@ -75,7 +75,7 @@
wrappers:
- ssh-agent-wrapper
- timeout:
- timeout: 240
+ timeout: 360
fail: true
- fix-workspace-permissions
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/container4nfv/container4nfv-project.yml b/jjb/container4nfv/container4nfv-project.yml
index 58070e1c5..03bbb655e 100644
--- a/jjb/container4nfv/container4nfv-project.yml
+++ b/jjb/container4nfv/container4nfv-project.yml
@@ -10,7 +10,8 @@
jobs:
- 'container4nfv-verify-{stream}'
- - 'container4nfv-daily-{stream}'
+ - 'container4nfv-daily-upload-{stream}'
+ - 'container4nfv-daily-deploy-{stream}'
stream:
- master:
@@ -71,9 +72,34 @@
cd $WORKSPACE/ci
./build.sh
+- job-template:
+ name: 'container4nfv-daily-upload-{stream}'
+
+ disabled: '{obj:disabled}'
+
+ concurrent: false
+
+ scm:
+ - git-scm
+
+ wrappers:
+ - fix-workspace-permissions
+
+ parameters:
+ - project-parameter:
+ project: '{project}'
+ branch: '{branch}'
+ - 'opnfv-build-ubuntu-defaults'
+ - 'container4nfv-defaults':
+ gs-pathname: '{gs-pathname}'
+
+ builders:
+ - shell: |
+ cd $WORKSPACE/ci
+ ./upload.sh
- job-template:
- name: 'container4nfv-daily-{stream}'
+ name: 'container4nfv-daily-deploy-{stream}'
project-type: freestyle
@@ -115,3 +141,14 @@
- shell: |
cd $WORKSPACE/ci
./deploy.sh
+
+###################
+# parameter macros
+###################
+- parameter:
+ name: 'container4nfv-defaults'
+ parameters:
+ - string:
+ name: GS_URL
+ default: artifacts.opnfv.org/$PROJECT{gs-pathname}
+ description: "URL to Google Storage."
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..5a0e321f0 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}'
@@ -126,6 +131,9 @@
current-parameters: false
predefined-parameters:
DEPLOY_SCENARIO={scenario}
+ INSTALLER_VERSION={stream}
+ UPSTREAM_JOB_NAME=$JOB_NAME
+ UPSTREAM_BUILD_ID=$BUILD_ID
same-node: true
block: true
- trigger-builds:
@@ -133,6 +141,9 @@
current-parameters: false
predefined-parameters:
DEPLOY_SCENARIO={scenario}
+ INSTALLER_VERSION={stream}
+ UPSTREAM_JOB_NAME=$JOB_NAME
+ UPSTREAM_BUILD_ID=$BUILD_ID
same-node: true
block: true
block-thresholds:
@@ -154,6 +165,9 @@
current-parameters: false
predefined-parameters:
DEPLOY_SCENARIO={scenario}
+ INSTALLER_VERSION={stream}
+ UPSTREAM_JOB_NAME=$JOB_NAME
+ UPSTREAM_BUILD_ID=$BUILD_ID
block: true
same-node: true
block-thresholds:
@@ -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 803ff5b03..1723fd109 100755
--- a/jjb/daisy4nfv/daisy-deploy.sh
+++ b/jjb/daisy4nfv/daisy-deploy.sh
@@ -19,14 +19,22 @@ fi
# clone the securedlab repo
cd $WORKSPACE
-SECURELAB_DIR=/var/tmp/opnfv-securedlab
-echo "Cloning securedlab repo $BRANCH to $SECURELAB_DIR"
-rm -rf $SECURELAB_DIR
-git clone ssh://jenkins-zte@gerrit.opnfv.org:29418/securedlab --quiet \
- --branch $BRANCH $SECURELAB_DIR
+# There are no PDFs in euphrates branch of pharos repo.
+if [[ "$BRANCH" =~ "euphrates" ]]; then
+ CONFIG_REPO_NAME=securedlab
+else
+ CONFIG_REPO_NAME=pharos
+fi
+
+LABS_DIR=/var/tmp/opnfv-${CONFIG_REPO_NAME}
+
+echo "Cloning ${CONFIG_REPO_NAME} repo $BRANCH to $LABS_DIR"
+rm -rf $LABS_DIR
+git clone ssh://jenkins-zte@gerrit.opnfv.org:29418/${CONFIG_REPO_NAME} \
+ --quiet --branch $BRANCH $LABS_DIR
-DEPLOY_COMMAND="sudo -E ./ci/deploy/deploy.sh -L $SECURELAB_DIR \
+DEPLOY_COMMAND="sudo -E ./ci/deploy/deploy.sh -L $LABS_DIR \
-l $LAB_NAME -p $POD_NAME -B $BRIDGE -s $DEPLOY_SCENARIO"
# log info to console
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..95cb4765a 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}'
@@ -172,7 +167,7 @@
- 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'
+ 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
@@ -283,7 +278,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 +316,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/dovetail/dovetail-project-jobs.yml b/jjb/dovetail/dovetail-project-jobs.yml
index c38ec9637..1accffcdb 100644
--- a/jjb/dovetail/dovetail-project-jobs.yml
+++ b/jjb/dovetail/dovetail-project-jobs.yml
@@ -16,6 +16,10 @@
- master:
branch: '{stream}'
disabled: false
+ - danube:
+ branch: 'stable/{stream}'
+ gs-pathname: '/{stream}'
+ disabled: false
################################
# job templates
diff --git a/jjb/dovetail/dovetail-run.sh b/jjb/dovetail/dovetail-run.sh
index e084e4bd0..e50242bd6 100755
--- a/jjb/dovetail/dovetail-run.sh
+++ b/jjb/dovetail/dovetail-run.sh
@@ -13,6 +13,9 @@
set -e
[[ $CI_DEBUG == true ]] && redirect="/dev/stdout" || redirect="/dev/null"
+DEPLOY_TYPE=baremetal
+[[ $BUILD_TAG =~ "virtual" ]] && DEPLOY_TYPE=virt
+
DOVETAIL_HOME=${WORKSPACE}/cvp
[ -d ${DOVETAIL_HOME} ] && sudo rm -rf ${DOVETAIL_HOME}
@@ -21,6 +24,8 @@ mkdir -p ${DOVETAIL_HOME}
DOVETAIL_CONFIG=${DOVETAIL_HOME}/pre_config
mkdir -p ${DOVETAIL_CONFIG}
+ssh_options="-o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no"
+
sshkey=""
# The path of openrc.sh is defined in fetch_os_creds.sh
OPENRC=${DOVETAIL_CONFIG}/env_config.sh
@@ -73,13 +78,17 @@ if [[ -f $OPENRC ]]; then
exit 1
fi
fi
- cat $OPENRC
else
echo "ERROR: cannot find file $OPENRC. Please check if it is existing."
sudo ls -al ${DOVETAIL_CONFIG}
exit 1
fi
+if [[ ! "${SUT_BRANCH}" =~ "danube" && ${INSTALLER_TYPE} == "fuel" ]]; then
+ sed -i "s#/etc/ssl/certs/mcp_os_cacert#${CACERT}#g" ${OPENRC}
+fi
+cat $OPENRC
+
if [[ ! "${SUT_BRANCH}" =~ "danube" && ${INSTALLER_TYPE} == "compass" ]]; then
cat << EOF >${DOVETAIL_CONFIG}/pod.yaml
nodes:
@@ -92,6 +101,19 @@ nodes:
EOF
fi
+if [[ ! "${SUT_BRANCH}" =~ "danube" && ${INSTALLER_TYPE} == 'fuel' && ${DEPLOY_TYPE} == 'baremetal' ]]; then
+ fuel_ctl_ssh_options="${ssh_options} -i ${SSH_KEY}"
+ ssh_user="ubuntu"
+ fuel_ctl_ip=$(ssh 2>/dev/null ${fuel_ctl_ssh_options} "${ssh_user}@${INSTALLER_IP}" \
+ "sudo salt --out yaml 'ctl*' pillar.get _param:openstack_control_address | \
+ awk '{print \$2; exit}'") &> /dev/null
+ cat << EOF >${DOVETAIL_CONFIG}/pod.yaml
+nodes:
+- {ip: ${fuel_ctl_ip}, name: node1, key_filename: /root/.ssh/id_rsa, role: controller, user: ${ssh_user}}
+
+EOF
+fi
+
if [[ ! -f ${DOVETAIL_CONFIG}/pod.yaml ]]; then
set +e
@@ -109,6 +131,8 @@ if [[ ! -f ${DOVETAIL_CONFIG}/pod.yaml ]]; then
options="-u root -p r00tme"
elif [[ ${INSTALLER_TYPE} == apex ]]; then
options="-u stack -k /root/.ssh/id_rsa"
+ elif [[ ${INSTALLER_TYPE} == daisy ]]; then
+ options="-u root -p r00tme"
else
echo "Don't support to generate pod.yaml on ${INSTALLER_TYPE} currently."
echo "HA test cases may not run properly."
@@ -135,11 +159,13 @@ else
echo "HA test cases may not run properly."
fi
-ssh_options="-o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no"
-
if [ "$INSTALLER_TYPE" == "fuel" ]; then
- echo "Fetching id_rsa file from jump_server $INSTALLER_IP..."
- sshpass -p r00tme sudo scp $ssh_options root@${INSTALLER_IP}:~/.ssh/id_rsa ${DOVETAIL_CONFIG}/id_rsa
+ if [[ "${SUT_BRANCH}" =~ "danube" ]]; then
+ echo "Fetching id_rsa file from jump_server $INSTALLER_IP..."
+ sshpass -p r00tme sudo scp $ssh_options root@${INSTALLER_IP}:~/.ssh/id_rsa ${DOVETAIL_CONFIG}/id_rsa
+ else
+ cp ${SSH_KEY} ${DOVETAIL_CONFIG}/id_rsa
+ fi
fi
if [ "$INSTALLER_TYPE" == "apex" ]; then
@@ -147,6 +173,12 @@ if [ "$INSTALLER_TYPE" == "apex" ]; then
sudo scp $ssh_options stack@${INSTALLER_IP}:~/.ssh/id_rsa ${DOVETAIL_CONFIG}/id_rsa
fi
+if [ "$INSTALLER_TYPE" == "daisy" ]; then
+ echo "Fetching id_dsa file from jump_server $INSTALLER_IP..."
+ sshpass -p r00tme sudo scp $ssh_options root@${INSTALLER_IP}:~/.ssh/id_dsa ${DOVETAIL_CONFIG}/id_rsa
+fi
+
+
image_path=${HOME}/opnfv/dovetail/images
if [[ ! -d ${image_path} ]]; then
mkdir -p ${image_path}
@@ -174,20 +206,26 @@ docker_volume="-v /var/run/docker.sock:/var/run/docker.sock"
dovetail_home_volume="-v ${DOVETAIL_HOME}:${DOVETAIL_HOME}"
# Pull the image with correct tag
-echo "Dovetail: Pulling image opnfv/dovetail:${DOCKER_TAG}"
-docker pull opnfv/dovetail:$DOCKER_TAG >$redirect
+DOCKER_REPO='opnfv/dovetail'
+if [ "$(uname -m)" = 'aarch64' ]; then
+ DOCKER_REPO="${DOCKER_REPO}_$(uname -m)"
+ DOCKER_TAG="latest"
+fi
+
+echo "Dovetail: Pulling image ${DOCKER_REPO}:${DOCKER_TAG}"
+docker pull ${DOCKER_REPO}:$DOCKER_TAG >$redirect
env4bgpvpn="-e INSTALLER_TYPE=${INSTALLER_TYPE} -e INSTALLER_IP=${INSTALLER_IP}"
cmd="docker run ${opts} -e DOVETAIL_HOME=${DOVETAIL_HOME} ${docker_volume} ${dovetail_home_volume} \
- ${sshkey} ${env4bgpvpn} opnfv/dovetail:${DOCKER_TAG} /bin/bash"
+ ${sshkey} ${env4bgpvpn} ${DOCKER_REPO}:${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)
+container_id=$(docker ps | grep "${DOCKER_REPO}:${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."
+ echo "Cannot find ${DOCKER_REPO} container ID ${container_id}. Please check if it is existing."
docker ps -a
exit 1
fi
@@ -195,11 +233,25 @@ 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..."
+if [ $(docker ps | grep "${DOCKER_REPO}:${DOCKER_TAG}" | wc -l) == 0 ]; then
+ echo "The container ${DOCKER_REPO} with ID=${container_id} has not been properly started. Exiting..."
exit 1
fi
+if [[ ! "${SUT_BRANCH}" =~ "danube" && ${INSTALLER_TYPE} == 'fuel' && ${DEPLOY_TYPE} == 'baremetal' ]]; then
+ source_cmd="source ${OPENRC}"
+ get_public_url_cmd="openstack --insecure endpoint list --service keystone --interface public | sed -n 4p | awk '{print \$14}'"
+ public_url=$(sudo docker exec "$container_id" /bin/bash -c "${source_cmd} && ${get_public_url_cmd}")
+ sed -i 's#OS_AUTH_URL=.*#OS_AUTH_URL='"${public_url}"'#g' ${OPENRC}
+ sed -i 's/internal/public/g' ${OPENRC}
+ if [[ ${public_url} =~ 'v2' ]]; then
+ sed -i "s/OS_IDENTITY_API_VERSION=3/OS_IDENTITY_API_VERSION=2.0/g" ${OPENRC}
+ sed -i '/OS_PROJECT_DOMAIN_NAME/d' ${OPENRC}
+ sed -i '/OS_USER_DOMAIN_NAME/d' ${OPENRC}
+ fi
+ cat ${OPENRC}
+fi
+
# Modify tempest_conf.yaml file
tempest_conf_file=${DOVETAIL_CONFIG}/tempest_conf.yaml
if [[ ${INSTALLER_TYPE} == 'compass' || ${INSTALLER_TYPE} == 'apex' ]]; then
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/fuel/fuel-daily-jobs.yml b/jjb/fuel/fuel-daily-jobs.yml
index 5dc8a72c3..902e75499 100644
--- a/jjb/fuel/fuel-daily-jobs.yml
+++ b/jjb/fuel/fuel-daily-jobs.yml
@@ -50,18 +50,9 @@
- zte-pod1:
slave-label: zte-pod1
<<: *master
- - zte-pod3:
- slave-label: zte-pod3
- <<: *master
- zte-pod1:
slave-label: zte-pod1
<<: *euphrates
- - zte-pod3:
- slave-label: zte-pod3
- <<: *euphrates
- - zte-pod1:
- slave-label: zte-pod1
- <<: *danube
# -------------------------------
# scenarios
# -------------------------------
@@ -94,6 +85,8 @@
auto-trigger-name: 'fuel-{scenario}-{pod}-daily-{stream}-trigger'
- 'os-onos-nofeature-noha':
auto-trigger-name: 'fuel-{scenario}-{pod}-daily-{stream}-trigger'
+ - 'os-ovn-nofeature-noha':
+ auto-trigger-name: 'fuel-{scenario}-{pod}-daily-{stream}-trigger'
- 'os-nosdn-kvm-noha':
auto-trigger-name: 'fuel-{scenario}-{pod}-daily-{stream}-trigger'
- 'os-nosdn-ovs-noha':
@@ -207,34 +200,21 @@
build-step-failure-threshold: 'never'
failure-threshold: 'never'
unstable-threshold: 'FAILURE'
- # 1.dovetail only has master, based on D release
- # 2.here the stream means the SUT stream, dovetail stream is defined in its own job
- # 3.only debug testsuite here(refstack, ha, ipv6, bgpvpn)
- # 4.not used for release criteria or compliance,
- # only to debug the dovetail tool bugs with bgpvpn and nosdn-nofeature
- # 5.only run against scenario os-odl-bgpvpn-ha(regex used here, can extend to more scenarios future)
- # 6.ZTE pod1, os-nosdn-nofeature-ha and os-odl-bgpvpn-ha, run against danube
- - conditional-step:
- condition-kind: and
- condition-operands:
- - condition-kind: regex-match
- regex: os-(nosdn-nofeature|odl_l2-bgpvpn)-ha
- label: '{scenario}'
- - condition-kind: regex-match
- regex: 'danube'
- label: '{stream}'
- steps:
- - trigger-builds:
- - project: 'dovetail-fuel-{pod}-proposed_tests-master'
- 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'
+ # 1.here the stream means the SUT stream, dovetail stream is defined in its own job
+ # 2.only debug testsuite here(refstack, ha, vping, ipv6, tempest, bgpvpn)
+ # 3.not used for release criteria or compliance, only to debug the dovetail tool bugs
+ # 4.ZTE pod1, os-nosdn-nofeature-ha and os-odl-bgpvpn-ha, run against danube
+ - trigger-builds:
+ - project: 'dovetail-fuel-{pod}-proposed_tests-{stream}'
+ current-parameters: false
+ predefined-parameters:
+ DEPLOY_SCENARIO={scenario}
+ block: true
+ same-node: true
+ block-thresholds:
+ build-step-failure-threshold: 'never'
+ failure-threshold: 'never'
+ unstable-threshold: 'FAILURE'
- conditional-step:
condition-kind: not
condition-operand:
@@ -409,6 +389,10 @@
triggers:
- timed: ''
- trigger:
+ name: 'fuel-os-ovn-nofeature-noha-baremetal-daily-master-trigger'
+ triggers:
+ - timed: ''
+- trigger:
name: 'fuel-os-nosdn-kvm-noha-baremetal-daily-master-trigger'
triggers:
- timed: ''
@@ -478,6 +462,10 @@
triggers:
- timed: ''
- trigger:
+ name: 'fuel-os-ovn-nofeature-noha-baremetal-daily-euphrates-trigger'
+ triggers:
+ - timed: ''
+- trigger:
name: 'fuel-os-nosdn-kvm-noha-baremetal-daily-euphrates-trigger'
triggers:
- timed: ''
@@ -546,6 +534,10 @@
triggers:
- timed: '' # '5 23 * * *'
- trigger:
+ name: 'fuel-os-ovn-nofeature-noha-virtual-daily-master-trigger'
+ triggers:
+ - timed: '5 23 * * *'
+- trigger:
name: 'fuel-os-nosdn-kvm-noha-virtual-daily-master-trigger'
triggers:
- timed: '' # '35 6 * * *'
@@ -614,6 +606,10 @@
triggers:
- timed: '' # '0 23 * * *'
- trigger:
+ name: 'fuel-os-ovn-nofeature-noha-virtual-daily-euphrates-trigger'
+ triggers:
+ - timed: ''
+- trigger:
name: 'fuel-os-nosdn-kvm-noha-virtual-daily-euphrates-trigger'
triggers:
- timed: '' # '30 6 * * *'
@@ -635,7 +631,7 @@
- trigger:
name: 'fuel-os-nosdn-nofeature-ha-zte-pod1-daily-master-trigger'
triggers:
- - timed: '0 10 * * *'
+ - timed: '0 22 * * *'
- trigger:
name: 'fuel-os-odl-nofeature-ha-zte-pod1-daily-master-trigger'
triggers:
@@ -682,6 +678,10 @@
triggers:
- timed: ''
- trigger:
+ name: 'fuel-os-ovn-nofeature-noha-zte-pod1-daily-master-trigger'
+ triggers:
+ - timed: ''
+- trigger:
name: 'fuel-os-nosdn-kvm-noha-zte-pod1-daily-master-trigger'
triggers:
- timed: ''
@@ -698,80 +698,12 @@
triggers:
- timed: ''
# ----------------------------------------------
-# ZTE POD3 Triggers running against master branch
-# ----------------------------------------------
-- trigger:
- name: 'fuel-os-nosdn-nofeature-ha-zte-pod3-daily-master-trigger'
- triggers:
- - timed: '' # '0 10 * * *'
-- trigger:
- name: 'fuel-os-odl-nofeature-ha-zte-pod3-daily-master-trigger'
- triggers:
- - timed: ''
-- trigger:
- name: 'fuel-os-onos-sfc-ha-zte-pod3-daily-master-trigger'
- triggers:
- - timed: ''
-- trigger:
- name: 'fuel-os-onos-nofeature-ha-zte-pod3-daily-master-trigger'
- triggers:
- - timed: ''
-- trigger:
- name: 'fuel-os-nosdn-kvm-ha-zte-pod3-daily-master-trigger'
- triggers:
- - timed: ''
-- trigger:
- name: 'fuel-os-nosdn-ovs-ha-zte-pod3-daily-master-trigger'
- triggers:
- - timed: ''
-- trigger:
- name: 'fuel-os-nosdn-kvm_ovs_dpdk-ha-zte-pod3-daily-master-trigger'
- triggers:
- - timed: ''
-- trigger:
- name: 'fuel-os-nosdn-kvm_ovs_dpdk_bar-ha-zte-pod3-daily-master-trigger'
- triggers:
- - timed: ''
-# NOHA Scenarios
-- trigger:
- name: 'fuel-os-nosdn-nofeature-noha-zte-pod3-daily-master-trigger'
- triggers:
- - timed: ''
-- trigger:
- name: 'fuel-os-odl-nofeature-noha-zte-pod3-daily-master-trigger'
- triggers:
- - timed: ''
-- trigger:
- name: 'fuel-os-onos-sfc-noha-zte-pod3-daily-master-trigger'
- triggers:
- - timed: ''
-- trigger:
- name: 'fuel-os-onos-nofeature-noha-zte-pod3-daily-master-trigger'
- triggers:
- - timed: ''
-- trigger:
- name: 'fuel-os-nosdn-kvm-noha-zte-pod3-daily-master-trigger'
- triggers:
- - timed: ''
-- trigger:
- name: 'fuel-os-nosdn-ovs-noha-zte-pod3-daily-master-trigger'
- triggers:
- - timed: ''
-- trigger:
- name: 'fuel-os-nosdn-kvm_ovs_dpdk-noha-zte-pod3-daily-master-trigger'
- triggers:
- - timed: ''
-- trigger:
- name: 'fuel-os-nosdn-kvm_ovs_dpdk_bar-noha-zte-pod3-daily-master-trigger'
- triggers:
- - timed: ''
-# ----------------------------------------------
# ZTE POD1 Triggers running against euphrates branch
# ----------------------------------------------
- trigger:
name: 'fuel-os-nosdn-nofeature-ha-zte-pod1-daily-euphrates-trigger'
triggers:
- - timed: ''
+ - timed: '0 10 * * *'
- trigger:
name: 'fuel-os-odl-nofeature-ha-zte-pod1-daily-euphrates-trigger'
triggers:
@@ -818,6 +750,10 @@
triggers:
- timed: ''
- trigger:
+ name: 'fuel-os-ovn-nofeature-noha-zte-pod1-daily-euphrates-trigger'
+ triggers:
+ - timed: ''
+- trigger:
name: 'fuel-os-nosdn-kvm-noha-zte-pod1-daily-euphrates-trigger'
triggers:
- timed: ''
@@ -833,143 +769,3 @@
name: 'fuel-os-nosdn-kvm_ovs_dpdk_bar-noha-zte-pod1-daily-euphrates-trigger'
triggers:
- timed: ''
-# ----------------------------------------------
-# ZTE POD3 Triggers running against euphrates branch
-# ----------------------------------------------
-- trigger:
- name: 'fuel-os-nosdn-nofeature-ha-zte-pod3-daily-euphrates-trigger'
- triggers:
- - timed: '' # '0 18 * * *'
-- trigger:
- name: 'fuel-os-odl-nofeature-ha-zte-pod3-daily-euphrates-trigger'
- triggers:
- - timed: ''
-- trigger:
- name: 'fuel-os-onos-sfc-ha-zte-pod3-daily-euphrates-trigger'
- triggers:
- - timed: ''
-- trigger:
- name: 'fuel-os-onos-nofeature-ha-zte-pod3-daily-euphrates-trigger'
- triggers:
- - timed: ''
-- trigger:
- name: 'fuel-os-nosdn-kvm-ha-zte-pod3-daily-euphrates-trigger'
- triggers:
- - timed: '' # '0 2 * * *'
-- trigger:
- name: 'fuel-os-nosdn-ovs-ha-zte-pod3-daily-euphrates-trigger'
- triggers:
- - timed: ''
-- trigger:
- name: 'fuel-os-nosdn-kvm_ovs_dpdk-ha-zte-pod3-daily-euphrates-trigger'
- triggers:
- - timed: ''
-- trigger:
- name: 'fuel-os-nosdn-kvm_ovs_dpdk_bar-ha-zte-pod3-daily-euphrates-trigger'
- triggers:
- - timed: ''
-# NOHA Scenarios
-- trigger:
- name: 'fuel-os-nosdn-nofeature-noha-zte-pod3-daily-euphrates-trigger'
- triggers:
- - timed: ''
-- trigger:
- name: 'fuel-os-odl-nofeature-noha-zte-pod3-daily-euphrates-trigger'
- triggers:
- - timed: ''
-- trigger:
- name: 'fuel-os-onos-sfc-noha-zte-pod3-daily-euphrates-trigger'
- triggers:
- - timed: ''
-- trigger:
- name: 'fuel-os-onos-nofeature-noha-zte-pod3-daily-euphrates-trigger'
- triggers:
- - timed: ''
-- trigger:
- name: 'fuel-os-nosdn-kvm-noha-zte-pod3-daily-euphrates-trigger'
- triggers:
- - timed: ''
-- trigger:
- name: 'fuel-os-nosdn-ovs-noha-zte-pod3-daily-euphrates-trigger'
- triggers:
- - timed: ''
-- trigger:
- name: 'fuel-os-nosdn-kvm_ovs_dpdk-noha-zte-pod3-daily-euphrates-trigger'
- triggers:
- - timed: ''
-- trigger:
- name: 'fuel-os-nosdn-kvm_ovs_dpdk_bar-noha-zte-pod3-daily-euphrates-trigger'
- triggers:
- - timed: ''
-# -----------------------------------------------
-# ZTE POD1 Triggers running against danube branch
-# -----------------------------------------------
-- trigger:
- name: 'fuel-os-nosdn-nofeature-ha-zte-pod1-daily-danube-trigger'
- triggers:
- - timed: ''
-- trigger:
- name: 'fuel-os-odl_l2-bgpvpn-ha-zte-pod1-daily-danube-trigger'
- triggers:
- - timed: ''
-- trigger:
- name: 'fuel-os-odl-nofeature-ha-zte-pod1-daily-danube-trigger'
- triggers:
- - timed: ''
-- trigger:
- name: 'fuel-os-onos-sfc-ha-zte-pod1-daily-danube-trigger'
- triggers:
- - timed: ''
-- trigger:
- name: 'fuel-os-onos-nofeature-ha-zte-pod1-daily-danube-trigger'
- triggers:
- - timed: ''
-- trigger:
- name: 'fuel-os-nosdn-kvm-ha-zte-pod1-daily-danube-trigger'
- triggers:
- - timed: ''
-- trigger:
- name: 'fuel-os-nosdn-ovs-ha-zte-pod1-daily-danube-trigger'
- triggers:
- - timed: ''
-- trigger:
- name: 'fuel-os-nosdn-kvm_ovs_dpdk-ha-zte-pod1-daily-danube-trigger'
- triggers:
- - timed: ''
-- trigger:
- name: 'fuel-os-nosdn-kvm_ovs_dpdk_bar-ha-zte-pod1-daily-danube-trigger'
- triggers:
- - timed: ''
-# NOHA Scenarios
-- trigger:
- name: 'fuel-os-nosdn-nofeature-noha-zte-pod1-daily-danube-trigger'
- triggers:
- - timed: ''
-- trigger:
- name: 'fuel-os-odl-nofeature-noha-zte-pod1-daily-danube-trigger'
- triggers:
- - timed: ''
-- trigger:
- name: 'fuel-os-onos-sfc-noha-zte-pod1-daily-danube-trigger'
- triggers:
- - timed: ''
-- trigger:
- name: 'fuel-os-onos-nofeature-noha-zte-pod1-daily-danube-trigger'
- triggers:
- - timed: ''
-- trigger:
- name: 'fuel-os-nosdn-kvm-noha-zte-pod1-daily-danube-trigger'
- triggers:
- - timed: ''
-- trigger:
- name: 'fuel-os-nosdn-ovs-noha-zte-pod1-daily-danube-trigger'
- triggers:
- - timed: ''
-- trigger:
- name: 'fuel-os-nosdn-kvm_ovs_dpdk-noha-zte-pod1-daily-danube-trigger'
- triggers:
- - timed: ''
-- trigger:
- name: 'fuel-os-nosdn-kvm_ovs_dpdk_bar-noha-zte-pod1-daily-danube-trigger'
- triggers:
- - timed: ''
diff --git a/jjb/functest/functest-daily-jobs.yml b/jjb/functest/functest-daily-jobs.yml
index 2d5d397ae..79e5c1503 100644
--- a/jjb/functest/functest-daily-jobs.yml
+++ b/jjb/functest/functest-daily-jobs.yml
@@ -192,9 +192,9 @@
- 'suite':
job-timeout: 60
- 'daily':
- job-timeout: 240
+ job-timeout: 300
- 'arm-daily':
- job-timeout: 240
+ job-timeout: 300
jobs:
- 'functest-{installer}-{pod}-{testsuite}-{stream}'
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 c8fcca670..330584e25 100644
--- a/jjb/global/releng-macros.yml
+++ b/jjb/global/releng-macros.yml
@@ -76,6 +76,16 @@
submodule:
recursive: true
timeout: 20
+
+- scm:
+ name: git-scm-openstack
+ scm:
+ - git: &git-scm-openstack-defaults
+ url: '$GIT_BASE'
+ branches:
+ - 'origin/$BRANCH'
+ timeout: 15
+
- trigger:
name: 'daily-trigger-disabled'
triggers:
@@ -421,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:
@@ -869,7 +885,12 @@
<<: *email_releng_ptl_defaults
- publisher:
name: 'email-releng-testresults-ptl'
- <<: *email_releng_ptl_defaults
+ publishers:
+ - email-ext:
+ <<: *email_ptl_defaults
+ recipients: >
+ fatih.degirmenci@ericsson.com
+ feng.xiaowei@zte.com.cn
- publisher:
name: 'email-releng-utils-ptl'
<<: *email_releng_ptl_defaults
@@ -956,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 c645de60e..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:
@@ -647,6 +663,20 @@
default: https://gerrit.opnfv.org/gerrit/$PROJECT
- parameter:
+ name: 'intel-pod17-defaults'
+ parameters:
+ - node:
+ name: SLAVE_NAME
+ description: 'Slave name on Jenkins'
+ allowed-slaves:
+ - intel-pod17
+ default-slaves:
+ - intel-pod17
+ - string:
+ name: GIT_BASE
+ default: https://gerrit.opnfv.org/gerrit/$PROJECT
+
+- parameter:
name: 'huawei-virtual5-defaults'
parameters:
- label:
@@ -754,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/joid/joid-daily-jobs.yml b/jjb/joid/joid-daily-jobs.yml
index 92f7a3414..947b2f1ab 100644
--- a/jjb/joid/joid-daily-jobs.yml
+++ b/jjb/joid/joid-daily-jobs.yml
@@ -316,12 +316,12 @@
- trigger:
name: 'joid-os-nosdn-openbaton-ha-baremetal-euphrates-trigger'
triggers:
- - timed: '5 25 * * *'
+ - timed: '5 23 * * *'
# os-nosdn-openbaton-ha trigger - branch: master
- trigger:
name: 'joid-os-nosdn-openbaton-ha-baremetal-master-trigger'
triggers:
- - timed: '5 25 * * *'
+ - timed: '5 23 * * *'
# os-ocl-nofeature-ha trigger - branch: euphrates
- trigger:
name: 'joid-os-ocl-nofeature-ha-baremetal-euphrates-trigger'
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..c721c8d87 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,56 +7,32 @@
- '{name}-tools'
jobs:
- - '{project}-verify-{stream}'
-
- stream:
- - master:
- branch: '{stream}'
- gs-pathname: ''
- disabled: false
- - euphrates:
- branch: 'stable/{stream}'
- gs-pathname: '/{stream}'
- disabled: false
+ - '{project}-verify-basic'
+ - 'backup-pharos-dashboard'
- job-template:
- name: '{project}-verify-{stream}'
+ name: 'backup-pharos-dashboard'
disabled: '{obj:disabled}'
parameters:
- - project-parameter:
- project: '{project}'
- branch: '{branch}'
- - 'opnfv-build-ubuntu-defaults'
-
- scm:
- - git-scm-gerrit
+ - 'pharos-dashboard-defaults'
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'
+ - timed: '@daily'
builders:
- shell: |
- echo "Nothing to verify!"
+ 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"
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/qtip/qtip-experimental-jobs.yml b/jjb/qtip/qtip-experimental-jobs.yml
index db2fb8b07..103069fb7 100644
--- a/jjb/qtip/qtip-experimental-jobs.yml
+++ b/jjb/qtip/qtip-experimental-jobs.yml
@@ -7,7 +7,7 @@
name: qtip-experimental-jobs
project: qtip
jobs:
- - 'qtip-experimental-{stream}'
+ - 'qtip-experimental-{pod}-{stream}'
stream:
- master:
branch: '{stream}'
@@ -18,12 +18,17 @@
gs-pathname: '/{stream}'
disabled: false
+ pod:
+ - zte-virtual6:
+ installer: fuel
+ pod: zte-virtual6
+
################################
## job templates
#################################
- job-template:
- name: 'qtip-experimental-{stream}'
+ name: 'qtip-experimental-{pod}-{stream}'
disabled: '{obj:disabled}'
@@ -31,9 +36,8 @@
- project-parameter:
project: '{project}'
branch: '{branch}'
- # Pin the tests on zte-pod6 with MCP deployment
- - fuel-defaults
- - zte-virtual6-defaults
+ - '{installer}-defaults'
+ - '{pod}-defaults'
scm:
- git-scm-gerrit
diff --git a/jjb/qtip/qtip-verify-jobs.yml b/jjb/qtip/qtip-verify-jobs.yml
index 047d7f2be..783c92b04 100644
--- a/jjb/qtip/qtip-verify-jobs.yml
+++ b/jjb/qtip/qtip-verify-jobs.yml
@@ -8,8 +8,6 @@
project: qtip
jobs:
- 'qtip-verify-{stream}'
- - 'qtip-verify-notebook-{stream}'
- - 'qtip-merged-notebook-{stream}'
stream:
- master:
branch: '{stream}'
@@ -67,7 +65,8 @@
- publish-coverage
- email-jenkins-admins-on-failure
-# upload juypter notebook to artifacts for review
+# Upload juypter notebook to artifacts for review
+# TODO(yujunz): deal with *.ipynb deletion
- job-template:
name: 'qtip-verify-notebook-{stream}'
@@ -191,7 +190,8 @@
mkdir -p $local_path
- git diff HEAD~1 --name-only | grep -E ".+\.ipynb$" | xargs -I '{}' cp '{}' $local_path
+ git diff HEAD~1 --name-status | grep -E "[AM]\t.+\.ipynb$" | awk '{print $2}' \
+ | xargs -I '{}' cp '{}' $local_path
gsutil -m cp -r "$local_path" "gs://$gs_base/"
echo "Document link(s):" >> gerrit_comment.txt
diff --git a/jjb/releng/compass4nfv-docker.yml b/jjb/releng/compass4nfv-docker.yml
index 3b3bb29f1..7f142241c 100644
--- a/jjb/releng/compass4nfv-docker.yml
+++ b/jjb/releng/compass4nfv-docker.yml
@@ -26,8 +26,7 @@
- 'cobbler'
- 'db'
- 'deck'
- - 'tasks-k8s'
- - 'tasks-osa'
+ - 'tasks-base'
# settings for jobs run in multijob phases
build-job-settings: &build-job-settings
@@ -78,10 +77,10 @@
builders:
- multijob:
- name: 'build compass-tasks images'
+ name: 'build compass-tasks-base images'
execution-type: PARALLEL
projects:
- - name: 'compass-tasks-build-amd64-{stream}'
+ - name: 'compass-tasks-base-build-amd64-{stream}'
<<: *build-job-settings
- multijob:
name: 'build all compass images'
@@ -94,9 +93,7 @@
<<: *build-job-settings
- name: 'compass-deck-build-amd64-{stream}'
<<: *build-job-settings
- - name: 'compass-tasks-k8s-build-amd64-{stream}'
- <<: *build-job-settings
- - name: 'compass-tasks-osa-build-amd64-{stream}'
+ - name: 'compass-tasks-build-amd64-{stream}'
<<: *build-job-settings
publishers:
diff --git a/jjb/releng/functest-docker.yml b/jjb/releng/functest-docker.yml
index cc5f216d9..584dc302c 100644
--- a/jjb/releng/functest-docker.yml
+++ b/jjb/releng/functest-docker.yml
@@ -58,8 +58,8 @@
# yamllint enable rule:key-duplicates
jobs:
- "functest-docker-{stream}"
- - "functest-{image}-build-{arch_tag}-{stream}"
- - "functest-{image}-manifest-{stream}"
+ - "functest-{image}-docker-build-{arch_tag}-{stream}"
+ - "functest-{image}-docker-manifest-{stream}"
########################
# job templates
@@ -97,63 +97,67 @@
name: 'build functest-core images'
execution-type: PARALLEL
projects:
- - name: 'functest-core-build-amd64-{stream}'
+ - name: 'functest-core-docker-build-amd64-{stream}'
<<: *build-job-settings
- - name: 'functest-core-build-arm64-{stream}'
+ - name: 'functest-core-docker-build-arm64-{stream}'
<<: *build-job-settings
- multijob:
name: 'publish functest-core manifests'
execution-type: PARALLEL
projects:
- - name: 'functest-core-manifest-{stream}'
+ - name: 'functest-core-docker-manifest-{stream}'
<<: *manifest-job-settings
- multijob:
name: 'build all functest images'
condition: SUCCESSFUL
execution-type: PARALLEL
projects:
- - name: 'functest-healthcheck-build-amd64-{stream}'
+ - name: 'functest-healthcheck-docker-build-amd64-{stream}'
<<: *build-job-settings
- - name: 'functest-healthcheck-build-arm64-{stream}'
+ - name: 'functest-healthcheck-docker-build-arm64-{stream}'
<<: *build-job-settings
- - name: 'functest-features-build-amd64-{stream}'
+ - name: 'functest-features-docker-build-amd64-{stream}'
<<: *build-job-settings
- - name: 'functest-features-build-arm64-{stream}'
+ - name: 'functest-features-docker-build-arm64-{stream}'
<<: *build-job-settings
- - name: 'functest-components-build-amd64-{stream}'
+ - name: 'functest-components-docker-build-amd64-{stream}'
<<: *build-job-settings
- - name: 'functest-components-build-arm64-{stream}'
+ - name: 'functest-components-docker-build-arm64-{stream}'
<<: *build-job-settings
- - name: 'functest-parser-build-amd64-{stream}'
+ - name: 'functest-parser-docker-build-amd64-{stream}'
<<: *build-job-settings
- - name: 'functest-parser-build-arm64-{stream}'
+ - name: 'functest-parser-docker-build-arm64-{stream}'
<<: *build-job-settings
- - name: 'functest-smoke-build-amd64-{stream}'
+ - name: 'functest-smoke-docker-build-amd64-{stream}'
<<: *build-job-settings
- - name: 'functest-smoke-build-arm64-{stream}'
+ - name: 'functest-smoke-docker-build-arm64-{stream}'
<<: *build-job-settings
- - name: 'functest-vnf-build-amd64-{stream}'
+ - name: 'functest-vnf-docker-build-amd64-{stream}'
<<: *build-job-settings
- - name: 'functest-restapi-build-amd64-{stream}'
+ - 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
execution-type: PARALLEL
projects:
- - name: 'functest-healthcheck-manifest-{stream}'
+ - name: 'functest-healthcheck-docker-manifest-{stream}'
<<: *manifest-job-settings
- - name: 'functest-features-manifest-{stream}'
+ - name: 'functest-features-docker-manifest-{stream}'
<<: *manifest-job-settings
- - name: 'functest-components-manifest-{stream}'
+ - name: 'functest-components-docker-manifest-{stream}'
<<: *manifest-job-settings
- - name: 'functest-parser-manifest-{stream}'
+ - name: 'functest-parser-docker-manifest-{stream}'
<<: *manifest-job-settings
- - name: 'functest-smoke-manifest-{stream}'
+ - name: 'functest-smoke-docker-manifest-{stream}'
<<: *manifest-job-settings
- - name: 'functest-vnf-manifest-{stream}'
+ - name: 'functest-vnf-docker-manifest-{stream}'
<<: *manifest-job-settings
- - name: 'functest-restapi-manifest-{stream}'
+ - name: 'functest-restapi-docker-manifest-{stream}'
<<: *manifest-job-settings
publishers:
@@ -161,7 +165,7 @@
- 'functest-arm64-recipients'
- job-template:
- name: 'functest-{image}-build-{arch_tag}-{stream}'
+ name: 'functest-{image}-docker-build-{arch_tag}-{stream}'
disabled: '{obj:disabled}'
parameters:
- job-parameters:
@@ -183,7 +187,7 @@
exit $?
- job-template:
- name: 'functest-{image}-manifest-{stream}'
+ name: 'functest-{image}-docker-manifest-{stream}'
parameters:
- project-parameter:
@@ -213,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
diff --git a/jjb/releng/opnfv-docker-arm.yml b/jjb/releng/opnfv-docker-arm.yml
index eedb6127a..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: ''
diff --git a/jjb/releng/opnfv-docker.sh b/jjb/releng/opnfv-docker.sh
index db2213cc4..69a9f89c7 100644
--- a/jjb/releng/opnfv-docker.sh
+++ b/jjb/releng/opnfv-docker.sh
@@ -61,7 +61,9 @@ done
# Remove the existing containers and images before building
remove_containers_images
-cd "$WORKSPACE/$DOCKER_DIR" || exit 1
+DOCKER_PATH=$WORKSPACE/$DOCKER_DIR
+
+cd $DOCKER_PATH || exit 1
HOST_ARCH="$(uname -m)"
#If there is a patch for other arch then x86, apply the patch and
#replace Dockerfile file
@@ -110,7 +112,8 @@ echo "Building docker image: $DOCKER_REPO_NAME:$DOCKER_TAG"
echo "--------------------------------------------------------"
echo
cmd="docker build --no-cache -t $DOCKER_REPO_NAME:$DOCKER_TAG --build-arg BRANCH=$BUILD_BRANCH
- -f $DOCKERFILE ."
+ $ARCH_BUILD_ARG
+ -f $DOCKERFILE $DOCKER_PATH"
echo ${cmd}
${cmd}
diff --git a/jjb/releng/opnfv-docker.yml b/jjb/releng/opnfv-docker.yml
index 0951cf641..fd0b9bd1d 100644
--- a/jjb/releng/opnfv-docker.yml
+++ b/jjb/releng/opnfv-docker.yml
@@ -39,6 +39,36 @@
project: 'releng-anteater'
<<: *master
<<: *other-receivers
+ - 'barometer':
+ project: 'barometer'
+ dockerdir: '.'
+ dockerfile: 'docker/Dockerfile'
+ <<: *master
+ <<: *other-receivers
+ - 'barometer-grafana':
+ project: 'barometer'
+ dockerdir: '.'
+ dockerfile: 'docker/barometer-grafana/Dockerfile'
+ <<: *master
+ <<: *other-receivers
+ - 'barometer-influxdb':
+ project: 'barometer'
+ dockerdir: '.'
+ dockerfile: 'docker/barometer-influxdb/Dockerfile'
+ <<: *master
+ <<: *other-receivers
+ - 'barometer-kafka':
+ project: 'barometer'
+ dockerdir: '.'
+ dockerfile: 'docker/barometer-kafka/Dockerfile'
+ <<: *master
+ <<: *other-receivers
+ - 'barometer-ves':
+ project: 'barometer'
+ dockerdir: '.'
+ dockerfile: 'docker/barometer-ves/Dockerfile'
+ <<: *master
+ <<: *other-receivers
- 'bottlenecks':
project: 'bottlenecks'
<<: *master
@@ -57,6 +87,8 @@
<<: *other-receivers
- 'qtip':
project: 'qtip'
+ dockerdir: '.'
+ dockerfile: 'docker/Dockerfile.local'
<<: *master
<<: *other-receivers
- 'storperf-master':
@@ -93,20 +125,23 @@
project: 'yardstick'
<<: *master
<<: *other-receivers
- # projects with jobs for Danube
- - 'qtip':
- project: 'qtip'
- <<: *euphrates
- <<: *other-receivers
- - 'yardstick':
- project: 'yardstick'
- <<: *euphrates
+ - 'functest-kubernetes':
+ project: 'functest-kubernetes'
+ <<: *master
<<: *other-receivers
# projects with jobs for euphrates
- 'bottlenecks':
project: 'bottlenecks'
<<: *euphrates
<<: *other-receivers
+ - 'nfvbench':
+ project: 'nfvbench'
+ <<: *euphrates
+ <<: *other-receivers
+ - 'qtip':
+ project: 'qtip'
+ <<: *euphrates
+ <<: *other-receivers
- 'storperf-master':
project: 'storperf'
dockerdir: 'docker/storperf-master'
@@ -137,10 +172,15 @@
arch_tag: 'x86_64'
<<: *euphrates
<<: *storperf-receivers
- - 'nfvbench':
- project: 'nfvbench'
+ - 'yardstick':
+ project: 'yardstick'
<<: *euphrates
<<: *other-receivers
+ # projects with jobs for danube
+ - 'dovetail':
+ project: 'dovetail'
+ <<: *danube
+ <<: *other-receivers
# yamllint enable rule:key-duplicates
jobs:
diff --git a/jjb/releng/opnfv-repo-archiver.sh b/jjb/releng/opnfv-repo-archiver.sh
index 2408c2a83..6fa0aef50 100644
--- a/jjb/releng/opnfv-repo-archiver.sh
+++ b/jjb/releng/opnfv-repo-archiver.sh
@@ -61,6 +61,8 @@ echo "--------------------------------------"
gsutil cp "$WORKSPACE/opnfv-archive-$DATE.tar.gz" \
"gs://opnfv-archive/opnfv-archive-$DATE.tar.gz" 2>&1
+echo "https://storage.googleapis.com/opnfv-archive/opnfv-archive-$DATE.tar.gz" > archive-link.txt
+
rm -f opnfv-archive-$DATE.tar.gz
echo "Finished"
diff --git a/jjb/releng/opnfv-utils.yml b/jjb/releng/opnfv-utils.yml
index 80cd08f4e..6f77cd250 100644
--- a/jjb/releng/opnfv-utils.yml
+++ b/jjb/releng/opnfv-utils.yml
@@ -24,8 +24,8 @@
description: Slaves to prune docker images
default-slaves:
- arm-build2
+ - ericsson-build3
- ericsson-build4
- - ericsson-build5
- lf-build2
allowed-multiselect: true
ignore-offline-nodes: true
@@ -65,6 +65,19 @@
- shell:
!include-raw-escape: opnfv-repo-archiver.sh
+ publishers:
+ - email-ext:
+ content-type: 'text'
+ failure: false
+ always: true
+ body:
+ ${{FILE,path="archive-link.txt"}}
+ reply-to: >
+ helpdesk@opnfv.org
+ recipients: >
+ swinslow@linuxfoundation.org
+
+
- job-template:
name: 'check-status-of-slaves'
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/bifrost-verify-jobs.yml b/jjb/xci/bifrost-verify-jobs.yml
index f8d39b2fb..e4c2d0e5b 100644
--- a/jjb/xci/bifrost-verify-jobs.yml
+++ b/jjb/xci/bifrost-verify-jobs.yml
@@ -70,7 +70,9 @@
- build-blocker:
use-build-blocker: true
blocking-jobs:
+ - 'xci-verify-{distro}-.*'
- '.*-bifrost-verify.*-{type}'
+
block-level: 'NODE'
parameters:
@@ -78,9 +80,6 @@
name: PROJECT_REPO
default: 'https://git.openstack.org/openstack/bifrost'
- string:
- name: CLONE_LOCATION
- default: '$WORKSPACE/bifrost'
- - string:
name: DISTRO
default: '{distro}'
- string:
@@ -173,6 +172,7 @@
- comment-added-contains-event:
comment-contains-value: 'recheck'
silent-start: true
+ custom-url: '* $JOB_NAME $BUILD_URL'
projects:
- project-compare-type: 'PLAIN'
project-pattern: 'openstack/bifrost'
diff --git a/jjb/xci/bifrost-verify.sh b/jjb/xci/bifrost-verify.sh
index a86ba91c3..198f2e1c7 100755
--- a/jjb/xci/bifrost-verify.sh
+++ b/jjb/xci/bifrost-verify.sh
@@ -11,15 +11,13 @@ set -o errexit
set -o nounset
set -o pipefail
-git clone https://git.openstack.org/openstack/bifrost $WORKSPACE/bifrost
git clone https://gerrit.opnfv.org/gerrit/releng-xci $WORKSPACE/releng-xci
-# checkout the patch
-cd $CLONE_LOCATION
+cd $WORKSPACE
git fetch $PROJECT_REPO $GERRIT_REFSPEC && sudo git checkout FETCH_HEAD
# combine opnfv and upstream scripts/playbooks
-/bin/cp -rf $WORKSPACE/releng-xci/bifrost/* $WORKSPACE/bifrost/
+/bin/cp -rf $WORKSPACE/releng-xci/bifrost/* $WORKSPACE/
cd $WORKSPACE/releng-xci
cat > bifrost_test.sh<<EOF
@@ -27,9 +25,6 @@ cd ~/bifrost
# provision 3 VMs; xcimaster, controller, and compute
./scripts/bifrost-provision.sh
-# list the provisioned VMs
-source env-vars
-ironic node-list
sudo -H -E virsh list
EOF
chmod a+x bifrost_test.sh
@@ -41,8 +36,11 @@ case ${DISTRO} in
*suse*) VM_DISTRO=opensuse ;;
esac
+export XCI_BUILD_CLEAN_VM_OS=false
+export XCI_UPDATE_CLEAN_VM_OS=true
+
./xci/scripts/vm/start-new-vm.sh $VM_DISTRO
-rsync -a $WORKSPACE/releng-xci ${VM_DISTRO}_xci_vm:~/bifrost
+rsync -a -e "ssh -F $HOME/.ssh/xci-vm-config" $WORKSPACE/ ${VM_DISTRO}_xci_vm:~/bifrost
-ssh -F $HOME/.ssh/xci-vm-config ${VM_DISTRO}_xci_vm "cd ~/bifrost && ./bifrost_test.sh"
+ssh -F $HOME/.ssh/xci-vm-config ${VM_DISTRO}_xci_vm "cd ~/bifrost/releng-xci && ./bifrost_test.sh"
diff --git a/jjb/xci/osa-periodic-jobs.yml b/jjb/xci/osa-periodic-jobs.yml
index 26c1575f4..64daa696b 100644
--- a/jjb/xci/osa-periodic-jobs.yml
+++ b/jjb/xci/osa-periodic-jobs.yml
@@ -2,7 +2,7 @@
- project:
name: 'opnfv-osa-periodic'
- project: 'releng-xci'
+ project: openstack-ansible
# -------------------------------
# branches
# -------------------------------
@@ -13,19 +13,19 @@
# distros
# -------------------------------
distro:
- - 'xenial':
+ - ubuntu:
+ disabled: false
+ - centos:
+ disabled: false
+ - opensuse:
disabled: false
- - 'centos7':
- disabled: true
- - 'suse':
- disabled: true
# -------------------------------
# type
# -------------------------------
type:
- virtual
# -------------------------------
- # phases
+ # periodic deploy & test phases
# -------------------------------
phase:
- 'deploy'
@@ -34,32 +34,37 @@
# jobs
# -------------------------------
jobs:
- - 'osa-periodic-{distro}-{type}-{stream}'
- - 'osa-periodic-{phase}-{type}-{stream}'
-
+ - 'xci-osa-periodic-{distro}-{type}-{stream}'
+ - 'xci-osa-periodic-{distro}-{phase}-{type}-{stream}'
# -------------------------------
# job templates
# -------------------------------
- job-template:
- name: 'osa-periodic-{distro}-{type}-{stream}'
+ name: 'xci-osa-periodic-{distro}-{type}-{stream}'
project-type: multijob
disabled: '{obj:disabled}'
- concurrent: false
+ concurrent: true
properties:
- logrotate-default
- build-blocker:
use-build-blocker: true
blocking-jobs:
- - 'xci-verify-.*'
- - 'bifrost-verify-.*'
- - 'bifrost-periodic-.*'
- - 'osa-verify-.*'
- - 'osa-periodic-.*'
+ - 'xci-verify-{distro}-.*'
+ - 'bifrost-verify-{distro}-.*'
+ - 'bifrost-periodic-{distro}-.*'
+ - 'xci-osa-verify-{distro}-.*'
+ - 'xci-osa-periodic-{distro}-.*'
block-level: 'NODE'
+ - throttle:
+ max-per-node: 2
+ max-total: 10
+ categories:
+ - xci-verify-virtual
+ option: category
wrappers:
- ssh-agent-wrapper
@@ -68,12 +73,7 @@
- fix-workspace-permissions
scm:
- - git-scm-osa
-
- triggers:
- - pollscm:
- cron: "@midnight"
- ignore-post-commit-hooks: true
+ - git-scm-openstack
parameters:
- project-parameter:
@@ -81,7 +81,17 @@
branch: '{branch}'
- label:
name: SLAVE_LABEL
- default: 'xci-virtual-{distro}'
+ default: 'xci-virtual'
+ - string:
+ name: OPENSTACK_OSA_VERSION
+ default: 'master'
+ - string:
+ name: CLEAN_DIB_IMAGES
+ default: 'true'
+ - string:
+ name: GIT_BASE
+ default: 'https://git.openstack.org/openstack/$PROJECT'
+ description: 'Git URL to use on this Jenkins Slave'
builders:
- description-setter:
@@ -90,32 +100,38 @@
name: deploy
condition: SUCCESSFUL
projects:
- - name: 'osa-periodic-deploy-{type}-{stream}'
+ - name: 'xci-osa-periodic-{distro}-deploy-{type}-{stream}'
current-parameters: true
predefined-parameters: |
DISTRO={distro}
DEPLOY_SCENARIO=os-nosdn-nofeature-noha
- git-revision: true
+ OPENSTACK_OSA_VERSION=$OPENSTACK_OSA_VERSION
+ CLEAN_DIB_IMAGES=$CLEAN_DIB_IMAGES
+ BRANCH=$BRANCH
node-parameters: true
kill-phase-on: FAILURE
abort-all-job: true
+ git-revision: true
- multijob:
name: healthcheck
condition: SUCCESSFUL
projects:
- - name: 'osa-periodic-healthcheck-{type}-{stream}'
+ - name: 'xci-osa-periodic-{distro}-healthcheck-{type}-{stream}'
current-parameters: true
predefined-parameters: |
DISTRO={distro}
DEPLOY_SCENARIO=os-nosdn-nofeature-noha
+ OPENSTACK_OSA_VERSION=$OPENSTACK_OSA_VERSION
+ CLEAN_DIB_IMAGES=$CLEAN_DIB_IMAGES
FUNCTEST_MODE=tier
FUNCTEST_TIER=healthcheck
+ BRANCH=$BRANCH
node-parameters: true
kill-phase-on: NEVER
- abort-all-job: false
+ abort-all-job: true
- job-template:
- name: 'osa-periodic-{phase}-{type}-{stream}'
+ name: 'xci-osa-periodic-{distro}-{phase}-{type}-{stream}'
disabled: false
@@ -126,41 +142,23 @@
- build-blocker:
use-build-blocker: true
blocking-jobs:
- - 'xci-verify-deploy-.*'
- - 'xci-verify-healthcheck-.*'
- - 'bifrost-verify-.*'
- - 'bifrost-periodic-.*'
- - 'osa-verify-deploy-.*'
- - 'osa-verify-halthcheck-.*'
- - 'osa-periodic-deploy-.*'
- - 'osa-periodic-healthcheck-.*'
+ - '.*-bifrost-verify-.*'
+ - '.*-bifrost-periodic-.*'
block-level: 'NODE'
parameters:
- project-parameter:
project: '{project}'
branch: '{branch}'
- - label:
- name: SLAVE_LABEL
- default: 'xci-virtual-{distro}'
- - string:
- name: OPENSTACK_OSA_VERSION
- default: 'master'
- string:
name: DISTRO
- default: 'xenial'
+ default: 'ubuntu'
- string:
name: DEPLOY_SCENARIO
default: 'os-nosdn-nofeature-noha'
- string:
- name: XCI_FLAVOR
- default: 'mini'
- - string:
- name: XCI_LOOP
- default: 'periodic'
- - string:
- name: OPNFV_RELENG_DEV_PATH
- default: $WORKSPACE/releng-xci
+ name: OPENSTACK_OSA_VERSION
+ default: 'master'
- string:
name: FUNCTEST_MODE
default: 'tier'
@@ -168,14 +166,18 @@
name: FUNCTEST_SUITE_NAME
default: 'healthcheck'
- string:
- name: FORCE_MASTER
+ name: XCI_FLAVOR
+ default: 'mini'
+ - string:
+ name: CLEAN_DIB_IMAGES
default: 'true'
- string:
+ name: INSTALLER_TYPE
+ default: 'osa'
+ - string:
name: GIT_BASE
- default: https://gerrit.opnfv.org/gerrit/$PROJECT
-
- scm:
- - git-scm-osa
+ default: 'https://git.openstack.org/openstack/$PROJECT'
+ description: 'Git URL to use on this Jenkins Slave'
wrappers:
- ssh-agent-wrapper
@@ -183,48 +185,76 @@
timeout: 240
- fix-workspace-permissions
+ scm:
+ - git-scm-openstack
+
builders:
- description-setter:
description: "Built on $NODE_NAME"
- - 'osa-periodic-{phase}-macro'
+ - 'xci-osa-periodic-{phase}-macro'
# -------------------------------
# builder macros
# -------------------------------
- builder:
- name: 'osa-periodic-deploy-macro'
+ name: 'xci-osa-periodic-deploy-macro'
builders:
- shell: |
#!/bin/bash
- # here we will
- # - clone releng-xci repo as the jobs are running against openstack gerrit
- # and we need to clone releng-xci ourselves to $OPNFV_RELENG_DEV_PATH
- # - run sources-branch-updater.sh from osa to update/pin the role versions
- # at the time this job gets triggered against osa master in case if the
- # deployment succeeds and we decide to bump version used by xci
- # - copy generated role versions into $OPNFV_RELENG_DEV_PATH/xci/file
- # - start the deployment by executing xci-deploy.sh as usual
- #
- # we might also need to pin versions of openstack services as well.
+ 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 OPENSTACK_OSA_VERSION=$OPENSTACK_OSA_VERSION
+ 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
+
+ ssh -F $HOME/.ssh/xci-vm-config ${DISTRO}_xci_vm "cd releng-xci && ./xci_test.sh"
- echo "Hello World!"
- builder:
- name: 'osa-periodic-healthcheck-macro'
+ name: 'xci-osa-periodic-healthcheck-macro'
builders:
- shell: |
#!/bin/bash
echo "Hello World!"
-# -------------------------------
-# scm macro
-# -------------------------------
-- scm:
- name: git-scm-osa
- scm:
- - git:
- url: https://review.openstack.org/p/openstack/openstack-ansible.git
- branches:
- - master
- timeout: 15
+ - shell: |
+ #!/bin/bash
+
+ 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
diff --git a/jjb/xci/xci-verify-jobs.yml b/jjb/xci/xci-verify-jobs.yml
index 93ca18708..fffd5c2b4 100644
--- a/jjb/xci/xci-verify-jobs.yml
+++ b/jjb/xci/xci-verify-jobs.yml
@@ -68,8 +68,8 @@
- 'xci-verify-{distro}-.*'
- 'bifrost-verify-{distro}-.*'
- 'bifrost-periodic-{distro}-.*'
- - 'osa-verify-{distro}-.*'
- - 'osa-periodic-{distro}-.*'
+ - 'xci-osa-verify-{distro}-.*'
+ - 'xci-osa-periodic-{distro}-.*'
block-level: 'NODE'
- throttle:
max-per-node: 2
@@ -106,22 +106,12 @@
branches:
- branch-compare-type: 'ANT'
branch-pattern: '**/{branch}'
- disable-strict-forbidden-file-verification: 'true'
- file-paths:
- - compare-type: ANT
- pattern: 'bifrost/**'
- - compare-type: ANT
- pattern: 'xci/**'
+ disable-strict-forbidden-file-verification: 'false'
forbidden-file-paths:
- compare-type: ANT
- pattern: 'prototypes/**'
- - compare-type: ANT
- pattern: 'upstream/**'
- - compare-type: ANT
- pattern: '**/README.rst'
- - compare-type: ANT
- pattern: 'docs/**'
+ pattern: 'xci/scripts/vm/**'
readable-message: true
+ custom-url: '* $JOB_NAME $BUILD_URL'
skip-vote:
successful: '{obj:successful}'
failed: '{obj:failed}'
@@ -154,7 +144,7 @@
current-parameters: true
predefined-parameters: |
DISTRO={distro}
- DEPLOY_SCENARIO=os-nosdn-nofeature-noha
+ DEPLOY_SCENARIO=os-nosdn-nofeature
CLEAN_DIB_IMAGES=$CLEAN_DIB_IMAGES
GERRIT_BRANCH=$GERRIT_BRANCH
GERRIT_REFSPEC=$GERRIT_REFSPEC
@@ -171,7 +161,7 @@
current-parameters: true
predefined-parameters: |
DISTRO={distro}
- DEPLOY_SCENARIO=os-nosdn-nofeature-noha
+ DEPLOY_SCENARIO=os-nosdn-nofeature
CLEAN_DIB_IMAGES=$CLEAN_DIB_IMAGES
FUNCTEST_MODE=tier
FUNCTEST_TIER=healthcheck
@@ -195,8 +185,8 @@
- build-blocker:
use-build-blocker: true
blocking-jobs:
- - 'bifrost-verify-.*'
- - 'bifrost-periodic-.*'
+ - '.*-bifrost-verify-.*'
+ - '.*-bifrost-periodic-.*'
- 'osa-verify-.*'
- 'osa-periodic-.*'
block-level: 'NODE'
@@ -210,7 +200,7 @@
default: 'ubuntu'
- string:
name: DEPLOY_SCENARIO
- default: 'os-nosdn-nofeature-noha'
+ default: 'os-nosdn-nofeature'
- string:
name: FUNCTEST_MODE
default: 'tier'
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
diff --git a/jjb/yardstick/yardstick-project-jobs.yml b/jjb/yardstick/yardstick-project-jobs.yml
index 7486d8a11..e2fee2988 100644
--- a/jjb/yardstick/yardstick-project-jobs.yml
+++ b/jjb/yardstick/yardstick-project-jobs.yml
@@ -67,7 +67,12 @@
fail: true
builders:
- - yardstick-unit-tests-and-docs-build
+ - yardstick-unit-tests-python-27
+ - yardstick-unit-tests-python-3
+ - yardstick-functional-tests-python-27
+ - yardstick-functional-tests-python-3
+ - yardstick-coverage-tests
+ - yardstick-pep8-tests
- job-template:
name: 'yardstick-merge-{stream}'
@@ -108,14 +113,19 @@
fail: true
builders:
- - yardstick-unit-tests-and-docs-build
+ - yardstick-unit-tests-python-27
+ - yardstick-unit-tests-python-3
+ - yardstick-functional-tests-python-27
+ - yardstick-functional-tests-python-3
+ - yardstick-coverage-tests
+ - yardstick-pep8-tests
################################
# job builders
################################
- builder:
- name: yardstick-unit-tests-and-docs-build
+ name: yardstick-unit-tests-python-27
builders:
- shell: |
#!/bin/bash
@@ -124,6 +134,76 @@
sudo apt-get install -y build-essential python-dev python3-dev
- echo "Running unit tests..."
+ echo "Running unit tests in Python 2.7 ..."
cd $WORKSPACE
- tox
+ tox -epy27
+
+- builder:
+ name: yardstick-unit-tests-python-3
+ builders:
+ - shell: |
+ #!/bin/bash
+ set -o errexit
+ set -o pipefail
+
+ sudo apt-get install -y build-essential python-dev python3-dev
+
+ echo "Running unit tests in Python 3 ..."
+ cd $WORKSPACE
+ tox -epy3
+
+- builder:
+ name: yardstick-functional-tests-python-27
+ builders:
+ - shell: |
+ #!/bin/bash
+ set -o errexit
+ set -o pipefail
+
+ sudo apt-get install -y build-essential python-dev python3-dev
+
+ echo "Running functional tests in Python 2.7 ..."
+ cd $WORKSPACE
+ tox -efunctional
+
+- builder:
+ name: yardstick-functional-tests-python-3
+ builders:
+ - shell: |
+ #!/bin/bash
+ set -o errexit
+ set -o pipefail
+
+ sudo apt-get install -y build-essential python-dev python3-dev
+
+ echo "Running functional tests in Python 3 ..."
+ cd $WORKSPACE
+ tox -efunctional-py3
+
+- builder:
+ name: yardstick-coverage-tests
+ builders:
+ - shell: |
+ #!/bin/bash
+ set -o errexit
+ set -o pipefail
+
+ sudo apt-get install -y build-essential python-dev python3-dev
+
+ echo "Running coverage tests ..."
+ cd $WORKSPACE
+ tox -ecoverage
+
+- builder:
+ name: yardstick-pep8-tests
+ builders:
+ - shell: |
+ #!/bin/bash
+ set -o errexit
+ set -o pipefail
+
+ sudo apt-get install -y build-essential python-dev python3-dev
+
+ echo "Running style guidelines (PEP8) tests ..."
+ cd $WORKSPACE
+ tox -epep8