diff options
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: ¶meters - - 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: ¶meters - - 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> |