summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--jjb/ci_gate_security/anteater-report-to-gerrit.sh13
-rw-r--r--jjb/compass4nfv/compass-ci-jobs.yml947
-rw-r--r--jjb/compass4nfv/compass-dovetail-jobs.yml256
-rw-r--r--jjb/compass4nfv/compass-project-jobs.yml153
-rw-r--r--jjb/compass4nfv/compass-verify-jobs.yml549
-rwxr-xr-xjjb/daisy4nfv/daisy4nfv-build.sh2
-rwxr-xr-xjjb/daisy4nfv/daisy4nfv-upload-artifact.sh4
-rw-r--r--jjb/fuel/fuel-daily-jobs.yml9
-rwxr-xr-xjjb/fuel/fuel-deploy.sh21
-rw-r--r--jjb/fuel/fuel-weekly-jobs.yml4
-rw-r--r--jjb/global/slave-params.yml64
-rw-r--r--jjb/joid/joid-daily-jobs.yml8
-rw-r--r--jjb/octopus/octopus.yml77
-rw-r--r--jjb/releng/artifact-cleanup.yml23
-rw-r--r--jjb/releng/automate.yml317
-rw-r--r--jjb/releng/htmlize/doc-build.sh (renamed from utils/test/testapi/htmlize/doc-build.sh)0
-rw-r--r--jjb/releng/htmlize/htmlize.py (renamed from utils/test/testapi/htmlize/htmlize.py)0
-rw-r--r--jjb/releng/htmlize/push-doc-artifact.sh (renamed from utils/test/testapi/htmlize/push-doc-artifact.sh)0
-rw-r--r--jjb/releng/opnfv-docker-arm.yml345
-rw-r--r--jjb/releng/opnfv-docker.yml403
-rw-r--r--jjb/releng/opnfv-docs.yml145
-rw-r--r--jjb/releng/opnfv-lint.yml147
-rw-r--r--jjb/releng/opnfv-utils.yml83
-rw-r--r--jjb/releng/releng-ci-jobs.yml165
-rw-r--r--jjb/snaps/snaps-verify-jobs.yml89
-rw-r--r--jjb/storperf/storperf-daily-jobs.yml294
-rw-r--r--jjb/storperf/storperf-verify-jobs.yml279
-rw-r--r--jjb/storperf/storperf.yml106
-rw-r--r--jjb/yardstick/yardstick-daily-jobs.yml673
-rw-r--r--jjb/yardstick/yardstick-project-jobs.yml145
-rw-r--r--utils/test/reporting/reporting/utils/reporting_utils.py37
-rw-r--r--utils/test/reporting/reporting/yardstick/reporting-status.py244
-rw-r--r--utils/test/reporting/reporting/yardstick/template/index-status-tmpl.html3
33 files changed, 2816 insertions, 2789 deletions
diff --git a/jjb/ci_gate_security/anteater-report-to-gerrit.sh b/jjb/ci_gate_security/anteater-report-to-gerrit.sh
index de1fdd745..6710862a7 100644
--- a/jjb/ci_gate_security/anteater-report-to-gerrit.sh
+++ b/jjb/ci_gate_security/anteater-report-to-gerrit.sh
@@ -15,11 +15,14 @@ if [[ -e securityaudit.log ]] ; then
grep 'ERROR' securityaudit.log | awk -F"ERROR - " '{ print $2 }' | tr -d "\'\"" > shortlog
- ssh -p 29418 gerrit.opnfv.org \
- "gerrit review -p $GERRIT_PROJECT \
- -m \"$(cat shortlog)\" \
- $GERRIT_PATCHSET_REVISION \
- --notify NONE"
+ # Only report to Gerrit when there are errors to report.
+ if [[ -s shortlog ]]; then
+ ssh -p 29418 gerrit.opnfv.org \
+ "gerrit review -p $GERRIT_PROJECT \
+ -m \"$(cat shortlog)\" \
+ $GERRIT_PATCHSET_REVISION \
+ --notify NONE"
+ fi
exit $EXITSTATUS
fi
diff --git a/jjb/compass4nfv/compass-ci-jobs.yml b/jjb/compass4nfv/compass-ci-jobs.yml
index 74236e311..5100787d7 100644
--- a/jjb/compass4nfv/compass-ci-jobs.yml
+++ b/jjb/compass4nfv/compass-ci-jobs.yml
@@ -1,3 +1,4 @@
+---
- project:
name: compass-ci
@@ -7,123 +8,122 @@
project: 'compass4nfv'
master: &master
- stream: master
- branch: '{stream}'
- gs-pathname: ''
- ppa-pathname: '/{stream}'
- disabled: false
- openstack-version: ocata
+ stream: master
+ branch: '{stream}'
+ gs-pathname: ''
+ ppa-pathname: '/{stream}'
+ disabled: false
+ openstack-version: ocata
euphrates: &euphrates
- stream: euphrates
- branch: 'stable/{stream}'
- disabled: false
- gs-pathname: '/{stream}'
- ppa-pathname: '/{stream}'
- openstack-version: ocata
+ stream: euphrates
+ branch: 'stable/{stream}'
+ disabled: false
+ gs-pathname: '/{stream}'
+ ppa-pathname: '/{stream}'
+ openstack-version: ocata
danube: &danube
- stream: danube
- branch: 'stable/{stream}'
- gs-pathname: '/{stream}'
- ppa-pathname: '/{stream}'
- disabled: false
- openstack-version: newton
-#--------------------------------
-# POD, INSTALLER, AND BRANCH MAPPING
-#--------------------------------
-# CI PODs
-#--------------------------------
+ stream: danube
+ branch: 'stable/{stream}'
+ gs-pathname: '/{stream}'
+ ppa-pathname: '/{stream}'
+ disabled: false
+ openstack-version: newton
+ # -------------------------------
+ # POD, INSTALLER, AND BRANCH MAPPING
+ # -------------------------------
+ # CI PODs
+ # -------------------------------
pod:
- - baremetal:
- slave-label: compass-baremetal-master
- os-version: 'xenial'
- <<: *master
- - virtual:
- slave-label: compass-virtual-master
- os-version: 'xenial'
- <<: *master
- - baremetal:
- slave-label: compass-baremetal-branch
- os-version: 'xenial'
- <<: *euphrates
- - virtual:
- slave-label: compass-virtual-branch
- os-version: 'xenial'
- <<: *euphrates
-#--------------------------------
-# master
-#--------------------------------
- - baremetal-centos:
- slave-label: 'intel-pod8'
- os-version: 'centos7'
- <<: *master
-#--------------------------------
-# danube for dovetail
-#--------------------------------
- - huawei-pod7:
- slave-label: 'huawei-pod7'
- os-version: 'xenial'
- <<: *danube
+ - baremetal:
+ slave-label: compass-baremetal-master
+ os-version: 'xenial'
+ <<: *master
+ - virtual:
+ slave-label: compass-virtual-master
+ os-version: 'xenial'
+ <<: *master
+ - baremetal:
+ slave-label: compass-baremetal-branch
+ os-version: 'xenial'
+ <<: *euphrates
+ - virtual:
+ slave-label: compass-virtual-branch
+ os-version: 'xenial'
+ <<: *euphrates
+ # -------------------------------
+ # master
+ # -------------------------------
+ - baremetal-centos:
+ slave-label: 'intel-pod8'
+ os-version: 'centos7'
+ <<: *master
+ # -------------------------------
+ # danube for dovetail
+ # -------------------------------
+ - huawei-pod7:
+ slave-label: 'huawei-pod7'
+ os-version: 'xenial'
+ <<: *danube
scenario:
- - 'os-nosdn-nofeature-ha':
- disabled: false
- auto-trigger-name: 'compass-{scenario}-{pod}-{stream}-trigger'
- - 'os-odl_l2-nofeature-ha':
- disabled: false
- auto-trigger-name: 'compass-{scenario}-{pod}-{stream}-trigger'
- - 'os-odl_l3-nofeature-ha':
- disabled: false
- auto-trigger-name: 'compass-{scenario}-{pod}-{stream}-trigger'
- - 'os-onos-nofeature-ha':
- disabled: false
- auto-trigger-name: 'compass-{scenario}-{pod}-{stream}-trigger'
- - 'os-ocl-nofeature-ha':
- disabled: false
- auto-trigger-name: 'compass-{scenario}-{pod}-{stream}-trigger'
- - 'os-onos-sfc-ha':
- disabled: false
- auto-trigger-name: 'compass-{scenario}-{pod}-{stream}-trigger'
- - 'os-odl_l2-moon-ha':
- disabled: false
- auto-trigger-name: 'compass-{scenario}-{pod}-{stream}-trigger'
- - 'os-nosdn-kvm-ha':
- disabled: false
- auto-trigger-name: 'compass-{scenario}-{pod}-{stream}-trigger'
- - 'os-nosdn-openo-ha':
- disabled: false
- auto-trigger-name: 'compass-{scenario}-{pod}-{stream}-trigger'
- - 'os-odl-sfc-ha':
- disabled: false
- auto-trigger-name: 'compass-{scenario}-{pod}-{stream}-trigger'
- - 'os-nosdn-ovs_dpdk-ha':
- disabled: false
- auto-trigger-name: 'compass-{scenario}-{pod}-{stream}-trigger'
- - 'k8-nosdn-nofeature-ha':
- disabled: false
- auto-trigger-name: 'compass-{scenario}-{pod}-{stream}-trigger'
- - 'os-nosdn-nofeature-noha':
- disabled: false
- auto-trigger-name: 'compass-{scenario}-{pod}-{stream}-trigger'
- - 'os-odl_l3-nofeature-noha':
- disabled: false
- auto-trigger-name: 'compass-{scenario}-{pod}-{stream}-trigger'
- - 'os-odl_l2-moon-noha':
- disabled: false
- auto-trigger-name: 'compass-{scenario}-{pod}-{stream}-trigger'
- - 'os-nosdn-kvm-noha':
- disabled: false
- auto-trigger-name: 'compass-{scenario}-{pod}-{stream}-trigger'
- - 'os-odl-sfc-noha':
- disabled: false
- auto-trigger-name: 'compass-{scenario}-{pod}-{stream}-trigger'
- - 'os-nosdn-ovs_dpdk-noha':
- disabled: false
- auto-trigger-name: 'compass-{scenario}-{pod}-{stream}-trigger'
-
+ - 'os-nosdn-nofeature-ha':
+ disabled: false
+ auto-trigger-name: 'compass-{scenario}-{pod}-{stream}-trigger'
+ - 'os-odl_l2-nofeature-ha':
+ disabled: false
+ auto-trigger-name: 'compass-{scenario}-{pod}-{stream}-trigger'
+ - 'os-odl_l3-nofeature-ha':
+ disabled: false
+ auto-trigger-name: 'compass-{scenario}-{pod}-{stream}-trigger'
+ - 'os-onos-nofeature-ha':
+ disabled: false
+ auto-trigger-name: 'compass-{scenario}-{pod}-{stream}-trigger'
+ - 'os-ocl-nofeature-ha':
+ disabled: false
+ auto-trigger-name: 'compass-{scenario}-{pod}-{stream}-trigger'
+ - 'os-onos-sfc-ha':
+ disabled: false
+ auto-trigger-name: 'compass-{scenario}-{pod}-{stream}-trigger'
+ - 'os-odl_l2-moon-ha':
+ disabled: false
+ auto-trigger-name: 'compass-{scenario}-{pod}-{stream}-trigger'
+ - 'os-nosdn-kvm-ha':
+ disabled: false
+ auto-trigger-name: 'compass-{scenario}-{pod}-{stream}-trigger'
+ - 'os-nosdn-openo-ha':
+ disabled: false
+ auto-trigger-name: 'compass-{scenario}-{pod}-{stream}-trigger'
+ - 'os-odl-sfc-ha':
+ disabled: false
+ auto-trigger-name: 'compass-{scenario}-{pod}-{stream}-trigger'
+ - 'os-nosdn-ovs_dpdk-ha':
+ disabled: false
+ auto-trigger-name: 'compass-{scenario}-{pod}-{stream}-trigger'
+ - 'k8-nosdn-nofeature-ha':
+ disabled: false
+ auto-trigger-name: 'compass-{scenario}-{pod}-{stream}-trigger'
+ - 'os-nosdn-nofeature-noha':
+ disabled: false
+ auto-trigger-name: 'compass-{scenario}-{pod}-{stream}-trigger'
+ - 'os-odl_l3-nofeature-noha':
+ disabled: false
+ auto-trigger-name: 'compass-{scenario}-{pod}-{stream}-trigger'
+ - 'os-odl_l2-moon-noha':
+ disabled: false
+ auto-trigger-name: 'compass-{scenario}-{pod}-{stream}-trigger'
+ - 'os-nosdn-kvm-noha':
+ disabled: false
+ auto-trigger-name: 'compass-{scenario}-{pod}-{stream}-trigger'
+ - 'os-odl-sfc-noha':
+ disabled: false
+ auto-trigger-name: 'compass-{scenario}-{pod}-{stream}-trigger'
+ - 'os-nosdn-ovs_dpdk-noha':
+ disabled: false
+ auto-trigger-name: 'compass-{scenario}-{pod}-{stream}-trigger'
jobs:
- - 'compass-{scenario}-{pod}-daily-{stream}'
- - 'compass-deploy-{pod}-daily-{stream}'
+ - 'compass-{scenario}-{pod}-daily-{stream}'
+ - 'compass-deploy-{pod}-daily-{stream}'
########################
# job templates
@@ -136,178 +136,178 @@
concurrent: true
properties:
- - logrotate-default
- - throttle:
- enabled: true
- max-per-node: 1
- option: 'project'
- - build-blocker:
- use-build-blocker: true
- blocking-jobs:
- - 'compass-os-.*?-{pod}-daily-.*?'
- - 'compass-os-.*?-baremetal-daily-.*?'
- - 'compass-verify-[^-]*-[^-]*'
- block-level: 'NODE'
+ - logrotate-default
+ - throttle:
+ enabled: true
+ max-per-node: 1
+ option: 'project'
+ - build-blocker:
+ use-build-blocker: true
+ blocking-jobs:
+ - 'compass-os-.*?-{pod}-daily-.*?'
+ - 'compass-os-.*?-baremetal-daily-.*?'
+ - 'compass-verify-[^-]*-[^-]*'
+ block-level: 'NODE'
wrappers:
- - build-name:
- name: '$BUILD_NUMBER - Scenario: $DEPLOY_SCENARIO'
- - fix-workspace-permissions
+ - build-name:
+ name: '$BUILD_NUMBER - Scenario: $DEPLOY_SCENARIO'
+ - fix-workspace-permissions
parameters:
- - project-parameter:
- project: '{project}'
- branch: '{branch}'
- - compass-ci-parameter:
- installer: '{installer}'
- gs-pathname: '{gs-pathname}'
- ppa-pathname: '{ppa-pathname}'
- - string:
- name: DEPLOY_SCENARIO
- default: '{scenario}'
- - '{slave-label}-defaults'
- - '{installer}-defaults'
-
- triggers:
- - '{auto-trigger-name}'
+ - project-parameter:
+ project: '{project}'
+ branch: '{branch}'
+ - compass-ci-parameter:
+ installer: '{installer}'
+ gs-pathname: '{gs-pathname}'
+ ppa-pathname: '{ppa-pathname}'
+ - string:
+ name: DEPLOY_SCENARIO
+ default: '{scenario}'
+ - '{slave-label}-defaults'
+ - '{installer}-defaults'
+
+ triggers:
+ - '{auto-trigger-name}'
builders:
- - description-setter:
- description: "POD: $NODE_NAME"
- - trigger-builds:
- - project: 'compass-deploy-{pod}-daily-{stream}'
- current-parameters: true
- predefined-parameters: |
- DEPLOY_SCENARIO={scenario}
- COMPASS_OS_VERSION={os-version}
- COMPASS_OPENSTACK_VERSION={openstack-version}
- same-node: true
- block: true
- - trigger-builds:
- - project: 'functest-compass-{pod}-daily-{stream}'
- current-parameters: false
- predefined-parameters:
- DEPLOY_SCENARIO={scenario}
- same-node: true
- block: true
- block-thresholds:
- build-step-failure-threshold: 'never'
- failure-threshold: 'never'
- unstable-threshold: 'FAILURE'
- - trigger-builds:
- - project: 'yardstick-compass-{pod}-daily-{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'
- # 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)
- - 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
- label: '{scenario}'
- - condition-kind: day-of-week
- day-selector: select-days
- days:
- MON: true
- SUN: true
- use-build-time: true
- steps:
- - trigger-builds:
- - project: 'dovetail-compass-{pod}-proposed_tests-{stream}'
- current-parameters: false
- predefined-parameters: |
- DOCKER_TAG=latest
- 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: danube
- label: '{stream}'
- - condition-kind: regex-match
- regex: os-(nosdn|odl_l2|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:
- - 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|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:
- - trigger-builds:
- - project: 'bottlenecks-compass-posca_stress_ping-{pod}-daily-{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'
+ - description-setter:
+ description: "POD: $NODE_NAME"
+ - trigger-builds:
+ - project: 'compass-deploy-{pod}-daily-{stream}'
+ current-parameters: true
+ predefined-parameters: |
+ DEPLOY_SCENARIO={scenario}
+ COMPASS_OS_VERSION={os-version}
+ COMPASS_OPENSTACK_VERSION={openstack-version}
+ same-node: true
+ block: true
+ - trigger-builds:
+ - project: 'functest-compass-{pod}-daily-{stream}'
+ current-parameters: false
+ predefined-parameters:
+ DEPLOY_SCENARIO={scenario}
+ same-node: true
+ block: true
+ block-thresholds:
+ build-step-failure-threshold: 'never'
+ failure-threshold: 'never'
+ unstable-threshold: 'FAILURE'
+ - trigger-builds:
+ - project: 'yardstick-compass-{pod}-daily-{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'
+ # 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)
+ - 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
+ label: '{scenario}'
+ - condition-kind: day-of-week
+ day-selector: select-days
+ days:
+ MON: true
+ SUN: true
+ use-build-time: true
+ steps:
+ - trigger-builds:
+ - project: 'dovetail-compass-{pod}-proposed_tests-{stream}'
+ current-parameters: false
+ predefined-parameters: |
+ DOCKER_TAG=latest
+ 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: danube
+ label: '{stream}'
+ - condition-kind: regex-match
+ regex: os-(nosdn|odl_l2|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:
+ - 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|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:
+ - trigger-builds:
+ - project: 'bottlenecks-compass-posca_stress_ping-{pod}-daily-{stream}'
+ current-parameters: false
+ predefined-parameters:
+ DEPLOY_SCENARIO={scenario}
+ block: true
+ same-node: true
+ block-thresholds:
+ build-step-failure-threshold: 'never'
+ failure-threshold: 'never'
+ unstable-threshold: 'FAILURE'
- job-template:
name: 'compass-deploy-{pod}-daily-{stream}'
@@ -317,61 +317,61 @@
concurrent: true
properties:
- - logrotate-default
- - throttle:
- enabled: true
- max-per-node: 1
- option: 'project'
- - build-blocker:
- use-build-blocker: true
- blocking-jobs:
- - 'compass-deploy-{pod}-daily-.*?'
- - 'compass-verify-deploy-.*?'
- block-level: 'NODE'
+ - logrotate-default
+ - throttle:
+ enabled: true
+ max-per-node: 1
+ option: 'project'
+ - build-blocker:
+ use-build-blocker: true
+ blocking-jobs:
+ - 'compass-deploy-{pod}-daily-.*?'
+ - 'compass-verify-deploy-.*?'
+ block-level: 'NODE'
wrappers:
- - build-name:
- name: '$BUILD_NUMBER - Scenario: $DEPLOY_SCENARIO'
- - timeout:
- timeout: 240
- abort: true
- - fix-workspace-permissions
+ - build-name:
+ name: '$BUILD_NUMBER - Scenario: $DEPLOY_SCENARIO'
+ - timeout:
+ timeout: 240
+ abort: true
+ - fix-workspace-permissions
parameters:
- - project-parameter:
- project: '{project}'
- branch: '{branch}'
- - compass-ci-parameter:
- installer: '{installer}'
- gs-pathname: '{gs-pathname}'
- ppa-pathname: '{ppa-pathname}'
- - '{slave-label}-defaults'
- - '{installer}-defaults'
+ - project-parameter:
+ project: '{project}'
+ branch: '{branch}'
+ - compass-ci-parameter:
+ installer: '{installer}'
+ gs-pathname: '{gs-pathname}'
+ ppa-pathname: '{ppa-pathname}'
+ - '{slave-label}-defaults'
+ - '{installer}-defaults'
scm:
- - git-scm
+ - git-scm
builders:
- - description-setter:
- description: "POD: $NODE_NAME"
- - conditional-step:
- condition-kind: regex-match
- regex: master
- label: '{stream}'
- steps:
- - shell:
- !include-raw-escape: ./compass-build.sh
- - shell:
- !include-raw-escape: ./compass-deploy.sh
- - conditional-step:
- condition-kind: regex-match
- regex: (danube|euphrates)
- label: '{stream}'
- steps:
- - shell:
- !include-raw-escape: ./compass-download-artifact.sh
- - shell:
- !include-raw-escape: ./compass-deploy.sh
+ - description-setter:
+ description: "POD: $NODE_NAME"
+ - conditional-step:
+ condition-kind: regex-match
+ regex: master
+ label: '{stream}'
+ steps:
+ - shell:
+ !include-raw-escape: ./compass-build.sh
+ - shell:
+ !include-raw-escape: ./compass-deploy.sh
+ - conditional-step:
+ condition-kind: regex-match
+ regex: (danube|euphrates)
+ label: '{stream}'
+ steps:
+ - shell:
+ !include-raw-escape: ./compass-download-artifact.sh
+ - shell:
+ !include-raw-escape: ./compass-deploy.sh
########################
# parameter macros
@@ -379,504 +379,505 @@
- parameter:
name: compass-ci-parameter
parameters:
- - string:
- name: BUILD_DIRECTORY
- default: $WORKSPACE/build_output
- description: "Directory where the build artifact will be located upon the completion of the build."
- - string:
- name: GS_URL
- default: '$GS_BASE{gs-pathname}'
- description: "URL to Google Storage."
- - string:
- name: CACHE_DIRECTORY
- default: "$HOME/opnfv/cache/$PROJECT{gs-pathname}"
- description: "Directory where the cache to be used during the build is located."
- - string:
- name: PPA_REPO
- default: "http://artifacts.opnfv.org/compass4nfv/package{ppa-pathname}"
- - string:
- name: PPA_CACHE
- default: "$WORKSPACE/work/repo/"
+ - string:
+ name: BUILD_DIRECTORY
+ default: $WORKSPACE/build_output
+ description: "Directory where the build artifact will be located upon the completion of the build."
+ - string:
+ name: GS_URL
+ default: '$GS_BASE{gs-pathname}'
+ description: "URL to Google Storage."
+ - string:
+ name: CACHE_DIRECTORY
+ default: "$HOME/opnfv/cache/$PROJECT{gs-pathname}"
+ description: "Directory where the cache to be used during the build is located."
+ - string:
+ name: PPA_REPO
+ default: "http://artifacts.opnfv.org/compass4nfv/package{ppa-pathname}"
+ - string:
+ name: PPA_CACHE
+ default: "$WORKSPACE/work/repo/"
########################
# trigger macros
########################
-#---------------------------
+# --------------------------
# ha-baremetal-centos-master
-#---------------------------
+# --------------------------
- trigger:
name: 'compass-os-nosdn-nofeature-ha-baremetal-centos-master-trigger'
triggers:
- - timed: '0 19 * * *'
+ - timed: '0 19 * * *'
- trigger:
name: 'compass-os-nosdn-openo-ha-baremetal-centos-master-trigger'
triggers:
- - timed: ''
+ - timed: ''
- trigger:
name: 'compass-os-odl_l2-nofeature-ha-baremetal-centos-master-trigger'
triggers:
- - timed: ''
+ - timed: ''
- trigger:
name: 'compass-os-odl_l3-nofeature-ha-baremetal-centos-master-trigger'
triggers:
- - timed: '0 15 * * *'
+ - timed: '0 15 * * *'
- trigger:
name: 'compass-os-onos-nofeature-ha-baremetal-centos-master-trigger'
triggers:
- - timed: ''
+ - timed: ''
- trigger:
name: 'compass-os-ocl-nofeature-ha-baremetal-centos-master-trigger'
triggers:
- - timed: ''
+ - timed: ''
- trigger:
name: 'compass-os-onos-sfc-ha-baremetal-centos-master-trigger'
triggers:
- - timed: ''
+ - timed: ''
- trigger:
name: 'compass-os-odl_l2-moon-ha-baremetal-centos-master-trigger'
triggers:
- - timed: ''
+ - timed: ''
- trigger:
name: 'compass-os-nosdn-kvm-ha-baremetal-centos-master-trigger'
triggers:
- - timed: ''
+ - timed: ''
- trigger:
name: 'compass-os-nosdn-ovs_dpdk-ha-baremetal-centos-master-trigger'
triggers:
- - timed: ''
+ - timed: ''
- trigger:
name: 'compass-os-odl-sfc-ha-baremetal-centos-master-trigger'
triggers:
- - timed: ''
+ - timed: ''
- trigger:
name: 'compass-k8-nosdn-nofeature-ha-baremetal-centos-master-trigger'
triggers:
- - timed: ''
+ - timed: ''
-#-----------------------------
+# ----------------------------
# noha-baremetal-centos-master
-#-----------------------------
+# ----------------------------
- trigger:
name: 'compass-os-nosdn-nofeature-noha-baremetal-centos-master-trigger'
triggers:
- - timed: ''
+ - timed: ''
- trigger:
name: 'compass-os-odl_l3-nofeature-noha-baremetal-centos-master-trigger'
triggers:
- - timed: ''
+ - timed: ''
- trigger:
name: 'compass-os-odl_l2-moon-noha-baremetal-centos-master-trigger'
triggers:
- - timed: ''
+ - timed: ''
- trigger:
name: 'compass-os-nosdn-kvm-noha-baremetal-centos-master-trigger'
triggers:
- - timed: ''
+ - timed: ''
- trigger:
name: 'compass-os-odl-sfc-noha-baremetal-centos-master-trigger'
triggers:
- - timed: ''
+ - timed: ''
- trigger:
name: 'compass-os-nosdn-ovs_dpdk-noha-baremetal-centos-master-trigger'
triggers:
- - timed: ''
+ - timed: ''
-#---------------------------
+# --------------------------
# ha-huawei-pod7-danube
-#---------------------------
+# --------------------------
- trigger:
name: 'compass-os-nosdn-nofeature-ha-huawei-pod7-danube-trigger'
triggers:
- - timed: '' #'0 19 * * *'
+ - timed: '' # '0 19 * * *'
- trigger:
name: 'compass-os-nosdn-openo-ha-huawei-pod7-danube-trigger'
triggers:
- - timed: ''
+ - timed: ''
- trigger:
name: 'compass-os-odl_l2-nofeature-ha-huawei-pod7-danube-trigger'
triggers:
- - timed: '' #'0 21 * * *'
+ - timed: '' # '0 21 * * *'
- trigger:
name: 'compass-os-odl_l3-nofeature-ha-huawei-pod7-danube-trigger'
triggers:
- - timed: '' #'0 15 * * *'
+ - timed: '' # '0 15 * * *'
- trigger:
name: 'compass-os-onos-nofeature-ha-huawei-pod7-danube-trigger'
triggers:
- - timed: ''
+ - timed: ''
- trigger:
name: 'compass-os-ocl-nofeature-ha-huawei-pod7-danube-trigger'
triggers:
- - timed: ''
+ - timed: ''
- trigger:
name: 'compass-os-onos-sfc-ha-huawei-pod7-danube-trigger'
triggers:
- - timed: ''
+ - timed: ''
- trigger:
name: 'compass-os-odl_l2-moon-ha-huawei-pod7-danube-trigger'
triggers:
- - timed: ''
+ - timed: ''
- trigger:
name: 'compass-os-nosdn-kvm-ha-huawei-pod7-danube-trigger'
triggers:
- - timed: ''
+ - timed: ''
- trigger:
name: 'compass-os-nosdn-ovs_dpdk-ha-huawei-pod7-danube-trigger'
triggers:
- - timed: ''
+ - timed: ''
- trigger:
name: 'compass-os-odl-sfc-ha-huawei-pod7-danube-trigger'
triggers:
- - timed: ''
+ - timed: ''
- trigger:
name: 'compass-k8-nosdn-nofeature-ha-huawei-pod7-danube-trigger'
triggers:
- - timed: ''
+ - timed: ''
-#-----------------------------
+# ----------------------------
# noha-huawei-pod7-danube
-#-----------------------------
+# ----------------------------
- trigger:
name: 'compass-os-nosdn-nofeature-noha-huawei-pod7-danube-trigger'
triggers:
- - timed: ''
+ - timed: ''
- trigger:
name: 'compass-os-odl_l3-nofeature-noha-huawei-pod7-danube-trigger'
triggers:
- - timed: ''
+ - timed: ''
- trigger:
name: 'compass-os-odl_l2-moon-noha-huawei-pod7-danube-trigger'
triggers:
- - timed: ''
+ - timed: ''
- trigger:
name: 'compass-os-nosdn-kvm-noha-huawei-pod7-danube-trigger'
triggers:
- - timed: ''
+ - timed: ''
- trigger:
name: 'compass-os-odl-sfc-noha-huawei-pod7-danube-trigger'
triggers:
- - timed: ''
+ - timed: ''
- trigger:
name: 'compass-os-nosdn-ovs_dpdk-noha-huawei-pod7-danube-trigger'
triggers:
- - timed: ''
-#--------------------
+ - timed: ''
+
+# -------------------
# ha-baremetal-master
-#--------------------
+# -------------------
- trigger:
name: 'compass-os-nosdn-nofeature-ha-baremetal-master-trigger'
triggers:
- - timed: '0 20 * * *'
+ - timed: '0 20 * * *'
- trigger:
name: 'compass-os-nosdn-openo-ha-baremetal-master-trigger'
triggers:
- - timed: ''
+ - timed: ''
- trigger:
name: 'compass-os-odl_l2-nofeature-ha-baremetal-master-trigger'
triggers:
- - timed: ''
+ - timed: ''
- trigger:
name: 'compass-os-odl_l3-nofeature-ha-baremetal-master-trigger'
triggers:
- - timed: '0 18 * * *'
+ - timed: '0 18 * * *'
- trigger:
name: 'compass-os-onos-nofeature-ha-baremetal-master-trigger'
triggers:
- - timed: ''
+ - timed: ''
- trigger:
name: 'compass-os-ocl-nofeature-ha-baremetal-master-trigger'
triggers:
- - timed: ''
+ - timed: ''
- trigger:
name: 'compass-os-onos-sfc-ha-baremetal-master-trigger'
triggers:
- - timed: ''
+ - timed: ''
- trigger:
name: 'compass-os-odl_l2-moon-ha-baremetal-master-trigger'
triggers:
- - timed: '0 12 * * *'
+ - timed: '0 12 * * *'
- trigger:
name: 'compass-os-nosdn-kvm-ha-baremetal-master-trigger'
triggers:
- - timed: '0 14 * * *'
+ - timed: '0 14 * * *'
- trigger:
name: 'compass-os-nosdn-ovs_dpdk-ha-baremetal-master-trigger'
triggers:
- - timed: '0 16 * * *'
+ - timed: '0 16 * * *'
- trigger:
name: 'compass-k8-nosdn-nofeature-ha-baremetal-master-trigger'
triggers:
- - timed: ''
+ - timed: ''
- trigger:
name: 'compass-os-odl-sfc-ha-baremetal-master-trigger'
triggers:
- - timed: '0 10 * * *'
+ - timed: '0 10 * * *'
-#----------------------
+# ---------------------
# noha-baremetal-master
-#----------------------
+# ---------------------
- trigger:
name: 'compass-os-nosdn-kvm-noha-baremetal-master-trigger'
triggers:
- - timed: ''
+ - timed: ''
- trigger:
name: 'compass-os-nosdn-nofeature-noha-baremetal-master-trigger'
triggers:
- - timed: ''
+ - timed: ''
- trigger:
name: 'compass-os-odl_l3-nofeature-noha-baremetal-master-trigger'
triggers:
- - timed: ''
+ - timed: ''
- trigger:
name: 'compass-os-odl_l2-moon-noha-baremetal-master-trigger'
triggers:
- - timed: ''
+ - timed: ''
- trigger:
name: 'compass-os-odl-sfc-noha-baremetal-master-trigger'
triggers:
- - timed: ''
+ - timed: ''
- trigger:
name: 'compass-os-nosdn-ovs_dpdk-noha-baremetal-master-trigger'
triggers:
- - timed: ''
+ - timed: ''
-#--------------------
+# -------------------
# ha-baremetal-euphrates
-#--------------------
+# -------------------
- trigger:
name: 'compass-os-nosdn-nofeature-ha-baremetal-euphrates-trigger'
triggers:
- - timed: '0 1 * * *'
+ - timed: '0 1 * * *'
- trigger:
name: 'compass-os-nosdn-openo-ha-baremetal-euphrates-trigger'
triggers:
- - timed: ''
+ - timed: ''
- trigger:
name: 'compass-os-odl_l2-nofeature-ha-baremetal-euphrates-trigger'
triggers:
- - timed: ''
+ - timed: ''
- trigger:
name: 'compass-os-odl_l3-nofeature-ha-baremetal-euphrates-trigger'
triggers:
- - timed: '0 21 * * *'
+ - timed: '0 21 * * *'
- trigger:
name: 'compass-os-onos-nofeature-ha-baremetal-euphrates-trigger'
triggers:
- - timed: ''
+ - timed: ''
- trigger:
name: 'compass-os-ocl-nofeature-ha-baremetal-euphrates-trigger'
triggers:
- - timed: ''
+ - timed: ''
- trigger:
name: 'compass-os-onos-sfc-ha-baremetal-euphrates-trigger'
triggers:
- - timed: ''
+ - timed: ''
- trigger:
name: 'compass-os-odl_l2-moon-ha-baremetal-euphrates-trigger'
triggers:
- - timed: '0 5 * * *'
+ - timed: '0 5 * * *'
- trigger:
name: 'compass-os-nosdn-kvm-ha-baremetal-euphrates-trigger'
triggers:
- - timed: '0 13 * * *'
+ - timed: '0 13 * * *'
- trigger:
name: 'compass-os-nosdn-ovs_dpdk-ha-baremetal-euphrates-trigger'
triggers:
- - timed: '0 9 * * *'
+ - timed: '0 9 * * *'
- trigger:
name: 'compass-k8-nosdn-nofeature-ha-baremetal-euphrates-trigger'
triggers:
- - timed: ''
+ - timed: ''
- trigger:
name: 'compass-os-odl-sfc-ha-baremetal-euphrates-trigger'
triggers:
- - timed: '0 17 * * *'
+ - timed: '0 17 * * *'
-#----------------------
+# ---------------------
# noha-baremetal-euphrates
-#----------------------
+# ---------------------
- trigger:
name: 'compass-os-nosdn-kvm-noha-baremetal-euphrates-trigger'
triggers:
- - timed: ''
+ - timed: ''
- trigger:
name: 'compass-os-nosdn-nofeature-noha-baremetal-euphrates-trigger'
triggers:
- - timed: ''
+ - timed: ''
- trigger:
name: 'compass-os-odl_l3-nofeature-noha-baremetal-euphrates-trigger'
triggers:
- - timed: ''
+ - timed: ''
- trigger:
name: 'compass-os-odl_l2-moon-noha-baremetal-euphrates-trigger'
triggers:
- - timed: ''
+ - timed: ''
- trigger:
name: 'compass-os-odl-sfc-noha-baremetal-euphrates-trigger'
triggers:
- - timed: ''
+ - timed: ''
- trigger:
name: 'compass-os-nosdn-ovs_dpdk-noha-baremetal-euphrates-trigger'
triggers:
- - timed: ''
+ - timed: ''
-#------------------
+# -----------------
# ha-virtual-master
-#------------------
+# -----------------
- trigger:
name: 'compass-os-nosdn-nofeature-ha-virtual-master-trigger'
triggers:
- - timed: '0 21 * * *'
+ - timed: '0 21 * * *'
- trigger:
name: 'compass-os-nosdn-openo-ha-virtual-master-trigger'
triggers:
- - timed: ''
+ - timed: ''
- trigger:
name: 'compass-os-odl_l2-nofeature-ha-virtual-master-trigger'
triggers:
- - timed: ''
+ - timed: ''
- trigger:
name: 'compass-os-odl_l3-nofeature-ha-virtual-master-trigger'
triggers:
- - timed: '0 19 * * *'
+ - timed: '0 19 * * *'
- trigger:
name: 'compass-os-onos-nofeature-ha-virtual-master-trigger'
triggers:
- - timed: ''
+ - timed: ''
- trigger:
name: 'compass-os-ocl-nofeature-ha-virtual-master-trigger'
triggers:
- - timed: ''
+ - timed: ''
- trigger:
name: 'compass-os-onos-sfc-ha-virtual-master-trigger'
triggers:
- - timed: ''
+ - timed: ''
- trigger:
name: 'compass-os-odl_l2-moon-ha-virtual-master-trigger'
triggers:
- - timed: '30 12 * * *'
+ - timed: '30 12 * * *'
- trigger:
name: 'compass-os-nosdn-kvm-ha-virtual-master-trigger'
triggers:
- - timed: '0 13 * * *'
+ - timed: '0 13 * * *'
- trigger:
name: 'compass-os-nosdn-ovs_dpdk-ha-virtual-master-trigger'
triggers:
- - timed: '0 17 * * *'
+ - timed: '0 17 * * *'
- trigger:
name: 'compass-k8-nosdn-nofeature-ha-virtual-master-trigger'
triggers:
- - timed: '0 12 * * *'
+ - timed: '0 12 * * *'
- trigger:
name: 'compass-os-odl-sfc-ha-virtual-master-trigger'
triggers:
- - timed: '0 16 * * *'
+ - timed: '0 16 * * *'
-#--------------------
+# -------------------
# noha-virtual-master
-#--------------------
+# -------------------
- trigger:
name: 'compass-os-nosdn-kvm-noha-virtual-master-trigger'
triggers:
- - timed: '30 13 * * *'
+ - timed: '30 13 * * *'
- trigger:
name: 'compass-os-nosdn-nofeature-noha-virtual-master-trigger'
triggers:
- - timed: '0 14 * * *'
+ - timed: '0 14 * * *'
- trigger:
name: 'compass-os-odl_l3-nofeature-noha-virtual-master-trigger'
triggers:
- - timed: '0 15 * * *'
+ - timed: '0 15 * * *'
- trigger:
name: 'compass-os-odl_l2-moon-noha-virtual-master-trigger'
triggers:
- - timed: '0 18 * * *'
+ - timed: '0 18 * * *'
- trigger:
name: 'compass-os-odl-sfc-noha-virtual-master-trigger'
triggers:
- - timed: '0 20 * * *'
+ - timed: '0 20 * * *'
- trigger:
name: 'compass-os-nosdn-ovs_dpdk-noha-virtual-master-trigger'
triggers:
- - timed: '0 11 * * *'
+ - timed: '0 11 * * *'
-#------------------
+# -----------------
# ha-virtual-euphrates
-#------------------
+# -----------------
- trigger:
name: 'compass-os-nosdn-nofeature-ha-virtual-euphrates-trigger'
triggers:
- - timed: '0 23 * * *'
+ - timed: '0 23 * * *'
- trigger:
name: 'compass-os-nosdn-openo-ha-virtual-euphrates-trigger'
triggers:
- - timed: ''
+ - timed: ''
- trigger:
name: 'compass-os-odl_l2-nofeature-ha-virtual-euphrates-trigger'
triggers:
- - timed: ''
+ - timed: ''
- trigger:
name: 'compass-os-odl_l3-nofeature-ha-virtual-euphrates-trigger'
triggers:
- - timed: '0 22 * * *'
+ - timed: '0 22 * * *'
- trigger:
name: 'compass-os-onos-nofeature-ha-virtual-euphrates-trigger'
triggers:
- - timed: ''
+ - timed: ''
- trigger:
name: 'compass-os-ocl-nofeature-ha-virtual-euphrates-trigger'
triggers:
- - timed: ''
+ - timed: ''
- trigger:
name: 'compass-os-onos-sfc-ha-virtual-euphrates-trigger'
triggers:
- - timed: ''
+ - timed: ''
- trigger:
name: 'compass-os-odl_l2-moon-ha-virtual-euphrates-trigger'
triggers:
- - timed: '0 20 * * *'
+ - timed: '0 20 * * *'
- trigger:
name: 'compass-os-nosdn-kvm-ha-virtual-euphrates-trigger'
triggers:
- - timed: '0 16 * * *'
+ - timed: '0 16 * * *'
- trigger:
name: 'compass-os-nosdn-ovs_dpdk-ha-virtual-euphrates-trigger'
triggers:
- - timed: '0 14 * * *'
+ - timed: '0 14 * * *'
- trigger:
name: 'compass-os-odl-sfc-ha-virtual-euphrates-trigger'
triggers:
- - timed: '0 18 * * *'
+ - timed: '0 18 * * *'
- trigger:
name: 'compass-k8-nosdn-nofeature-ha-virtual-euphrates-trigger'
triggers:
- - timed: '0 13 * * *'
+ - timed: '0 13 * * *'
-#--------------------
+# -------------------
# noha-virtual-euphrates
-#--------------------
+# -------------------
- trigger:
name: 'compass-os-nosdn-kvm-noha-virtual-euphrates-trigger'
triggers:
- - timed: '0 15 * * *'
+ - timed: '0 15 * * *'
- trigger:
name: 'compass-os-nosdn-nofeature-noha-virtual-euphrates-trigger'
triggers:
- - timed: '0 17 * * *'
+ - timed: '0 17 * * *'
- trigger:
name: 'compass-os-odl_l3-nofeature-noha-virtual-euphrates-trigger'
triggers:
- - timed: '0 23 * * *'
+ - timed: '0 23 * * *'
- trigger:
name: 'compass-os-odl_l2-moon-noha-virtual-euphrates-trigger'
triggers:
- - timed: '0 21 * * *'
+ - timed: '0 21 * * *'
- trigger:
name: 'compass-os-odl-sfc-noha-virtual-euphrates-trigger'
triggers:
- - timed: '0 19 * * *'
+ - timed: '0 19 * * *'
- trigger:
name: 'compass-os-nosdn-ovs_dpdk-noha-virtual-euphrates-trigger'
triggers:
- - timed: '0 12 * * *'
+ - timed: '0 12 * * *'
diff --git a/jjb/compass4nfv/compass-dovetail-jobs.yml b/jjb/compass4nfv/compass-dovetail-jobs.yml
index 101db8241..f0e1c2d3f 100644
--- a/jjb/compass4nfv/compass-dovetail-jobs.yml
+++ b/jjb/compass4nfv/compass-dovetail-jobs.yml
@@ -1,38 +1,39 @@
+---
- project:
name: 'compass-dovetail-jobs'
installer: 'compass'
project: 'compass4nfv'
-#----------------------------------
-# BRANCH ANCHORS
-#----------------------------------
+ # ---------------------------------
+ # BRANCH ANCHORS
+ # ---------------------------------
danube: &danube
- stream: danube
- branch: 'stable/{stream}'
- gs-pathname: '/{stream}'
- disabled: false
- dovetail-branch: master
-#------------------------------------
-# POD, INSTALLER, AND BRANCH MAPPING
-#------------------------------------
-# CI PODs
-#------------------------------------
+ stream: danube
+ branch: 'stable/{stream}'
+ gs-pathname: '/{stream}'
+ disabled: false
+ dovetail-branch: master
+ # -----------------------------------
+ # POD, INSTALLER, AND BRANCH MAPPING
+ # -----------------------------------
+ # CI PODs
+ # -----------------------------------
pod:
- - baremetal:
- slave-label: compass-baremetal-branch
- os-version: 'xenial'
- <<: *danube
-#-----------------------------------
-# scenarios
-#-----------------------------------
+ - baremetal:
+ slave-label: compass-baremetal-branch
+ os-version: 'xenial'
+ <<: *danube
+ # ----------------------------------
+ # scenarios
+ # ----------------------------------
scenario:
- - 'os-nosdn-nofeature-ha':
- disabled: true
- auto-trigger-name: 'compass-{scenario}-{pod}-weekly-{stream}-trigger'
+ - 'os-nosdn-nofeature-ha':
+ disabled: true
+ auto-trigger-name: 'compass-{scenario}-{pod}-weekly-{stream}-trigger'
jobs:
- - 'compass-{scenario}-{pod}-weekly-{stream}'
- - 'compass-deploy-{pod}-weekly-{stream}'
+ - 'compass-{scenario}-{pod}-weekly-{stream}'
+ - 'compass-deploy-{pod}-weekly-{stream}'
########################
# job templates
@@ -45,70 +46,67 @@
concurrent: false
properties:
- - build-blocker:
- use-build-blocker: true
- blocking-jobs:
- - 'compass-os-.*?-{pod}-daily-.*?'
- - 'compass-os-.*?-{pod}-weekly-.*?'
- block-level: 'NODE'
+ - build-blocker:
+ use-build-blocker: true
+ blocking-jobs:
+ - 'compass-os-.*?-{pod}-daily-.*?'
+ - 'compass-os-.*?-{pod}-weekly-.*?'
+ block-level: 'NODE'
wrappers:
- - build-name:
- name: '$BUILD_NUMBER - Scenario: $DEPLOY_SCENARIO'
- - fix-workspace-permissions
+ - build-name:
+ name: '$BUILD_NUMBER - Scenario: $DEPLOY_SCENARIO'
+ - fix-workspace-permissions
triggers:
- - '{auto-trigger-name}'
+ - '{auto-trigger-name}'
parameters:
- - project-parameter:
- project: '{project}'
- branch: '{branch}'
- - compass-dovetail-parameter:
- installer: '{installer}'
- gs-pathname: '{gs-pathname}'
- - string:
- name: DEPLOY_SCENARIO
- default: '{scenario}'
- - '{slave-label}-defaults'
- - '{installer}-defaults'
-
- triggers:
- - '{auto-trigger-name}'
+ - project-parameter:
+ project: '{project}'
+ branch: '{branch}'
+ - compass-dovetail-parameter:
+ installer: '{installer}'
+ gs-pathname: '{gs-pathname}'
+ - string:
+ name: DEPLOY_SCENARIO
+ default: '{scenario}'
+ - '{slave-label}-defaults'
+ - '{installer}-defaults'
builders:
- - description-setter:
- description: "POD: $NODE_NAME"
- - trigger-builds:
- - project: 'compass-deploy-{pod}-weekly-{stream}'
- current-parameters: false
- predefined-parameters: |
- DEPLOY_SCENARIO={scenario}
- COMPASS_OS_VERSION={os-version}
- same-node: true
- block: true
- - trigger-builds:
- - project: 'dovetail-compass-{pod}-compliance_set-weekly-{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'
- - trigger-builds:
- - project: 'dovetail-compass-{pod}-proposed_tests-weekly-{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'
+ - description-setter:
+ description: "POD: $NODE_NAME"
+ - trigger-builds:
+ - project: 'compass-deploy-{pod}-weekly-{stream}'
+ current-parameters: false
+ predefined-parameters: |
+ DEPLOY_SCENARIO={scenario}
+ COMPASS_OS_VERSION={os-version}
+ same-node: true
+ block: true
+ - trigger-builds:
+ - project: 'dovetail-compass-{pod}-compliance_set-weekly-{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'
+ - trigger-builds:
+ - project: 'dovetail-compass-{pod}-proposed_tests-weekly-{stream}'
+ current-parameters: false
+ predefined-parameters:
+ DEPLOY_SCENARIO={scenario}
+ block: true
+ same-node: true
+ block-thresholds:
+ build-step-failure-threshold: 'never'
+ failure-threshold: 'never'
+ unstable-threshold: 'FAILURE'
- job-template:
name: 'compass-deploy-{pod}-weekly-{stream}'
@@ -118,48 +116,48 @@
concurrent: true
properties:
- - logrotate-default
- - throttle:
- enabled: true
- max-total: 4
- max-per-node: 1
- option: 'project'
- - build-blocker:
- use-build-blocker: true
- blocking-jobs:
- - 'compass-deploy-{pod}-daily-.*?'
- - 'compass-deploy-{pod}-weekly-.*'
- - 'compass-verify-deploy-.*?'
- block-level: 'NODE'
+ - logrotate-default
+ - throttle:
+ enabled: true
+ max-total: 4
+ max-per-node: 1
+ option: 'project'
+ - build-blocker:
+ use-build-blocker: true
+ blocking-jobs:
+ - 'compass-deploy-{pod}-daily-.*?'
+ - 'compass-deploy-{pod}-weekly-.*'
+ - 'compass-verify-deploy-.*?'
+ block-level: 'NODE'
wrappers:
- - build-name:
- name: '$BUILD_NUMBER - Scenario: $DEPLOY_SCENARIO'
- - timeout:
- timeout: 240
- abort: true
- - fix-workspace-permissions
+ - build-name:
+ name: '$BUILD_NUMBER - Scenario: $DEPLOY_SCENARIO'
+ - timeout:
+ timeout: 240
+ abort: true
+ - fix-workspace-permissions
parameters:
- - project-parameter:
- project: '{project}'
- branch: '{branch}'
- - compass-dovetail-parameter:
- installer: '{installer}'
- gs-pathname: '{gs-pathname}'
- - '{slave-label}-defaults'
- - '{installer}-defaults'
+ - project-parameter:
+ project: '{project}'
+ branch: '{branch}'
+ - compass-dovetail-parameter:
+ installer: '{installer}'
+ gs-pathname: '{gs-pathname}'
+ - '{slave-label}-defaults'
+ - '{installer}-defaults'
scm:
- - git-scm
+ - git-scm
builders:
- - description-setter:
- description: "POD: $NODE_NAME"
- - shell:
- !include-raw-escape: ./compass-download-artifact.sh
- - shell:
- !include-raw-escape: ./compass-deploy.sh
+ - description-setter:
+ description: "POD: $NODE_NAME"
+ - shell:
+ !include-raw-escape: ./compass-download-artifact.sh
+ - shell:
+ !include-raw-escape: ./compass-deploy.sh
########################
# parameter macros
@@ -167,18 +165,18 @@
- parameter:
name: compass-dovetail-parameter
parameters:
- - string:
- name: BUILD_DIRECTORY
- default: $WORKSPACE/build_output
- description: "Directory where the build artifact will be located upon the completion of the build."
- - string:
- name: GS_URL
- default: '$GS_BASE{gs-pathname}'
- description: "URL to Google Storage."
- - choice:
- name: COMPASS_OPENSTACK_VERSION
- choices:
- - 'newton'
+ - string:
+ name: BUILD_DIRECTORY
+ default: $WORKSPACE/build_output
+ description: "Directory where the build artifact will be located upon the completion of the build."
+ - string:
+ name: GS_URL
+ default: '$GS_BASE{gs-pathname}'
+ description: "URL to Google Storage."
+ - choice:
+ name: COMPASS_OPENSTACK_VERSION
+ choices:
+ - 'newton'
########################
# trigger macros
@@ -186,9 +184,9 @@
- trigger:
name: 'compass-os-nosdn-nofeature-ha-baremetal-weekly-danube-trigger'
triggers:
- - timed: 'H H * * 0'
+ - timed: 'H H * * 0'
- trigger:
name: 'dovetail-weekly-trigger'
triggers:
- - timed: 'H H * * 0'
+ - timed: 'H H * * 0'
diff --git a/jjb/compass4nfv/compass-project-jobs.yml b/jjb/compass4nfv/compass-project-jobs.yml
index fe9170578..13830ce1d 100644
--- a/jjb/compass4nfv/compass-project-jobs.yml
+++ b/jjb/compass4nfv/compass-project-jobs.yml
@@ -1,3 +1,4 @@
+---
- project:
name: compass-project
@@ -9,25 +10,25 @@
slave-label: 'compass-virtual'
stream:
- - master:
- branch: '{stream}'
- gs-pathname: ''
- ppa-pathname: '/{stream}'
- disabled: false
- - danube:
- branch: 'stable/{stream}'
- gs-pathname: '/{stream}'
- ppa-pathname: '/{stream}'
- disabled: false
- - euphrates:
- branch: 'stable/{stream}'
- gs-pathname: '/{stream}'
- ppa-pathname: '/{stream}'
- disabled: false
+ - master:
+ branch: '{stream}'
+ gs-pathname: ''
+ ppa-pathname: '/{stream}'
+ disabled: false
+ - danube:
+ branch: 'stable/{stream}'
+ gs-pathname: '/{stream}'
+ ppa-pathname: '/{stream}'
+ disabled: false
+ - euphrates:
+ branch: 'stable/{stream}'
+ gs-pathname: '/{stream}'
+ ppa-pathname: '/{stream}'
+ disabled: false
jobs:
- - '{installer}-build-daily-{stream}'
- - 'compass-build-ppa-{stream}'
+ - '{installer}-build-daily-{stream}'
+ - 'compass-build-ppa-{stream}'
########################
# job templates
@@ -40,36 +41,36 @@
concurrent: true
properties:
- - logrotate-default
- - throttle:
- enabled: true
- max-total: 1
- max-per-node: 1
- option: 'project'
+ - logrotate-default
+ - throttle:
+ enabled: true
+ max-total: 1
+ max-per-node: 1
+ option: 'project'
parameters:
- - project-parameter:
- project: '{project}'
- branch: '{branch}'
- - compass-project-parameter:
- installer: '{installer}'
- gs-pathname: '{gs-pathname}'
- ppa-pathname: '{ppa-pathname}'
- - 'opnfv-build-ubuntu-defaults'
- - '{installer}-defaults'
+ - project-parameter:
+ project: '{project}'
+ branch: '{branch}'
+ - compass-project-parameter:
+ installer: '{installer}'
+ gs-pathname: '{gs-pathname}'
+ ppa-pathname: '{ppa-pathname}'
+ - 'opnfv-build-ubuntu-defaults'
+ - '{installer}-defaults'
scm:
- - git-scm
+ - git-scm
triggers:
- - timed: 'H 8 * * *'
+ - timed: 'H 8 * * *'
builders:
- - shell:
- !include-raw-escape: ./compass-build.sh
- - shell:
- !include-raw-escape: ./compass-upload-artifact.sh
- - 'clean-workspace'
+ - shell:
+ !include-raw-escape: ./compass-build.sh
+ - shell:
+ !include-raw-escape: ./compass-upload-artifact.sh
+ - 'clean-workspace'
- job-template:
name: 'compass-build-ppa-{stream}'
@@ -83,30 +84,29 @@
concurrent: true
properties:
- - logrotate-default
- - throttle:
- enabled: true
- max-total: 1
- max-per-node: 1
- option: 'project'
+ - logrotate-default
+ - throttle:
+ enabled: true
+ max-total: 1
+ max-per-node: 1
+ option: 'project'
parameters:
- - project-parameter:
- project: '{project}'
- branch: '{branch}'
- - compass-project-parameter:
- installer: '{installer}'
- gs-pathname: '{gs-pathname}'
- ppa-pathname: '{ppa-pathname}'
- - '{node}-defaults'
- - '{installer}-defaults'
+ - project-parameter:
+ project: '{project}'
+ branch: '{branch}'
+ - compass-project-parameter:
+ installer: '{installer}'
+ gs-pathname: '{gs-pathname}'
+ ppa-pathname: '{ppa-pathname}'
+ - '{node}-defaults'
+ - '{installer}-defaults'
scm:
- - git-scm
+ - git-scm
builders:
- - shell:
- !include-raw-escape: ./compass-makeppa.sh
-
+ - shell:
+ !include-raw-escape: ./compass-makeppa.sh
########################
@@ -115,22 +115,21 @@
- parameter:
name: compass-project-parameter
parameters:
- - string:
- name: BUILD_DIRECTORY
- default: $WORKSPACE/build_output
- description: "Directory where the build artifact will be located upon the completion of the build."
- - string:
- name: CACHE_DIRECTORY
- default: "$HOME/opnfv/cache/$PROJECT{gs-pathname}"
- description: "Directory where the cache to be used during the build is located."
- - string:
- name: GS_URL
- default: '$GS_BASE{gs-pathname}'
- description: "URL to Google Storage."
- - string:
- name: PPA_REPO
- default: "http://artifacts.opnfv.org/compass4nfv/package{ppa-pathname}"
- - string:
- name: PPA_CACHE
- default: "$WORKSPACE/work/repo/"
-
+ - string:
+ name: BUILD_DIRECTORY
+ default: $WORKSPACE/build_output
+ description: "Directory where the build artifact will be located upon the completion of the build."
+ - string:
+ name: CACHE_DIRECTORY
+ default: "$HOME/opnfv/cache/$PROJECT{gs-pathname}"
+ description: "Directory where the cache to be used during the build is located."
+ - string:
+ name: GS_URL
+ default: '$GS_BASE{gs-pathname}'
+ description: "URL to Google Storage."
+ - string:
+ name: PPA_REPO
+ default: "http://artifacts.opnfv.org/compass4nfv/package{ppa-pathname}"
+ - string:
+ name: PPA_CACHE
+ default: "$WORKSPACE/work/repo/"
diff --git a/jjb/compass4nfv/compass-verify-jobs.yml b/jjb/compass4nfv/compass-verify-jobs.yml
index f4fe8f66c..6927145c8 100644
--- a/jjb/compass4nfv/compass-verify-jobs.yml
+++ b/jjb/compass4nfv/compass-verify-jobs.yml
@@ -1,50 +1,51 @@
+---
- project:
name: 'compass-verify-jobs'
project: 'compass4nfv'
installer: 'compass'
-#####################################
-# branch definitions
-#####################################
+ #####################################
+ # branch definitions
+ #####################################
stream:
- - master:
- branch: '{stream}'
- gs-pathname: ''
- ppa-pathname: '/{stream}'
- disabled: false
- openstack-version: 'ocata'
- branch-type: 'master'
- - danube:
- branch: 'stable/{stream}'
- gs-pathname: '/{stream}'
- ppa-pathname: '/{stream}'
- disabled: false
- openstack-version: 'newton'
- branch-type: 'branch'
+ - master:
+ branch: '{stream}'
+ gs-pathname: ''
+ ppa-pathname: '/{stream}'
+ disabled: false
+ openstack-version: 'ocata'
+ branch-type: 'master'
+ - danube:
+ branch: 'stable/{stream}'
+ gs-pathname: '/{stream}'
+ ppa-pathname: '/{stream}'
+ disabled: false
+ openstack-version: 'newton'
+ branch-type: 'branch'
distro:
- - 'xenial':
- disabled: false
- os-version: 'xenial'
- openstack-os-version: ''
- - 'centos7':
- disabled: true
- os-version: 'centos7'
- openstack-os-version: ''
-#####################################
-# patch verification phases
-#####################################
+ - 'xenial':
+ disabled: false
+ os-version: 'xenial'
+ openstack-os-version: ''
+ - 'centos7':
+ disabled: true
+ os-version: 'centos7'
+ openstack-os-version: ''
+ #####################################
+ # patch verification phases
+ #####################################
phase:
- - 'basic'
- - 'deploy-virtual'
-#####################################
-# jobs
-#####################################
+ - 'basic'
+ - 'deploy-virtual'
+ #####################################
+ # jobs
+ #####################################
jobs:
- - 'compass-verify-{distro}-{stream}'
- - 'compass-verify-k8-{distro}-{stream}'
- - 'compass-verify-{phase}-{distro}-{stream}'
+ - 'compass-verify-{distro}-{stream}'
+ - 'compass-verify-k8-{distro}-{stream}'
+ - 'compass-verify-{phase}-{distro}-{stream}'
#####################################
# job templates
#####################################
@@ -58,122 +59,122 @@
concurrent: true
properties:
- - logrotate-default
- - throttle:
- enabled: true
- max-total: 4
- max-per-node: 1
- option: 'project'
- - build-blocker:
- use-build-blocker: true
- blocking-jobs:
- - 'compass-verify-[^-]*-[^-]*'
- - 'compass-os-.*?-virtual-daily-.*?'
- block-level: 'NODE'
+ - logrotate-default
+ - throttle:
+ enabled: true
+ max-total: 4
+ max-per-node: 1
+ option: 'project'
+ - build-blocker:
+ use-build-blocker: true
+ blocking-jobs:
+ - 'compass-verify-[^-]*-[^-]*'
+ - 'compass-os-.*?-virtual-daily-.*?'
+ block-level: 'NODE'
wrappers:
- - ssh-agent-wrapper
- - timeout:
- timeout: 240
- fail: true
- - fix-workspace-permissions
+ - ssh-agent-wrapper
+ - timeout:
+ timeout: 240
+ fail: true
+ - fix-workspace-permissions
scm:
- - git-scm-gerrit
+ - 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}'
- file-paths:
- - compare-type: ANT
- pattern: '**/*'
- disable-strict-forbidden-file-verification: 'true'
- forbidden-file-paths:
- - compare-type: ANT
- pattern: 'docs/**'
- readable-message: true
+ - gerrit:
+ server-name: 'gerrit.opnfv.org'
+ trigger-on:
+ - patchset-created-event:
+ exclude-drafts: 'false'
+ exclude-trivial-rebase: 'false'
+ exclude-no-code-change: 'false'
+ - draft-published-event
+ - comment-added-contains-event:
+ comment-contains-value: 'recheck'
+ - comment-added-contains-event:
+ comment-contains-value: 'reverify'
+ projects:
+ - project-compare-type: 'ANT'
+ project-pattern: '{project}'
+ branches:
+ - branch-compare-type: 'ANT'
+ branch-pattern: '**/{branch}'
+ file-paths:
+ - compare-type: ANT
+ pattern: '**/*'
+ disable-strict-forbidden-file-verification: 'true'
+ forbidden-file-paths:
+ - compare-type: ANT
+ pattern: 'docs/**'
+ readable-message: true
parameters:
- - project-parameter:
- project: '{project}'
- branch: '{branch}'
- - 'compass-virtual-{branch-type}-defaults'
- - '{installer}-defaults'
- - 'compass-verify-defaults':
- installer: '{installer}'
- gs-pathname: '{gs-pathname}'
- ppa-pathname: '{ppa-pathname}'
- - string:
- name: DEPLOY_SCENARIO
- default: 'os-nosdn-nofeature-ha'
+ - project-parameter:
+ project: '{project}'
+ branch: '{branch}'
+ - 'compass-virtual-{branch-type}-defaults'
+ - '{installer}-defaults'
+ - 'compass-verify-defaults':
+ installer: '{installer}'
+ gs-pathname: '{gs-pathname}'
+ ppa-pathname: '{ppa-pathname}'
+ - string:
+ name: DEPLOY_SCENARIO
+ default: 'os-nosdn-nofeature-ha'
builders:
- - description-setter:
- description: "Built on $NODE_NAME"
- - multijob:
- name: basic
- condition: SUCCESSFUL
- projects:
- - name: 'opnfv-lint-verify-{stream}'
- current-parameters: true
- node-parameters: true
- kill-phase-on: FAILURE
- abort-all-job: true
- - name: 'opnfv-yamllint-verify-{stream}'
- current-parameters: true
- node-parameters: true
- kill-phase-on: FAILURE
- abort-all-job: true
- - multijob:
- name: deploy-virtual
- condition: SUCCESSFUL
- projects:
- - name: 'compass-verify-deploy-virtual-{distro}-{stream}'
- current-parameters: true
- predefined-parameters: |
- COMPASS_OS_VERSION={os-version}
- COMPASS_OPENSTACK_VERSION={openstack-version}
- node-parameters: true
- kill-phase-on: FAILURE
- abort-all-job: true
- - multijob:
- name: smoke-test
- condition: SUCCESSFUL
- projects:
- - name: 'functest-compass-virtual-suite-{stream}'
- current-parameters: false
- predefined-parameters: |
- FUNCTEST_MODE=tier
- FUNCTEST_TIER=healthcheck
- DEPLOY_SCENARIO=os-nosdn-nofeature-ha
- node-parameters: true
- kill-phase-on: NEVER
- abort-all-job: true
- - name: 'functest-compass-virtual-suite-{stream}'
- current-parameters: false
- predefined-parameters: |
- FUNCTEST_MODE=testcase
- FUNCTEST_SUITE_NAME=vping_ssh
- DEPLOY_SCENARIO=os-nosdn-nofeature-ha
- node-parameters: true
- kill-phase-on: NEVER
- abort-all-job: true
+ - description-setter:
+ description: "Built on $NODE_NAME"
+ - multijob:
+ name: basic
+ condition: SUCCESSFUL
+ projects:
+ - name: 'opnfv-lint-verify-{stream}'
+ current-parameters: true
+ node-parameters: true
+ kill-phase-on: FAILURE
+ abort-all-job: true
+ - name: 'opnfv-yamllint-verify-{stream}'
+ current-parameters: true
+ node-parameters: true
+ kill-phase-on: FAILURE
+ abort-all-job: true
+ - multijob:
+ name: deploy-virtual
+ condition: SUCCESSFUL
+ projects:
+ - name: 'compass-verify-deploy-virtual-{distro}-{stream}'
+ current-parameters: true
+ predefined-parameters: |
+ COMPASS_OS_VERSION={os-version}
+ COMPASS_OPENSTACK_VERSION={openstack-version}
+ node-parameters: true
+ kill-phase-on: FAILURE
+ abort-all-job: true
+ - multijob:
+ name: smoke-test
+ condition: SUCCESSFUL
+ projects:
+ - name: 'functest-compass-virtual-suite-{stream}'
+ current-parameters: false
+ predefined-parameters: |
+ FUNCTEST_MODE=tier
+ FUNCTEST_TIER=healthcheck
+ DEPLOY_SCENARIO=os-nosdn-nofeature-ha
+ node-parameters: true
+ kill-phase-on: NEVER
+ abort-all-job: true
+ - name: 'functest-compass-virtual-suite-{stream}'
+ current-parameters: false
+ predefined-parameters: |
+ FUNCTEST_MODE=testcase
+ FUNCTEST_SUITE_NAME=vping_ssh
+ DEPLOY_SCENARIO=os-nosdn-nofeature-ha
+ node-parameters: true
+ kill-phase-on: NEVER
+ abort-all-job: true
- job-template:
name: 'compass-verify-k8-{distro}-{stream}'
@@ -185,97 +186,97 @@
concurrent: true
properties:
- - logrotate-default
- - throttle:
- enabled: true
- max-total: 4
- max-per-node: 1
- option: 'project'
- - build-blocker:
- use-build-blocker: true
- blocking-jobs:
- - 'compass-verify-[^-]*-[^-]*'
- - 'compass-os-.*?-virtual-daily-.*?'
- block-level: 'NODE'
+ - logrotate-default
+ - throttle:
+ enabled: true
+ max-total: 4
+ max-per-node: 1
+ option: 'project'
+ - build-blocker:
+ use-build-blocker: true
+ blocking-jobs:
+ - 'compass-verify-[^-]*-[^-]*'
+ - 'compass-os-.*?-virtual-daily-.*?'
+ block-level: 'NODE'
wrappers:
- - ssh-agent-wrapper
- - timeout:
- timeout: 240
- fail: true
- - fix-workspace-permissions
+ - ssh-agent-wrapper
+ - timeout:
+ timeout: 240
+ fail: true
+ - fix-workspace-permissions
scm:
- - git-scm-gerrit
+ - git-scm-gerrit
triggers:
- - gerrit:
- server-name: 'gerrit.opnfv.org'
- trigger-on:
- - comment-added-contains-event:
- comment-contains-value: 'check k8'
- - comment-added-contains-event:
- comment-contains-value: 'verify k8'
- - comment-added-contains-event:
- comment-contains-value: 'check kubernetes'
- - comment-added-contains-event:
- comment-contains-value: 'verify kubernetes'
- projects:
- - project-compare-type: 'ANT'
- project-pattern: '{project}'
- branches:
- - branch-compare-type: 'ANT'
- branch-pattern: '**/{branch}'
- file-paths:
- - compare-type: ANT
- pattern: '**/*'
- forbidden-file-paths:
- - compare-type: ANT
- pattern: 'docs/**'
- readable-message: true
+ - gerrit:
+ server-name: 'gerrit.opnfv.org'
+ trigger-on:
+ - comment-added-contains-event:
+ comment-contains-value: 'check k8'
+ - comment-added-contains-event:
+ comment-contains-value: 'verify k8'
+ - comment-added-contains-event:
+ comment-contains-value: 'check kubernetes'
+ - comment-added-contains-event:
+ comment-contains-value: 'verify kubernetes'
+ projects:
+ - project-compare-type: 'ANT'
+ project-pattern: '{project}'
+ branches:
+ - branch-compare-type: 'ANT'
+ branch-pattern: '**/{branch}'
+ file-paths:
+ - compare-type: ANT
+ pattern: '**/*'
+ forbidden-file-paths:
+ - compare-type: ANT
+ pattern: 'docs/**'
+ readable-message: true
parameters:
- - project-parameter:
- project: '{project}'
- branch: '{branch}'
- - 'compass-virtual-{branch-type}-defaults'
- - '{installer}-defaults'
- - 'compass-verify-defaults':
- installer: '{installer}'
- gs-pathname: '{gs-pathname}'
- ppa-pathname: '{ppa-pathname}'
- - string:
- name: DEPLOY_SCENARIO
- default: 'k8-nosdn-nofeature-ha'
+ - project-parameter:
+ project: '{project}'
+ branch: '{branch}'
+ - 'compass-virtual-{branch-type}-defaults'
+ - '{installer}-defaults'
+ - 'compass-verify-defaults':
+ installer: '{installer}'
+ gs-pathname: '{gs-pathname}'
+ ppa-pathname: '{ppa-pathname}'
+ - string:
+ name: DEPLOY_SCENARIO
+ default: 'k8-nosdn-nofeature-ha'
builders:
- - description-setter:
- description: "Built on $NODE_NAME"
- - multijob:
- name: basic
- condition: SUCCESSFUL
- projects:
- - name: 'opnfv-lint-verify-{stream}'
- current-parameters: true
- node-parameters: true
- kill-phase-on: FAILURE
- abort-all-job: true
- - name: 'opnfv-yamllint-verify-{stream}'
- current-parameters: true
- node-parameters: true
- kill-phase-on: FAILURE
- abort-all-job: true
- - multijob:
- name: deploy-virtual
- condition: SUCCESSFUL
- projects:
- - name: 'compass-verify-deploy-virtual-{distro}-{stream}'
- current-parameters: true
- predefined-parameters: |
- COMPASS_OS_VERSION={os-version}
- node-parameters: true
- kill-phase-on: FAILURE
- abort-all-job: true
+ - description-setter:
+ description: "Built on $NODE_NAME"
+ - multijob:
+ name: basic
+ condition: SUCCESSFUL
+ projects:
+ - name: 'opnfv-lint-verify-{stream}'
+ current-parameters: true
+ node-parameters: true
+ kill-phase-on: FAILURE
+ abort-all-job: true
+ - name: 'opnfv-yamllint-verify-{stream}'
+ current-parameters: true
+ node-parameters: true
+ kill-phase-on: FAILURE
+ abort-all-job: true
+ - multijob:
+ name: deploy-virtual
+ condition: SUCCESSFUL
+ projects:
+ - name: 'compass-verify-deploy-virtual-{distro}-{stream}'
+ current-parameters: true
+ predefined-parameters: |
+ COMPASS_OS_VERSION={os-version}
+ node-parameters: true
+ kill-phase-on: FAILURE
+ abort-all-job: true
- job-template:
name: 'compass-verify-{phase}-{distro}-{stream}'
@@ -285,33 +286,33 @@
concurrent: true
properties:
- - logrotate-default
- - throttle:
- enabled: true
- max-per-node: 1
- option: 'project'
- - build-blocker:
- use-build-blocker: true
- blocking-jobs:
- - 'compass-os-.*?-virtual-daily-.*?'
- - 'compass-verify-deploy-.*'
- - 'functest-compass-virtual.*'
- block-level: 'NODE'
+ - logrotate-default
+ - throttle:
+ enabled: true
+ max-per-node: 1
+ option: 'project'
+ - build-blocker:
+ use-build-blocker: true
+ blocking-jobs:
+ - 'compass-os-.*?-virtual-daily-.*?'
+ - 'compass-verify-deploy-.*'
+ - 'functest-compass-virtual.*'
+ block-level: 'NODE'
wrappers:
- - ssh-agent-wrapper
- - timeout:
- timeout: 240
- fail: true
- - fix-workspace-permissions
+ - ssh-agent-wrapper
+ - timeout:
+ timeout: 240
+ fail: true
+ - fix-workspace-permissions
scm:
- - git-scm-gerrit
+ - git-scm-gerrit
builders:
- - description-setter:
- description: "Built on $NODE_NAME"
- - '{project}-verify-{phase}-macro'
+ - description-setter:
+ description: "Built on $NODE_NAME"
+ - '{project}-verify-{phase}-macro'
#####################################
# builder macros
@@ -319,44 +320,44 @@
- builder:
name: 'compass4nfv-verify-basic-macro'
builders:
- - shell: |
- #!/bin/bash
+ - shell: |
+ #!/bin/bash
- echo "Not activated!"
+ echo "Not activated!"
- builder:
name: 'compass4nfv-verify-deploy-virtual-macro'
builders:
- - shell:
- !include-raw: ./compass-build.sh
- - shell:
- !include-raw: ./compass-deploy.sh
+ - shell:
+ !include-raw: ./compass-build.sh
+ - shell:
+ !include-raw: ./compass-deploy.sh
#####################################
# parameter macros
#####################################
- parameter:
name: 'compass-verify-defaults'
parameters:
- - string:
- name: BUILD_DIRECTORY
- default: $WORKSPACE/build_output
- description: "Directory where the build artifact will be located upon the completion of the build."
- - string:
- name: CACHE_DIRECTORY
- default: "$HOME/opnfv/cache/$PROJECT{gs-pathname}"
- description: "Directory where the cache to be used during the build is located."
- - string:
- name: GS_URL
- default: '$GS_BASE{gs-pathname}'
- description: "URL to Google Storage."
- - string:
- name: PPA_REPO
- default: "http://artifacts.opnfv.org/compass4nfv/package{ppa-pathname}"
- - string:
- name: PPA_CACHE
- default: "$WORKSPACE/work/repo/"
- - choice:
- name: COMPASS_OS_VERSION
- choices:
- - 'xenial'
- - 'centos7'
+ - string:
+ name: BUILD_DIRECTORY
+ default: $WORKSPACE/build_output
+ description: "Directory where the build artifact will be located upon the completion of the build."
+ - string:
+ name: CACHE_DIRECTORY
+ default: "$HOME/opnfv/cache/$PROJECT{gs-pathname}"
+ description: "Directory where the cache to be used during the build is located."
+ - string:
+ name: GS_URL
+ default: '$GS_BASE{gs-pathname}'
+ description: "URL to Google Storage."
+ - string:
+ name: PPA_REPO
+ default: "http://artifacts.opnfv.org/compass4nfv/package{ppa-pathname}"
+ - string:
+ name: PPA_CACHE
+ default: "$WORKSPACE/work/repo/"
+ - choice:
+ name: COMPASS_OS_VERSION
+ choices:
+ - 'xenial'
+ - 'centos7'
diff --git a/jjb/daisy4nfv/daisy4nfv-build.sh b/jjb/daisy4nfv/daisy4nfv-build.sh
index 925f68e18..a081b3bc6 100755
--- a/jjb/daisy4nfv/daisy4nfv-build.sh
+++ b/jjb/daisy4nfv/daisy4nfv-build.sh
@@ -31,6 +31,8 @@ cd $WORKSPACE
echo "OPNFV_GIT_SHA1=$(git rev-parse HEAD)"
echo "OPNFV_ARTIFACT_URL=$GS_URL/opnfv-$OPNFV_ARTIFACT_VERSION.bin"
echo "OPNFV_ARTIFACT_SHA512SUM=$(sha512sum $OUTPUT_DIR/opnfv-$OPNFV_ARTIFACT_VERSION.bin | cut -d' ' -f1)"
+ echo "OPNFV_ARTIFACT_URL_ISO=$GS_URL/opnfv-$OPNFV_ARTIFACT_VERSION.iso"
+ echo "OPNFV_ARTIFACT_SHA512SUM_ISO=$(sha512sum $OUTPUT_DIR/opnfv-$OPNFV_ARTIFACT_VERSION.iso | cut -d' ' -f1)"
echo "OPNFV_BUILD_URL=$BUILD_URL"
) > $WORKSPACE/opnfv.properties
diff --git a/jjb/daisy4nfv/daisy4nfv-upload-artifact.sh b/jjb/daisy4nfv/daisy4nfv-upload-artifact.sh
index 6b0aec54f..27bb8de23 100755
--- a/jjb/daisy4nfv/daisy4nfv-upload-artifact.sh
+++ b/jjb/daisy4nfv/daisy4nfv-upload-artifact.sh
@@ -50,13 +50,15 @@ cd $WORKSPACE
# upload artifact and additional files to google storage
gsutil cp $BUILD_DIRECTORY/opnfv-$OPNFV_ARTIFACT_VERSION.bin \
gs://$GS_URL/opnfv-$OPNFV_ARTIFACT_VERSION.bin > gsutil.bin.log 2>&1
+gsutil cp $BUILD_DIRECTORY/opnfv-$OPNFV_ARTIFACT_VERSION.iso \
+ gs://$GS_URL/opnfv-$OPNFV_ARTIFACT_VERSION.bin >> gsutil.bin.log 2>&1
gsutil cp $WORKSPACE/opnfv.properties \
gs://$GS_URL/opnfv-$OPNFV_ARTIFACT_VERSION.properties > gsutil.properties.log 2>&1
if [[ ! "$JOB_NAME" =~ (verify|merge) ]]; then
gsutil cp $WORKSPACE/opnfv.properties \
gs://$GS_URL/latest.properties > gsutil.latest.log 2>&1
elif [[ "$JOB_NAME" =~ "merge" ]]; then
- echo "Uploaded Daisy4nfv BIN for a merged change"
+ echo "Uploaded Daisy4nfv artifacts for a merged change"
fi
gsutil -m setmeta \
diff --git a/jjb/fuel/fuel-daily-jobs.yml b/jjb/fuel/fuel-daily-jobs.yml
index b6a1bc469..92ad8e69a 100644
--- a/jjb/fuel/fuel-daily-jobs.yml
+++ b/jjb/fuel/fuel-daily-jobs.yml
@@ -226,6 +226,8 @@
- trigger-builds:
- project: 'fuel-collect-logs-{pod}-daily-{stream}'
current-parameters: false
+ predefined-parameters:
+ DEPLOY_SCENARIO={scenario}
block: true
same-node: true
block-thresholds:
@@ -272,10 +274,6 @@
- string:
name: DEPLOY_SCENARIO
default: 'os-odl-nofeature-ha'
- - string:
- name: DEPLOY_TIMEOUT
- default: '150'
- description: 'Deployment timeout in minutes'
scm:
- git-scm
@@ -315,6 +313,9 @@
gs-pathname: '{gs-pathname}'
- '{slave-label}-defaults':
installer: '{installer}'
+ - string:
+ name: DEPLOY_SCENARIO
+ default: 'os-odl-nofeature-ha'
scm:
- git-scm
diff --git a/jjb/fuel/fuel-deploy.sh b/jjb/fuel/fuel-deploy.sh
index e818d90a3..3a52d1d50 100755
--- a/jjb/fuel/fuel-deploy.sh
+++ b/jjb/fuel/fuel-deploy.sh
@@ -14,22 +14,26 @@ export TERM="vt220"
if [[ "$BRANCH" =~ 'danube' ]]; then
# source the file so we get OPNFV vars
+ # shellcheck disable=SC1091
source latest.properties
# echo the info about artifact that is used during the deployment
echo "Using ${OPNFV_ARTIFACT_URL/*\/} for deployment"
-fi
-# shellcheck disable=SC2153
-if [[ "${JOB_NAME}" =~ 'verify' ]]; then
- # set simplest scenario for virtual deploys to run for verify
- DEPLOY_SCENARIO="os-nosdn-nofeature-ha"
-elif [[ "${BRANCH}" =~ 'danube' ]]; then
# for Danube deployments (no artifact for current master or newer branches)
# checkout the commit that was used for building the downloaded artifact
# to make sure the ISO and deployment mechanism uses same versions
echo "Checking out ${OPNFV_GIT_SHA1}"
git checkout "${OPNFV_GIT_SHA1}" --quiet
+
+ # releng wants us to use nothing else but opnfv.iso for now. We comply.
+ ISO_FILE_ARG="-i file://${WORKSPACE}/opnfv.iso"
+fi
+
+# shellcheck disable=SC2153
+if [[ "${JOB_NAME}" =~ 'verify' ]]; then
+ # set simplest scenario for virtual deploys to run for verify
+ DEPLOY_SCENARIO="os-nosdn-nofeature-noha"
fi
# set deployment parameters
@@ -78,15 +82,12 @@ if [[ "${LAB_CONFIG_URL}" =~ ^(git|ssh):// ]]; then
LAB_CONFIG_URL="file://${LOCAL_CFG}"
fi
-# releng wants us to use nothing else but opnfv.iso for now. We comply.
-ISO_FILE=file://${WORKSPACE}/opnfv.iso
-
# log file name
FUEL_LOG_FILENAME="${JOB_NAME}_${BUILD_NUMBER}.log.tar.gz"
# construct the command
DEPLOY_COMMAND="${SUDO} ${WORKSPACE}/ci/deploy.sh -b ${LAB_CONFIG_URL} \
- -l ${LAB_NAME} -p ${POD_NAME} -s ${DEPLOY_SCENARIO} -i ${ISO_FILE} \
+ -l ${LAB_NAME} -p ${POD_NAME} -s ${DEPLOY_SCENARIO} ${ISO_FILE_ARG:-} \
-B ${DEFAULT_BRIDGE:-${BRIDGE}} -S ${TMPDIR} \
-L ${WORKSPACE}/${FUEL_LOG_FILENAME}"
diff --git a/jjb/fuel/fuel-weekly-jobs.yml b/jjb/fuel/fuel-weekly-jobs.yml
index 2544e9210..f21c58660 100644
--- a/jjb/fuel/fuel-weekly-jobs.yml
+++ b/jjb/fuel/fuel-weekly-jobs.yml
@@ -156,10 +156,6 @@
- string:
name: DEPLOY_SCENARIO
default: 'os-odl-nofeature-ha'
- - string:
- name: DEPLOY_TIMEOUT
- default: '150'
- description: 'Deployment timeout in minutes'
scm:
- git-scm
diff --git a/jjb/global/slave-params.yml b/jjb/global/slave-params.yml
index 8739a78a3..5b94607e5 100644
--- a/jjb/global/slave-params.yml
+++ b/jjb/global/slave-params.yml
@@ -141,21 +141,6 @@
- lf-pod3
- parameter:
- name: 'arm-pod5-defaults'
- parameters:
- - node:
- name: SLAVE_NAME
- description: 'Slave name on Jenkins'
- allowed-slaves:
- - arm-pod5
- default-slaves:
- - arm-pod5
- - string:
- name: BRIDGE
- default: 'admin7_br0,mgmt7_br0,,public7_br0'
- description: 'Pre-existing bridges used by Fuel'
-
-- parameter:
name: 'lf-pod1-defaults'
parameters:
- node:
@@ -175,21 +160,6 @@
description: 'SSH key to use for Apex'
- parameter:
- name: 'lf-pod2-defaults'
- parameters:
- - node:
- name: SLAVE_NAME
- description: 'Slave name on Jenkins'
- allowed-slaves:
- - lf-pod2
- default-slaves:
- - lf-pod2
- - string:
- name: BRIDGE
- default: 'pxebr,br-ctl'
- description: 'Pre-existing bridges used by Fuel'
-
-- parameter:
name: 'lf-pod3-defaults'
parameters:
- node:
@@ -521,25 +491,6 @@
# Parameters for none-CI PODs
#####################################################
- parameter:
- name: 'ericsson-pod1-defaults'
- parameters:
- - node:
- name: SLAVE_NAME
- description: 'Slave name on Jenkins'
- allowed-slaves:
- - ericsson-pod1
- default-slaves:
- - ericsson-pod1
- - string:
- name: INSTALLER_IP
- default: '10.20.1.2'
- description: 'IP of the installer'
- - string:
- name: GIT_BASE
- default: https://gerrit.opnfv.org/gerrit/$PROJECT
- description: 'Git URL to use on this Jenkins Slave'
-
-- parameter:
name: 'cengn-pod1-defaults'
parameters:
- node:
@@ -919,21 +870,6 @@
description: 'SSH key to use for Apex'
- parameter:
- name: 'arm-virtual2-defaults'
- parameters:
- - node:
- name: SLAVE_NAME
- description: 'Slave name on Jenkins'
- allowed-slaves:
- - arm-virtual2
- default-slaves:
- - arm-virtual2
- - string:
- name: BRIDGE
- default: ',,,public8_br0'
- description: 'Pre-existing bridges used by Fuel'
-
-- parameter:
name: 'intel-virtual6-defaults'
parameters:
- node:
diff --git a/jjb/joid/joid-daily-jobs.yml b/jjb/joid/joid-daily-jobs.yml
index b28efc3b3..0897bbd39 100644
--- a/jjb/joid/joid-daily-jobs.yml
+++ b/jjb/joid/joid-daily-jobs.yml
@@ -14,10 +14,10 @@
# BRANCH ANCHORS
# -------------------------------
euphrates: &euphrates
- stream: euphrates
- branch: 'stable/{stream}'
- disabled: false
- gs-pathname: '/{stream}'
+ stream: euphrates
+ branch: 'stable/{stream}'
+ disabled: false
+ gs-pathname: '/{stream}'
# -------------------------------
# POD, INSTALLER, AND BRANCH MAPPING
# -------------------------------
diff --git a/jjb/octopus/octopus.yml b/jjb/octopus/octopus.yml
index f51db1bc1..fb6263d81 100644
--- a/jjb/octopus/octopus.yml
+++ b/jjb/octopus/octopus.yml
@@ -1,3 +1,4 @@
+---
################################
# job configuration for Octopus
################################
@@ -7,17 +8,17 @@
project: '{name}'
jobs:
- - 'octopus-verify-{stream}'
+ - 'octopus-verify-{stream}'
stream:
- - master:
- branch: '{stream}'
- gs-pathname: ''
- disabled: false
- - euphrates:
- branch: 'stable/{stream}'
- gs-pathname: '/{stream}'
- disabled: false
+ - master:
+ branch: '{stream}'
+ gs-pathname: ''
+ disabled: false
+ - euphrates:
+ branch: 'stable/{stream}'
+ gs-pathname: '/{stream}'
+ disabled: false
- job-template:
name: 'octopus-verify-{stream}'
@@ -25,38 +26,38 @@
disabled: '{obj:disabled}'
parameters:
- - project-parameter:
- project: '{project}'
- branch: '{branch}'
- - 'opnfv-build-ubuntu-defaults'
+ - project-parameter:
+ project: '{project}'
+ branch: '{branch}'
+ - 'opnfv-build-ubuntu-defaults'
scm:
- - git-scm-gerrit
+ - 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'
+ - 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!"
+ - shell: |
+ echo "Nothing to verify!"
diff --git a/jjb/releng/artifact-cleanup.yml b/jjb/releng/artifact-cleanup.yml
index 2d0205660..2a250618c 100644
--- a/jjb/releng/artifact-cleanup.yml
+++ b/jjb/releng/artifact-cleanup.yml
@@ -1,15 +1,16 @@
+---
- project:
name: releng-artifact-cleanup
project: 'releng'
jobs:
- - 'releng-artifact-cleanup-daily-{stream}'
+ - 'releng-artifact-cleanup-daily-{stream}'
stream:
- - master:
- branch: '{stream}'
- gs-pathname: ''
+ - master:
+ branch: '{stream}'
+ gs-pathname: ''
- job-template:
@@ -25,16 +26,16 @@
disabled: false
parameters:
- - project-parameter:
- project: '{project}'
- branch: '{branch}'
+ - project-parameter:
+ project: '{project}'
+ branch: '{branch}'
scm:
- - git-scm
+ - git-scm
triggers:
- - timed: 'H H * * *'
+ - timed: 'H H * * *'
builders:
- - shell: |
- $WORKSPACE/utils/retention_script.sh
+ - shell: |
+ $WORKSPACE/utils/retention_script.sh
diff --git a/jjb/releng/automate.yml b/jjb/releng/automate.yml
index 908e9a196..de7fcd6c0 100644
--- a/jjb/releng/automate.yml
+++ b/jjb/releng/automate.yml
@@ -1,22 +1,23 @@
+---
- project:
name: utils-automate
stream:
- - master:
- branch: '{stream}'
+ - master:
+ branch: '{stream}'
module:
- - 'testapi'
- - 'reporting'
+ - 'testapi'
+ - 'reporting'
phase:
- - 'docker-deploy':
- slave-label: 'testresults'
- - 'generate-doc'
+ - 'docker-deploy':
+ slave-label: 'testresults'
+ - 'generate-doc'
jobs:
- - '{module}-automate-{stream}'
- - '{module}-automate-{phase}-{stream}'
- - '{module}-verify-{stream}'
+ - '{module}-automate-{stream}'
+ - '{module}-automate-{phase}-{stream}'
+ - '{module}-verify-{stream}'
project: 'releng'
@@ -24,73 +25,73 @@
name: 'testapi-mongodb-backup'
parameters:
- - label:
- name: SLAVE_LABEL
- default: 'testresults'
- description: 'Slave label on Jenkins'
- - project-parameter:
- project: 'releng'
- branch: 'master'
- - string:
- name: GIT_BASE
- default: https://gerrit.opnfv.org/gerrit/releng
- description: 'Git URL to use on this Jenkins Slave'
+ - label:
+ name: SLAVE_LABEL
+ default: 'testresults'
+ description: 'Slave label on Jenkins'
+ - project-parameter:
+ project: 'releng'
+ branch: 'master'
+ - string:
+ name: GIT_BASE
+ default: https://gerrit.opnfv.org/gerrit/releng
+ description: 'Git URL to use on this Jenkins Slave'
scm:
- - git-scm
+ - git-scm
triggers:
- - timed: '@weekly'
+ - timed: '@weekly'
builders:
- - mongodb-backup
+ - mongodb-backup
- job-template:
name: '{module}-verify-{stream}'
parameters:
- - project-parameter:
- project: '{project}'
- branch: '{branch}'
- - 'opnfv-build-ubuntu-defaults'
+ - project-parameter:
+ project: '{project}'
+ branch: '{branch}'
+ - 'opnfv-build-ubuntu-defaults'
scm:
- - git-scm-gerrit
+ - 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}'
- file-paths:
- - compare-type: 'ANT'
- pattern: 'utils/test/{module}/**'
+ - gerrit:
+ server-name: 'gerrit.opnfv.org'
+ trigger-on:
+ - patchset-created-event:
+ exclude-drafts: 'false'
+ exclude-trivial-rebase: 'false'
+ exclude-no-code-change: 'false'
+ - draft-published-event
+ - comment-added-contains-event:
+ comment-contains-value: 'recheck'
+ - comment-added-contains-event:
+ comment-contains-value: 'reverify'
+ projects:
+ - project-compare-type: 'ANT'
+ project-pattern: '{project}'
+ branches:
+ - branch-compare-type: 'ANT'
+ branch-pattern: '**/{branch}'
+ file-paths:
+ - compare-type: 'ANT'
+ pattern: 'utils/test/{module}/**'
builders:
- - shell: |
- cd ./utils/test/{module}/
- tox
- if [ -e *.xml ];then
- cp *.xml $WORKSPACE
- fi
+ - shell: |
+ cd ./utils/test/{module}/
+ tox
+ if [ -e *.xml ];then
+ cp *.xml $WORKSPACE
+ fi
publishers:
- - publish-coverage
- - email-jenkins-admins-on-failure
+ - publish-coverage
+ - email-jenkins-admins-on-failure
- job-template:
name: '{module}-automate-{stream}'
@@ -98,108 +99,108 @@
project-type: multijob
properties:
- - throttle:
- enabled: true
- max-total: 1
- max-per-node: 1
- option: 'project'
+ - throttle:
+ enabled: true
+ max-total: 1
+ max-per-node: 1
+ option: 'project'
parameters:
- - project-parameter:
- project: '{project}'
- branch: '{branch}'
- - string:
- name: DOCKER_TAG
- default: 'latest'
- description: 'Tag name for {module} docker image'
- - string:
- name: MODULE_NAME
- default: '{module}'
- description: "Name of the module"
- - 'opnfv-build-defaults'
+ - project-parameter:
+ project: '{project}'
+ branch: '{branch}'
+ - string:
+ name: DOCKER_TAG
+ default: 'latest'
+ description: 'Tag name for {module} docker image'
+ - string:
+ name: MODULE_NAME
+ default: '{module}'
+ description: "Name of the module"
+ - 'opnfv-build-defaults'
scm:
- - git-scm
+ - git-scm
wrappers:
- - ssh-agent-wrapper
- - timeout:
- timeout: 360
- fail: true
+ - ssh-agent-wrapper
+ - timeout:
+ timeout: 360
+ fail: true
triggers:
- - gerrit:
- server-name: 'gerrit.opnfv.org'
- trigger-on:
- - change-merged-event
- - comment-added-contains-event:
- comment-contains-value: 'remerge'
- projects:
- - project-compare-type: 'ANT'
- project-pattern: '{project}'
- branches:
- - branch-compare-type: 'ANT'
- branch-pattern: '**/{branch}'
- file-paths:
- - compare-type: 'ANT'
- pattern: 'utils/test/{module}/**'
+ - gerrit:
+ server-name: 'gerrit.opnfv.org'
+ trigger-on:
+ - change-merged-event
+ - comment-added-contains-event:
+ comment-contains-value: 'remerge'
+ projects:
+ - project-compare-type: 'ANT'
+ project-pattern: '{project}'
+ branches:
+ - branch-compare-type: 'ANT'
+ branch-pattern: '**/{branch}'
+ file-paths:
+ - compare-type: 'ANT'
+ pattern: 'utils/test/{module}/**'
builders:
- - description-setter:
- description: "Built on $NODE_NAME"
- - docker-update
- - multijob:
- name: docker-deploy
- condition: SUCCESSFUL
- projects:
- - name: '{module}-automate-docker-deploy-{stream}'
- current-parameters: false
- predefined-parameters: |
- GIT_BASE=$GIT_BASE
- node-label-name: SLAVE_LABEL
- node-label: testresults
- kill-phase-on: FAILURE
- abort-all-job: true
- - multijob:
- name: generate-doc
- condition: SUCCESSFUL
- projects:
- - name: '{module}-automate-generate-doc-{stream}'
- current-parameters: true
- kill-phase-on: FAILURE
- abort-all-job: true
+ - description-setter:
+ description: "Built on $NODE_NAME"
+ - docker-update
+ - multijob:
+ name: docker-deploy
+ condition: SUCCESSFUL
+ projects:
+ - name: '{module}-automate-docker-deploy-{stream}'
+ current-parameters: false
+ predefined-parameters: |
+ GIT_BASE=$GIT_BASE
+ node-label-name: SLAVE_LABEL
+ node-label: testresults
+ kill-phase-on: FAILURE
+ abort-all-job: true
+ - multijob:
+ name: generate-doc
+ condition: SUCCESSFUL
+ projects:
+ - name: '{module}-automate-generate-doc-{stream}'
+ current-parameters: true
+ kill-phase-on: FAILURE
+ abort-all-job: true
publishers:
- - 'email-publisher'
- - email-jenkins-admins-on-failure
+ - 'email-publisher'
+ - email-jenkins-admins-on-failure
- job-template:
name: '{module}-automate-{phase}-{stream}'
properties:
- - throttle:
- enabled: true
- max-per-node: 1
- option: 'project'
+ - throttle:
+ enabled: true
+ max-per-node: 1
+ option: 'project'
parameters:
- - project-parameter:
- project: '{project}'
- branch: '{branch}'
+ - project-parameter:
+ project: '{project}'
+ branch: '{branch}'
wrappers:
- - ssh-agent-wrapper
- - timeout:
- timeout: 120
- fail: true
+ - ssh-agent-wrapper
+ - timeout:
+ timeout: 120
+ fail: true
scm:
- - git-scm
+ - git-scm
builders:
- - description-setter:
- description: "Built on $NODE_NAME"
- - '{module}-automate-{phase}-macro'
+ - description-setter:
+ description: "Built on $NODE_NAME"
+ - '{module}-automate-{phase}-macro'
################################
# job builders
@@ -207,53 +208,53 @@
- builder:
name: 'docker-update'
builders:
- - shell:
- !include-raw: ./docker-update.sh
+ - shell:
+ !include-raw: ./docker-update.sh
- builder:
name: 'testapi-automate-generate-doc-macro'
builders:
- - 'testapi-doc-build'
- - 'upload-doc-artifact'
+ - 'testapi-doc-build'
+ - 'upload-doc-artifact'
- builder:
name: 'testapi-doc-build'
builders:
- - shell: |
- bash ./utils/test/testapi/htmlize/doc-build.sh
+ - shell: |
+ bash ./jjb/releng/htmlize/doc-build.sh
- builder:
name: 'upload-doc-artifact'
builders:
- - shell: |
- bash ./utils/test/testapi/htmlize/push-doc-artifact.sh
+ - shell: |
+ bash ./jjb/releng/htmlize/push-doc-artifact.sh
- builder:
name: 'reporting-automate-generate-doc-macro'
builders:
- - shell: echo "To Be Done"
+ - shell: echo "To Be Done"
- builder:
name: 'testapi-automate-docker-deploy-macro'
builders:
- - shell: |
- sudo bash ./jjb/releng/docker-deploy.sh "sudo docker run -dti --name testapi -p 8082:8000
- -e mongodb_url=mongodb://172.17.0.1:27017
- -e base_url=http://testresults.opnfv.org/test opnfv/testapi" \
- "http://testresults.opnfv.org/test/" "testapi"
+ - shell: |
+ sudo bash ./jjb/releng/docker-deploy.sh "sudo docker run -dti --name testapi -p 8082:8000
+ -e mongodb_url=mongodb://172.17.0.1:27017
+ -e base_url=http://testresults.opnfv.org/test opnfv/testapi" \
+ "http://testresults.opnfv.org/test/" "testapi"
- builder:
name: 'reporting-automate-docker-deploy-macro'
builders:
- - shell: |
- sudo bash ./jjb/releng/docker-deploy.sh "sudo docker run -itd --name reporting -p 8084:8000 opnfv/reporting" \
- "http://testresults.opnfv.org/reporting/index.html" "reporting"
+ - shell: |
+ sudo bash ./jjb/releng/docker-deploy.sh "sudo docker run -itd --name reporting -p 8084:8000 opnfv/reporting" \
+ "http://testresults.opnfv.org/reporting/index.html" "reporting"
- builder:
name: mongodb-backup
builders:
- - shell: |
- bash ./jjb/releng/testapi-backup-mongodb.sh
+ - shell: |
+ bash ./jjb/releng/testapi-backup-mongodb.sh
################################
# job publishers
@@ -262,7 +263,7 @@
- publisher:
name: 'email-publisher'
publishers:
- - email:
- recipients: rohitsakala@gmail.com feng.xiaowei@zte.com.cn morgan.richomme@orange.com
- notify-every-unstable-build: false
- send-to-individuals: true
+ - email:
+ recipients: rohitsakala@gmail.com feng.xiaowei@zte.com.cn morgan.richomme@orange.com
+ notify-every-unstable-build: false
+ send-to-individuals: true
diff --git a/utils/test/testapi/htmlize/doc-build.sh b/jjb/releng/htmlize/doc-build.sh
index 33560ceea..33560ceea 100644
--- a/utils/test/testapi/htmlize/doc-build.sh
+++ b/jjb/releng/htmlize/doc-build.sh
diff --git a/utils/test/testapi/htmlize/htmlize.py b/jjb/releng/htmlize/htmlize.py
index da6a6cf91..da6a6cf91 100644
--- a/utils/test/testapi/htmlize/htmlize.py
+++ b/jjb/releng/htmlize/htmlize.py
diff --git a/utils/test/testapi/htmlize/push-doc-artifact.sh b/jjb/releng/htmlize/push-doc-artifact.sh
index 4cf1988b0..4cf1988b0 100644
--- a/utils/test/testapi/htmlize/push-doc-artifact.sh
+++ b/jjb/releng/htmlize/push-doc-artifact.sh
diff --git a/jjb/releng/opnfv-docker-arm.yml b/jjb/releng/opnfv-docker-arm.yml
index 7f2574ec4..b488592db 100644
--- a/jjb/releng/opnfv-docker-arm.yml
+++ b/jjb/releng/opnfv-docker-arm.yml
@@ -1,3 +1,4 @@
+---
##############################################
# job configuration for docker build and push
##############################################
@@ -7,153 +8,155 @@
name: opnfv-docker-arm
master: &master
- stream: master
- branch: '{stream}'
- disabled: false
+ stream: master
+ branch: '{stream}'
+ disabled: false
euphrates: &euphrates
- stream: euphrates
- branch: 'stable/{stream}'
- disabled: false
+ stream: euphrates
+ branch: 'stable/{stream}'
+ disabled: false
functest-arm-receivers: &functest-arm-receivers
- receivers: >
- cristina.pauna@enea.com
- alexandru.avadanii@enea.com
- delia.popescu@enea.com
+ receivers: >
+ cristina.pauna@enea.com
+ alexandru.avadanii@enea.com
+ delia.popescu@enea.com
dovetail-arm-receivers: &dovetail-arm-receivers
- receivers: >
- cristina.pauna@enea.com
- alexandru.avadanii@enea.com
- alexandru.nemes@enea.com
+ receivers: >
+ cristina.pauna@enea.com
+ alexandru.avadanii@enea.com
+ alexandru.nemes@enea.com
storperf-arm-receivers: &storperf-arm-receivers
- receivers: >
- cristina.pauna@enea.com
- alexandru.avadanii@enea.com
- mark.beierl@emc.com
+ receivers: >
+ cristina.pauna@enea.com
+ alexandru.avadanii@enea.com
+ mark.beierl@emc.com
yardstick-arm-receivers: &yardstick-arm-receivers
- receivers: >
- cristina.pauna@enea.com
- alexandru.avadanii@enea.com
- alexandru.nemes@enea.com
- catalina.focsa@enea.com
- delia.popescu@enea.com
+ 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: ''
+ receivers: ''
dockerfile: "Dockerfile.aarch64"
dockerdir: "docker"
docker_repo_name: "opnfv/{project}_aarch64"
arch_tag: ""
+ # yamllint disable rule:key-duplicates
dockerrepo:
- # projects with jobs for master
- - 'functest':
- project: 'functest'
- <<: *master
- <<: *functest-arm-receivers
- - 'dovetail':
- project: 'dovetail'
- <<: *master
- <<: *dovetail-arm-receivers
- - 'storperf-master':
- project: 'storperf'
- dockerdir: 'docker/storperf-master'
- dockerfile: 'Dockerfile'
- docker_repo_name: 'opnfv/storperf-master'
- arch_tag: 'aarch64'
- <<: *master
- <<: *storperf-arm-receivers
- - 'storperf-graphite':
- project: 'storperf'
- dockerdir: 'docker/storperf-graphite'
- dockerfile: 'Dockerfile'
- docker_repo_name: 'opnfv/storperf-graphite'
- arch_tag: 'aarch64'
- <<: *master
- <<: *storperf-arm-receivers
- - 'storperf-httpfrontend':
- project: 'storperf'
- dockerdir: 'docker/storperf-httpfrontend'
- dockerfile: 'Dockerfile'
- docker_repo_name: 'opnfv/storperf-httpfrontend'
- arch_tag: 'aarch64'
- <<: *master
- <<: *storperf-arm-receivers
- - 'storperf-reporting':
- project: 'storperf'
- dockerdir: 'docker/storperf-reporting'
- dockerfile: 'Dockerfile'
- docker_repo_name: 'opnfv/storperf-reporting'
- arch_tag: 'aarch64'
- <<: *master
- <<: *storperf-arm-receivers
- - 'storperf-swaggerui':
- project: 'storperf'
- dockerdir: 'docker/storperf-swaggerui'
- dockerfile: 'Dockerfile'
- docker_repo_name: 'opnfv/storperf-swaggerui'
- arch_tag: 'aarch64'
- <<: *master
- <<: *storperf-arm-receivers
- - 'yardstick':
- project: 'yardstick'
- <<: *master
- <<: *yardstick-arm-receivers
- # projects with jobs for stable/euphrates
- - 'functest':
- project: 'functest'
- <<: *euphrates
- <<: *functest-arm-receivers
- - 'dovetail':
- project: 'dovetail'
- <<: *euphrates
- <<: *dovetail-arm-receivers
- - 'storperf-master':
- project: 'storperf'
- dockerdir: 'docker/storperf-master'
- dockerfile: 'Dockerfile'
- docker_repo_name: 'opnfv/storperf-master'
- arch_tag: 'aarch64'
- <<: *euphrates
- <<: *storperf-arm-receivers
- - 'storperf-graphite':
- project: 'storperf'
- dockerdir: 'docker/storperf-graphite'
- dockerfile: 'Dockerfile'
- docker_repo_name: 'opnfv/storperf-graphite'
- arch_tag: 'aarch64'
- <<: *euphrates
- <<: *storperf-arm-receivers
- - 'storperf-httpfrontend':
- project: 'storperf'
- dockerdir: 'docker/storperf-httpfrontend'
- dockerfile: 'Dockerfile'
- docker_repo_name: 'opnfv/storperf-httpfrontend'
- arch_tag: 'aarch64'
- <<: *euphrates
- <<: *storperf-arm-receivers
- - 'storperf-reporting':
- project: 'storperf'
- dockerdir: 'docker/storperf-reporting'
- dockerfile: 'Dockerfile'
- docker_repo_name: 'opnfv/storperf-reporting'
- arch_tag: 'aarch64'
- <<: *euphrates
- <<: *storperf-arm-receivers
- - 'storperf-swaggerui':
- project: 'storperf'
- dockerdir: 'docker/storperf-swaggerui'
- dockerfile: 'Dockerfile'
- docker_repo_name: 'opnfv/storperf-swaggerui'
- arch_tag: 'aarch64'
- <<: *euphrates
- <<: *storperf-arm-receivers
- - 'yardstick':
- project: 'yardstick'
- <<: *euphrates
- <<: *yardstick-arm-receivers
+ # projects with jobs for master
+ - 'functest':
+ project: 'functest'
+ <<: *master
+ <<: *functest-arm-receivers
+ - 'dovetail':
+ project: 'dovetail'
+ <<: *master
+ <<: *dovetail-arm-receivers
+ - 'storperf-master':
+ project: 'storperf'
+ dockerdir: 'docker/storperf-master'
+ dockerfile: 'Dockerfile'
+ docker_repo_name: 'opnfv/storperf-master'
+ arch_tag: 'aarch64'
+ <<: *master
+ <<: *storperf-arm-receivers
+ - 'storperf-graphite':
+ project: 'storperf'
+ dockerdir: 'docker/storperf-graphite'
+ dockerfile: 'Dockerfile'
+ docker_repo_name: 'opnfv/storperf-graphite'
+ arch_tag: 'aarch64'
+ <<: *master
+ <<: *storperf-arm-receivers
+ - 'storperf-httpfrontend':
+ project: 'storperf'
+ dockerdir: 'docker/storperf-httpfrontend'
+ dockerfile: 'Dockerfile'
+ docker_repo_name: 'opnfv/storperf-httpfrontend'
+ arch_tag: 'aarch64'
+ <<: *master
+ <<: *storperf-arm-receivers
+ - 'storperf-reporting':
+ project: 'storperf'
+ dockerdir: 'docker/storperf-reporting'
+ dockerfile: 'Dockerfile'
+ docker_repo_name: 'opnfv/storperf-reporting'
+ arch_tag: 'aarch64'
+ <<: *master
+ <<: *storperf-arm-receivers
+ - 'storperf-swaggerui':
+ project: 'storperf'
+ dockerdir: 'docker/storperf-swaggerui'
+ dockerfile: 'Dockerfile'
+ docker_repo_name: 'opnfv/storperf-swaggerui'
+ arch_tag: 'aarch64'
+ <<: *master
+ <<: *storperf-arm-receivers
+ - 'yardstick':
+ project: 'yardstick'
+ <<: *master
+ <<: *yardstick-arm-receivers
+ # projects with jobs for stable/euphrates
+ - 'functest':
+ project: 'functest'
+ <<: *euphrates
+ <<: *functest-arm-receivers
+ - 'dovetail':
+ project: 'dovetail'
+ <<: *euphrates
+ <<: *dovetail-arm-receivers
+ - 'storperf-master':
+ project: 'storperf'
+ dockerdir: 'docker/storperf-master'
+ dockerfile: 'Dockerfile'
+ docker_repo_name: 'opnfv/storperf-master'
+ arch_tag: 'aarch64'
+ <<: *euphrates
+ <<: *storperf-arm-receivers
+ - 'storperf-graphite':
+ project: 'storperf'
+ dockerdir: 'docker/storperf-graphite'
+ dockerfile: 'Dockerfile'
+ docker_repo_name: 'opnfv/storperf-graphite'
+ arch_tag: 'aarch64'
+ <<: *euphrates
+ <<: *storperf-arm-receivers
+ - 'storperf-httpfrontend':
+ project: 'storperf'
+ dockerdir: 'docker/storperf-httpfrontend'
+ dockerfile: 'Dockerfile'
+ docker_repo_name: 'opnfv/storperf-httpfrontend'
+ arch_tag: 'aarch64'
+ <<: *euphrates
+ <<: *storperf-arm-receivers
+ - 'storperf-reporting':
+ project: 'storperf'
+ dockerdir: 'docker/storperf-reporting'
+ dockerfile: 'Dockerfile'
+ docker_repo_name: 'opnfv/storperf-reporting'
+ arch_tag: 'aarch64'
+ <<: *euphrates
+ <<: *storperf-arm-receivers
+ - 'storperf-swaggerui':
+ project: 'storperf'
+ dockerdir: 'docker/storperf-swaggerui'
+ dockerfile: 'Dockerfile'
+ docker_repo_name: 'opnfv/storperf-swaggerui'
+ arch_tag: 'aarch64'
+ <<: *euphrates
+ <<: *storperf-arm-receivers
+ - 'yardstick':
+ project: 'yardstick'
+ <<: *euphrates
+ <<: *yardstick-arm-receivers
+ # yamllint enable rule:key-duplicates
jobs:
- - '{dockerrepo}-docker-build-arm-push-{stream}'
+ - '{dockerrepo}-docker-build-arm-push-{stream}'
########################
# job templates
@@ -164,52 +167,52 @@
disabled: '{obj:disabled}'
parameters: &parameters
- - project-parameter:
- project: '{project}'
- branch: '{branch}'
- - 'opnfv-build-ubuntu-arm-defaults'
- - string:
- name: PUSH_IMAGE
- default: "true"
- description: "To enable/disable pushing the image to Dockerhub."
- - string:
- name: DOCKER_REPO_NAME
- default: "{docker_repo_name}"
- description: "Dockerhub repo to be pushed to."
- - string:
- name: RELEASE_VERSION
- default: ""
- description: "Release version, e.g. 1.0, 2.0, 3.0"
- - string:
- name: DOCKER_DIR
- default: "{dockerdir}"
- description: "Directory containing files needed by the Dockerfile"
- - string:
- name: DOCKERFILE
- default: "{dockerfile}"
- description: "Dockerfile to use for creating the image."
- - string:
- name: ARCH_TAG
- default: "{arch_tag}"
- description: "If set, this value will be added to the docker image tag"
+ - project-parameter:
+ project: '{project}'
+ branch: '{branch}'
+ - 'opnfv-build-ubuntu-arm-defaults'
+ - string:
+ name: PUSH_IMAGE
+ default: "true"
+ description: "To enable/disable pushing the image to Dockerhub."
+ - string:
+ name: DOCKER_REPO_NAME
+ default: "{docker_repo_name}"
+ description: "Dockerhub repo to be pushed to."
+ - string:
+ name: RELEASE_VERSION
+ default: ""
+ description: "Release version, e.g. 1.0, 2.0, 3.0"
+ - string:
+ name: DOCKER_DIR
+ default: "{dockerdir}"
+ description: "Directory containing files needed by the Dockerfile"
+ - string:
+ name: DOCKERFILE
+ default: "{dockerfile}"
+ description: "Dockerfile to use for creating the image."
+ - string:
+ name: ARCH_TAG
+ default: "{arch_tag}"
+ description: "If set, this value will be added to the docker image tag"
properties:
- - throttle:
- max-per-node: 1
- option: 'project'
+ - throttle:
+ max-per-node: 1
+ option: 'project'
scm:
- - git-scm
+ - git-scm
builders: &builders
- - shell:
- !include-raw-escape: ./opnfv-docker.sh
+ - shell:
+ !include-raw-escape: ./opnfv-docker.sh
triggers:
- - pollscm:
- cron: "*/30 * * * *"
+ - pollscm:
+ cron: "*/30 * * * *"
publishers:
- - email:
- recipients: '{receivers}'
- - email-jenkins-admins-on-failure
+ - email:
+ recipients: '{receivers}'
+ - email-jenkins-admins-on-failure
diff --git a/jjb/releng/opnfv-docker.yml b/jjb/releng/opnfv-docker.yml
index 1a3db3a5f..f0020aea3 100644
--- a/jjb/releng/opnfv-docker.yml
+++ b/jjb/releng/opnfv-docker.yml
@@ -1,3 +1,4 @@
+---
##############################################
# job configuration for docker build and push
##############################################
@@ -7,27 +8,27 @@
name: opnfv-docker
master: &master
- stream: master
- branch: '{stream}'
- disabled: false
+ stream: master
+ branch: '{stream}'
+ disabled: false
danube: &danube
- stream: danube
- branch: 'stable/{stream}'
- disabled: false
+ stream: danube
+ branch: 'stable/{stream}'
+ disabled: false
euphrates: &euphrates
- stream: euphrates
- branch: 'stable/{stream}'
- disabled: false
+ stream: euphrates
+ branch: 'stable/{stream}'
+ disabled: false
functest-receivers: &functest-receivers
- receivers: >
- jalausuch@suse.com morgan.richomme@orange.com
- cedric.ollivier@orange.com feng.xiaowei@zte.com.cn
- juha.kosonen@nokia.com wangwulin@huawei.com
+ receivers: >
+ jalausuch@suse.com morgan.richomme@orange.com
+ cedric.ollivier@orange.com feng.xiaowei@zte.com.cn
+ juha.kosonen@nokia.com wangwulin@huawei.com
storperf-receivers: &storperf-receivers
- receivers: >
- mark.beierl@emc.com
+ receivers: >
+ mark.beierl@emc.com
other-receivers: &other-receivers
- receivers: ''
+ receivers: ''
dockerfile: "Dockerfile"
dockerdir: "docker"
@@ -36,126 +37,127 @@
# This is the dockerhub repo the image will be pushed to as
# 'opnfv/{dockerrepo}. See: DOCKER_REPO_NAME parameter.
# 'project' is the OPNFV repo we expect to contain the Dockerfile
+ # yamllint disable rule:key-duplicates
dockerrepo:
- # projects with jobs for master
- - 'releng-anteater':
- project: 'releng-anteater'
- <<: *master
- <<: *other-receivers
- - 'bottlenecks':
- project: 'bottlenecks'
- <<: *master
- <<: *other-receivers
- - 'cperf':
- project: 'cperf'
- <<: *master
- <<: *other-receivers
- - 'dovetail':
- project: 'dovetail'
- <<: *master
- <<: *other-receivers
- - 'functest':
- project: 'functest'
- <<: *master
- <<: *functest-receivers
- - 'nfvbench':
- project: 'nfvbench'
- <<: *master
- <<: *other-receivers
- - 'qtip':
- project: 'qtip'
- <<: *master
- <<: *other-receivers
- - 'storperf-master':
- project: 'storperf'
- dockerdir: 'docker/storperf-master'
- arch_tag: 'x86_64'
- <<: *master
- <<: *storperf-receivers
- - 'storperf-graphite':
- project: 'storperf'
- dockerdir: 'docker/storperf-graphite'
- arch_tag: 'x86_64'
- <<: *master
- <<: *storperf-receivers
- - 'storperf-httpfrontend':
- project: 'storperf'
- dockerdir: 'docker/storperf-httpfrontend'
- arch_tag: 'x86_64'
- <<: *master
- <<: *storperf-receivers
- - 'storperf-reporting':
- project: 'storperf'
- dockerdir: 'docker/storperf-reporting'
- arch_tag: 'x86_64'
- <<: *master
- <<: *storperf-receivers
- - 'storperf-swaggerui':
- project: 'storperf'
- dockerdir: 'docker/storperf-swaggerui'
- arch_tag: 'x86_64'
- <<: *master
- <<: *storperf-receivers
- - 'yardstick':
- project: 'yardstick'
- <<: *master
- <<: *other-receivers
- # projects with jobs for Danube
- - 'qtip':
- project: 'qtip'
- <<: *euphrates
- <<: *other-receivers
- - 'yardstick':
- project: 'yardstick'
- <<: *euphrates
- <<: *other-receivers
- # projects with jobs for euphrates
- - 'bottlenecks':
- project: 'bottlenecks'
- <<: *euphrates
- <<: *other-receivers
- - 'functest':
- project: 'functest'
- <<: *euphrates
- <<: *functest-receivers
- - 'storperf-master':
- project: 'storperf'
- dockerdir: 'docker/storperf-master'
- arch_tag: 'x86_64'
- <<: *euphrates
- <<: *storperf-receivers
- - 'storperf-graphite':
- project: 'storperf'
- dockerdir: 'docker/storperf-graphite'
- arch_tag: 'x86_64'
- <<: *euphrates
- <<: *storperf-receivers
- - 'storperf-httpfrontend':
- project: 'storperf'
- dockerdir: 'docker/storperf-httpfrontend'
- arch_tag: 'x86_64'
- <<: *euphrates
- <<: *storperf-receivers
- - 'storperf-reporting':
- project: 'storperf'
- dockerdir: 'docker/storperf-reporting'
- arch_tag: 'x86_64'
- <<: *euphrates
- <<: *storperf-receivers
- - 'storperf-swaggerui':
- project: 'storperf'
- dockerdir: 'docker/storperf-swaggerui'
- arch_tag: 'x86_64'
- <<: *euphrates
- <<: *storperf-receivers
- - 'nfvbench':
- project: 'nfvbench'
- <<: *euphrates
- <<: *other-receivers
+ # projects with jobs for master
+ - 'releng-anteater':
+ project: 'releng-anteater'
+ <<: *master
+ <<: *other-receivers
+ - 'bottlenecks':
+ project: 'bottlenecks'
+ <<: *master
+ <<: *other-receivers
+ - 'cperf':
+ project: 'cperf'
+ <<: *master
+ <<: *other-receivers
+ - 'dovetail':
+ project: 'dovetail'
+ <<: *master
+ <<: *other-receivers
+ - 'functest':
+ project: 'functest'
+ <<: *master
+ <<: *functest-receivers
+ - 'nfvbench':
+ project: 'nfvbench'
+ <<: *master
+ <<: *other-receivers
+ - 'qtip':
+ project: 'qtip'
+ <<: *master
+ <<: *other-receivers
+ - 'storperf-master':
+ project: 'storperf'
+ dockerdir: 'docker/storperf-master'
+ arch_tag: 'x86_64'
+ <<: *master
+ <<: *storperf-receivers
+ - 'storperf-graphite':
+ project: 'storperf'
+ dockerdir: 'docker/storperf-graphite'
+ arch_tag: 'x86_64'
+ <<: *master
+ <<: *storperf-receivers
+ - 'storperf-httpfrontend':
+ project: 'storperf'
+ dockerdir: 'docker/storperf-httpfrontend'
+ arch_tag: 'x86_64'
+ <<: *master
+ <<: *storperf-receivers
+ - 'storperf-reporting':
+ project: 'storperf'
+ dockerdir: 'docker/storperf-reporting'
+ arch_tag: 'x86_64'
+ <<: *master
+ <<: *storperf-receivers
+ - 'storperf-swaggerui':
+ project: 'storperf'
+ dockerdir: 'docker/storperf-swaggerui'
+ arch_tag: 'x86_64'
+ <<: *master
+ <<: *storperf-receivers
+ - 'yardstick':
+ project: 'yardstick'
+ <<: *master
+ <<: *other-receivers
+ # projects with jobs for Danube
+ - 'qtip':
+ project: 'qtip'
+ <<: *euphrates
+ <<: *other-receivers
+ - 'yardstick':
+ project: 'yardstick'
+ <<: *euphrates
+ <<: *other-receivers
+ # projects with jobs for euphrates
+ - 'bottlenecks':
+ project: 'bottlenecks'
+ <<: *euphrates
+ <<: *other-receivers
+ - 'functest':
+ project: 'functest'
+ <<: *euphrates
+ <<: *functest-receivers
+ - 'storperf-master':
+ project: 'storperf'
+ dockerdir: 'docker/storperf-master'
+ arch_tag: 'x86_64'
+ <<: *euphrates
+ <<: *storperf-receivers
+ - 'storperf-graphite':
+ project: 'storperf'
+ dockerdir: 'docker/storperf-graphite'
+ arch_tag: 'x86_64'
+ <<: *euphrates
+ <<: *storperf-receivers
+ - 'storperf-httpfrontend':
+ project: 'storperf'
+ dockerdir: 'docker/storperf-httpfrontend'
+ arch_tag: 'x86_64'
+ <<: *euphrates
+ <<: *storperf-receivers
+ - 'storperf-reporting':
+ project: 'storperf'
+ dockerdir: 'docker/storperf-reporting'
+ arch_tag: 'x86_64'
+ <<: *euphrates
+ <<: *storperf-receivers
+ - 'storperf-swaggerui':
+ project: 'storperf'
+ dockerdir: 'docker/storperf-swaggerui'
+ arch_tag: 'x86_64'
+ <<: *euphrates
+ <<: *storperf-receivers
+ - 'nfvbench':
+ project: 'nfvbench'
+ <<: *euphrates
+ <<: *other-receivers
+ # yamllint enable rule:key-duplicates
jobs:
- - "{dockerrepo}-docker-build-push-{stream}"
-
+ - "{dockerrepo}-docker-build-push-{stream}"
- project:
@@ -166,16 +168,16 @@
arch_tag: ""
project:
- # projects with jobs for master
- - 'daisy':
- dockerrepo: 'daisy'
- <<: *master
- - 'escalator':
- dockerrepo: 'escalator'
- <<: *master
+ # projects with jobs for master
+ - 'daisy':
+ dockerrepo: 'daisy'
+ <<: *master
+ - 'escalator':
+ dockerrepo: 'escalator'
+ <<: *master
jobs:
- - '{project}-docker-build-push-monitor-{stream}'
+ - '{project}-docker-build-push-monitor-{stream}'
########################
# job templates
@@ -186,82 +188,83 @@
disabled: '{obj:disabled}'
parameters: &parameters
- - project-parameter:
- project: '{project}'
- branch: '{branch}'
- - 'opnfv-build-ubuntu-defaults'
- - string:
- name: PUSH_IMAGE
- default: "true"
- description: "To enable/disable pushing the image to Dockerhub."
- - string:
- name: DOCKER_REPO_NAME
- default: "opnfv/{dockerrepo}"
- description: "Dockerhub repo to be pushed to."
- - string:
- name: DOCKER_DIR
- default: "{dockerdir}"
- description: "Directory containing files needed by the Dockerfile"
- - string:
- name: COMMIT_ID
- default: ""
- description: "commit id to make a snapshot docker image"
- - string:
- name: RELEASE_VERSION
- default: ""
- description: "Release version, e.g. 1.0, 2.0, 3.0"
- - string:
- name: DOCKERFILE
- default: "{dockerfile}"
- description: "Dockerfile to use for creating the image."
- - string:
- name: ARCH_TAG
- default: "{arch_tag}"
- description: "If set, this value will be added to the docker image tag as a prefix"
+ - project-parameter:
+ project: '{project}'
+ branch: '{branch}'
+ - 'opnfv-build-ubuntu-defaults'
+ - string:
+ name: PUSH_IMAGE
+ default: "true"
+ description: "To enable/disable pushing the image to Dockerhub."
+ - string:
+ name: DOCKER_REPO_NAME
+ default: "opnfv/{dockerrepo}"
+ description: "Dockerhub repo to be pushed to."
+ - string:
+ name: DOCKER_DIR
+ default: "{dockerdir}"
+ description: "Directory containing files needed by the Dockerfile"
+ - string:
+ name: COMMIT_ID
+ default: ""
+ description: "commit id to make a snapshot docker image"
+ - string:
+ name: RELEASE_VERSION
+ default: ""
+ description: "Release version, e.g. 1.0, 2.0, 3.0"
+ - string:
+ name: DOCKERFILE
+ default: "{dockerfile}"
+ description: "Dockerfile to use for creating the image."
+ - string:
+ name: ARCH_TAG
+ default: "{arch_tag}"
+ description: "If set, this value will be added to the docker image tag as a prefix"
properties:
- - throttle:
- max-per-node: 1
- option: 'project'
+ - throttle:
+ max-per-node: 1
+ option: 'project'
scm:
- - git-scm
+ - git-scm
builders: &builders
- - shell:
- !include-raw-escape: ./opnfv-docker.sh
+ - shell:
+ !include-raw-escape: ./opnfv-docker.sh
triggers:
- - pollscm:
- cron: "*/30 * * * *"
+ - pollscm:
+ cron: "*/30 * * * *"
publishers:
- - email:
- recipients: '{receivers}'
- - email-jenkins-admins-on-failure
+ - email:
+ recipients: '{receivers}'
+ - email-jenkins-admins-on-failure
- job-template:
name: '{project}-docker-build-push-monitor-{stream}'
disabled: '{obj:disabled}'
parameters: *parameters
+
scm:
- - git-scm
+ - git-scm
+
builders: *builders
# trigger only matching the file name
triggers:
- - gerrit:
- trigger-on:
- - change-merged-event
- - comment-added-contains-event:
- comment-contains-value: 'remerge'
- projects:
- - project-compare-type: 'ANT'
- project-pattern: '{project}'
- branches:
- - branch-compare-type: 'ANT'
- branch-pattern: '**/{branch}'
- file-paths:
- - compare-type: ANT
- pattern: 'docker/**'
-
+ - gerrit:
+ trigger-on:
+ - change-merged-event
+ - comment-added-contains-event:
+ comment-contains-value: 'remerge'
+ projects:
+ - project-compare-type: 'ANT'
+ project-pattern: '{project}'
+ branches:
+ - branch-compare-type: 'ANT'
+ branch-pattern: '**/{branch}'
+ file-paths:
+ - compare-type: ANT
+ pattern: 'docker/**'
diff --git a/jjb/releng/opnfv-docs.yml b/jjb/releng/opnfv-docs.yml
index f4b25017e..afe8523f2 100644
--- a/jjb/releng/opnfv-docs.yml
+++ b/jjb/releng/opnfv-docs.yml
@@ -1,3 +1,4 @@
+---
########################
# Job configuration for opnfv-docs
########################
@@ -8,20 +9,20 @@
project: opnfv-docs
jobs:
- - 'opnfv-docs-verify-{stream}'
- - 'opnfv-docs-merge-{stream}'
+ - 'opnfv-docs-verify-{stream}'
+ - 'opnfv-docs-merge-{stream}'
stream:
- - master:
- branch: '{stream}'
- doc-version: ''
- gs-pathname: ''
- disabled: false
- - danube:
- branch: 'stable/{stream}'
- doc-version: '3.0'
- gs-pathname: '/{stream}/{doc-version}'
- disabled: true
+ - master:
+ branch: '{stream}'
+ doc-version: ''
+ gs-pathname: ''
+ disabled: false
+ - danube:
+ branch: 'stable/{stream}'
+ doc-version: '3.0'
+ gs-pathname: '/{stream}/{doc-version}'
+ disabled: true
########################
# job templates
@@ -33,40 +34,40 @@
disabled: '{obj:disabled}'
parameters:
- - project-parameter:
- project: $GERRIT_PROJECT
- branch: '{branch}'
+ - project-parameter:
+ project: $GERRIT_PROJECT
+ branch: '{branch}'
scm:
- - git-scm-gerrit
+ - 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: '*'
- branches:
- - branch-compare-type: 'ANT'
- branch-pattern: '**/{branch}'
- file-paths:
- - compare-type: ANT
- pattern: docs/**
- - compare-type: ANT
- pattern: yardstick/**
+ - 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: '*'
+ branches:
+ - branch-compare-type: 'ANT'
+ branch-pattern: '**/{branch}'
+ file-paths:
+ - compare-type: ANT
+ pattern: docs/**
+ - compare-type: ANT
+ pattern: yardstick/**
builders:
- - upload-review-docs
+ - upload-review-docs
- job-template:
name: 'opnfv-docs-merge-{stream}'
@@ -74,41 +75,41 @@
disabled: '{obj:disabled}'
parameters:
- - project-parameter:
- project: $GERRIT_PROJECT
- branch: '{branch}'
- - string:
- name: GS_URL
- default: '$GS_BASE{gs-pathname}'
- description: "Directory where the build artifact will be located upon the completion of the build."
- - string:
- name: GERRIT_REFSPEC
- default: 'refs/heads/{branch}'
- description: "JJB configured GERRIT_REFSPEC parameter"
+ - project-parameter:
+ project: $GERRIT_PROJECT
+ branch: '{branch}'
+ - string:
+ name: GS_URL
+ default: '$GS_BASE{gs-pathname}'
+ description: "Directory where the build artifact will be located upon the completion of the build."
+ - string:
+ name: GERRIT_REFSPEC
+ default: 'refs/heads/{branch}'
+ description: "JJB configured GERRIT_REFSPEC parameter"
scm:
- - git-scm
+ - git-scm
triggers:
- - gerrit:
- server-name: 'gerrit.opnfv.org'
- trigger-on:
- - change-merged-event
- - comment-added-contains-event:
- comment-contains-value: 'remerge'
- - comment-added-contains-event:
- comment-contains-value: 'rebuild docs'
- projects:
- - project-compare-type: 'ANT'
- project-pattern: '*'
- branches:
- - branch-compare-type: 'ANT'
- branch-pattern: '**/{branch}'
- file-paths:
- - compare-type: ANT
- pattern: docs/**
- - compare-type: ANT
- pattern: yardstick/**
+ - gerrit:
+ server-name: 'gerrit.opnfv.org'
+ trigger-on:
+ - change-merged-event
+ - comment-added-contains-event:
+ comment-contains-value: 'remerge'
+ - comment-added-contains-event:
+ comment-contains-value: 'rebuild docs'
+ projects:
+ - project-compare-type: 'ANT'
+ project-pattern: '*'
+ branches:
+ - branch-compare-type: 'ANT'
+ branch-pattern: '**/{branch}'
+ file-paths:
+ - compare-type: ANT
+ pattern: docs/**
+ - compare-type: ANT
+ pattern: yardstick/**
builders:
- - upload-merged-docs
+ - upload-merged-docs
diff --git a/jjb/releng/opnfv-lint.yml b/jjb/releng/opnfv-lint.yml
index d253da027..b51779f12 100644
--- a/jjb/releng/opnfv-lint.yml
+++ b/jjb/releng/opnfv-lint.yml
@@ -1,3 +1,4 @@
+---
########################
# Job configuration for opnfv-lint
########################
@@ -8,18 +9,18 @@
project: opnfv-lint
jobs:
- - 'opnfv-lint-verify-{stream}'
- - 'opnfv-yamllint-verify-{stream}'
+ - 'opnfv-lint-verify-{stream}'
+ - 'opnfv-yamllint-verify-{stream}'
stream:
- - master:
- branch: '{stream}'
- gs-pathname: ''
- disabled: false
- - danube:
- branch: 'stable/{stream}'
- gs-pathname: '/{stream}'
- disabled: false
+ - master:
+ branch: '{stream}'
+ gs-pathname: ''
+ disabled: false
+ - danube:
+ branch: 'stable/{stream}'
+ gs-pathname: '/{stream}'
+ disabled: false
########################
# job templates
@@ -31,39 +32,39 @@
disabled: '{obj:disabled}'
parameters:
- - project-parameter:
- project: $GERRIT_PROJECT
- branch: '{branch}'
+ - project-parameter:
+ project: $GERRIT_PROJECT
+ branch: '{branch}'
scm:
- - git-scm-gerrit
+ - 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: 'REG_EXP'
- project-pattern: 'functest|sdnvpn|qtip|daisy|sfc|escalator|releng'
- branches:
- - branch-compare-type: 'ANT'
- branch-pattern: '**/{branch}'
- file-paths:
- - compare-type: ANT
- pattern: '**/*.py'
+ - gerrit:
+ server-name: 'gerrit.opnfv.org'
+ trigger-on:
+ - patchset-created-event:
+ exclude-drafts: 'false'
+ exclude-trivial-rebase: 'false'
+ exclude-no-code-change: 'false'
+ - draft-published-event
+ - comment-added-contains-event:
+ comment-contains-value: 'recheck'
+ - comment-added-contains-event:
+ comment-contains-value: 'reverify'
+ projects:
+ - project-compare-type: 'REG_EXP'
+ project-pattern: 'functest|sdnvpn|qtip|daisy|sfc|escalator|releng'
+ branches:
+ - branch-compare-type: 'ANT'
+ branch-pattern: '**/{branch}'
+ file-paths:
+ - compare-type: ANT
+ pattern: '**/*.py'
builders:
- - lint-python-code
- - report-lint-result-to-gerrit
+ - lint-python-code
+ - report-lint-result-to-gerrit
- job-template:
name: 'opnfv-yamllint-verify-{stream}'
@@ -73,45 +74,45 @@
concurrent: true
parameters:
- - project-parameter:
- project: $GERRIT_PROJECT
- branch: '{branch}'
- - node:
- name: SLAVE_NAME
- description: Slaves to execute yamllint
- default-slaves:
- - lf-build1
- allowed-multiselect: true
- ignore-offline-nodes: true
+ - project-parameter:
+ project: $GERRIT_PROJECT
+ branch: '{branch}'
+ - node:
+ name: SLAVE_NAME
+ description: Slaves to execute yamllint
+ default-slaves:
+ - lf-build1
+ allowed-multiselect: true
+ ignore-offline-nodes: true
scm:
- - git-scm-gerrit
+ - 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: 'REG_EXP'
- project-pattern: 'octopus|releng-anteater|pharos'
- branches:
- - branch-compare-type: 'ANT'
- branch-pattern: '**/{branch}'
- file-paths:
- - compare-type: ANT
- pattern: '**/*.yml'
- - compare-type: ANT
- pattern: '**/*.yaml'
+ - gerrit:
+ server-name: 'gerrit.opnfv.org'
+ trigger-on:
+ - patchset-created-event:
+ exclude-drafts: 'false'
+ exclude-trivial-rebase: 'false'
+ exclude-no-code-change: 'false'
+ - draft-published-event
+ - comment-added-contains-event:
+ comment-contains-value: 'recheck'
+ - comment-added-contains-event:
+ comment-contains-value: 'reverify'
+ projects:
+ - project-compare-type: 'REG_EXP'
+ project-pattern: 'octopus|releng-anteater|pharos'
+ branches:
+ - branch-compare-type: 'ANT'
+ branch-pattern: '**/{branch}'
+ file-paths:
+ - compare-type: ANT
+ pattern: '**/*.yml'
+ - compare-type: ANT
+ pattern: '**/*.yaml'
builders:
- - lint-yaml-code
- - report-lint-result-to-gerrit
+ - lint-yaml-code
+ - report-lint-result-to-gerrit
diff --git a/jjb/releng/opnfv-utils.yml b/jjb/releng/opnfv-utils.yml
index 721b5dede..80cd08f4e 100644
--- a/jjb/releng/opnfv-utils.yml
+++ b/jjb/releng/opnfv-utils.yml
@@ -1,11 +1,12 @@
+---
- project:
name: opnfv-utils
jobs:
- - 'prune-docker-images'
- - 'archive-repositories'
- - 'check-status-of-slaves'
+ - 'prune-docker-images'
+ - 'archive-repositories'
+ - 'check-status-of-slaves'
########################
# job templates
@@ -18,28 +19,28 @@
concurrent: true
parameters:
- - node:
- name: SLAVE_NAME
- description: Slaves to prune docker images
- default-slaves:
- - arm-build2
- - ericsson-build4
- - ericsson-build5
- - lf-build2
- allowed-multiselect: true
- ignore-offline-nodes: true
+ - node:
+ name: SLAVE_NAME
+ description: Slaves to prune docker images
+ default-slaves:
+ - arm-build2
+ - ericsson-build4
+ - ericsson-build5
+ - lf-build2
+ allowed-multiselect: true
+ ignore-offline-nodes: true
builders:
- - description-setter:
- description: "Built on $NODE_NAME"
- - shell: |
- #!/bin/bash
+ - description-setter:
+ description: "Built on $NODE_NAME"
+ - shell: |
+ #!/bin/bash
- (docker ps -q; docker ps -aq) | sort | uniq -u | xargs --no-run-if-empty docker rm
- docker images -f dangling=true -q | xargs --no-run-if-empty docker rmi
+ (docker ps -q; docker ps -aq) | sort | uniq -u | xargs --no-run-if-empty docker rm
+ docker images -f dangling=true -q | xargs --no-run-if-empty docker rmi
triggers:
- - timed: '@midnight'
+ - timed: '@midnight'
- job-template:
name: 'archive-repositories'
@@ -49,20 +50,20 @@
concurrent: true
parameters:
- - node:
- name: SLAVE_NAME
- description: Where to create the archive
- default-slaves:
- - master
- allowed-multiselect: false
- ignore-offline-nodes: true
+ - node:
+ name: SLAVE_NAME
+ description: Where to create the archive
+ default-slaves:
+ - master
+ allowed-multiselect: false
+ ignore-offline-nodes: true
triggers:
- - timed: '@monthly'
+ - timed: '@monthly'
builders:
- - shell:
- !include-raw-escape: opnfv-repo-archiver.sh
+ - shell:
+ !include-raw-escape: opnfv-repo-archiver.sh
- job-template:
name: 'check-status-of-slaves'
@@ -72,18 +73,18 @@
concurrent: true
parameters:
- - node:
- name: SLAVE_NAME
- description: We don't want workspace wiped. so I just threw the script on the master
- default-slaves:
- - master
- allowed-multiselect: false
- ignore-offline-nodes: true
+ - node:
+ name: SLAVE_NAME
+ description: We don't want workspace wiped. so I just threw the script on the master
+ default-slaves:
+ - master
+ allowed-multiselect: false
+ ignore-offline-nodes: true
triggers:
- - timed: '@midnight'
+ - timed: '@midnight'
builders:
- - shell: |
- cd /opt/jenkins-ci/slavemonitor
- bash slave-monitor-0.1.sh | sort
+ - shell: |
+ cd /opt/jenkins-ci/slavemonitor
+ bash slave-monitor-0.1.sh | sort
diff --git a/jjb/releng/releng-ci-jobs.yml b/jjb/releng/releng-ci-jobs.yml
index fd58ef2b8..d4f39708e 100644
--- a/jjb/releng/releng-ci-jobs.yml
+++ b/jjb/releng/releng-ci-jobs.yml
@@ -1,10 +1,11 @@
+---
- project:
name: releng-builder-jobs
jobs:
- - 'releng-verify-jjb'
- - 'releng-merge-jjb'
- - 'releng-comment-jjb'
- - 'releng-generate-artifacts-api'
+ - 'releng-verify-jjb'
+ - 'releng-merge-jjb'
+ - 'releng-comment-jjb'
+ - 'releng-generate-artifacts-api'
project: 'releng'
@@ -12,69 +13,71 @@
name: releng-verify-jjb
parameters:
- - project-parameter:
- project: '{project}'
- branch: 'master'
+ - project-parameter:
+ project: '{project}'
+ branch: 'master'
+
scm:
- - git-scm-gerrit
+ - 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: 'releng'
- branches:
- - branch-compare-type: 'ANT'
- branch-pattern: '**/master'
- file-paths:
- - compare-type: ANT
- pattern: jjb/**
- - compare-type: ANT
- pattern: jjb-templates/**
- - compare-type: ANT
- pattern: utils/**
+ - 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: 'releng'
+ branches:
+ - branch-compare-type: 'ANT'
+ branch-pattern: '**/master'
+ file-paths:
+ - compare-type: ANT
+ pattern: jjb/**
+ - compare-type: ANT
+ pattern: jjb-templates/**
+ - compare-type: ANT
+ pattern: utils/**
builders:
- - shell:
- !include-raw: verify-releng.sh
+ - shell:
+ !include-raw: verify-releng.sh
publishers:
- - archive-artifacts:
- artifacts: 'job_output/*'
- - email-jenkins-admins-on-failure
+ - archive-artifacts:
+ artifacts: 'job_output/*'
+ - email-jenkins-admins-on-failure
- job-template:
name: releng-comment-jjb
parameters:
- - project-parameter:
- project: '{project}'
- branch: 'master'
+ - project-parameter:
+ project: '{project}'
+ branch: 'master'
+
scm:
- - git-scm-gerrit
+ - git-scm-gerrit
triggers:
- - experimental:
- project: '{project}'
- branch: 'master'
- files: 'jjb/**'
+ - experimental:
+ project: '{project}'
+ branch: 'master'
+ files: 'jjb/**'
builders:
- - shell:
- !include-raw-escape: generate-job-list.sh
- - report-build-result-to-gerrit
+ - shell:
+ !include-raw-escape: generate-job-list.sh
+ - report-build-result-to-gerrit
- job-template:
name: 'releng-merge-jjb'
@@ -84,38 +87,38 @@
# This job's purpose is to update all the JJB
parameters:
- - project-parameter:
- project: '{project}'
- branch: 'master'
+ - project-parameter:
+ project: '{project}'
+ branch: 'master'
scm:
- - git-scm
+ - git-scm
triggers:
- - gerrit:
- server-name: 'gerrit.opnfv.org'
- trigger-on:
- - change-merged-event
- - comment-added-contains-event:
- comment-contains-value: 'remerge'
- projects:
- - project-compare-type: 'ANT'
- project-pattern: 'releng'
- branches:
- - branch-compare-type: 'ANT'
- branch-pattern: '**/master'
- file-paths:
- - compare-type: ANT
- pattern: jjb/**
- - compare-type: ANT
- pattern: utils/**
+ - gerrit:
+ server-name: 'gerrit.opnfv.org'
+ trigger-on:
+ - change-merged-event
+ - comment-added-contains-event:
+ comment-contains-value: 'remerge'
+ projects:
+ - project-compare-type: 'ANT'
+ project-pattern: 'releng'
+ branches:
+ - branch-compare-type: 'ANT'
+ branch-pattern: '**/master'
+ file-paths:
+ - compare-type: ANT
+ pattern: jjb/**
+ - compare-type: ANT
+ pattern: utils/**
builders:
- - shell: |
- source /opt/virtualenv/jenkins-job-builder/bin/activate
- cd /opt/jenkins-ci/releng
- git pull
- jenkins-jobs update -r --delete-old jjb/
+ - shell: |
+ source /opt/virtualenv/jenkins-job-builder/bin/activate
+ cd /opt/jenkins-ci/releng
+ git pull
+ jenkins-jobs update -r --delete-old jjb/
- job-template:
name: 'releng-generate-artifacts-api'
@@ -123,15 +126,15 @@
# Generate and upload the JSON file to used for artifacts site
parameters:
- - project-parameter:
- project: '{project}'
- branch: 'master'
+ - project-parameter:
+ project: '{project}'
+ branch: 'master'
scm:
- - git-scm
+ - git-scm
triggers:
- - timed: '@hourly'
+ - timed: '@hourly'
builders:
- - build-and-upload-artifacts-json-api
+ - build-and-upload-artifacts-json-api
diff --git a/jjb/snaps/snaps-verify-jobs.yml b/jjb/snaps/snaps-verify-jobs.yml
index 01ea3e41e..bc3f39315 100644
--- a/jjb/snaps/snaps-verify-jobs.yml
+++ b/jjb/snaps/snaps-verify-jobs.yml
@@ -1,3 +1,4 @@
+---
###################################################
# All the jobs except verify have been removed!
# They will only be enabled on request by projects!
@@ -8,13 +9,13 @@
project: '{name}'
jobs:
- - 'snaps-verify-{stream}'
+ - 'snaps-verify-{stream}'
stream:
- - master:
- branch: '{stream}'
- gs-pathname: ''
- disabled: false
+ - master:
+ branch: '{stream}'
+ gs-pathname: ''
+ disabled: false
- job-template:
name: 'snaps-verify-{stream}'
@@ -24,49 +25,49 @@
concurrent: false
parameters:
- - project-parameter:
- project: '{project}'
- branch: '{branch}'
- - string:
- name: DEPLOYMENT_HOST_IP
- default: 192.168.122.2
- description: 'IP of the deployment node'
- - string:
- name: CONTROLLER_IP
- default: 192.168.122.3
- description: 'IP of the controller node'
- - 'intel-virtual10-defaults'
+ - project-parameter:
+ project: '{project}'
+ branch: '{branch}'
+ - string:
+ name: DEPLOYMENT_HOST_IP
+ default: 192.168.122.2
+ description: 'IP of the deployment node'
+ - string:
+ name: CONTROLLER_IP
+ default: 192.168.122.3
+ description: 'IP of the controller node'
+ - 'intel-virtual10-defaults'
scm:
- - git-scm-gerrit
+ - 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'
+ - 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
+ - shell: |
+ #!/bin/bash
- cd $WORKSPACE/ci
- ./run_tests.sh $DEPLOYMENT_HOST_IP $CONTROLLER_IP
+ cd $WORKSPACE/ci
+ ./run_tests.sh $DEPLOYMENT_HOST_IP $CONTROLLER_IP
diff --git a/jjb/storperf/storperf-daily-jobs.yml b/jjb/storperf/storperf-daily-jobs.yml
index bf04712c7..3c9e527be 100644
--- a/jjb/storperf/storperf-daily-jobs.yml
+++ b/jjb/storperf/storperf-daily-jobs.yml
@@ -1,3 +1,4 @@
+---
###################################
# job configuration for storperf
###################################
@@ -6,90 +7,90 @@
project: storperf
-#--------------------------------
-# BRANCH ANCHORS
-#--------------------------------
+ # -------------------------------
+ # BRANCH ANCHORS
+ # -------------------------------
master: &master
- stream: master
- branch: '{stream}'
- gs-pathname: ''
- docker-tag: 'latest'
+ stream: master
+ branch: '{stream}'
+ gs-pathname: ''
+ docker-tag: 'latest'
euphrates: &euphrates
- stream: euphrates
- branch: 'stable/{stream}'
- gs-pathname: '/{stream}'
- disabled: false
- docker-tag: 'stable'
-#--------------------------------
-# POD, INSTALLER, AND BRANCH MAPPING
-#--------------------------------
-# Installers using labels
-# CI PODs
-# This section should only contain the installers
-# that have been switched using labels for slaves
-#--------------------------------
+ stream: euphrates
+ branch: 'stable/{stream}'
+ gs-pathname: '/{stream}'
+ disabled: false
+ docker-tag: 'stable'
+ # -------------------------------
+ # POD, INSTALLER, AND BRANCH MAPPING
+ # -------------------------------
+ # Installers using labels
+ # CI PODs
+ # This section should only contain the installers
+ # that have been switched using labels for slaves
+ # -------------------------------
pod:
-## fuel CI PODs
-# - baremetal:
-# slave-label: fuel-baremetal
-# installer: fuel
-# <<: *master
-# - virtual:
-# slave-label: fuel-virtual
-# installer: fuel
-# <<: *master
-## joid CI PODs
-# - baremetal:
-# slave-label: joid-baremetal
-# installer: joid
-# <<: *master
-# - virtual:
-# slave-label: joid-virtual
-# installer: joid
-# <<: *master
-## compass CI PODs
-# - baremetal:
-# slave-label: compass-baremetal
-# installer: compass
-# <<: *master
-# - virtual:
-# slave-label: compass-virtual
-# installer: compass
-# <<: *master
-## apex CI PODs
-# - virtual:
-# slave-label: apex-virtual-master
-# installer: apex
-# <<: *master
- - baremetal:
- slave-label: apex-baremetal-master
- installer: apex
- <<: *master
- - baremetal:
- slave-label: apex-baremetal-master
- installer: apex
- <<: *euphrates
-## armband CI PODs
-# - armband-baremetal:
-# slave-label: armband-baremetal
-# installer: fuel
-# <<: *master
-# - armband-virtual:
-# slave-label: armband-virtual
-# installer: fuel
-# <<: *master
-## daisy CI PODs
-# - baremetal:
-# slave-label: daisy-baremetal
-# installer: daisy
-# <<: *master
-# - virtual:
-# slave-label: daisy-virtual
-# installer: daisy
-# <<: *master
+ # # fuel CI PODs
+ # - baremetal:
+ # slave-label: fuel-baremetal
+ # installer: fuel
+ # <<: *master
+ # - virtual:
+ # slave-label: fuel-virtual
+ # installer: fuel
+ # <<: *master
+ # # joid CI PODs
+ # - baremetal:
+ # slave-label: joid-baremetal
+ # installer: joid
+ # <<: *master
+ # - virtual:
+ # slave-label: joid-virtual
+ # installer: joid
+ # <<: *master
+ # # compass CI PODs
+ # - baremetal:
+ # slave-label: compass-baremetal
+ # installer: compass
+ # <<: *master
+ # - virtual:
+ # slave-label: compass-virtual
+ # installer: compass
+ # <<: *master
+ # # apex CI PODs
+ # - virtual:
+ # slave-label: apex-virtual-master
+ # installer: apex
+ # <<: *master
+ - baremetal:
+ slave-label: apex-baremetal-master
+ installer: apex
+ <<: *master
+ - baremetal:
+ slave-label: apex-baremetal-master
+ installer: apex
+ <<: *euphrates
+ ## armband CI PODs
+ # - armband-baremetal:
+ # slave-label: armband-baremetal
+ # installer: fuel
+ # <<: *master
+ # - armband-virtual:
+ # slave-label: armband-virtual
+ # installer: fuel
+ # <<: *master
+ ## daisy CI PODs
+ # - baremetal:
+ # slave-label: daisy-baremetal
+ # installer: daisy
+ # <<: *master
+ # - virtual:
+ # slave-label: daisy-virtual
+ # installer: daisy
+ # <<: *master
jobs:
- - 'storperf-{installer}-{pod}-daily-{stream}'
+ - 'storperf-{installer}-{pod}-daily-{stream}'
################################
# job template
@@ -100,77 +101,78 @@
concurrent: true
properties:
- - logrotate-default
- - throttle:
- enabled: true
- max-per-node: 1
- option: 'project'
+ - logrotate-default
+ - throttle:
+ enabled: true
+ max-per-node: 1
+ option: 'project'
wrappers:
- - build-name:
- name: '$BUILD_NUMBER Scenario: $DEPLOY_SCENARIO'
- - timeout:
- timeout: '30'
- abort: true
+ - build-name:
+ name: '$BUILD_NUMBER Scenario: $DEPLOY_SCENARIO'
+ - timeout:
+ timeout: '45'
+ abort: true
+ - fix-workspace-permissions
parameters:
- - project-parameter:
- project: '{project}'
- branch: '{branch}'
- - '{installer}-defaults'
- - '{slave-label}-defaults'
- - string:
- name: DEPLOY_SCENARIO
- default: 'os-odl_l2-nofeature-ha'
- - string:
- name: DOCKER_TAG
- default: '{docker-tag}'
- description: 'Tag to pull docker image'
- - string:
- name: CLEAN_DOCKER_IMAGES
- default: 'false'
- description: 'Remove downloaded docker images (opnfv/storperf*:*)'
- - string:
- name: GS_PATHNAME
- default: '{gs-pathname}'
- description: "Version directory where the opnfv documents will be stored in gs repository"
- - string:
- name: DISK_TYPE
- default: 'HDD'
- description: 'The type of hard disk that Cinder uses'
- - string:
- name: VOLUME_SIZE
- default: '2'
- description: 'Size of Cinder volume (in GB)'
- - string:
- name: WORKLOADS
- default: 'rw'
- description: 'Workloads to run'
- - string:
- name: BLOCK_SIZES
- default: '16384'
- description: 'Block sizes for VM I/O operations'
- - string:
- name: QUEUE_DEPTHS
- default: '4'
- description: 'Number of simultaneous I/O operations to keep active'
- - string:
- name: STEADY_STATE_SAMPLES
- default: '10'
- description: 'Number of samples to use (1 per minute) to measure steady state'
- - string:
- name: TEST_CASE
- choices:
- - 'snia_steady_state'
- description: 'The test case to run'
+ - project-parameter:
+ project: '{project}'
+ branch: '{branch}'
+ - '{installer}-defaults'
+ - '{slave-label}-defaults'
+ - string:
+ name: DEPLOY_SCENARIO
+ default: 'os-odl_l2-nofeature-ha'
+ - string:
+ name: DOCKER_TAG
+ default: '{docker-tag}'
+ description: 'Tag to pull docker image'
+ - string:
+ name: CLEAN_DOCKER_IMAGES
+ default: 'false'
+ description: 'Remove downloaded docker images (opnfv/storperf*:*)'
+ - string:
+ name: GS_PATHNAME
+ default: '{gs-pathname}'
+ description: "Version directory where the opnfv documents will be stored in gs repository"
+ - string:
+ name: DISK_TYPE
+ default: 'HDD'
+ description: 'The type of hard disk that Cinder uses'
+ - string:
+ name: VOLUME_SIZE
+ default: '2'
+ description: 'Size of Cinder volume (in GB)'
+ - string:
+ name: WORKLOADS
+ default: 'rw'
+ description: 'Workloads to run'
+ - string:
+ name: BLOCK_SIZES
+ default: '16384'
+ description: 'Block sizes for VM I/O operations'
+ - string:
+ name: QUEUE_DEPTHS
+ default: '4'
+ description: 'Number of simultaneous I/O operations to keep active'
+ - string:
+ name: STEADY_STATE_SAMPLES
+ default: '10'
+ description: 'Number of samples to use (1 per minute) to measure steady state'
+ - string:
+ name: TEST_CASE
+ choices:
+ - 'snia_steady_state'
+ description: 'The test case to run'
scm:
- - git-scm
+ - git-scm
builders:
- - description-setter:
- description: "Built on $NODE_NAME"
- - 'storperf-daily-builder'
+ - description-setter:
+ description: "Built on $NODE_NAME"
+ - 'storperf-daily-builder'
########################
# builder macros
@@ -178,8 +180,8 @@
- builder:
name: storperf-daily-builder
builders:
- - shell: |
- #!/bin/bash
+ - shell: |
+ #!/bin/bash
- cd $WORKSPACE
- ./ci/daily.sh
+ cd $WORKSPACE
+ ./ci/daily.sh
diff --git a/jjb/storperf/storperf-verify-jobs.yml b/jjb/storperf/storperf-verify-jobs.yml
index 0b01fd1f3..7e29addb9 100644
--- a/jjb/storperf/storperf-verify-jobs.yml
+++ b/jjb/storperf/storperf-verify-jobs.yml
@@ -1,41 +1,42 @@
+---
- project:
name: storperf-verify
project: 'storperf'
-#--------------------------------
-# branches
-#--------------------------------
+ # -------------------------------
+ # branches
+ # -------------------------------
stream:
- - master:
- branch: '{stream}'
- gs-pathname: ''
- disabled: false
- docker-tag: 'latest'
- - euphrates:
- branch: 'stable/{stream}'
- gs-pathname: '/{stream}'
- disabled: false
- docker-tag: 'stable'
-#--------------------------------
-# patch verification phases
-#--------------------------------
+ - master:
+ branch: '{stream}'
+ gs-pathname: ''
+ disabled: false
+ docker-tag: 'latest'
+ - euphrates:
+ branch: 'stable/{stream}'
+ gs-pathname: '/{stream}'
+ disabled: false
+ docker-tag: 'stable'
+ # -------------------------------
+ # patch verification phases
+ # -------------------------------
phase:
- - 'unit-test':
- slave-label: 'opnfv-build-ubuntu'
- - 'build-x86_64':
- slave-label: 'opnfv-build-ubuntu'
- - 'build-aarch64':
- slave-label: 'opnfv-build-ubuntu-arm'
-#--------------------------------
-# jobs
-#--------------------------------
+ - 'unit-test':
+ slave-label: 'opnfv-build-ubuntu'
+ - 'build-x86_64':
+ slave-label: 'opnfv-build-ubuntu'
+ - 'build-aarch64':
+ slave-label: 'opnfv-build-ubuntu-arm'
+ # -------------------------------
+ # jobs
+ # -------------------------------
jobs:
- - 'storperf-verify-{stream}'
- - 'storperf-verify-{phase}-{stream}'
-#--------------------------------
+ - 'storperf-verify-{stream}'
+ - 'storperf-verify-{phase}-{stream}'
+# -------------------------------
# job templates
-#--------------------------------
+# -------------------------------
- job-template:
name: 'storperf-verify-{stream}'
@@ -44,80 +45,80 @@
project-type: 'multijob'
parameters:
- - project-parameter:
- project: '{project}'
- branch: '{branch}'
- - 'opnfv-build-defaults'
+ - project-parameter:
+ project: '{project}'
+ branch: '{branch}'
+ - 'opnfv-build-defaults'
scm:
- - git-scm-gerrit
+ - 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}'
+ - 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: |
- #!/bin/bash
-
- # we do nothing here as the main stuff will be done
- # in phase jobs
- echo "Triggering phase jobs!"
- - multijob:
- name: 'storperf-build-and-unittest'
- execution-type: PARALLEL
- projects:
- - name: 'storperf-verify-unit-test-{stream}'
- current-parameters: false
- predefined-parameters: |
- GERRIT_BRANCH=$GERRIT_BRANCH
- GERRIT_REFSPEC=$GERRIT_REFSPEC
- GERRIT_CHANGE_NUMBER=$GERRIT_CHANGE_NUMBER
- GERRIT_CHANGE_COMMIT_MESSAGE=$GERRIT_CHANGE_COMMIT_MESSAGE
- git-revision: true
- node-parameters: false
- kill-phase-on: FAILURE
- abort-all-job: false
- - name: 'storperf-verify-build-x86_64-{stream}'
- current-parameters: false
- predefined-parameters: |
- GERRIT_BRANCH=$GERRIT_BRANCH
- GERRIT_REFSPEC=$GERRIT_REFSPEC
- GERRIT_CHANGE_NUMBER=$GERRIT_CHANGE_NUMBER
- GERRIT_CHANGE_COMMIT_MESSAGE=$GERRIT_CHANGE_COMMIT_MESSAGE
- ARCH=x86_64
- git-revision: true
- node-parameters: false
- kill-phase-on: FAILURE
- abort-all-job: false
- - name: 'storperf-verify-build-aarch64-{stream}'
- current-parameters: false
- predefined-parameters: |
- GERRIT_BRANCH=$GERRIT_BRANCH
- GERRIT_REFSPEC=$GERRIT_REFSPEC
- GERRIT_CHANGE_NUMBER=$GERRIT_CHANGE_NUMBER
- GERRIT_CHANGE_COMMIT_MESSAGE=$GERRIT_CHANGE_COMMIT_MESSAGE
- ARCH=aarch64
- git-revision: true
- node-parameters: false
- kill-phase-on: FAILURE
- abort-all-job: false
+ - shell: |
+ #!/bin/bash
+
+ # we do nothing here as the main stuff will be done
+ # in phase jobs
+ echo "Triggering phase jobs!"
+ - multijob:
+ name: 'storperf-build-and-unittest'
+ execution-type: PARALLEL
+ projects:
+ - name: 'storperf-verify-unit-test-{stream}'
+ current-parameters: false
+ predefined-parameters: |
+ GERRIT_BRANCH=$GERRIT_BRANCH
+ GERRIT_REFSPEC=$GERRIT_REFSPEC
+ GERRIT_CHANGE_NUMBER=$GERRIT_CHANGE_NUMBER
+ GERRIT_CHANGE_COMMIT_MESSAGE=$GERRIT_CHANGE_COMMIT_MESSAGE
+ git-revision: true
+ node-parameters: false
+ kill-phase-on: FAILURE
+ abort-all-job: false
+ - name: 'storperf-verify-build-x86_64-{stream}'
+ current-parameters: false
+ predefined-parameters: |
+ GERRIT_BRANCH=$GERRIT_BRANCH
+ GERRIT_REFSPEC=$GERRIT_REFSPEC
+ GERRIT_CHANGE_NUMBER=$GERRIT_CHANGE_NUMBER
+ GERRIT_CHANGE_COMMIT_MESSAGE=$GERRIT_CHANGE_COMMIT_MESSAGE
+ ARCH=x86_64
+ git-revision: true
+ node-parameters: false
+ kill-phase-on: FAILURE
+ abort-all-job: false
+ - name: 'storperf-verify-build-aarch64-{stream}'
+ current-parameters: false
+ predefined-parameters: |
+ GERRIT_BRANCH=$GERRIT_BRANCH
+ GERRIT_REFSPEC=$GERRIT_REFSPEC
+ GERRIT_CHANGE_NUMBER=$GERRIT_CHANGE_NUMBER
+ GERRIT_CHANGE_COMMIT_MESSAGE=$GERRIT_CHANGE_COMMIT_MESSAGE
+ ARCH=aarch64
+ git-revision: true
+ node-parameters: false
+ kill-phase-on: FAILURE
+ abort-all-job: false
- job-template:
name: 'storperf-verify-{phase}-{stream}'
@@ -125,71 +126,75 @@
disabled: '{obj:disabled}'
wrappers:
- - ssh-agent-wrapper
- - build-timeout:
- timeout: 60
+ - ssh-agent-wrapper
+ - build-timeout:
+ timeout: 60
parameters:
- - project-parameter:
- project: '{project}'
- branch: '{branch}'
- - '{slave-label}-defaults'
+ - project-parameter:
+ project: '{project}'
+ branch: '{branch}'
+ - '{slave-label}-defaults'
scm:
- - git-scm-gerrit
+ - git-scm-gerrit
builders:
- - 'storperf-verify-{phase}-builders-macro'
+ - 'storperf-verify-{phase}-builders-macro'
publishers:
- - 'storperf-verify-{phase}-publishers-macro'
-#--------------------------------
+ - 'storperf-verify-{phase}-publishers-macro'
+# -------------------------------
# builder macros
-#--------------------------------
+# -------------------------------
- builder:
name: 'storperf-verify-unit-test-builders-macro'
builders:
- - shell: |
- $WORKSPACE/ci/verify.sh
+ - shell: |
+ $WORKSPACE/ci/verify.sh
+
- builder:
name: 'storperf-verify-build-x86_64-builders-macro'
builders:
- - shell: |
- $WORKSPACE/ci/verify-build.sh
+ - shell: |
+ $WORKSPACE/ci/verify-build.sh
+
- builder:
name: 'storperf-verify-build-aarch64-builders-macro'
builders:
- - shell: |
- $WORKSPACE/ci/verify-build.sh
-#--------------------------------
+ - shell: |
+ $WORKSPACE/ci/verify-build.sh
+# -------------------------------
# publisher macros
-#--------------------------------
+# -------------------------------
- publisher:
name: 'storperf-verify-unit-test-publishers-macro'
publishers:
- - junit:
- results: nosetests.xml
- - cobertura:
- report-file: "coverage.xml"
- only-stable: "true"
- health-auto-update: "true"
- stability-auto-update: "true"
- zoom-coverage-chart: "true"
- targets:
- - files:
- healthy: 60
- unhealthy: 50
- failing: 40
- - method:
- healthy: 60
- unhealthy: 50
- failing: 40
- - email-jenkins-admins-on-failure
+ - junit:
+ results: nosetests.xml
+ - cobertura:
+ report-file: "coverage.xml"
+ only-stable: "true"
+ health-auto-update: "true"
+ stability-auto-update: "true"
+ zoom-coverage-chart: "true"
+ targets:
+ - files:
+ healthy: 60
+ unhealthy: 50
+ failing: 40
+ - method:
+ healthy: 60
+ unhealthy: 50
+ failing: 40
+ - email-jenkins-admins-on-failure
+
- publisher:
name: 'storperf-verify-build-x86_64-publishers-macro'
publishers:
- - email-jenkins-admins-on-failure
+ - email-jenkins-admins-on-failure
+
- publisher:
name: 'storperf-verify-build-aarch64-publishers-macro'
publishers:
- - email-jenkins-admins-on-failure
+ - email-jenkins-admins-on-failure
diff --git a/jjb/storperf/storperf.yml b/jjb/storperf/storperf.yml
index caae853a0..b9f3a3679 100644
--- a/jjb/storperf/storperf.yml
+++ b/jjb/storperf/storperf.yml
@@ -1,22 +1,23 @@
+---
- project:
name: storperf
project: '{name}'
jobs:
- - 'storperf-merge-{stream}'
+ - 'storperf-merge-{stream}'
stream:
- - master:
- branch: '{stream}'
- gs-pathname: ''
- disabled: false
- docker-tag: 'latest'
- - euphrates:
- branch: 'stable/{stream}'
- gs-pathname: '/{stream}'
- disabled: false
- docker-tag: 'stable'
+ - master:
+ branch: '{stream}'
+ gs-pathname: ''
+ disabled: false
+ docker-tag: 'latest'
+ - euphrates:
+ branch: 'stable/{stream}'
+ gs-pathname: '/{stream}'
+ disabled: false
+ docker-tag: 'stable'
- job-template:
name: 'storperf-merge-{stream}'
@@ -24,52 +25,53 @@
node: opnfv-build-ubuntu
parameters:
- - project-parameter:
- project: '{project}'
- branch: '{branch}'
- - string:
- name: GIT_BASE
- default: https://gerrit.opnfv.org/gerrit/$PROJECT
- description: "Used for overriding the GIT URL coming from Global Jenkins configuration in case if the stuff is done on none-LF HW."
+ - project-parameter:
+ project: '{project}'
+ branch: '{branch}'
+ - string:
+ name: GIT_BASE
+ default: https://gerrit.opnfv.org/gerrit/$PROJECT
+ # yamllint disable rule:line-length
+ description: "Used for overriding the GIT URL coming from Global Jenkins configuration in case if the stuff is done on none-LF HW."
+ # yamllint enable rule:line-length
scm:
- - git-scm
+ - git-scm
triggers:
- - gerrit:
- server-name: 'gerrit.opnfv.org'
- trigger-on:
- - change-merged-event
- - comment-added-contains-event:
- comment-contains-value: 'remerge'
- projects:
- - project-compare-type: 'ANT'
- project-pattern: '{project}'
- branches:
- - branch-compare-type: 'ANT'
- branch-pattern: '**/{branch}'
+ - gerrit:
+ server-name: 'gerrit.opnfv.org'
+ trigger-on:
+ - change-merged-event
+ - comment-added-contains-event:
+ comment-contains-value: 'remerge'
+ projects:
+ - project-compare-type: 'ANT'
+ project-pattern: '{project}'
+ branches:
+ - branch-compare-type: 'ANT'
+ branch-pattern: '**/{branch}'
builders:
- - shell: |
- $WORKSPACE/ci/merge.sh
+ - shell: |
+ $WORKSPACE/ci/merge.sh
publishers:
- - junit:
- results: nosetests.xml
- - cobertura:
- report-file: "coverage.xml"
- only-stable: "true"
- health-auto-update: "true"
- stability-auto-update: "true"
- zoom-coverage-chart: "true"
- targets:
- - files:
- healthy: 10
- unhealthy: 20
- failing: 30
- - method:
- healthy: 50
- unhealthy: 40
- failing: 30
- - email-jenkins-admins-on-failure
-
+ - junit:
+ results: nosetests.xml
+ - cobertura:
+ report-file: "coverage.xml"
+ only-stable: "true"
+ health-auto-update: "true"
+ stability-auto-update: "true"
+ zoom-coverage-chart: "true"
+ targets:
+ - files:
+ healthy: 10
+ unhealthy: 20
+ failing: 30
+ - method:
+ healthy: 50
+ unhealthy: 40
+ failing: 30
+ - email-jenkins-admins-on-failure
diff --git a/jjb/yardstick/yardstick-daily-jobs.yml b/jjb/yardstick/yardstick-daily-jobs.yml
index 4c54b735a..1ae79e12f 100644
--- a/jjb/yardstick/yardstick-daily-jobs.yml
+++ b/jjb/yardstick/yardstick-daily-jobs.yml
@@ -1,3 +1,4 @@
+---
###################################
# job configuration for yardstick
###################################
@@ -6,197 +7,197 @@
project: '{name}'
-#--------------------------------
-# BRANCH ANCHORS
-#--------------------------------
+ # -------------------------------
+ # BRANCH ANCHORS
+ # -------------------------------
master: &master
- stream: master
- branch: '{stream}'
- gs-pathname: ''
- docker-tag: 'latest'
+ stream: master
+ branch: '{stream}'
+ gs-pathname: ''
+ docker-tag: 'latest'
euphrates: &euphrates
- stream: euphrates
- branch: 'stable/{stream}'
- gs-pathname: '{stream}'
- docker-tag: 'stable'
-#--------------------------------
-# POD, INSTALLER, AND BRANCH MAPPING
-#--------------------------------
-# Installers using labels
-# CI PODs
-# This section should only contain the installers
-# that have been switched using labels for slaves
-#--------------------------------
+ stream: euphrates
+ branch: 'stable/{stream}'
+ gs-pathname: '{stream}'
+ docker-tag: 'stable'
+ # -------------------------------
+ # POD, INSTALLER, AND BRANCH MAPPING
+ # -------------------------------
+ # Installers using labels
+ # CI PODs
+ # This section should only contain the installers
+ # that have been switched using labels for slaves
+ # -------------------------------
pod:
-# apex CI PODs
- - virtual:
- slave-label: apex-virtual-master
- installer: apex
- auto-trigger-name: 'daily-trigger-disabled'
- <<: *master
- - baremetal:
- slave-label: apex-baremetal-master
- installer: apex
- auto-trigger-name: 'daily-trigger-disabled'
- <<: *master
- - virtual:
- slave-label: apex-virtual-euphrates
- installer: apex
- auto-trigger-name: 'daily-trigger-disabled'
- <<: *euphrates
- - baremetal:
- slave-label: apex-baremetal-euphrates
- installer: apex
- auto-trigger-name: 'daily-trigger-disabled'
- <<: *euphrates
-# fuel CI PODs
- - baremetal:
- slave-label: fuel-baremetal
- installer: fuel
- auto-trigger-name: 'daily-trigger-disabled'
- <<: *master
- - virtual:
- slave-label: fuel-virtual
- installer: fuel
- auto-trigger-name: 'daily-trigger-disabled'
- <<: *master
- - baremetal:
- slave-label: fuel-baremetal
- installer: fuel
- auto-trigger-name: 'daily-trigger-disabled'
- <<: *euphrates
- - virtual:
- slave-label: fuel-virtual
- installer: fuel
- auto-trigger-name: 'daily-trigger-disabled'
- <<: *euphrates
-# armband CI PODs
- - armband-baremetal:
- slave-label: armband-baremetal
- installer: fuel
- auto-trigger-name: 'daily-trigger-disabled'
- <<: *master
- - armband-virtual:
- slave-label: armband-virtual
- installer: fuel
- auto-trigger-name: 'daily-trigger-disabled'
- <<: *master
- - armband-baremetal:
- slave-label: armband-baremetal
- installer: fuel
- auto-trigger-name: 'daily-trigger-disabled'
- <<: *euphrates
- - armband-virtual:
- slave-label: armband-virtual
- installer: fuel
- auto-trigger-name: 'daily-trigger-disabled'
- <<: *euphrates
-# joid CI PODs
- - baremetal:
- slave-label: joid-baremetal
- installer: joid
- auto-trigger-name: 'daily-trigger-disabled'
- <<: *master
- - virtual:
- slave-label: joid-virtual
- installer: joid
- auto-trigger-name: 'daily-trigger-disabled'
- <<: *master
- - baremetal:
- slave-label: joid-baremetal
- installer: joid
- auto-trigger-name: 'daily-trigger-disabled'
- <<: *euphrates
- - virtual:
- slave-label: joid-virtual
- installer: joid
- auto-trigger-name: 'daily-trigger-disabled'
- <<: *euphrates
-# compass CI PODs
- - baremetal:
- slave-label: compass-baremetal
- installer: compass
- auto-trigger-name: 'daily-trigger-disabled'
- <<: *master
- - virtual:
- slave-label: compass-virtual
- installer: compass
- auto-trigger-name: 'daily-trigger-disabled'
- <<: *master
- - baremetal:
- slave-label: compass-baremetal
- installer: compass
- auto-trigger-name: 'daily-trigger-disabled'
- <<: *euphrates
- - virtual:
- slave-label: compass-virtual
- installer: compass
- auto-trigger-name: 'daily-trigger-disabled'
- <<: *euphrates
-#--------------------------------
-# None-CI PODs
-#--------------------------------
- - orange-pod1:
- slave-label: '{pod}'
- installer: joid
- auto-trigger-name: 'daily-trigger-disabled'
- <<: *master
- - zte-pod1:
- slave-label: '{pod}'
- installer: fuel
- auto-trigger-name: 'daily-trigger-disabled'
- <<: *master
- - zte-pod1:
- slave-label: '{pod}'
- installer: fuel
- auto-trigger-name: 'daily-trigger-disabled'
- <<: *euphrates
- - zte-pod2:
- slave-label: '{pod}'
- installer: fuel
- auto-trigger-name: 'daily-trigger-disabled'
- <<: *master
- - zte-pod3:
- slave-label: '{pod}'
- installer: fuel
- auto-trigger-name: 'daily-trigger-disabled'
- <<: *master
- - zte-pod3:
- slave-label: '{pod}'
- installer: fuel
- auto-trigger-name: 'daily-trigger-disabled'
- <<: *euphrates
- - orange-pod2:
- slave-label: '{pod}'
- installer: joid
- auto-trigger-name: 'daily-trigger-disabled'
- <<: *master
- - huawei-pod3:
- slave-label: '{pod}'
- installer: compass
- auto-trigger-name: 'yardstick-daily-huawei-pod3-trigger'
- <<: *master
- - huawei-pod4:
- slave-label: '{pod}'
- installer: compass
- auto-trigger-name: 'yardstick-daily-huawei-pod4-trigger'
- <<: *master
- - baremetal-centos:
- slave-label: 'intel-pod8'
- installer: compass
- auto-trigger-name: 'daily-trigger-disabled'
- <<: *master
- - flex-pod1:
- slave-label: '{pod}'
- installer: apex
- auto-trigger-name: 'daily-trigger-disabled'
- <<: *master
-#--------------------------------
+ # apex CI PODs
+ - virtual:
+ slave-label: apex-virtual-master
+ installer: apex
+ auto-trigger-name: 'daily-trigger-disabled'
+ <<: *master
+ - baremetal:
+ slave-label: apex-baremetal-master
+ installer: apex
+ auto-trigger-name: 'daily-trigger-disabled'
+ <<: *master
+ - virtual:
+ slave-label: apex-virtual-euphrates
+ installer: apex
+ auto-trigger-name: 'daily-trigger-disabled'
+ <<: *euphrates
+ - baremetal:
+ slave-label: apex-baremetal-euphrates
+ installer: apex
+ auto-trigger-name: 'daily-trigger-disabled'
+ <<: *euphrates
+ # fuel CI PODs
+ - baremetal:
+ slave-label: fuel-baremetal
+ installer: fuel
+ auto-trigger-name: 'daily-trigger-disabled'
+ <<: *master
+ - virtual:
+ slave-label: fuel-virtual
+ installer: fuel
+ auto-trigger-name: 'daily-trigger-disabled'
+ <<: *master
+ - baremetal:
+ slave-label: fuel-baremetal
+ installer: fuel
+ auto-trigger-name: 'daily-trigger-disabled'
+ <<: *euphrates
+ - virtual:
+ slave-label: fuel-virtual
+ installer: fuel
+ auto-trigger-name: 'daily-trigger-disabled'
+ <<: *euphrates
+ # armband CI PODs
+ - armband-baremetal:
+ slave-label: armband-baremetal
+ installer: fuel
+ auto-trigger-name: 'daily-trigger-disabled'
+ <<: *master
+ - armband-virtual:
+ slave-label: armband-virtual
+ installer: fuel
+ auto-trigger-name: 'daily-trigger-disabled'
+ <<: *master
+ - armband-baremetal:
+ slave-label: armband-baremetal
+ installer: fuel
+ auto-trigger-name: 'daily-trigger-disabled'
+ <<: *euphrates
+ - armband-virtual:
+ slave-label: armband-virtual
+ installer: fuel
+ auto-trigger-name: 'daily-trigger-disabled'
+ <<: *euphrates
+ # joid CI PODs
+ - baremetal:
+ slave-label: joid-baremetal
+ installer: joid
+ auto-trigger-name: 'daily-trigger-disabled'
+ <<: *master
+ - virtual:
+ slave-label: joid-virtual
+ installer: joid
+ auto-trigger-name: 'daily-trigger-disabled'
+ <<: *master
+ - baremetal:
+ slave-label: joid-baremetal
+ installer: joid
+ auto-trigger-name: 'daily-trigger-disabled'
+ <<: *euphrates
+ - virtual:
+ slave-label: joid-virtual
+ installer: joid
+ auto-trigger-name: 'daily-trigger-disabled'
+ <<: *euphrates
+ # compass CI PODs
+ - baremetal:
+ slave-label: compass-baremetal
+ installer: compass
+ auto-trigger-name: 'daily-trigger-disabled'
+ <<: *master
+ - virtual:
+ slave-label: compass-virtual
+ installer: compass
+ auto-trigger-name: 'daily-trigger-disabled'
+ <<: *master
+ - baremetal:
+ slave-label: compass-baremetal
+ installer: compass
+ auto-trigger-name: 'daily-trigger-disabled'
+ <<: *euphrates
+ - virtual:
+ slave-label: compass-virtual
+ installer: compass
+ auto-trigger-name: 'daily-trigger-disabled'
+ <<: *euphrates
+ # -------------------------------
+ # None-CI PODs
+ # -------------------------------
+ - orange-pod1:
+ slave-label: '{pod}'
+ installer: joid
+ auto-trigger-name: 'daily-trigger-disabled'
+ <<: *master
+ - zte-pod1:
+ slave-label: '{pod}'
+ installer: fuel
+ auto-trigger-name: 'daily-trigger-disabled'
+ <<: *master
+ - zte-pod1:
+ slave-label: '{pod}'
+ installer: fuel
+ auto-trigger-name: 'daily-trigger-disabled'
+ <<: *euphrates
+ - zte-pod2:
+ slave-label: '{pod}'
+ installer: fuel
+ auto-trigger-name: 'daily-trigger-disabled'
+ <<: *master
+ - zte-pod3:
+ slave-label: '{pod}'
+ installer: fuel
+ auto-trigger-name: 'daily-trigger-disabled'
+ <<: *master
+ - zte-pod3:
+ slave-label: '{pod}'
+ installer: fuel
+ auto-trigger-name: 'daily-trigger-disabled'
+ <<: *euphrates
+ - orange-pod2:
+ slave-label: '{pod}'
+ installer: joid
+ auto-trigger-name: 'daily-trigger-disabled'
+ <<: *master
+ - huawei-pod3:
+ slave-label: '{pod}'
+ installer: compass
+ auto-trigger-name: 'yardstick-daily-huawei-pod3-trigger'
+ <<: *master
+ - huawei-pod4:
+ slave-label: '{pod}'
+ installer: compass
+ auto-trigger-name: 'yardstick-daily-huawei-pod4-trigger'
+ <<: *master
+ - baremetal-centos:
+ slave-label: 'intel-pod8'
+ installer: compass
+ auto-trigger-name: 'daily-trigger-disabled'
+ <<: *master
+ - flex-pod1:
+ slave-label: '{pod}'
+ installer: apex
+ auto-trigger-name: 'daily-trigger-disabled'
+ <<: *master
+ # -------------------------------
testsuite:
- - 'daily'
+ - 'daily'
jobs:
- - 'yardstick-{installer}-{pod}-{testsuite}-{stream}'
+ - 'yardstick-{installer}-{pod}-{testsuite}-{stream}'
################################
# job templates
@@ -209,61 +210,61 @@
concurrent: true
properties:
- - logrotate-default
- - throttle:
- enabled: true
- max-per-node: 1
- option: 'project'
+ - logrotate-default
+ - throttle:
+ enabled: true
+ max-per-node: 1
+ option: 'project'
wrappers:
- - build-name:
- name: '$BUILD_NUMBER - Scenario: $DEPLOY_SCENARIO'
- - timeout:
- timeout: 180
- abort: true
+ - build-name:
+ name: '$BUILD_NUMBER - Scenario: $DEPLOY_SCENARIO'
+ - timeout:
+ timeout: 180
+ abort: true
triggers:
- - '{auto-trigger-name}'
+ - '{auto-trigger-name}'
parameters:
- - project-parameter:
- project: '{project}'
- branch: '{branch}'
- - '{installer}-defaults'
- - '{slave-label}-defaults'
- - 'yardstick-params-{slave-label}'
- - string:
- name: DEPLOY_SCENARIO
- default: 'os-odl_l2-nofeature-ha'
- - string:
- name: DOCKER_TAG
- default: '{docker-tag}'
- description: 'Tag to pull docker image'
- - string:
- name: YARDSTICK_SCENARIO_SUITE_NAME
- default: opnfv_${{DEPLOY_SCENARIO}}_{testsuite}.yaml
- description: 'Path to test scenario suite'
- - string:
- name: CI_DEBUG
- default: 'false'
- description: "Show debut output information"
+ - project-parameter:
+ project: '{project}'
+ branch: '{branch}'
+ - '{installer}-defaults'
+ - '{slave-label}-defaults'
+ - 'yardstick-params-{slave-label}'
+ - string:
+ name: DEPLOY_SCENARIO
+ default: 'os-odl_l2-nofeature-ha'
+ - string:
+ name: DOCKER_TAG
+ default: '{docker-tag}'
+ description: 'Tag to pull docker image'
+ - string:
+ name: YARDSTICK_SCENARIO_SUITE_NAME
+ default: opnfv_${{DEPLOY_SCENARIO}}_{testsuite}.yaml
+ description: 'Path to test scenario suite'
+ - string:
+ name: CI_DEBUG
+ default: 'false'
+ description: "Show debut output information"
scm:
- - git-scm
+ - git-scm
builders:
- - description-setter:
- description: "POD: $NODE_NAME"
- - 'yardstick-cleanup'
- - 'yardstick-fetch-os-creds'
- - 'yardstick-fetch-k8s-conf'
- - 'yardstick-{testsuite}'
- - 'yardstick-store-results'
+ - description-setter:
+ description: "POD: $NODE_NAME"
+ - 'yardstick-cleanup'
+ - 'yardstick-fetch-os-creds'
+ - 'yardstick-fetch-k8s-conf'
+ - 'yardstick-{testsuite}'
+ - 'yardstick-store-results'
publishers:
- - email:
- recipients: jean.gaoliang@huawei.com limingjiang@huawei.com ross.b.brattain@intel.com
- - email-jenkins-admins-on-failure
+ - email:
+ recipients: jean.gaoliang@huawei.com limingjiang@huawei.com ross.b.brattain@intel.com
+ - email-jenkins-admins-on-failure
########################
# builder macros
@@ -271,204 +272,216 @@
- builder:
name: yardstick-daily
builders:
- - shell:
- !include-raw: ./yardstick-daily.sh
+ - shell:
+ !include-raw: ./yardstick-daily.sh
- builder:
name: yardstick-vtcdaily
builders:
- - shell:
- !include-raw: ./yardstick-vtcdaily.sh
+ - shell:
+ !include-raw: ./yardstick-vtcdaily.sh
- builder:
name: yardstick-fetch-os-creds
builders:
- - shell:
- !include-raw: ../../utils/fetch_os_creds.sh
+ - shell:
+ !include-raw: ../../utils/fetch_os_creds.sh
- builder:
name: yardstick-fetch-k8s-conf
builders:
- - shell:
- !include-raw: ./yardstick-get-k8s-conf.sh
+ - shell:
+ !include-raw: ./yardstick-get-k8s-conf.sh
- builder:
name: yardstick-store-results
builders:
- - shell:
- !include-raw: ../../utils/push-test-logs.sh
+ - shell:
+ !include-raw: ../../utils/push-test-logs.sh
- builder:
name: yardstick-cleanup
builders:
- - shell:
- !include-raw: ./yardstick-cleanup.sh
+ - shell:
+ !include-raw: ./yardstick-cleanup.sh
########################
# parameter macros
########################
- parameter:
name: 'yardstick-params-apex-virtual-master'
parameters:
- - string:
- name: YARDSTICK_DB_BACKEND
- default: '-i 104.197.68.199:8086'
- description: 'Arguments to use in order to choose the backend DB'
+ - string:
+ name: YARDSTICK_DB_BACKEND
+ default: '-i 104.197.68.199:8086'
+ description: 'Arguments to use in order to choose the backend DB'
+
- parameter:
name: 'yardstick-params-apex-baremetal-master'
parameters:
- - string:
- name: YARDSTICK_DB_BACKEND
- default: '-i 104.197.68.199:8086'
- description: 'Arguments to use in order to choose the backend DB'
+ - string:
+ name: YARDSTICK_DB_BACKEND
+ default: '-i 104.197.68.199:8086'
+ description: 'Arguments to use in order to choose the backend DB'
+
- parameter:
name: 'yardstick-params-apex-virtual-euphrates'
parameters:
- - string:
- name: YARDSTICK_DB_BACKEND
- default: '-i 104.197.68.199:8086'
- description: 'Arguments to use in order to choose the backend DB'
+ - string:
+ name: YARDSTICK_DB_BACKEND
+ default: '-i 104.197.68.199:8086'
+ description: 'Arguments to use in order to choose the backend DB'
+
- parameter:
name: 'yardstick-params-apex-baremetal-euphrates'
parameters:
- - string:
- name: YARDSTICK_DB_BACKEND
- default: '-i 104.197.68.199:8086'
- description: 'Arguments to use in order to choose the backend DB'
+ - string:
+ name: YARDSTICK_DB_BACKEND
+ default: '-i 104.197.68.199:8086'
+ description: 'Arguments to use in order to choose the backend DB'
+
- parameter:
name: 'yardstick-params-fuel-baremetal'
parameters:
- - string:
- name: YARDSTICK_DB_BACKEND
- default: '-i 104.197.68.199:8086'
- description: 'Arguments to use in order to choose the backend DB'
+ - string:
+ name: YARDSTICK_DB_BACKEND
+ default: '-i 104.197.68.199:8086'
+ description: 'Arguments to use in order to choose the backend DB'
+
- parameter:
name: 'yardstick-params-fuel-virtual'
parameters:
- - string:
- name: YARDSTICK_DB_BACKEND
- default: '-i 104.197.68.199:8086'
- description: 'Arguments to use in order to choose the backend DB'
+ - string:
+ name: YARDSTICK_DB_BACKEND
+ default: '-i 104.197.68.199:8086'
+ description: 'Arguments to use in order to choose the backend DB'
+
- parameter:
name: 'yardstick-params-armband-baremetal'
parameters:
- - string:
- name: YARDSTICK_DB_BACKEND
- default: '-i 104.197.68.199:8086'
- description: 'Arguments to use in order to choose the backend DB'
+ - string:
+ name: YARDSTICK_DB_BACKEND
+ default: '-i 104.197.68.199:8086'
+ description: 'Arguments to use in order to choose the backend DB'
+
- parameter:
name: 'yardstick-params-armband-virtual'
parameters:
- - string:
- name: YARDSTICK_DB_BACKEND
- default: '-i 104.197.68.199:8086'
- description: 'Arguments to use in order to choose the backend DB'
+ - string:
+ name: YARDSTICK_DB_BACKEND
+ default: '-i 104.197.68.199:8086'
+ description: 'Arguments to use in order to choose the backend DB'
+
- parameter:
name: 'yardstick-params-joid-baremetal'
parameters:
- - string:
- name: YARDSTICK_DB_BACKEND
- default: '-i 104.197.68.199:8086'
- description: 'Arguments to use in order to choose the backend DB'
+ - string:
+ name: YARDSTICK_DB_BACKEND
+ default: '-i 104.197.68.199:8086'
+ description: 'Arguments to use in order to choose the backend DB'
+
- parameter:
name: 'yardstick-params-joid-virtual'
parameters:
- - string:
- name: YARDSTICK_DB_BACKEND
- default: '-i 104.197.68.199:8086'
- description: 'Arguments to use in order to choose the backend DB'
+ - string:
+ name: YARDSTICK_DB_BACKEND
+ default: '-i 104.197.68.199:8086'
+ description: 'Arguments to use in order to choose the backend DB'
+
- parameter:
name: 'yardstick-params-intel-pod8'
parameters:
- - string:
- name: YARDSTICK_DB_BACKEND
- default: '-i 104.197.68.199:8086'
- description: 'Arguments to use in order to choose the backend DB'
+ - string:
+ name: YARDSTICK_DB_BACKEND
+ default: '-i 104.197.68.199:8086'
+ description: 'Arguments to use in order to choose the backend DB'
+
- parameter:
name: 'yardstick-params-compass-baremetal'
parameters:
- - string:
- name: YARDSTICK_DB_BACKEND
- default: '-i 104.197.68.199:8086'
- description: 'Arguments to use in order to choose the backend DB'
+ - string:
+ name: YARDSTICK_DB_BACKEND
+ default: '-i 104.197.68.199:8086'
+ description: 'Arguments to use in order to choose the backend DB'
+
- parameter:
name: 'yardstick-params-zte-pod1'
parameters:
- - string:
- name: YARDSTICK_DB_BACKEND
- default: '-i 104.197.68.199:8086'
- description: 'Arguments to use in order to choose the backend DB'
+ - string:
+ name: YARDSTICK_DB_BACKEND
+ default: '-i 104.197.68.199:8086'
+ description: 'Arguments to use in order to choose the backend DB'
- parameter:
name: 'yardstick-params-zte-pod2'
parameters:
- - string:
- name: YARDSTICK_DB_BACKEND
- default: '-i 104.197.68.199:8086'
- description: 'Arguments to use in order to choose the backend DB'
+ - string:
+ name: YARDSTICK_DB_BACKEND
+ default: '-i 104.197.68.199:8086'
+ description: 'Arguments to use in order to choose the backend DB'
- parameter:
name: 'yardstick-params-zte-pod3'
parameters:
- - string:
- name: YARDSTICK_DB_BACKEND
- default: '-i 104.197.68.199:8086'
- description: 'Arguments to use in order to choose the backend DB'
+ - string:
+ name: YARDSTICK_DB_BACKEND
+ default: '-i 104.197.68.199:8086'
+ description: 'Arguments to use in order to choose the backend DB'
- parameter:
name: 'yardstick-params-orange-pod1'
parameters:
- - string:
- name: YARDSTICK_DB_BACKEND
- default: '-i 104.197.68.199:8086'
- description: 'Arguments to use in order to choose the backend DB'
+ - string:
+ name: YARDSTICK_DB_BACKEND
+ default: '-i 104.197.68.199:8086'
+ description: 'Arguments to use in order to choose the backend DB'
- parameter:
name: 'yardstick-params-orange-pod2'
parameters:
- - string:
- name: YARDSTICK_DB_BACKEND
- default: '-i 104.197.68.199:8086'
- description: 'Arguments to use in order to choose the backend DB'
+ - string:
+ name: YARDSTICK_DB_BACKEND
+ default: '-i 104.197.68.199:8086'
+ description: 'Arguments to use in order to choose the backend DB'
- parameter:
name: 'yardstick-params-virtual'
parameters:
- - string:
- name: YARDSTICK_DB_BACKEND
- default: '-i 104.197.68.199:8086'
- description: 'Arguments to use in order to choose the backend DB'
+ - string:
+ name: YARDSTICK_DB_BACKEND
+ default: '-i 104.197.68.199:8086'
+ description: 'Arguments to use in order to choose the backend DB'
- parameter:
name: 'yardstick-params-compass-virtual'
parameters:
- - string:
- name: YARDSTICK_DB_BACKEND
- default: '-i 104.197.68.199:8086'
- description: 'Arguments to use in order to choose the backend DB'
+ - string:
+ name: YARDSTICK_DB_BACKEND
+ default: '-i 104.197.68.199:8086'
+ description: 'Arguments to use in order to choose the backend DB'
- parameter:
name: 'yardstick-params-huawei-pod3'
parameters:
- - string:
- name: YARDSTICK_DB_BACKEND
- default: '-i 104.197.68.199:8086'
- description: 'Arguments to use in order to choose the backend DB'
+ - string:
+ name: YARDSTICK_DB_BACKEND
+ default: '-i 104.197.68.199:8086'
+ description: 'Arguments to use in order to choose the backend DB'
- parameter:
name: 'yardstick-params-huawei-pod4'
parameters:
- - string:
- name: YARDSTICK_DB_BACKEND
- default: '-i 104.197.68.199:8086'
- description: 'Arguments to use in order to choose the backend DB'
+ - string:
+ name: YARDSTICK_DB_BACKEND
+ default: '-i 104.197.68.199:8086'
+ description: 'Arguments to use in order to choose the backend DB'
- parameter:
name: 'yardstick-params-flex-pod1'
parameters:
- - string:
- name: YARDSTICK_DB_BACKEND
- default: '-i 104.197.68.199:8086'
- description: 'Arguments to use in order to choose the backend DB'
+ - string:
+ name: YARDSTICK_DB_BACKEND
+ default: '-i 104.197.68.199:8086'
+ description: 'Arguments to use in order to choose the backend DB'
#######################
## trigger macros
@@ -477,9 +490,9 @@
- trigger:
name: 'yardstick-daily-huawei-pod3-trigger'
triggers:
- - timed: '0 1 * * *'
+ - timed: '0 1 * * *'
- trigger:
name: 'yardstick-daily-huawei-pod4-trigger'
triggers:
- - timed: ''
+ - timed: ''
diff --git a/jjb/yardstick/yardstick-project-jobs.yml b/jjb/yardstick/yardstick-project-jobs.yml
index 7738aeda5..7486d8a11 100644
--- a/jjb/yardstick/yardstick-project-jobs.yml
+++ b/jjb/yardstick/yardstick-project-jobs.yml
@@ -1,3 +1,4 @@
+---
###################################################
# All the jobs except verify have been removed!
# They will only be enabled on request by projects!
@@ -8,18 +9,18 @@
project: 'yardstick'
jobs:
- - 'yardstick-verify-{stream}'
- - 'yardstick-merge-{stream}'
+ - 'yardstick-verify-{stream}'
+ - 'yardstick-merge-{stream}'
stream:
- - master:
- branch: '{stream}'
- gs-pathname: ''
- disabled: false
- - euphrates:
- branch: 'stable/{stream}'
- gs-pathname: '/{stream}'
- disabled: false
+ - master:
+ branch: '{stream}'
+ gs-pathname: ''
+ disabled: false
+ - euphrates:
+ branch: 'stable/{stream}'
+ gs-pathname: '/{stream}'
+ disabled: false
################################
# job templates
@@ -31,42 +32,42 @@
disabled: '{obj:disabled}'
parameters:
- - project-parameter:
- project: '{project}'
- branch: '{branch}'
- - 'opnfv-build-ubuntu-defaults'
+ - project-parameter:
+ project: '{project}'
+ branch: '{branch}'
+ - 'opnfv-build-ubuntu-defaults'
scm:
- - git-scm-gerrit
+ - 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}'
+ - 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}'
wrappers:
- - ssh-agent-wrapper
- - timeout:
- timeout: 30
- fail: true
+ - ssh-agent-wrapper
+ - timeout:
+ timeout: 30
+ fail: true
builders:
- - yardstick-unit-tests-and-docs-build
+ - yardstick-unit-tests-and-docs-build
- job-template:
name: 'yardstick-merge-{stream}'
@@ -74,40 +75,40 @@
disabled: '{obj:disabled}'
parameters:
- - project-parameter:
- project: '{project}'
- branch: '{branch}'
- - 'opnfv-build-ubuntu-defaults'
- - string:
- name: GS_URL
- default: '$GS_BASE{gs-pathname}'
- description: "Directory where the build artifact will be located upon the completion of the build."
+ - project-parameter:
+ project: '{project}'
+ branch: '{branch}'
+ - 'opnfv-build-ubuntu-defaults'
+ - string:
+ name: GS_URL
+ default: '$GS_BASE{gs-pathname}'
+ description: "Directory where the build artifact will be located upon the completion of the build."
scm:
- - git-scm
+ - git-scm
triggers:
- - gerrit:
- server-name: 'gerrit.opnfv.org'
- trigger-on:
- - change-merged-event
- - comment-added-contains-event:
- comment-contains-value: 'remerge'
- projects:
- - project-compare-type: 'ANT'
- project-pattern: '{project}'
- branches:
- - branch-compare-type: 'ANT'
- branch-pattern: '**/{branch}'
+ - gerrit:
+ server-name: 'gerrit.opnfv.org'
+ trigger-on:
+ - change-merged-event
+ - comment-added-contains-event:
+ comment-contains-value: 'remerge'
+ projects:
+ - project-compare-type: 'ANT'
+ project-pattern: '{project}'
+ branches:
+ - branch-compare-type: 'ANT'
+ branch-pattern: '**/{branch}'
wrappers:
- - ssh-agent-wrapper
- - timeout:
- timeout: 30
- fail: true
+ - ssh-agent-wrapper
+ - timeout:
+ timeout: 30
+ fail: true
builders:
- - yardstick-unit-tests-and-docs-build
+ - yardstick-unit-tests-and-docs-build
################################
# job builders
@@ -116,13 +117,13 @@
- builder:
name: yardstick-unit-tests-and-docs-build
builders:
- - shell: |
- #!/bin/bash
- set -o errexit
- set -o pipefail
+ - shell: |
+ #!/bin/bash
+ set -o errexit
+ set -o pipefail
- sudo apt-get install -y build-essential python-dev python3-dev
+ sudo apt-get install -y build-essential python-dev python3-dev
- echo "Running unit tests..."
- cd $WORKSPACE
- tox
+ echo "Running unit tests..."
+ cd $WORKSPACE
+ tox
diff --git a/utils/test/reporting/reporting/utils/reporting_utils.py b/utils/test/reporting/reporting/utils/reporting_utils.py
index 235bd6ef9..6c0d5a23f 100644
--- a/utils/test/reporting/reporting/utils/reporting_utils.py
+++ b/utils/test/reporting/reporting/utils/reporting_utils.py
@@ -205,25 +205,34 @@ def getScenarioStatus(installer, version):
except URLError:
print "GetScenarioStatus: error when calling the API"
- scenario_results = {}
- result_dict = {}
+ x86 = 'x86'
+ aarch64 = 'aarch64'
+ scenario_results = {x86: {}, aarch64: {}}
+ result_dict = {x86: {}, aarch64: {}}
if test_results is not None:
for test_r in test_results:
if (test_r['stop_date'] != 'None' and
test_r['criteria'] is not None):
- if not test_r['scenario'] in scenario_results.keys():
- scenario_results[test_r['scenario']] = []
- scenario_results[test_r['scenario']].append(test_r)
-
- for scen_k, scen_v in scenario_results.items():
- # scenario_results[k] = v[:LASTEST_TESTS]
- s_list = []
- for element in scen_v:
- if element['criteria'] == 'SUCCESS':
- s_list.append(1)
+ scenario_name = test_r['scenario']
+ if 'arm' in test_r['pod_name']:
+ if not test_r['scenario'] in scenario_results[aarch64]:
+ scenario_results[aarch64][scenario_name] = []
+ scenario_results[aarch64][scenario_name].append(test_r)
else:
- s_list.append(0)
- result_dict[scen_k] = s_list
+ if not test_r['scenario'] in scenario_results[x86]:
+ scenario_results[x86][scenario_name] = []
+ scenario_results[x86][scenario_name].append(test_r)
+
+ for key in scenario_results:
+ for scen_k, scen_v in scenario_results[key].items():
+ # scenario_results[k] = v[:LASTEST_TESTS]
+ s_list = []
+ for element in scen_v:
+ if element['criteria'] == 'SUCCESS':
+ s_list.append(1)
+ else:
+ s_list.append(0)
+ result_dict[key][scen_k] = s_list
# return scenario_results
return result_dict
diff --git a/utils/test/reporting/reporting/yardstick/reporting-status.py b/utils/test/reporting/reporting/yardstick/reporting-status.py
index 6584f4e8d..77e260412 100644
--- a/utils/test/reporting/reporting/yardstick/reporting-status.py
+++ b/utils/test/reporting/reporting/yardstick/reporting-status.py
@@ -11,109 +11,147 @@ import os
import jinja2
-import reporting.utils.scenarioResult as sr
-import reporting.utils.reporting_utils as rp_utils
-from scenarios import config as cf
+from reporting.utils.scenarioResult import ScenarioResult
+from reporting.utils import reporting_utils as utils
+from scenarios import config as blacklist
-installers = rp_utils.get_config('general.installers')
-versions = rp_utils.get_config('general.versions')
-PERIOD = rp_utils.get_config('general.period')
# Logger
-logger = rp_utils.getLogger("Yardstick-Status")
-reportingDate = datetime.datetime.now().strftime("%Y-%m-%d %H:%M")
-
-logger.info("*******************************************")
-logger.info("* Generating reporting scenario status *")
-logger.info("* Data retention = %s days *" % PERIOD)
-logger.info("* *")
-logger.info("*******************************************")
-
-
-# For all the versions
-for version in versions:
- # For all the installers
- for installer in installers:
- # get scenarios results data
- scenario_results = rp_utils.getScenarioStatus(installer, version)
- if 'colorado' == version:
- stable_result = rp_utils.getScenarioStatus(installer,
- 'stable/colorado')
- for k, v in stable_result.items():
- if k not in scenario_results.keys():
- scenario_results[k] = []
- scenario_results[k] += stable_result[k]
- scenario_result_criteria = {}
-
- for s in scenario_results.keys():
- if installer in cf.keys() and s in cf[installer].keys():
- scenario_results.pop(s)
-
- # From each scenarios get results list
- for s, s_result in scenario_results.items():
- logger.info("---------------------------------")
- logger.info("installer %s, version %s, scenario %s", installer,
- version, s)
-
- ten_criteria = len(s_result)
- ten_score = 0
- for v in s_result:
- ten_score += v
-
- LASTEST_TESTS = rp_utils.get_config(
- 'general.nb_iteration_tests_success_criteria')
- four_result = s_result[:LASTEST_TESTS]
- four_criteria = len(four_result)
- four_score = 0
- for v in four_result:
- four_score += v
-
- s_status = str(rp_utils.get_percent(four_result, s_result))
- s_four_score = str(four_score) + '/' + str(four_criteria)
- s_ten_score = str(ten_score) + '/' + str(ten_criteria)
- s_score_percent = rp_utils.get_percent(four_result, s_result)
-
- if '100' == s_status:
- logger.info(">>>>> scenario OK, save the information")
- else:
- logger.info(">>>> scenario not OK, last 4 iterations = %s, \
- last 10 days = %s" % (s_four_score, s_ten_score))
-
- # Save daily results in a file
- path_validation_file = ("./display/" + version +
- "/yardstick/scenario_history.txt")
-
- if not os.path.exists(path_validation_file):
- with open(path_validation_file, 'w') as f:
- info = 'date,scenario,installer,details,score\n'
- f.write(info)
-
- with open(path_validation_file, "a") as f:
- info = (reportingDate + "," + s + "," + installer +
- "," + s_ten_score + "," +
- str(s_score_percent) + "\n")
- f.write(info)
-
- scenario_result_criteria[s] = sr.ScenarioResult(s_status,
- s_four_score,
- s_ten_score,
- s_score_percent)
-
- logger.info("--------------------------")
-
- templateLoader = jinja2.FileSystemLoader(".")
- templateEnv = jinja2.Environment(loader=templateLoader,
- autoescape=True)
-
- TEMPLATE_FILE = "./reporting/yardstick/template/index-status-tmpl.html"
- template = templateEnv.get_template(TEMPLATE_FILE)
-
- outputText = template.render(scenario_results=scenario_result_criteria,
- installer=installer,
- period=PERIOD,
- version=version,
- date=reportingDate)
-
- with open("./display/" + version +
- "/yardstick/status-" + installer + ".html", "wb") as fh:
- fh.write(outputText)
+LOG = utils.getLogger("Yardstick-Status")
+
+
+def get_scenario_data(version, installer):
+ scenarios = utils.getScenarioStatus(installer, version)
+
+ if 'colorado' == version:
+ data = utils.getScenarioStatus(installer, 'stable/colorado')
+ for archi, value in data.items():
+ for k, v in value.items():
+ if k not in scenarios[archi]:
+ scenarios[archi][k] = []
+ scenarios[archi][k].extend(data[archi][k])
+
+ for archi, value in scenarios.items():
+ for scenario in value:
+ if installer in blacklist and scenario in blacklist[installer]:
+ scenarios[archi].pop(scenario)
+
+ return scenarios
+
+
+def write_history_data(version, scenario, installer, ten_score, percent):
+ # Save daily results in a file
+ history_file = './display/{}/yardstick/scenario_history.txt'.format(
+ version)
+
+ if not os.path.exists(history_file):
+ with open(history_file, 'w') as f:
+ f.write('date,scenario,installer,details,score\n')
+
+ date = datetime.datetime.now().strftime("%Y-%m-%d %H:%M")
+ with open(history_file, "a") as f:
+ info = '{},{},{},{},{}\n'.format(date,
+ scenario,
+ installer,
+ ten_score,
+ percent)
+ f.write(info)
+
+
+def generate_page(scenario_data, installer, period, version, architecture):
+ date = datetime.datetime.now().strftime("%Y-%m-%d %H:%M")
+
+ templateLoader = jinja2.FileSystemLoader(".")
+ template_env = jinja2.Environment(loader=templateLoader,
+ autoescape=True)
+
+ template_file = "./reporting/yardstick/template/index-status-tmpl.html"
+ template = template_env.get_template(template_file)
+
+ if installer == 'fuel':
+ installer = '{}@{}'.format(installer, architecture)
+
+ output_text = template.render(scenario_results=scenario_data,
+ installer=installer,
+ period=period,
+ version=version,
+ date=date)
+
+ page_file = './display/{}/yardstick/status-{}.html'.format(version,
+ installer)
+ with open(page_file, 'wb') as f:
+ f.write(output_text)
+
+
+def do_statistic(data):
+ ten_score = 0
+ for v in data:
+ ten_score += v
+
+ last_count = utils.get_config(
+ 'general.nb_iteration_tests_success_criteria')
+ last_data = data[:last_count]
+ last_score = 0
+ for v in last_data:
+ last_score += v
+
+ percent = utils.get_percent(last_data, data)
+ status = str(percent)
+ last_score = '{}/{}'.format(last_score, len(last_data))
+ ten_score = '{}/{}'.format(ten_score, len(data))
+
+ if '100' == status:
+ LOG.info(">>>>> scenario OK, save the information")
+ else:
+ LOG.info(">>>> scenario not OK, last 4 iterations = %s, \
+ last 10 days = %s" % (last_score, ten_score))
+
+ return last_score, ten_score, percent, status
+
+
+def generate_reporting_page(version, installer, archi, scenarios, period):
+ scenario_data = {}
+
+ # From each scenarios get results list
+ for scenario, data in scenarios.items():
+ LOG.info("---------------------------------")
+
+ LOG.info("installer %s, version %s, scenario %s",
+ installer,
+ version,
+ scenario)
+ last_score, ten_score, percent, status = do_statistic(data)
+ write_history_data(version, scenario, installer, ten_score, percent)
+ scenario_data[scenario] = ScenarioResult(status,
+ last_score,
+ ten_score,
+ percent)
+
+ LOG.info("--------------------------")
+ if scenario_data:
+ generate_page(scenario_data, installer, period, version, archi)
+
+
+def main():
+ installers = utils.get_config('general.installers')
+ versions = utils.get_config('general.versions')
+ period = utils.get_config('general.period')
+
+ LOG.info("*******************************************")
+ LOG.info("* Generating reporting scenario status *")
+ LOG.info("* Data retention = %s days *" % period)
+ LOG.info("* *")
+ LOG.info("*******************************************")
+
+ # For all the versions
+ for version in versions:
+ # For all the installers
+ for installer in installers:
+ # get scenarios results data
+ scenarios = get_scenario_data(version, installer)
+ for k, v in scenarios.items():
+ generate_reporting_page(version, installer, k, v, period)
+
+
+if __name__ == '__main__':
+ main()
diff --git a/utils/test/reporting/reporting/yardstick/template/index-status-tmpl.html b/utils/test/reporting/reporting/yardstick/template/index-status-tmpl.html
index f9b852490..3db32e531 100644
--- a/utils/test/reporting/reporting/yardstick/template/index-status-tmpl.html
+++ b/utils/test/reporting/reporting/yardstick/template/index-status-tmpl.html
@@ -70,7 +70,8 @@
<li class="active"><a href="http://testresults.opnfv.org/reporting/index.html">Home</a></li>
<li><a href="status-apex.html">Apex</a></li>
<li><a href="status-compass.html">Compass</a></li>
- <li><a href="status-fuel.html">Fuel</a></li>
+ <li><a href="status-fuel@x86.html">Fuel@x86</a></li>
+ <li><a href="status-fuel@aarch64.html">Fuel@aarch64</a></li>
<li><a href="status-joid.html">Joid</a></li>
</ul>
</nav>