- project:
name: 'armband-ci'
project: 'armband'
+ installer: 'fuel'
# -------------------------------
# BRANCH ANCHORS
gs-pathname: ''
disabled: false
functest_docker_tag: hunter
- fraser: &fraser
- stream: fraser
- branch: 'stable/{stream}'
- disabled: false
- gs-pathname: '/{stream}'
- functest_docker_tag: '{stream}'
- gambia: &gambia
- stream: gambia
+ hunter: &hunter
+ stream: hunter
branch: 'stable/{stream}'
gs-pathname: '/{stream}'
disabled: true
functest_docker_tag: '{stream}'
# -------------------------------
- # DEPLOY TYPE ANCHORS
- # -------------------------------
- baremetal: &baremetal
- installer: 'fuel'
- deploy-type: 'baremetal'
- slave-label: 'armband-{deploy-type}'
- virtual: &virtual
- installer: 'fuel'
- deploy-type: 'virtual'
- slave-label: 'armband-{deploy-type}'
- # -------------------------------
# POD, INSTALLER, AND BRANCH MAPPING
# -------------------------------
# CI POD's
# -------------------------------
- # yamllint disable rule:key-duplicates
pod:
# -------------------------------
- # fraser
- # -------------------------------
- - armband-baremetal:
- <<: *baremetal
- <<: *fraser
- # -------------------------------
- # gambia
+ # hunter
# -------------------------------
- armband-baremetal:
- <<: *baremetal
- <<: *gambia
- - armband-virtual:
- <<: *virtual
- <<: *gambia
+ deploy-type: 'baremetal'
+ slave-label: 'armband-{deploy-type}'
+ <<: *hunter
# -------------------------------
# master
# -------------------------------
- armband-baremetal:
- <<: *baremetal
+ deploy-type: 'baremetal'
+ slave-label: 'armband-{deploy-type}'
<<: *master
- - armband-virtual:
- <<: *virtual
- <<: *master
- # yamllint enable rule:key-duplicates
# -------------------------------
# scenarios
# -------------------------------
scenario:
# HA scenarios
- 'os-nosdn-nofeature-ha':
- auto-trigger-name: '{installer}-{scenario}-{pod}-{stream}-trigger'
+ auto-trigger-name: 'fuel-{scenario}-{pod}-{stream}-trigger'
- 'os-odl-nofeature-ha':
- auto-trigger-name: '{installer}-{scenario}-{pod}-{stream}-trigger'
+ auto-trigger-name: 'fuel-{scenario}-{pod}-{stream}-trigger'
- 'os-ovn-nofeature-ha':
- auto-trigger-name: '{installer}-{scenario}-{pod}-{stream}-trigger'
+ auto-trigger-name: 'fuel-{scenario}-{pod}-{stream}-trigger'
- 'os-nosdn-ovs-ha':
- auto-trigger-name: '{installer}-{scenario}-{pod}-{stream}-trigger'
+ auto-trigger-name: 'fuel-{scenario}-{pod}-{stream}-trigger'
# NOHA scenarios
- 'os-nosdn-nofeature-noha':
- auto-trigger-name: '{installer}-{scenario}-{pod}-{stream}-trigger'
+ auto-trigger-name: 'fuel-{scenario}-{pod}-{stream}-trigger'
- 'os-nosdn-fdio-noha':
- auto-trigger-name: '{installer}-{scenario}-{pod}-{stream}-trigger'
-
- exclude:
- # Dovetail (and only it) should run against Fraser HA baremetal scenarios
- - scenario: os-nosdn-nofeature-noha
- stream: fraser
- - scenario: os-ovn-nofeature-ha
- stream: fraser
- - scenario: os-nosdn-fdio-noha
- stream: fraser
+ auto-trigger-name: 'fuel-{scenario}-{pod}-{stream}-trigger'
jobs:
- - '{installer}-{scenario}-{pod}-daily-{stream}'
- - '{installer}-deploy-{pod}-daily-{stream}'
+ - 'fuel-{scenario}-{pod}-daily-{stream}'
+ - 'fuel-deploy-{pod}-daily-{stream}'
########################
-# job templates
+# job templates: Armband uses Fuel's job templates, no need to duplicate
########################
-- job-template:
- name: '{installer}-{scenario}-{pod}-daily-{stream}'
-
- disabled: '{obj:disabled}'
-
- concurrent: false
-
- properties:
- - logrotate-default
- - throttle:
- enabled: true
- max-total: 4
- max-per-node: 1
- option: 'project'
- - build-blocker:
- use-build-blocker: true
- blocking-jobs:
- - '{installer}-os-.*?-{pod}-daily-.*'
- - 'armband-verify-.*'
- blocking-level: 'NODE'
-
- wrappers:
- - build-name:
- name: '$BUILD_NUMBER - Scenario: $DEPLOY_SCENARIO'
-
- triggers:
- - '{auto-trigger-name}'
-
- parameters:
- - project-parameter:
- project: '{project}'
- branch: '{branch}'
- - '{installer}-defaults':
- gs-pathname: '{gs-pathname}'
- - '{slave-label}-defaults':
- installer: '{installer}'
- - string:
- name: DEPLOY_SCENARIO
- default: '{scenario}'
-
- builders:
- - trigger-builds:
- - project: '{installer}-deploy-{pod}-daily-{stream}'
- current-parameters: false
- predefined-parameters: |
- DEPLOY_SCENARIO={scenario}
- INSTALLER_VERSION={stream}
- same-node: true
- block: true
- - conditional-step:
- condition-kind: not
- condition-operand:
- condition-kind: regex-match
- regex: 'fraser'
- label: '{stream}'
- steps:
- - trigger-builds:
- - project: 'functest-{installer}-{pod}-daily-{stream}'
- current-parameters: false
- predefined-parameters: |
- DEPLOY_SCENARIO={scenario}
- INSTALLER_VERSION={stream}
- DOCKER_TAG={functest_docker_tag}
- same-node: true
- block: true
- block-thresholds:
- build-step-failure-threshold: 'never'
- failure-threshold: 'never'
- unstable-threshold: 'FAILURE'
- - conditional-step:
- condition-kind: not
- condition-operand:
- condition-kind: regex-match
- regex: 'fraser'
- label: '{stream}'
- steps:
- - trigger-builds:
- - project: 'yardstick-{installer}-{pod}-daily-{stream}'
- current-parameters: false
- predefined-parameters: |
- DEPLOY_SCENARIO={scenario}
- INSTALLER_VERSION={stream}
- block: true
- same-node: true
- block-thresholds:
- build-step-failure-threshold: 'never'
- failure-threshold: 'never'
- unstable-threshold: 'FAILURE'
- # 1.here the stream means the SUT stream, dovetail stream is defined in its own job
- # 2.testsuite proposed_tests here is for new test cases planning to add into OVP
- # 3.run proposed_tests on Monday, Wednesday and Friday against ha scenario
- # 4.testsuite default here is for the test cases already added into OVP
- # 5.run default testsuite on Tuesday against ha scenario
- # 6.not used for release criteria or compliance,
- # only to debug the dovetail tool bugs with arm pods
- - conditional-step:
- condition-kind: and
- condition-operands:
- - condition-kind: regex-match
- regex: '.*-ha'
- label: '{scenario}'
- - condition-kind: regex-match
- regex: 'fraser'
- label: '{stream}'
- steps:
- - trigger-builds:
- - project: 'dovetail-{installer}-{pod}-proposed_tests-{stream}'
- current-parameters: false
- predefined-parameters: |
- DEPLOY_SCENARIO={scenario}
- INSTALLER_VERSION={stream}
- 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: '.*-ha'
- label: '{scenario}'
- - condition-kind: regex-match
- regex: 'fraser'
- label: '{stream}'
- steps:
- - trigger-builds:
- - project: 'dovetail-{installer}-{pod}-default-{stream}'
- current-parameters: false
- predefined-parameters: |
- DEPLOY_SCENARIO={scenario}
- INSTALLER_VERSION={stream}
- block: true
- same-node: true
- block-thresholds:
- build-step-failure-threshold: 'never'
- failure-threshold: 'never'
- unstable-threshold: 'FAILURE'
- # Armband uses Fuel's log collection project job, no need to duplicate
- - trigger-builds:
- - project: 'fuel-collect-logs-{deploy-type}-daily-{stream}'
- current-parameters: false
- predefined-parameters: |
- DEPLOY_SCENARIO={scenario}
- INSTALLER_VERSION={stream}
- block: true
- same-node: true
- block-thresholds:
- build-step-failure-threshold: 'never'
- failure-threshold: 'never'
- unstable-threshold: 'FAILURE'
-
-- job-template:
- name: '{installer}-deploy-{pod}-daily-{stream}'
-
- 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:
- - '{installer}-deploy-{pod}-daily-{stream}'
- - '{installer}-deploy-generic-daily-.*'
- blocking-level: 'NODE'
-
- parameters:
- - project-parameter:
- project: '{project}'
- branch: '{branch}'
- - '{installer}-defaults':
- gs-pathname: '{gs-pathname}'
- - '{slave-label}-defaults':
- installer: '{installer}'
- - testapi-parameter
- - string:
- name: DEPLOY_SCENARIO
- default: 'os-odl-nofeature-ha'
- - string:
- name: PROJECT
- default: '{project}'
-
- scm:
- - git-scm
-
- wrappers:
- - build-name:
- name: '$BUILD_NUMBER - Scenario: $DEPLOY_SCENARIO'
-
- builders:
- - track-begin-timestamp
- - shell:
- !include-raw-escape: ../fuel/fuel-deploy.sh
-
- publishers:
- - email:
- recipients: armband@enea.com
- - email-jenkins-admins-on-failure
- - report-provision-result
########################
# trigger macros
triggers:
- timed: '0 1 * * 3,5'
# ---------------------------------------------------------------------
-# Enea Armband CI Baremetal Triggers running against gambia branch
+# Enea Armband CI Baremetal Triggers running against hunter branch
# ---------------------------------------------------------------------
- trigger:
- name: 'fuel-os-nosdn-nofeature-ha-armband-baremetal-gambia-trigger'
+ name: 'fuel-os-nosdn-nofeature-ha-armband-baremetal-hunter-trigger'
triggers:
- timed: '10 1 * * 1'
- trigger:
- name: 'fuel-os-odl-nofeature-ha-armband-baremetal-gambia-trigger'
+ name: 'fuel-os-odl-nofeature-ha-armband-baremetal-hunter-trigger'
triggers:
- timed: '10 1 * * 7'
- trigger:
- name: 'fuel-os-ovn-nofeature-ha-armband-baremetal-gambia-trigger'
+ name: 'fuel-os-ovn-nofeature-ha-armband-baremetal-hunter-trigger'
triggers:
- timed: '10 1 * * 2'
- trigger:
- name: 'fuel-os-nosdn-ovs-ha-armband-baremetal-gambia-trigger'
+ name: 'fuel-os-nosdn-ovs-ha-armband-baremetal-hunter-trigger'
triggers:
- timed: '10 1 * * 4,6'
- trigger:
- name: 'fuel-os-nosdn-nofeature-noha-armband-baremetal-gambia-trigger'
+ name: 'fuel-os-nosdn-nofeature-noha-armband-baremetal-hunter-trigger'
triggers:
- timed: ''
- trigger:
- name: 'fuel-os-nosdn-fdio-noha-armband-baremetal-gambia-trigger'
+ name: 'fuel-os-nosdn-fdio-noha-armband-baremetal-hunter-trigger'
triggers:
- timed: '10 1 * * 3,5'
-# -------------------------------------------------------------------
-# Enea Armband CI Baremetal Triggers running against fraser branch (for Dovetail)
-# -------------------------------------------------------------------
-- trigger:
- name: 'fuel-os-nosdn-nofeature-ha-armband-baremetal-fraser-trigger'
- triggers:
- - timed: '5 13 * * 6,7'
-- trigger:
- name: 'fuel-os-odl-nofeature-ha-armband-baremetal-fraser-trigger'
- triggers:
- - timed: '0 13 * * 6'
-- trigger:
- name: 'fuel-os-nosdn-ovs-ha-armband-baremetal-fraser-trigger'
- triggers:
- - timed: '0 13 * * 7'
-# --------------------------------------------------------------
-# Enea Armband CI Virtual Triggers running against master branch
-# --------------------------------------------------------------
-- trigger:
- name: 'fuel-os-nosdn-nofeature-ha-armband-virtual-master-trigger'
- triggers:
- - timed: ''
-- trigger:
- name: 'fuel-os-odl-nofeature-ha-armband-virtual-master-trigger'
- triggers:
- - timed: ''
-- trigger:
- name: 'fuel-os-ovn-nofeature-ha-armband-virtual-master-trigger'
- triggers:
- - timed: ''
-- trigger:
- name: 'fuel-os-nosdn-ovs-ha-armband-virtual-master-trigger'
- triggers:
- - timed: ''
-- trigger:
- name: 'fuel-os-nosdn-nofeature-noha-armband-virtual-master-trigger'
- triggers:
- - timed: ''
-- trigger:
- name: 'fuel-os-nosdn-fdio-noha-armband-virtual-master-trigger'
- triggers:
- - timed: ''
-# -------------------------------------------------------------------
-# Enea Armband CI Virtual Triggers running against gambia branch
-# -------------------------------------------------------------------
-- trigger:
- name: 'fuel-os-nosdn-nofeature-ha-armband-virtual-gambia-trigger'
- triggers:
- - timed: ''
-- trigger:
- name: 'fuel-os-odl-nofeature-ha-armband-virtual-gambia-trigger'
- triggers:
- - timed: ''
-- trigger:
- name: 'fuel-os-ovn-nofeature-ha-armband-virtual-gambia-trigger'
- triggers:
- - timed: ''
-- trigger:
- name: 'fuel-os-nosdn-ovs-ha-armband-virtual-gambia-trigger'
- triggers:
- - timed: ''
-- trigger:
- name: 'fuel-os-nosdn-nofeature-noha-armband-virtual-gambia-trigger'
- triggers:
- - timed: ''
-- trigger:
- name: 'fuel-os-nosdn-fdio-noha-armband-virtual-gambia-trigger'
- triggers:
- - timed: ''
auto-trigger-name: 'fuel-{scenario}-{pod}-{stream}-trigger'
jobs:
- - '{installer}-{scenario}-{pod}-auto-daily-{stream}'
- - '{installer}-deploy-{pod}-daily-{stream}'
+ - 'fuel-{scenario}-{pod}-auto-daily-{stream}'
+ - 'fuel-deploy-{pod}-daily-{stream}'
- 'auto-daily-{stream}'
- 'auto-verify-{stream}'
- 'auto-merge-{stream}'
# job templates
########################
- job-template:
- name: '{installer}-{scenario}-{pod}-auto-daily-{stream}'
+ name: 'fuel-{scenario}-{pod}-auto-daily-{stream}'
disabled: '{obj:disabled}'
- build-blocker:
use-build-blocker: true
blocking-jobs:
- - '{installer}-os-.*?-{pod}-auto-daily-.*'
+ - 'fuel-os-.*?-{pod}-auto-daily-.*'
blocking-level: 'NODE'
wrappers:
builders:
- trigger-builds:
- - project: '{installer}-deploy-{pod}-daily-{stream}'
+ - project: 'fuel-deploy-{pod}-daily-{stream}'
current-parameters: false
predefined-parameters: |
DEPLOY_SCENARIO=os-nosdn-nofeature-ha
- master:
branch: '{stream}'
disabled: false
+ - hunter: &hunter
+ branch: 'stable/{stream}'
+ gs-pathname: '/{stream}'
+ disabled: false
- gambia:
branch: 'stable/{stream}'
disabled: false
branch: '{stream}'
gs-pathname: ''
disabled: false
- - gambia: &gambia
+ - hunter: &hunter
+ branch: 'stable/{stream}'
+ gs-pathname: '/{stream}'
+ disabled: false
+ - gambia:
branch: 'stable/{stream}'
gs-pathname: '/{stream}'
disabled: false
- timed: '@midnight'
builders:
- - shell:
- !include-raw-escape: ./barometer-build.sh
- - shell:
- !include-raw-escape: ./barometer-upload-artifact.sh
+ - shell: !include-raw-escape: ./barometer-build.sh
+ - shell: !include-raw-escape: ./barometer-upload-artifact.sh
########################
# parameter macros
- enfv
- fds
- fuel
- - functest
- ipv6
- joid
- kvmfornfv
comment-contains-value: 'recheck'
projects:
- project-compare-type: 'REG_EXP'
- project-pattern: 'apex|armband|bamboo|barometer|bottlenecks|calipso|compass4nfv|conductor|cperf|daisy|doctor|dovetail|dpacc|enfv|fds|fuel|functest|pharos|releng|sandbox|yardstick|infra|ipv6|kvmfornfv|models|moon|netready'
+ project-pattern: 'apex|armband|bamboo|barometer|bottlenecks|calipso|compass4nfv|conductor|cperf|daisy|doctor|dovetail|dpacc|enfv|fds|fuel|pharos|releng|sandbox|yardstick|infra|ipv6|kvmfornfv|models|moon|netready'
branches:
- branch-compare-type: 'ANT'
branch-pattern: '**/{branch}'
gs-pathname: ''
docker-tag: 'latest'
disabled: true
- fraser: &fraser
- stream: fraser
- branch: 'stable/{stream}'
- dovetail-branch: 'stable/{stream}'
- gs-pathname: '/{stream}'
- docker-tag: 'ovp-2.0.0'
- gambia: &gambia
- stream: gambia
+ hunter: &hunter
+ stream: hunter
branch: 'stable/{stream}'
dovetail-branch: 'master'
gs-pathname: '/{stream}'
slave-label: fuel-baremetal
SUT: fuel
auto-trigger-name: 'daily-trigger-disabled'
- <<: *fraser
- - virtual:
- slave-label: fuel-virtual
- SUT: fuel
- auto-trigger-name: 'daily-trigger-disabled'
- <<: *fraser
- - baremetal:
- slave-label: fuel-baremetal
- SUT: fuel
- auto-trigger-name: 'daily-trigger-disabled'
- <<: *gambia
+ <<: *hunter
- virtual:
slave-label: fuel-virtual
SUT: fuel
auto-trigger-name: 'daily-trigger-disabled'
- <<: *gambia
+ <<: *hunter
# compass CI PODs
- baremetal:
slave-label: compass-baremetal
slave-label: compass-baremetal
SUT: compass
auto-trigger-name: 'daily-trigger-disabled'
- <<: *fraser
+ <<: *hunter
- virtual:
slave-label: compass-virtual
SUT: compass
auto-trigger-name: 'daily-trigger-disabled'
- <<: *fraser
- - baremetal:
- slave-label: compass-baremetal
- SUT: compass
- auto-trigger-name: 'daily-trigger-disabled'
- <<: *gambia
- - virtual:
- slave-label: compass-virtual
- SUT: compass
- auto-trigger-name: 'daily-trigger-disabled'
- <<: *gambia
+ <<: *hunter
# -------------------------------
# Installers not using labels
# CI PODs
slave-label: apex-virtual-master
SUT: apex
auto-trigger-name: 'daily-trigger-disabled'
- <<: *fraser
- - baremetal:
- slave-label: apex-baremetal-master
- SUT: apex
- auto-trigger-name: 'daily-trigger-disabled'
- <<: *fraser
- - virtual:
- slave-label: apex-virtual-master
- SUT: apex
- auto-trigger-name: 'daily-trigger-disabled'
- <<: *gambia
+ <<: *hunter
- baremetal:
slave-label: apex-baremetal-master
SUT: apex
auto-trigger-name: 'daily-trigger-disabled'
- <<: *gambia
+ <<: *hunter
# armband CI PODs
- armband-baremetal:
slave-label: armband-baremetal
SUT: fuel
auto-trigger-name: 'daily-trigger-disabled'
<<: *master
- - armband-baremetal:
- slave-label: armband-baremetal
- SUT: fuel
- auto-trigger-name: 'daily-trigger-disabled'
- <<: *fraser
- - armband-virtual:
- slave-label: armband-virtual
- SUT: fuel
- auto-trigger-name: 'daily-trigger-disabled'
- <<: *fraser
# -------------------------------
# None-CI PODs
# -------------------------------
SUT: fuel
auto-trigger-name: 'daily-trigger-disabled'
<<: *master
- - zte-pod1:
- slave-label: zte-pod1
- SUT: fuel
- auto-trigger-name: 'daily-trigger-disabled'
- <<: *fraser
- - zte-pod3:
- slave-label: zte-pod3
- SUT: fuel
- auto-trigger-name: 'daily-trigger-disabled'
- <<: *fraser
- - huawei-pod4:
- slave-label: huawei-pod4
- SUT: apex
- auto-trigger-name: 'daily-trigger-disabled'
- <<: *fraser
- - huawei-pod7:
- slave-label: huawei-pod7
- SUT: compass
- auto-trigger-name: 'daily-trigger-disabled'
- <<: *fraser
# -------------------------------
testsuite:
cat << EOF >${POD}
nodes:
-- {ip: ${INSTALLER_IP}, name: node0, key_filename: /home/opnfv/userconfig/pre_config/id_rsa,
+- {ip: ${INSTALLER_IP}, name: node0, key_filename: ${DOVETAIL_CONFIG}/id_rsa,
role: Jumpserver, user: ${ssh_user}}
-- {ip: ${fuel_ctl_ip}, name: node1, key_filename: /home/opnfv/userconfig/pre_config/id_rsa,
+- {ip: ${fuel_ctl_ip}, name: node1, key_filename: ${DOVETAIL_CONFIG}/id_rsa,
role: controller, user: ${ssh_user}, ipmi_ip: ${ipmiIp}, ipmi_user: ${ipmiUser}, ipmi_password: ${ipmiPass}}
-- {ip: ${fuel_msg_ip}, name: msg01, key_filename: /home/opnfv/userconfig/pre_config/id_rsa, role: controller, user: ${ssh_user}}
-- {ip: ${fuel_cmp_ip}, name: cmp01, key_filename: /home/opnfv/userconfig/pre_config/id_rsa, role: controller, user: ${ssh_user}}
-- {ip: ${fuel_dbs_ip}, name: dbs01, key_filename: /home/opnfv/userconfig/pre_config/id_rsa, role: controller, user: ${ssh_user}}
+- {ip: ${fuel_msg_ip}, name: msg01, key_filename: ${DOVETAIL_CONFIG}/id_rsa, role: controller, user: ${ssh_user}}
+- {ip: ${fuel_cmp_ip}, name: cmp01, key_filename: ${DOVETAIL_CONFIG}/id_rsa, role: controller, user: ${ssh_user}}
+- {ip: ${fuel_dbs_ip}, name: dbs01, key_filename: ${DOVETAIL_CONFIG}/id_rsa, role: controller, user: ${ssh_user}}
EOF
}
cmd="sudo python ${releng_repo}/utils/create_pod_file.py -t ${INSTALLER_TYPE} \
-i ${INSTALLER_IP} ${options} -f ${POD} \
- -s /home/opnfv/userconfig/pre_config/id_rsa"
+ -s ${DOVETAIL_CONFIG}/id_rsa"
echo "INFO: cmd is ${cmd}"
${cmd}
+++ /dev/null
----
-- project:
- name: dpacc
-
- project: '{name}'
-
- jobs:
- - '{project}-verify-basic'
- master:
branch: '{stream}'
disabled: false
+ - hunter: &hunter
+ branch: 'stable/{stream}'
+ gs-pathname: '/{stream}'
+ disabled: false
- gambia:
branch: 'stable/{stream}'
disabled: false
- zte-pod1:
slave-label: zte-pod1
<<: *master
+ - itri-pod1:
+ slave-label: itri-pod1
+ <<: *master
# -------------------------------
# scenarios
# -------------------------------
build-step-failure-threshold: 'never'
failure-threshold: 'never'
unstable-threshold: 'FAILURE'
- # 1.here the stream means the SUT stream, dovetail stream is defined in its own job
- # 2.testsuite default here is for the test cases already added into OVP
- # 3.run default testsuite mandatory test cases against ha scenario
- # 4.run default testsuite optional test cases against ha scenario twice one week
- # 5.run proposed_tests testsuite optional test cases against ha scenario
- # 6.not used for release criteria or compliance, only to debug the dovetail tool bugs
- - conditional-step:
- condition-kind: and
- condition-operands:
- - condition-kind: regex-match
- regex: '.*-ha'
- label: '{scenario}'
- steps:
- - trigger-builds:
- - project: 'dovetail-fuel-{pod}-default-mandatory-{stream}'
- current-parameters: false
- predefined-parameters: |
- DEPLOY_SCENARIO={scenario}
- INSTALLER_VERSION={stream}
- block: true
- same-node: true
- block-thresholds:
- build-step-failure-threshold: 'never'
- failure-threshold: 'never'
- unstable-threshold: 'FAILURE'
- - project: 'dovetail-fuel-{pod}-proposed_tests-optional-{stream}'
- current-parameters: false
- predefined-parameters: |
- DEPLOY_SCENARIO={scenario}
- INSTALLER_VERSION={stream}
- 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: '.*-ha'
- label: '{scenario}'
- - condition-kind: day-of-week
- day-selector: select-days
- days:
- MON: true
- WED: true
- use-build-time: true
- steps:
- - trigger-builds:
- - project: 'dovetail-fuel-{pod}-default-optional-{stream}'
- current-parameters: false
- predefined-parameters: |
- DEPLOY_SCENARIO={scenario}
- INSTALLER_VERSION={stream}
- block: true
- same-node: true
- block-thresholds:
- build-step-failure-threshold: 'never'
- failure-threshold: 'never'
- unstable-threshold: 'FAILURE'
- trigger-builds:
- project: 'fuel-collect-logs-{pod}-daily-{stream}'
current-parameters: false
- trigger:
name: 'fuel-os-nosdn-nofeature-ha-baremetal-daily-hunter-trigger'
triggers:
- - timed: '0 20 * * 1,2,4,6,7'
+ - timed: '0 20 * * 1,4,7'
- trigger:
name: 'fuel-os-odl-nofeature-ha-baremetal-daily-hunter-trigger'
triggers:
- trigger:
name: 'fuel-os-ovn-nofeature-noha-baremetal-daily-hunter-trigger'
triggers:
- - timed: ''
+ - timed: '0 20 * * 6'
- trigger:
name: 'fuel-os-odl-ovs-noha-baremetal-daily-hunter-trigger'
triggers:
- - timed: ''
+ - timed: '0 20 * * 2'
- trigger:
name: 'fuel-os-nosdn-ovs-noha-baremetal-daily-hunter-trigger'
triggers:
- trigger:
name: 'fuel-os-odl-sfc-noha-virtual-daily-master-trigger'
triggers:
- - timed: '5 4 * * *'
+ - timed: '5 4 * * 1,4'
- trigger:
name: 'fuel-os-odl-bgpvpn-noha-virtual-daily-master-trigger'
triggers:
- - timed: '5 6 * * *'
+ - timed: '5 6 * * 2,5'
- trigger:
name: 'fuel-os-ovn-nofeature-noha-virtual-daily-master-trigger'
triggers:
- trigger:
name: 'fuel-os-odl-sfc-noha-virtual-daily-hunter-trigger'
triggers:
- - timed: '0 4 * * *'
+ - timed: '0 4 * * 1,4'
- trigger:
name: 'fuel-os-odl-bgpvpn-noha-virtual-daily-hunter-trigger'
triggers:
- - timed: '0 7 * * *'
+ - timed: '0 7 * * 2,5'
- trigger:
name: 'fuel-os-ovn-nofeature-noha-virtual-daily-hunter-trigger'
triggers:
name: 'fuel-k8-calico-nofeature-noha-zte-pod1-daily-master-trigger'
triggers:
- timed: ''
+# ----------------------------------------------
+# ITRI POD1 Triggers running against master branch
+# ----------------------------------------------
+- trigger:
+ name: 'fuel-os-nosdn-nofeature-ha-itri-pod1-daily-master-trigger'
+ triggers:
+ - timed: '0 13 * * 1'
+- trigger:
+ name: 'fuel-os-odl-nofeature-ha-itri-pod1-daily-master-trigger'
+ triggers:
+ - timed: '0 17 * * 1'
+- trigger:
+ name: 'fuel-os-ovn-nofeature-ha-itri-pod1-daily-master-trigger'
+ triggers:
+ - timed: '0 13 * * 2'
+- trigger:
+ name: 'fuel-os-nosdn-ovs-ha-itri-pod1-daily-master-trigger'
+ triggers:
+ - timed: '0 17 * * 2'
+- trigger:
+ name: 'fuel-os-nosdn-fdio-ha-itri-pod1-daily-master-trigger'
+ triggers:
+ - timed: ''
+# NOHA Scenarios
+- trigger:
+ name: 'fuel-os-nosdn-nofeature-noha-itri-pod1-daily-master-trigger'
+ triggers:
+ - timed: '0 13 * * 3'
+- trigger:
+ name: 'fuel-os-odl-nofeature-noha-itri-pod1-daily-master-trigger'
+ triggers:
+ - timed: '0 17 * * 3'
+- trigger:
+ name: 'fuel-os-odl-sfc-noha-itri-pod1-daily-master-trigger'
+ triggers:
+ - timed: '0 13 * * 4'
+- trigger:
+ name: 'fuel-os-odl-bgpvpn-noha-itri-pod1-daily-master-trigger'
+ triggers:
+ - timed: ''
+- trigger:
+ name: 'fuel-os-ovn-nofeature-noha-itri-pod1-daily-master-trigger'
+ triggers:
+ - timed: '0 17 * * 4'
+- trigger:
+ name: 'fuel-os-odl-ovs-noha-itri-pod1-daily-master-trigger'
+ triggers:
+ - timed: '0 13 * * 5'
+- trigger:
+ name: 'fuel-os-nosdn-ovs-noha-itri-pod1-daily-master-trigger'
+ triggers:
+ - timed: '0 17 * * 5'
+- trigger:
+ name: 'fuel-os-nosdn-fdio-noha-itri-pod1-daily-master-trigger'
+ triggers:
+ - timed: ''
+- trigger:
+ name: 'fuel-k8-calico-nofeature-noha-itri-pod1-daily-master-trigger'
+ triggers:
+ - timed: '0 13 * * 6'
# shellcheck disable=SC2153
POD_NAME=${NODE_NAME/*-}
-# Fuel currently supports arm, enea, ericsson, intel, lf, unh and zte labs
-if [[ ! "${LAB_NAME}" =~ (arm|enea|ericsson|intel|lf|unh|zte) ]]; then
+# Fuel currently supports arm, enea, ericsson, intel, lf, unh, zte and itri labs
+if [[ ! "${LAB_NAME}" =~ (arm|enea|ericsson|intel|lf|unh|zte|itri) ]]; then
echo "Unsupported/unidentified lab ${LAB_NAME}. Cannot continue!"
exit 1
fi
- build-blocker:
use-build-blocker: true
blocking-jobs:
- - 'fuel-os-.*?-daily-.*'
+ - 'fuel-(os|k8)-.*?-daily-.*'
- 'fuel-verify-.*'
blocking-level: 'NODE'
COMPUTE_ARCH=$(ssh -l ubuntu ${INSTALLER_IP} -i ${SSH_KEY} ${ssh_options} \
"sudo salt 'cmp*' grains.get cpuarch --out yaml | awk '{print \$2; exit}'")
IMAGE_PROPERTIES="hw_disk_bus:scsi,hw_scsi_model:virtio-scsi"
- envs="${envs} -e POD_ARCH=${COMPUTE_ARCH}"
+ envs="${envs} -e POD_ARCH=${COMPUTE_ARCH} -e BLOCK_MIGRATION=false"
fi
if [[ ${INSTALLER_TYPE} == 'fuel' && ${DEPLOY_SCENARIO} == 'os-nosdn-nofeature-noha' ]]; then
max_microversion: 2.65
EOF
;;
-stable/gambia)
- cat << EOF >> "${tempest_conf_yaml}"
-compute:
- max_microversion: 2.60
-EOF
- ;;
esac
echo "tempest_conf.yaml:" && cat "${tempest_conf_yaml}"
tests=()
skip_tests=0
if [ "${HOST_ARCH}" != "aarch64" ]; then
- if [[ ${BRANCH} == "stable/gambia" ]]; then
- tiers=(healthcheck smoke benchmarking features vnf components)
- else
- tiers=(healthcheck smoke benchmarking features vnf)
- fi
+ tiers=(healthcheck smoke benchmarking features vnf)
else
- if [[ ${BRANCH} == "stable/gambia" ]]; then
- tiers=(healthcheck smoke benchmarking features components)
- else
- tiers=(healthcheck smoke benchmarking features)
- fi
+ tiers=(healthcheck smoke benchmarking features)
fi
run_tiers ${tiers}
if [ ${skip_tests} -eq 0 ]; then
stream: master
branch: '{stream}'
gs-pathname: ''
- gambia: &gambia
- stream: gambia
+ iruya: &iruya
+ stream: iruya
branch: 'stable/{stream}'
gs-pathname: '/{stream}'
hunter: &hunter
slave-label: fuel-virtual
installer: fuel
<<: *hunter
- # compass CI PODs
- - baremetal:
- slave-label: compass-baremetal
- installer: compass
- <<: *gambia
- - virtual:
- slave-label: compass-virtual
- installer: compass
- <<: *gambia
# apex CI PODs
- virtual:
slave-label: apex-virtual-master
- virtual:
slave-label: apex-virtual-master
installer: apex
- <<: *gambia
+ <<: *hunter
- baremetal:
slave-label: apex-baremetal-master
installer: apex
- <<: *gambia
+ <<: *hunter
# armband CI PODs
- armband-baremetal:
slave-label: armband-baremetal
slave-label: armband-baremetal
installer: fuel
<<: *hunter
+ # fuel NONE CI PODs
+ - zte-pod1:
+ slave-label: fuel-baremetal
+ installer: fuel
+ <<: *master
+ - itri-pod1:
+ slave-label: fuel-baremetal
+ installer: fuel
+ <<: *master
testsuite:
- 'suite':
- hunter:
branch: 'stable/{stream}'
disabled: false
- - gambia:
- branch: 'stable/{stream}'
- disabled: false
arch_tag:
- 'amd64':
set +u
set +o pipefail
-[[ $CI_DEBUG == true ]] && redirect="/dev/stdout" || redirect="/dev/null"
+redirect="/dev/stdout"
FUNCTEST_DIR=/home/opnfv/functest
admin_conf_file_vol="-v ${HOME}/admin.conf:/root/.kube/config"
+cat ${HOME}/admin.conf
dir_result="${HOME}/opnfv/functest/results/${BRANCH##*/}"
mkdir -p ${dir_result}
- hunter:
branch: 'stable/{stream}'
disabled: false
- - gambia:
- branch: 'stable/{stream}'
- disabled: false
arch_tag:
- 'amd64':
branch: 'stable/{stream}'
gs-pathname: '/{stream}'
disabled: false
- - gambia: &gambia
- branch: 'stable/{stream}'
- gs-pathname: '/{stream}'
- disabled: false
phase:
- 'unit-tests-and-docs':
repo: 'opnfv'
port:
tag:
+ - latest:
+ branch: master
+ slave: lf-virtual8
- iruya:
branch: stable/iruya
+ slave: lf-virtual7
- hunter:
branch: stable/hunter
+ slave: lf-virtual5
- parameter:
name: functest-kubernetes-slave
parameters:
- label:
name: slave
- default: functest-virtual
+ default: '{slave}'
- parameter:
name: functest-kubernetes-branch
else
image={repo}:{port}/{container}:{tag}
fi
- sudo docker pull $image
+ docker pull $image
- builder:
name: functest-kubernetes-build-containers
build_arg="--build-arg {ref_arg}={ref}"
fi
cd {path}
- sudo docker build $build_arg \
+ docker build $build_arg \
--pull=false --no-cache --force-rm=true \
-t $image .
name: functest-kubernetes-run-containers
builders:
- shell: |
- set +ex
- [ ! -z "$WORKSPACE" ] && sudo rm -rf $WORKSPACE/* || true
+ set +e
+ set -x
+ [ ! -z "$WORKSPACE" ] && rm -rf $WORKSPACE/* || true
if [ "{repo}" = "_" ]; then
image={container}:{tag}
elif [ "{port}" = "None" ]; then
else
image={repo}:{port}/{container}:{tag}
fi
- sudo docker run --rm \
+ docker run --rm \
-v $WORKSPACE/../$JOB_NAME/results:/var/lib/xtesting/results \
-e DEPLOY_SCENARIO=k8-nosdn-nofeature-noha \
- -v /home/opnfv/functest-kubernetes/config:/root/.kube/config \
+ -v /home/opnfv/functest-kubernetes/config.{tag}:/root/.kube/config \
$image run_tests -t {test}
res=$?
gsutil -m cp -r $WORKSPACE/ \
- gs://artifacts.opnfv.org/functest-kubernetes/$JOB_NAME-$BUILD_ID > /dev/null 2>&1
+ gs://artifacts.opnfv.org/functest-kubernetes/$JOB_NAME-$BUILD_ID
find $WORKSPACE -type f \
-printf \
"http://artifacts.opnfv.org/functest-kubernetes/$JOB_NAME-$BUILD_ID/%P\n"
else
image={repo}:{port}/{container}:{tag}
fi
- sudo docker rmi $image || true
+ docker rmi $image || true
- scm:
name: functest-kubernetes-scm
- job-template:
name: 'functest-kubernetes-{repo}-{container}-{tag}-pull'
parameters:
- - functest-kubernetes-slave
+ - functest-kubernetes-slave:
+ slave: '{slave}'
builders:
- functest-kubernetes-pull-containers:
<<: *functest-kubernetes-containers
- job-template:
name: 'functest-kubernetes-{repo}-{container}-{tag}-rmi'
parameters:
- - functest-kubernetes-slave
+ - functest-kubernetes-slave:
+ slave: '{slave}'
builders:
- functest-kubernetes-remove-images:
<<: *functest-kubernetes-containers
- job-template:
name: 'functest-kubernetes-{repo}-{container}-{tag}-{test}-run'
parameters:
- - functest-kubernetes-slave
+ - functest-kubernetes-slave:
+ slave: '{slave}'
builders:
- functest-kubernetes-run-containers:
<<: *functest-kubernetes-run-containers
triggers:
- timed: '@daily'
parameters:
- - functest-kubernetes-slave
+ - functest-kubernetes-slave:
+ slave: '{slave}'
properties:
- build-blocker:
use-build-blocker: true
blocking-level: 'NODE'
blocking-jobs:
- - '^(functest|functest-kubernetes)-[a-z]+-(daily|check|gate)$'
+ - '^functest-kubernetes-{tag}-(daily|check|gate)$'
builders:
- multijob:
name: remove former images
- job-template:
name: 'functest-kubernetes-{repo}-{container}-{tag}-gate'
parameters:
- - functest-kubernetes-slave
+ - functest-kubernetes-slave:
+ slave: '{slave}'
scm:
- functest-kubernetes-scm:
ref: $GERRIT_REFSPEC
- job-template:
name: 'functest-kubernetes-{repo}-{container}-{tag}-check'
parameters:
- - functest-kubernetes-slave
+ - functest-kubernetes-slave:
+ slave: '{slave}'
- functest-kubernetes-branch:
branch: '{branch}'
scm:
port:
container: golang
tag: alpine3.9
+ slave: master
jobs:
- 'functest-kubernetes-{repo}-{container}-{tag}-rmi'
port:
container: golang
tag: alpine3.9
+ slave: master
jobs:
- 'functest-kubernetes-{repo}-{container}-{tag}-pull'
name: 'functest-kubernetes-{tag}-check'
project-type: multijob
parameters:
- - functest-kubernetes-slave
+ - functest-kubernetes-slave:
+ slave: '{slave}'
- functest-kubernetes-branch:
branch: '{branch}'
properties:
use-build-blocker: true
blocking-level: 'NODE'
blocking-jobs:
- - '^(functest|functest-kubernetes)-[a-z]+-(daily|check|gate)$'
+ - '^functest-kubernetes-{tag}-(daily|check|gate)$'
builders:
- multijob:
name: remove former images
- functest-kubernetes-patchset-created:
branch: '{branch}'
parameters:
- - functest-kubernetes-slave
+ - functest-kubernetes-slave:
+ slave: '{slave}'
properties:
- build-blocker:
use-build-blocker: true
blocking-level: 'NODE'
blocking-jobs:
- - '^(functest|functest-kubernetes)-[a-z]+-(daily|check|gate)$'
+ - '^functest-kubernetes-{tag}-(daily|check|gate)$'
builders:
- multijob:
name: remove former images
branch: 'stable/{stream}'
gs-pathname: ''
disabled: false
- - gambia:
- branch: 'stable/{stream}'
- gs-pathname: ''
- disabled: false
phase:
- 'unit-tests-and-docs':
- master:
branch: '{stream}'
disabled: false
- - gambia:
+ - iruya:
+ branch: 'stable/{stream}'
+ disabled: false
+ - hunter:
branch: 'stable/{stream}'
disabled: false
else
image={repo}:{port}/{container}:{tag}
fi
+ if [ "{tag}" = "latest" ]; then
+ py=3.6
+ else
+ py=2.7
+ fi
sudo docker run --rm \
-v $WORKSPACE/../$JOB_NAME/results:/var/lib/xtesting/results \
-e DEBUG=True \
-e EXTERNAL_NETWORK=public \
- -e DEBUG=true \
-v /home/opnfv/functest/openstack.creds:/home/opnfv/functest/conf/env_file \
-v /home/opnfv/functest/images:/home/opnfv/functest/images \
+ -v /home/opnfv/functest/blacklist.yaml:/usr/lib/python$py/\
+ site-packages/functest/opnfv_tests/openstack/rally/blacklist.yaml \
+ -v /home/opnfv/functest/tempest_blacklist.yaml:/usr/lib/python$py/\
+ site-packages/functest/opnfv_tests/openstack/tempest/custom_tests/blacklist.yaml \
$image run_tests -t {test}
res=$?
gsutil -m cp -r $WORKSPACE/ \
- neutron-tempest-plugin-api
- rally_sanity
- refstack_defcore
+ - refstack_compute
+ - refstack_object
+ - refstack_platform
- tempest_full
- tempest_scenario
- patrole
- networking-bgpvpn
- networking-sfc
- barbican
+ exclude:
+ - tag: latest
+ test: refstack_defcore
+ - tag: iruya
+ test: refstack_defcore
+ - tag: hunter
+ test: refstack_compute
+ - tag: hunter
+ test: refstack_object
+ - tag: hunter
+ test: refstack_platform
jobs:
- 'functest-{repo}-{container}-{tag}-{test}-run'
<<: *functest-jobs
- name: 'functest-opnfv-functest-smoke-{tag}-refstack_defcore-run'
<<: *functest-jobs
+ - name: 'functest-opnfv-functest-smoke-{tag}-refstack_compute-run'
+ <<: *functest-jobs
+ - name: 'functest-opnfv-functest-smoke-{tag}-refstack_object-run'
+ <<: *functest-jobs
+ - name: 'functest-opnfv-functest-smoke-{tag}-refstack_platform-run'
+ <<: *functest-jobs
- name: 'functest-opnfv-functest-smoke-{tag}-tempest_full-run'
<<: *functest-jobs
- name: 'functest-opnfv-functest-smoke-{tag}-tempest_scenario-run'
<<: *functest-jobs
- name: 'functest-opnfv-functest-smoke-{tag}-refstack_defcore-run'
<<: *functest-jobs
+ - name: 'functest-opnfv-functest-smoke-{tag}-refstack_compute-run'
+ <<: *functest-jobs
+ - name: 'functest-opnfv-functest-smoke-{tag}-refstack_object-run'
+ <<: *functest-jobs
+ - name: 'functest-opnfv-functest-smoke-{tag}-refstack_platform-run'
+ <<: *functest-jobs
- name: 'functest-opnfv-functest-smoke-{tag}-tempest_full-run'
<<: *functest-jobs
- name: 'functest-opnfv-functest-smoke-{tag}-tempest_scenario-run'
<<: *functest-jobs
- name: 'functest-opnfv-functest-smoke-{tag}-refstack_defcore-run'
<<: *functest-jobs
+ - name: 'functest-opnfv-functest-smoke-{tag}-refstack_compute-run'
+ <<: *functest-jobs
+ - name: 'functest-opnfv-functest-smoke-{tag}-refstack_object-run'
+ <<: *functest-jobs
+ - name: 'functest-opnfv-functest-smoke-{tag}-refstack_platform-run'
+ <<: *functest-jobs
- name: 'functest-opnfv-functest-smoke-{tag}-tempest_full-run'
<<: *functest-jobs
- name: 'functest-opnfv-functest-smoke-{tag}-tempest_scenario-run'
- hunter:
branch: 'stable/{stream}'
disabled: false
- - gambia:
- branch: 'stable/{stream}'
- disabled: false
arch_tag:
- 'amd64':
branch: 'stable/{stream}'
gs-pathname: '/{stream}'
disabled: false
- - gambia: &gambia
- branch: 'stable/{stream}'
- gs-pathname: '/{stream}'
- disabled: false
phase:
- 'unit-tests-and-docs':
default: https://gerrit.opnfv.org/gerrit/$PROJECT
description: 'Git URL to use on this Jenkins Slave'
+- parameter:
+ name: 'itri-pod1-defaults'
+ parameters:
+ - node:
+ name: SLAVE_NAME
+ description: 'Slave name on Jenkins'
+ allowed-slaves:
+ - itri-pod1
+ default-slaves:
+ - itri-pod1
+ - string:
+ name: GIT_BASE
+ default: https://gerrit.opnfv.org/gerrit/$PROJECT
+ description: 'Git URL to use on this Jenkins Slave'
+ - string:
+ name: INSTALLER_IP
+ default: '10.20.0.2'
+ description: 'IP of the installer'
+
- parameter:
name: 'huawei-pod3-defaults'
parameters:
- master:
branch: '{stream}'
disabled: false
+ - hunter: &hunter
+ branch: 'stable/{stream}'
+ gs-pathname: '/{stream}'
+ disabled: false
- gambia:
branch: 'stable/{stream}'
disabled: false
+++ /dev/null
----
-########################
-# Job configuration for joid
-########################
-- project:
-
- name: 'joid'
-
- project: '{name}'
-
- installer: '{name}'
-
- # -------------------------------
- # BRANCH ANCHORS
- # -------------------------------
- fraser: &fraser
- stream: fraser
- branch: 'stable/{stream}'
- disabled: true
- gs-pathname: '/{stream}'
- master: &master
- stream: master
- branch: '{stream}'
- disabled: true
- gs-pathname: ''
- # -------------------------------
- # POD, INSTALLER, AND BRANCH MAPPING
- # -------------------------------
- # CI PODs
- # -------------------------------
- pod:
- - baremetal:
- slave-label: joid-baremetal
- <<: *fraser
- - baremetal:
- slave-label: joid-baremetal
- <<: *master
- # -------------------------------
- # scenarios
- # -------------------------------
- scenario:
- - 'os-nosdn-nofeature-noha':
- auto-trigger-name: 'joid-{scenario}-{pod}-{stream}-trigger'
- - 'os-nosdn-nofeature-ha':
- auto-trigger-name: 'joid-{scenario}-{pod}-{stream}-trigger'
- - 'os-nosdn-lxd-ha':
- auto-trigger-name: 'joid-{scenario}-{pod}-{stream}-trigger'
- - 'os-nosdn-lxd-noha':
- auto-trigger-name: 'joid-{scenario}-{pod}-{stream}-trigger'
- - 'os-odl_l2-nofeature-ha':
- auto-trigger-name: 'daily-trigger-disabled'
- - 'os-odl_l2-nofeature-noha':
- auto-trigger-name: 'daily-trigger-disabled'
- - 'os-ocl-nofeature-ha':
- auto-trigger-name: 'joid-{scenario}-{pod}-{stream}-trigger'
- - 'os-ocl-nofeature-noha':
- auto-trigger-name: 'joid-{scenario}-{pod}-{stream}-trigger'
- - 'k8-nosdn-nofeature-noha':
- auto-trigger-name: 'daily-trigger-disabled'
- - 'k8-nosdn-lb-noha':
- auto-trigger-name: 'joid-{scenario}-{pod}-{stream}-trigger'
- - 'k8-ovn-lb-noha':
- auto-trigger-name: 'joid-{scenario}-{pod}-{stream}-trigger'
- - 'os-nosdn-openbaton-ha':
- auto-trigger-name: 'joid-{scenario}-{pod}-{stream}-trigger'
- - 'k8-canal-lb-noha':
- auto-trigger-name: 'joid-{scenario}-{pod}-{stream}-trigger'
- - 'k8-nosdn-lb_ceph-noha':
- auto-trigger-name: 'joid-{scenario}-{pod}-{stream}-trigger'
- - 'k8-multus-lb-noha':
- auto-trigger-name: 'daily-trigger-disabled'
- - 'os-ovn-nofeature-ha':
- auto-trigger-name: 'daily-trigger-disabled'
-
- jobs:
- - 'joid-{scenario}-{pod}-daily-{stream}'
- - 'joid-deploy-{pod}-daily-{stream}'
-
-########################
-# job templates
-########################
-- job-template:
- name: 'joid-{scenario}-{pod}-daily-{stream}'
-
- disabled: '{obj:disabled}'
-
- concurrent: false
-
- properties:
- - logrotate-default
- - throttle:
- enabled: true
- max-total: 4
- max-per-node: 1
- option: 'project'
- - build-blocker:
- use-build-blocker: true
- blocking-jobs:
- - 'joid-(os|k8)-.*?-{pod}-daily-.*'
- blocking-level: 'NODE'
-
- wrappers:
- - build-name:
- name: '$BUILD_NUMBER - Scenario: $DEPLOY_SCENARIO'
-
- triggers:
- - '{auto-trigger-name}'
-
- parameters:
- - project-parameter:
- project: '{project}'
- branch: '{branch}'
- - '{installer}-defaults'
- - '{slave-label}-defaults':
- installer: '{installer}'
- - string:
- name: DEPLOY_SCENARIO
- default: '{scenario}'
-
- builders:
- - description-setter:
- description: "POD: $NODE_NAME"
- - trigger-builds:
- - project: 'joid-deploy-{pod}-daily-{stream}'
- current-parameters: true
- predefined-parameters:
- DEPLOY_SCENARIO={scenario}
- same-node: true
- block: true
- - trigger-builds:
- - project: 'functest-joid-{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'
- - trigger-builds:
- - project: 'yardstick-joid-{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'
-# 1.dovetail only euphrates by now, not sync with A/B/C branches
-# 2.here the stream means the SUT stream, dovetail stream is defined in
-# its own job
-# 3.only debug testsuite here(includes basic testcase,
-# i.e. one tempest smoke ipv6, two vping from functest)
-# 4.not used for release criteria or compliance,
-# only to debug the dovetail tool bugs with joid
-# - trigger-builds:
-# - project: 'dovetail-joid-{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'
-
-- job-template:
- name: 'joid-deploy-{pod}-daily-{stream}'
-
- disabled: '{obj:disabled}'
-
- 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:
- - 'joid-deploy-{pod}-daily-.*'
- blocking-level: 'NODE'
-
- wrappers:
- - build-name:
- name: '$BUILD_NUMBER - Scenario: $DEPLOY_SCENARIO'
- - timeout:
- timeout: 180
- fail: true
-
- parameters:
- - project-parameter:
- project: '{project}'
- branch: '{branch}'
- - '{installer}-defaults'
- - '{slave-label}-defaults':
- installer: '{installer}'
- - string:
- name: DEPLOY_SCENARIO
- default: 'os-odl_l2-nofeature-ha'
-
- scm:
- - git-scm
-
- builders:
- - description-setter:
- description: "POD: $NODE_NAME"
- - 'builder-macro'
-########################
-# builder macros
-########################
-- builder:
- name: 'builder-macro'
- builders:
- - shell: |
- #!/bin/bash
- echo "Running $INSTALLER_TYPE with controller $SDN_CONTROLLER"
- echo
- echo "------ First Executing clean.sh ------"
- cd $WORKSPACE/ci
- ./clean.sh
- - shell:
- !include-raw: ./joid-deploy.sh
-
-########################
-# trigger macros
-########################
-# os-nosdn-nofeature-ha trigger - branch: fraser
-- trigger:
- name: 'joid-os-nosdn-nofeature-ha-baremetal-fraser-trigger'
- triggers:
- - timed: '5 2 * * *'
-# os-nosdn-nofeature-ha trigger - branch: master
-- trigger:
- name: 'joid-os-nosdn-nofeature-ha-baremetal-master-trigger'
- triggers:
- - timed: '5 2 * * *'
-# os-odl_l2-nofeature-ha trigger - branch: fraser
-- trigger:
- name: 'joid-os-odl_l2-nofeature-ha-baremetal-fraser-trigger'
- triggers:
- - timed: '5 7 * * *'
-# os-odl_l2-nofeature-ha trigger - branch: master
-- trigger:
- name: 'joid-os-odl_l2-nofeature-ha-baremetal-master-trigger'
- triggers:
- - timed: '5 7 * * *'
-# os-nosdn-lxd-noha trigger - branch: fraser
-- trigger:
- name: 'joid-os-nosdn-lxd-noha-baremetal-fraser-trigger'
- triggers:
- - timed: '5 22 * * *'
-# os-nosdn-lxd-noha trigger - branch: master
-- trigger:
- name: 'joid-os-nosdn-lxd-noha-baremetal-master-trigger'
- triggers:
- - timed: '5 22 * * *'
-# os-nosdn-lxd-ha trigger - branch: fraser
-- trigger:
- name: 'joid-os-nosdn-lxd-ha-baremetal-fraser-trigger'
- triggers:
- - timed: '5 10 * * *'
-# os-nosdn-lxd-ha trigger - branch: master
-- trigger:
- name: 'joid-os-nosdn-lxd-ha-baremetal-master-trigger'
- triggers:
- - timed: '5 10 * * *'
-# os-nosdn-nofeature-noha trigger - branch: fraser
-- trigger:
- name: 'joid-os-nosdn-nofeature-noha-baremetal-fraser-trigger'
- triggers:
- - timed: '5 4 * * *'
-# os-nosdn-nofeature-noha trigger - branch: master
-- trigger:
- name: 'joid-os-nosdn-nofeature-noha-baremetal-master-trigger'
- triggers:
- - timed: '5 4 * * *'
-# k8-nosdn-nofeature-noha trigger - branch: fraser
-- trigger:
- name: 'joid-k8-nosdn-nofeature-noha-baremetal-fraser-trigger'
- triggers:
- - timed: '5 15 * * *'
-# k8-nosdn-nofeature-noha trigger - branch: master
-- trigger:
- name: 'joid-k8-nosdn-nofeature-noha-baremetal-master-trigger'
- triggers:
- - timed: '5 15 * * *'
-# k8-nosdn-lb-noha trigger - branch: fraser
-- trigger:
- name: 'joid-k8-nosdn-lb-noha-baremetal-fraser-trigger'
- triggers:
- - timed: '5 20 * * *'
-# k8-nosdn-lb-noha trigger - branch: master
-- trigger:
- name: 'joid-k8-nosdn-lb-noha-baremetal-master-trigger'
- triggers:
- - timed: '5 20 * * *'
-# k8-ovn-lb-noha trigger - branch: fraser
-- trigger:
- name: 'joid-k8-ovn-lb-noha-baremetal-fraser-trigger'
- triggers:
- - timed: '5 17 * * *'
-# k8-ovn-lb-noha trigger - branch: master
-- trigger:
- name: 'joid-k8-ovn-lb-noha-baremetal-master-trigger'
- triggers:
- - timed: '5 17 * * *'
-# os-nosdn-openbaton-ha trigger - branch: fraser
-- trigger:
- name: 'joid-os-nosdn-openbaton-ha-baremetal-fraser-trigger'
- triggers:
- - timed: '' # Disabled as there is no branch for orchestra
-# os-nosdn-openbaton-ha trigger - branch: master
-- trigger:
- name: 'joid-os-nosdn-openbaton-ha-baremetal-master-trigger'
- triggers:
- - timed: '5 23 * * *'
-# os-ocl-nofeature-ha trigger - branch: fraser
-- trigger:
- name: 'joid-os-ocl-nofeature-ha-baremetal-fraser-trigger'
- triggers:
- - timed: '5 13 * * *'
-# os-ocl-nofeature-ha trigger - branch: master
-- trigger:
- name: 'joid-os-ocl-nofeature-ha-baremetal-master-trigger'
- triggers:
- - timed: '5 13 * * *'
-# os-ocl-nofeature-noha trigger - branch: fraser
-- trigger:
- name: 'joid-os-ocl-nofeature-noha-baremetal-fraser-trigger'
- triggers:
- - timed: '5 16 * * *'
-# os-ocl-nofeature-noha trigger - branch: master
-- trigger:
- name: 'joid-os-ocl-nofeature-noha-baremetal-master-trigger'
- triggers:
- - timed: '5 16 * * *'
-# k8-canal-lb-noha trigger - branch: fraser
-- trigger:
- name: 'joid-k8-canal-lb-noha-baremetal-fraser-trigger'
- triggers:
- - timed: '5 14 * * *'
-# k8-canal-lb-noha trigger - branch: master
-- trigger:
- name: 'joid-k8-canal-lb-noha-baremetal-master-trigger'
- triggers:
- - timed: '5 14 * * *'
-# k8-multus-lb-noha trigger - branch: fraser
-- trigger:
- name: 'joid-k8-multus-lb-noha-baremetal-fraser-trigger'
- triggers:
- - timed: '5 18 * * *'
-# k8-multus-lb-noha trigger - branch: master
-- trigger:
- name: 'joid-k8-multus-lb-noha-baremetal-master-trigger'
- triggers:
- - timed: '5 18 * * *'
-# k8-nosdn-lb_ceph-noha trigger - branch: fraser
-- trigger:
- name: 'joid-k8-nosdn-lb_ceph-noha-baremetal-fraser-trigger'
- triggers:
- - timed: '5 18 * * *'
-# k8-nosdn-lb_ceph-noha trigger - branch: master
-- trigger:
- name: 'joid-k8-nosdn-lb_ceph-noha-baremetal-master-trigger'
- triggers:
- - timed: '5 18 * * *'
-# os-ovn-nofeature-ha trigger - branch: fraser
-- trigger:
- name: 'joid-os-ovn-nofeature-ha-baremetal-fraser-trigger'
- triggers:
- - timed: '5 19 * * *'
-# os-ovn-nofeature-ha trigger - branch: master
-- trigger:
- name: 'joid-os-ovn-nofeature-ha-baremetal-master-trigger'
- triggers:
- - timed: '5 19 * * *'
+++ /dev/null
-#!/bin/bash
-# SPDX-license-identifier: Apache-2.0
-##############################################################################
-# Copyright (c) 2016 Orange and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Apache License, Version 2.0
-# which accompanies this distribution, and is available at
-# http://www.apache.org/licenses/LICENSE-2.0
-##############################################################################
-set +e
-set -o nounset
-
-##
-## Functions
-##
-function exit_on_error {
- RES=$1
- MSG=$2
- if [ $RES != 0 ]; then
- echo "FAILED - $MSG"
- exit $RES
- fi
-}
-
-##
-## Create LAB_CONFIG folder if not exists
-##
-
-mkdir -p $LAB_CONFIG
-
-##
-## Set Joid pod config name
-##
-
-case $NODE_NAME in
- *virtual*)
- POD=default ;;
- *)
- POD=$NODE_NAME ;;
-esac
-export POD_NAME=${POD/-}
-
-##
-## Redeploy MAAS or recover the previous config
-##
-
-cd $WORKSPACE/ci
-
-if [ -e "$LAB_CONFIG/deployconfig.yaml" ] && [ "$MAAS_REINSTALL" == "false" ]; then
- echo "------ Recover Juju environment to use MAAS ------"
- if [ ! -e deployconfig.yaml ]; then
- cp $LAB_CONFIG/deployconfig.yaml .
- cp $LAB_CONFIG/deployment.yaml .
- cp $LAB_CONFIG/labconfig.yaml .
- fi
-else
- if ["$NODE_NAME" == "default" ]; then
- echo "------ Redeploy MAAS ------"
- ./03-maasdeploy.sh default
- exit_on_error $? "MAAS Deploy FAILED"
- else
- echo "------ Redeploy MAAS ------"
- ./03-maasdeploy.sh custom $LAB_CONFIG/labconfig.yaml
- exit_on_error $? "MAAS Deploy FAILED"
- fi
-fi
-
-##
-## Configure Joid deployment
-##
-
-# Based on scenario naming we can get joid options
-# naming convention:
-# <model>-<controller>-<nfvfeature>-<mode>[-<extrastuff>]
-# With parameters:
-# model=(os|k8)
-# controller=(nosdn|odl_l3|odl_l2|onos|ocl)
-# No odl_l3 today
-# nfvfeature=(kvm|ovs|dpdk|nofeature)
-# '_' list separated.
-# mode=(ha|noha)
-# extrastuff=(none)
-# Optional field - Not used today
-
-IFS='-' read -r -a DEPLOY_OPTIONS <<< "${DEPLOY_SCENARIO}--"
-#last -- need to avoid nounset error
-
-JOID_MODEL=${DEPLOY_OPTIONS[0]}
-SDN_CONTROLLER=${DEPLOY_OPTIONS[1]}
-NFV_FEATURES=${DEPLOY_OPTIONS[2]}
-HA_MODE=${DEPLOY_OPTIONS[3]}
-EXTRA=${DEPLOY_OPTIONS[4]}
-
-if [ "$SDN_CONTROLLER" == 'odl_l2' ] || [ "$SDN_CONTROLLER" == 'odl_l3' ]; then
- SDN_CONTROLLER='odl'
-fi
-
-# Add extra to features
-if [ "$EXTRA" != "" ];then
- NFV_FEATURES="${NFV_FEATURES}_${EXTRA}"
-fi
-
-# temporary sfc feature is availble only on onos and trusty
-if [ "$NFV_FEATURES" == 'sfc' ] && [ "$SDN_CONTROLLER" == 'onos' ];then
- UBUNTU_DISTRO=trusty
-fi
-
-##
-## Configure Joid deployment
-##
-
-if [ "$JOID_MODEL" == 'k8' ]; then
- echo "------ Deploy with juju ------"
- echo "Execute: ./deploy.sh -m $JOID_MODEL -s $SDN_CONTROLLER -l $POD_NAME -d $UBUNTU_DISTRO -f $NFV_FEATURES"
-
- ./deploy.sh -m kubernetes -s $SDN_CONTROLLER -l $POD_NAME -d $UBUNTU_DISTRO -f $NFV_FEATURES
- exit_on_error $? "Main deploy FAILED"
-fi
-
-##
-## Set Admin RC
-##
-if [ "$JOID_MODEL" == 'os' ]; then
- echo "------ Deploy with juju ------"
- echo "Execute: ./deploy.sh -m $JOID_MODEL -t $HA_MODE -o $OS_RELEASE -s $SDN_CONTROLLER -l $POD_NAME -d $UBUNTU_DISTRO -f $NFV_FEATURES"
-
- ./deploy.sh -m openstack -t $HA_MODE -o $OS_RELEASE -s $SDN_CONTROLLER -l $POD_NAME -d $UBUNTU_DISTRO -f $NFV_FEATURES
- exit_on_error $? "Main deploy FAILED"
-
- JOID_ADMIN_OPENRC=$LAB_CONFIG/admin-openrc
- echo "------ Create OpenRC file [$JOID_ADMIN_OPENRC] ------"
-
- # get controller IP
- case "$SDN_CONTROLLER" in
- "odl")
- SDN_CONTROLLER_IP=$(juju status odl-controller/0 |grep public-address|sed -- 's/.*\: //')
- ;;
- "onos")
- SDN_CONTROLLER_IP=$(juju status onos-controller/0 |grep public-address|sed -- 's/.*\: //')
- ;;
- *)
- SDN_CONTROLLER_IP='none'
- ;;
- esac
- SDN_PASSWORD='admin'
-
- # export the openrc file by getting the one generated by joid and add SDN
- # controller for Functest
- # cp ./cloud/admin-openrc $JOID_ADMIN_OPENRC
- echo export SDN_CONTROLLER=$SDN_CONTROLLER_IP >> $JOID_ADMIN_OPENRC
- echo export SDN_PASSWORD=$SDN_PASSWORD >> $JOID_ADMIN_OPENRC
-
-fi
-
-##
-## Exit success
-##
-
-echo "Deploy success"
-exit 0
+++ /dev/null
----
-- project:
- name: joid-rtd
- project: joid
- project-name: joid
-
- project-pattern: 'joid'
- rtd-build-url: 'https://readthedocs.org/api/v2/webhook/opnfv-joid/47371/'
- rtd-token: '44a666161d99c9f53e7f69e56f1704694502015b'
-
- jobs:
- - '{project-name}-rtd-jobs'
+++ /dev/null
----
-- project:
- name: 'joid-verify-jobs'
-
- project: 'joid'
-
- installer: 'joid'
- #####################################
- # branch definitions
- #####################################
- stream:
- - master:
- branch: '{stream}'
- gs-pathname: ''
- disabled: true
- - fraser: &fraser
- branch: 'stable/{stream}'
- gs-pathname: '/{stream}'
- disabled: true
- #####################################
- # patch verification phases
- #####################################
- phase:
- - 'basic':
- slave-label: 'opnfv-build-ubuntu'
- - 'deploy-virtual':
- slave-label: 'joid-virtual'
- - 'smoke-test':
- slave-label: 'joid-virtual'
- #####################################
- # jobs
- #####################################
- jobs:
- - 'joid-verify-{stream}'
- - 'joid-verify-{phase}-{stream}'
-#####################################
-# job templates
-#####################################
-- job-template:
- name: 'joid-verify-{stream}'
-
- disabled: '{obj:disabled}'
-
- project-type: multijob
-
- 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:
- - 'joid-verify-master'
- - 'joid-verify-danube'
- blocking-level: 'NODE'
-
- scm:
- - git-scm-gerrit
-
- wrappers:
- - ssh-agent-wrapper
- - timeout:
- timeout: 360
- fail: true
-
- 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'
- readable-message: true
-
- parameters:
- - project-parameter:
- project: '{project}'
- branch: '{branch}'
- - 'joid-virtual-defaults'
-
- builders:
- - description-setter:
- description: "Built on $NODE_NAME"
- - multijob:
- name: basic
- condition: SUCCESSFUL
- projects:
- - name: 'joid-verify-basic-{stream}'
- current-parameters: false
- predefined-parameters: |
- BRANCH=$BRANCH
- GERRIT_REFSPEC=$GERRIT_REFSPEC
- GERRIT_CHANGE_NUMBER=$GERRIT_CHANGE_NUMBER
- GERRIT_CHANGE_COMMIT_MESSAGE=$GERRIT_CHANGE_COMMIT_MESSAGE
- kill-phase-on: FAILURE
- abort-all-job: true
- - multijob:
- name: deploy-virtual
- condition: SUCCESSFUL
- projects:
- - name: 'joid-verify-deploy-virtual-{stream}'
- current-parameters: false
- predefined-parameters: |
- BRANCH=$BRANCH
- GERRIT_REFSPEC=$GERRIT_REFSPEC
- GERRIT_CHANGE_NUMBER=$GERRIT_CHANGE_NUMBER
- GERRIT_CHANGE_COMMIT_MESSAGE=$GERRIT_CHANGE_COMMIT_MESSAGE
- node-parameters: true
- kill-phase-on: FAILURE
- abort-all-job: true
- - multijob:
- name: smoke-test
- condition: SUCCESSFUL
- projects:
- - name: 'joid-verify-smoke-test-{stream}'
- current-parameters: false
- predefined-parameters: |
- BRANCH=$BRANCH
- GERRIT_REFSPEC=$GERRIT_REFSPEC
- GERRIT_CHANGE_NUMBER=$GERRIT_CHANGE_NUMBER
- GERRIT_CHANGE_COMMIT_MESSAGE=$GERRIT_CHANGE_COMMIT_MESSAGE
- node-parameters: true
- kill-phase-on: FAILURE
- abort-all-job: true
-
-- job-template:
- name: 'joid-verify-{phase}-{stream}'
-
- disabled: '{obj:disabled}'
-
- 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:
- - 'joid-verify-deploy-.*'
- - 'joid-verify-test-.*'
- blocking-level: 'NODE'
-
- scm:
- - git-scm-gerrit
-
- wrappers:
- - ssh-agent-wrapper
- - timeout:
- timeout: 360
- fail: true
-
- parameters:
- - project-parameter:
- project: '{project}'
- branch: '{branch}'
- - '{installer}-defaults'
- - '{slave-label}-defaults'
-
- builders:
- - description-setter:
- description: "Built on $NODE_NAME"
- - '{project}-verify-{phase}-macro'
-#####################################
-# builder macros
-#####################################
-- builder:
- name: 'joid-verify-basic-macro'
- builders:
- - shell: |
- #!/bin/bash
-
- echo "Not activated!"
-
-- builder:
- name: 'joid-verify-deploy-virtual-macro'
- builders:
- - shell: |
- #!/bin/bash
-
- echo "Not activated!"
-
-- builder:
- name: 'joid-verify-smoke-test-macro'
- builders:
- - shell: |
- #!/bin/bash
-
- echo "Not activated!"
+++ /dev/null
----
-- project:
- name: multisite-rtd
- project: multisite
- project-name: multisite
-
- project-pattern: 'multisite'
- rtd-build-url: 'https://readthedocs.org/api/v2/webhook/opnfv-multisite/47374/'
- rtd-token: '5d5b5c20e10df51eec38593b76d96cd22d4f1a96'
-
- jobs:
- - '{project-name}-rtd-jobs'
+++ /dev/null
-#!/bin/bash
-set -o errexit
-set -o nounset
-set -o pipefail
-
-echo "Building Gluon packages."
-echo "------------------------"
-echo
-
-OPNFV_ARTIFACT_VERSION=$(echo $(date -u +"%Y%m%d"))
-
-# build all packages
-cd $WORKSPACE/ci
-./build-gluon-packages.sh
-
-# list the contents of BUILD_OUTPUT directory
-echo "Build Directory is ${BUILD_DIRECTORY}"
-echo "Build Directory Contents:"
-echo "---------------------------------------"
-ls -alR $BUILD_DIRECTORY
-
-# get version infos from Gluon from spec
-GLUON_VERSION=$(grep Version: $BUILD_DIRECTORY/rpm_specs/gluon.spec | awk '{ print $2 }')
-GLUON_RELEASE=$(grep 'define release' $BUILD_DIRECTORY/rpm_specs/gluon.spec | awk '{ print $3 }')_$OPNFV_ARTIFACT_VERSION
-
-ARTIFACT_NAME=gluon-$GLUON_VERSION-$GLUON_RELEASE.noarch.rpm
-ARTIFACT_PATH=$BUILD_DIRECTORY/noarch/$ARTIFACT_NAME
-
-echo "Writing opnfv.properties file"
-# save information regarding artifact into file
-(
- echo "OPNFV_ARTIFACT_VERSION=$OPNFV_ARTIFACT_VERSION"
- echo "OPNFV_GIT_URL=$(git config --get remote.origin.url)"
- echo "OPNFV_GIT_SHA1=$(git rev-parse HEAD)"
- echo "OPNFV_ARTIFACT_URL=$GS_URL/$ARTIFACT_NAME"
- echo "OPNFV_ARTIFACT_SHA512SUM=$(sha512sum $ARTIFACT_PATH | cut -d' ' -f1)"
- echo "OPNFV_BUILD_URL=$BUILD_URL"
- echo "ARTIFACT_LIST=$ARTIFACT_PATH"
-) > $WORKSPACE/opnfv.properties
-
-echo "---------------------------------------"
-echo "Done!"
+++ /dev/null
----
-- project:
- name: netready-rtd
- project: netready
- project-name: netready
-
- gerrit-skip-vote: true
- project-pattern: 'netready'
- rtd-build-url: 'https://readthedocs.org/api/v2/webhook/opnfv-netready/47375/'
- rtd-token: '3defd5720db87d5fd6487702e2778053b9279c28'
-
- jobs:
- - '{project-name}-rtd-jobs'
+++ /dev/null
-#!/bin/bash
-set -o errexit
-set -o nounset
-set -o pipefail
-
-echo "Uploading Gluon packages"
-echo "--------------------------------------------------------"
-echo
-
-source $WORKSPACE/opnfv.properties
-
-for artifact in $ARTIFACT_LIST; do
- echo "Uploading artifact: ${artifact}"
- gsutil cp $artifact gs://$GS_URL/$(basename $artifact) > gsutil.$(basename $artifact).log
- echo "Upload complete for ${artifact}"
-done
-
-gsutil cp $WORKSPACE/opnfv.properties gs://$GS_URL/opnfv-$OPNFV_ARTIFACT_VERSION.properties > gsutil.properties.log
-gsutil cp $WORKSPACE/opnfv.properties gs://$GS_URL/latest.properties > gsutil.properties.log
-
-echo "--------------------------------------------------------"
-echo "Upload done!"
-
-echo "Artifacts are not available as:"
-for artifact in $ARTIFACT_LIST; do
- echo "http://$GS_URL/$(basename $artifact)"
-done
+++ /dev/null
----
-- project:
- name: netready
-
- project: '{name}'
-
- jobs:
- - '{project}-verify-{stream}'
- - 'netready-build-gluon-packages-daily-{stream}'
-
- stream:
- - master:
- branch: '{stream}'
- gs-pathname: ''
- disabled: false
-
-- job-template:
- name: 'netready-build-gluon-packages-daily-{stream}'
-
- disabled: true
-
- concurrent: true
-
- parameters:
- - project-parameter:
- project: '{project}'
- branch: '{branch}'
- - 'opnfv-build-ubuntu-defaults'
- - 'netready-parameter':
- gs-pathname: '{gs-pathname}'
-
- scm:
- - git-scm
-
- builders:
- - 'netready-gluon-build'
-
- triggers:
- - timed: '@midnight'
-
-
-########################
-# builder macros
-########################
-
-- builder:
- name: 'netready-gluon-build'
- builders:
- - shell:
- !include-raw: ./netready-gluon-build.sh
- - shell:
- !include-raw: ./netready-upload-gluon-packages.sh
-
-
-########################
-# parameter macros
-########################
-
-- parameter:
- name: netready-parameter
- parameters:
- - string:
- name: BUILD_DIRECTORY
- default: $WORKSPACE/build
- description: "Directory where the build artifact will be located upon the completion of the build."
- - string:
- name: GS_URL
- default: artifacts.opnfv.org/$PROJECT{gs-pathname}
- description: "URL to Google Storage."
- gerrit:
server-name: 'gerrit.opnfv.org'
trigger-on:
- - comment-added-contains-event:
- comment-contains-value: 'buildvm'
+ - change-merged-event
projects:
- project-compare-type: 'ANT'
project-pattern: '{project}'
builders:
- shell: |
cd $WORKSPACE && tox
+ cd $WORKSPACE/nfvbenchvm/dib
+ bash verify-image.sh -v
+++ /dev/null
----
-- project:
- name: octopus-rtd
- project: octopus
- project-name: octopus
-
- gerrit-skip-vote: true
- project-pattern: 'octopus'
- rtd-build-url: 'https://readthedocs.org/api/v2/webhook/opnfv-octopus/47377/'
- rtd-token: 'b3a1784dc55db91f38ea54cb181a0e4551221349'
-
- jobs:
- - '{project-name}-rtd-jobs'
---
- project:
name: docs-rtd
+ project: 'opnfvdocs'
+ project-name: 'opnfvdocs'
+ rtd-build-url: 'https://readthedocs.org/api/v2/webhook/opnfvdocsdemo/79560/'
+ rtd-token: 'a96c3622a270344cf9bf3f73b0dfa04f59fc59c0'
+ project-pattern: 'opnfvdocs'
jobs:
+ - '{project-name}-rtd-jobs'
- 'docs-merge-rtd-{stream}'
- 'docs-verify-rtd-{stream}'
- hunter:
branch: 'stable/{stream}'
- project: 'opnfvdocs'
- rtdproject: 'opnfv'
- # TODO: Archive Artifacts
-
- job-template:
name: 'docs-merge-rtd-{stream}'
builders:
- 'remove-old-docs-from-opnfv-artifacts'
- - shell: |
- if [ $GERRIT_BRANCH == "master" ]; then
- RTD_BUILD_VERSION=latest
- else
- RTD_BUILD_VERSION=${{GERRIT_BRANCH/\//-}}
- fi
- curl -X POST --data "version_slug=$RTD_BUILD_VERSION" https://readthedocs.org/build/opnfvdocsdemo
-
- job-template:
name: 'docs-verify-rtd-{stream}'
+++ /dev/null
----
-- project:
- name: promise-rtd
- project: promise
- project-name: promise
-
- project-pattern: 'promise'
- rtd-build-url: 'https://readthedocs.org/api/v2/webhook/opnfv-promise/47386/'
- rtd-token: 'e689330ddc9401d83dd26efbe26a55a6ecd33a0d'
-
- stream:
- - master:
- branch: '{stream}'
- disabled: false
- - gambia:
- branch: 'stable/{stream}'
- disabled: false
-
- jobs:
- - '{project-name}-rtd-jobs'
+++ /dev/null
----
-- project:
- name: promise
-
- project: '{name}'
-
- jobs:
- - '{project}-verify-basic'
# projects with jobs for fraser
- 'bottlenecks':
project: 'bottlenecks'
- <<: *fraser
+ <<: *hunter
<<: *other-receivers
- 'clover':
project: 'clover'
echo "---> Create virtualenv"
sudo -H pip install virtualenv
-virtualenv $WORKSPACE/venv
+virtualenv -p /usr/bin/python3 $WORKSPACE/venv
+
# shellcheck source=$WORKSPACE/venv/bin/activate disable=SC1091
source $WORKSPACE/venv/bin/activate
pip install --upgrade pip
branch: '{stream}'
gs-pathname: ''
docker-tag: 'latest'
- gambia: &gambia
- stream: gambia
+ hunter: &hunter
+ stream: hunter
branch: 'stable/{stream}'
gs-pathname: '/{stream}'
disabled: false
- baremetal:
slave-label: apex-baremetal-master
installer: apex
- <<: *gambia
+ <<: *hunter
## armband CI PODs
# - armband-baremetal:
# slave-label: armband-baremetal
gs-pathname: ''
disabled: false
docker-tag: 'latest'
- - gambia: &gambia
+ - hunter: &hunter
branch: 'stable/{stream}'
gs-pathname: '/{stream}'
disabled: false
gs-pathname: ''
disabled: false
docker-tag: 'latest'
- - gambia: &gambia
+ - hunter: &hunter
branch: 'stable/{stream}'
gs-pathname: '/{stream}'
disabled: false
SCENARIO_SHA=$(cd $WORK_DIRECTORY/$GERRIT_PROJECT && git rev-parse HEAD)
}
+# This function allows developers to specify the specific XCI flavor for the
+# impacted scenario by adding the XCI Flavor info about the specific scenario.
+# This results in either skipping the real verification
+# totally or skipping the determining the installer and scenario programmatically.
+# It is important to note that this feature is only available to generic scenarios
+# and only single installer/scenario pair is allowed.
+# The input in commit message should be placed at the end of the commit message body,
+# before the signed-off and change-id lines.
+#
+# Pattern to be searched in Commit Message
+# xci-flavor:<xci-flavor>
+# Examples:
+# xci-flavor:noha
+function override_xci_flavor() {
+ echo "Processing $GERRIT_PROJECT patchset $GERRIT_REFSPEC"
+
+ # process commit message for XCI Flavor
+ if [[ "$GERRIT_CHANGE_COMMIT_MESSAGE" =~ "xci-flavor:" ]]; then
+ XCI_FLAVOR=$(echo $GERRIT_CHANGE_COMMIT_MESSAGE | awk '/xci-flavor:/' RS=" " | cut -d":" -f2)
+
+ if [[ -z "$XCI_FLAVOR" ]]; then
+ XCI_FLAVOR='mini'
+ echo "XCI flavor is not specified. The default is specified instead (i.e. mini). Falling back to programmatically determining them."
+ echo "XCI_FLAVOR=mini" >> $WORK_DIRECTORY/scenario.properties
+ exit 0
+ else
+ echo "Recording the XCI flavor '$XCI_FLAVOR' for downstream jobs"
+ echo "XCI_FLAVOR=$XCI_FLAVOR" >> $WORK_DIRECTORY/scenario.properties
+ exit 0
+ fi
+ else
+ XCI_FLAVOR='mini'
+ echo "XCI flavor is not specified. The default is specified instead (i.e. mini). Falling back to programmatically determining them."
+ echo "XCI_FLAVOR=mini" >> $WORK_DIRECTORY/scenario.properties
+ exit 0
+ fi
+
+}
+
echo "Determining the impacted scenario"
declare -a DEPLOY_SCENARIO
determine_default_scenario
else
determine_scenario
+ override_xci_flavor
fi
override_scenario
installer: joid
auto-trigger-name: 'daily-trigger-disabled'
<<: *master
+ - itri-pod1:
+ slave-label: '{pod}'
+ installer: fuel
+ auto-trigger-name: 'daily-trigger-disabled'
+ <<: *master
- zte-pod1:
slave-label: '{pod}'
installer: fuel
default: '-i 104.197.68.199:8086'
description: 'Arguments to use in order to choose the backend DB'
+- parameter:
+ name: 'yardstick-params-itri-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'
+
- parameter:
name: 'yardstick-params-zte-pod1'
parameters:
release-model: stable
upstream: https://wiki.openstack.org/wiki/TripleO
+releases:
+ - version: opnfv-8.0.0
+ location:
+ apex: 5a60fc71848a60ee51837b7dc7a49dda741876cd
+
branches:
- name: stable/hunter
location:
--- /dev/null
+# SPDX-License-Identifier: Apache-2.0
+##############################################################################
+# Copyright (c) 2018 The Linux Foundation and others.
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Apache License, Version 2.0
+# which accompanies this distribution, and is available at
+# http://www.apache.org/licenses/LICENSE-2.0
+##############################################################################
+---
+project: barometer
+project-type: feature
+release-model: stable
+
+branches:
+ - name: stable/hunter
+ location:
+ barometer: 6fe9f36a63e71bd4614260cca0664b02b95c8b9c
--- /dev/null
+---
+project: bottlenecks
+project-type: testing
+release-model: stable
+
+branches:
+ - name: stable/hunter
+ location:
+ bottlenecks: 80edaf3c201bec85fe8a403e03b68899c08df3bb
+
+releases:
+ - version: opnfv-8.0.0
+ location:
+ bottlenecks: 80edaf3c201bec85fe8a403e03b68899c08df3bb
project-type: feature
release-model: stable
+releases:
+ - version: opnfv-8.0.0
+ location:
+ clover: 1301c1842b5b678a1c91ce6d81b1df85135186b6
+
branches:
- name: stable/hunter
location:
clover: 3f86a3d611f4d2a4f21d9be2a2284ccf120db36e
+
+release-notes: https://opnfv-clover.readthedocs.io/en/stable-hunter/release/release-notes/release-notes.html
--- /dev/null
+---
+project: container4nfv
+project-type: feature
+release-model: stable
+
+branches:
+ - name: stable/hunter
+ location:
+ container4nfv: 7a5ffe11c53e77e16383e712aad823e333b61aff
--- /dev/null
+---
+project: cran
+project-type: feature
+release-model: stable
+
+branches:
+ - name: stable/hunter
+ location:
+ cran: 60a2982c7b9de09880005b23da88bff0a8d59467
project-type: feature
release-model: stable
+releases:
+ - version: opnfv-8.0.0
+ location:
+ doctor: 3eb8e9800215f25712d62160042e472f63cec1e1
+
branches:
- name: stable/hunter
location:
doctor: 73605c5c34b97ab56306bfa9af0f5888f3c7e46d
+
+release-notes: https://opnfv-doctor.readthedocs.io/en/stable-hunter/release/release-notes/index.html#doctor-releasenotes
--- /dev/null
+---
+project: edgecloud
+project-type: feature
+release-model: stable
+
+branches:
+ - name: stable/hunter
+ location:
+ edgecloud: 0aa38f991cc8defd2cf46bea93f16938a3d66927
location:
fuel: f021e19b4797eb4f6830d86056fce919f1e1fe01
+releases:
+ - version: opnfv-8.0.0
+ location:
+ fuel: 4e64c8495d8cddab653e7b6f8db1d4335755d4c9
+
release-notes: https://opnfv-fuel.readthedocs.io/en/latest/release/release-notes/release-notes.html
project-type: feature
release-model: stable
+releases:
+ - version: opnfv-8.0.0
+ location:
+ ipv6: b113174fa52a1ac4bd20bdbdaea86b07897e7091
+
branches:
- name: stable/hunter
location:
- name: stable/hunter
location:
stor4nfv: fe427fc3f69ecc5e104a6fdb2c9f5d82f0254fdb
+
+release-notes: https://opnfv-stor4nfv.readthedocs.io/en/latest/release/release-notes/release-notes.html
--- /dev/null
+---
+project: storperf
+project-type: testing
+release-model: stable
+
+branches:
+ - name: stable/hunter
+ location:
+ storperf: cc15a771fa60ddd63ac0a7eee3b43eb9f8cf2334
- name: stable/hunter
location:
yardstick: 85899baa90714ae15add21a330316793071168ae
+
+releases:
+ - version: opnfv-8.0.0
+ location:
+ yardstick: 9bd54d7914f4c025d4a50611f726d6154f914c7b
+
+release-notes: https://opnfv-yardstick.readthedocs.io/en/latest/release/release-notes/release-notes.html
'lf-pod1' 'lf-pod2' \
'lf-virtual2' 'lf-virtual3' \
'intel-pod12' 'intel-pod18' \
+'itri-pod1' \
'ericsson-pod1' 'ericsson-pod2' \
'ericsson-virtual1' 'ericsson-virtual2' 'ericsson-virtual3' \
'ericsson-virtual4' 'ericsson-virtual5' \