- project:
name: kvmfornfv
- jobs:
- - 'kvmfornfv-verify-{stream}'
- - 'kvmfornfv-merge-{stream}'
- # stream: branch with - in place of / (eg. stable-arno)
- # branch: branch (eg. stable/arno)
+ project: '{name}'
+
stream:
- master:
- branch: 'master'
-
- project: 'kvmfornfv'
-
+ branch: '{stream}'
+ gs-pathname: ''
+ disabled: false
+ - colorado:
+ branch: 'stable/{stream}'
+ gs-pathname: '/{stream}'
+ disabled: false
+#####################################
+# patch verification phases
+#####################################
+ phase:
+ - 'build':
+ slave-label: 'opnfv-build-ubuntu'
+ - 'test':
+ slave-label: 'intel-pod1'
+#####################################
+# patch verification phases
+#####################################
+ testname:
+ - 'Idle_Idle':
+ trigger_time: '@midnight'
+ - 'Stress_Idle':
+ trigger_time: '@midnight+3hours'
+ - 'Packet_Forwarding':
+ trigger_time: '@midnight+6hours'
+#####################################
+# patch verification phases
+#####################################
+ jobs:
+ - 'kvmfornfv-verify-{stream}'
+ - 'kvmfornfv-verify-{phase}-{stream}'
+ - 'kvmfornfv-merge-{stream}'
+ - 'kvmfornfv-{testname}-daily-{stream}'
+ - 'kvmfornfv-{testname}-daily-{phase}-{stream}'
+#####################################
+# job templates
+#####################################
- job-template:
name: 'kvmfornfv-verify-{stream}'
- node: ericsson-build
+ project-type: multijob
+
+ disabled: '{obj:disabled}'
- logrotate:
- daysToKeep: 30
- numToKeep: 10
- artifactDaysToKeep: -1
- artifactNumToKeep: -1
+ concurrent: true
+
+ properties:
+ - throttle:
+ enabled: true
+ max-total: 3
+ option: 'project'
parameters:
- project-parameter:
project: '{project}'
- gerrit-parameter:
- branch: 'master'
- - 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."
-
- scm:
- - gerrit-trigger-scm:
- credentials-id: '{ssh-credentials}'
- refspec: '$GERRIT_REFSPEC'
- choosing-strategy: 'gerrit'
+ branch: '{branch}'
+ - 'opnfv-build-ubuntu-defaults'
triggers:
- gerrit:
+ server-name: 'gerrit.opnfv.org'
trigger-on:
- patchset-created-event:
exclude-drafts: 'false'
comment-contains-value: 'reverify'
projects:
- project-compare-type: 'ANT'
- project-pattern: 'kvmfornfv'
+ project-pattern: '{project}'
branches:
- branch-compare-type: 'ANT'
- branch-pattern: '**/master'
+ branch-pattern: '**/{branch}'
builders:
- - shell:
- !include-raw ./kvmfornfv-build.sh
-
+ - description-setter:
+ description: "Built on $NODE_NAME"
+ - multijob:
+ name: build
+ condition: SUCCESSFUL
+ projects:
+ - name: 'kvmfornfv-verify-build-{stream}'
+ current-parameters: false
+ predefined-parameters: |
+ GERRIT_BRANCH=$GERRIT_BRANCH
+ GERRIT_REFSPEC=$GERRIT_REFSPEC
+ GERRIT_CHANGE_NUMBER=$GERRIT_CHANGE_NUMBER
+ node-parameters: false
+ kill-phase-on: FAILURE
+ abort-all-job: true
+ - multijob:
+ name: test
+ condition: SUCCESSFUL
+ projects:
+ - name: 'kvmfornfv-verify-test-{stream}'
+ current-parameters: false
+ predefined-parameters: |
+ GERRIT_BRANCH=$GERRIT_BRANCH
+ GERRIT_REFSPEC=$GERRIT_REFSPEC
+ GERRIT_CHANGE_NUMBER=$GERRIT_CHANGE_NUMBER
+ node-parameters: false
+ kill-phase-on: FAILURE
+ abort-all-job: true
- job-template:
- name: 'kvmfornfv-merge-{stream}'
+ name: 'kvmfornfv-verify-{phase}-{stream}'
- # builder-merge job to run JJB update
- #
- # This job's purpose is to update all the JJB
+ disabled: '{obj:disabled}'
- node: ericsson-build
+ concurrent: true
- logrotate:
- daysToKeep: 30
- numToKeep: 40
- artifactDaysToKeep: -1
- artifactNumToKeep: 5
+ scm:
+ - gerrit-trigger-scm:
+ credentials-id: '{ssh-credentials}'
+ refspec: '$GERRIT_REFSPEC'
+ choosing-strategy: 'gerrit'
+ wrappers:
+ - ssh-agent-credentials:
+ users:
+ - '{ssh-credentials}'
+ - timeout:
+ timeout: 360
+ fail: true
parameters:
- project-parameter:
project: '{project}'
- gerrit-parameter:
- branch: 'master'
- - 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."
+ branch: '{branch}'
+ - '{slave-label}-defaults'
+ - 'kvmfornfv-defaults':
+ gs-pathname: '{gs-pathname}'
+
+ builders:
+ - description-setter:
+ description: "Built on $NODE_NAME"
+ - '{project}-verify-{phase}-macro'
+
+- job-template:
+ name: 'kvmfornfv-merge-{stream}'
+
+ disabled: '{obj:disabled}'
+
+ parameters:
+ - project-parameter:
+ project: '{project}'
+ - gerrit-parameter:
+ branch: '{branch}'
+ - 'opnfv-build-ubuntu-defaults'
+ - 'kvmfornfv-defaults':
+ gs-pathname: '{gs-pathname}'
scm:
- gerrit-trigger-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: 'kvmfornfv'
+ project-pattern: '{project}'
branches:
- branch-compare-type: 'ANT'
- branch-pattern: '**/master'
+ branch-pattern: '**/{branch}'
builders:
- shell:
- !include-raw ./kvmfornfv-build.sh
+ !include-raw: ./kvmfornfv-build.sh
+
+- job-template:
+ name: 'kvmfornfv-{testname}-daily-{stream}'
+
+ project-type: multijob
+
+ disabled: '{obj:disabled}'
+
+ concurrent: false
+
+ parameters:
+ - project-parameter:
+ project: '{project}'
+ - gerrit-parameter:
+ branch: '{branch}'
+ - 'opnfv-build-ubuntu-defaults'
+ - 'kvmfornfv-defaults':
+ gs-pathname: '{gs-pathname}'
+
+ scm:
+ - gerrit-trigger-scm:
+ credentials-id: '{ssh-credentials}'
+ refspec: ''
+ choosing-strategy: 'default'
+
+ triggers:
+ - timed: '{trigger_time}'
+
+ builders:
+ - description-setter:
+ description: "Built on $NODE_NAME"
+ - multijob:
+ name: build
+ condition: SUCCESSFUL
+ projects:
+ - name: 'kvmfornfv-Idle_Idle-daily-build-{stream}'
+ current-parameters: false
+ node-parameters: false
+ git-revision: true
+ kill-phase-on: FAILURE
+ abort-all-job: true
+ - multijob:
+ name: build
+ condition: SUCCESSFUL
+ projects:
+ - name: 'kvmfornfv-Stress_Idle-daily-build-{stream}'
+ current-parameters: false
+ node-parameters: false
+ git-revision: true
+ kill-phase-on: FAILURE
+ abort-all-job: true
+ - multijob:
+ name: build
+ condition: SUCCESSFUL
+ projects:
+ - name: 'kvmfornfv-Packet_Forwarding-daily-build-{stream}'
+ current-parameters: false
+ node-parameters: false
+ git-revision: true
+ kill-phase-on: FAILURE
+ abort-all-job: true
+
+ - multijob:
+ name: build
+ condition: SUCCESSFUL
+ projects:
+ - name: 'kvmfornfv-Idle_Idle-daily-test-{stream}'
+ current-parameters: false
+ node-parameters: false
+ git-revision: true
+ kill-phase-on: FAILURE
+ abort-all-job: true
+
+ - multijob:
+ name: test
+ condition: SUCCESSFUL
+ projects:
+ - name: 'kvmfornfv-Stress_Idle-daily-test-{stream}'
+ current-parameters: false
+ node-parameters: false
+ git-revision: true
+ kill-phase-on: FAILURE
+ abort-all-job: true
+ - multijob:
+ name: build
+ condition: SUCCESSFUL
+ projects:
+ - name: 'kvmfornfv-Packet_Forwarding-daily-test-{stream}'
+ current-parameters: false
+ node-parameters: false
+ git-revision: true
+ kill-phase-on: FAILURE
+ abort-all-job: true
+
+
+- job-template:
+ name: 'kvmfornfv-{testname}-daily-{phase}-{stream}'
+
+ disabled: '{obj:disabled}'
+
+ concurrent: false
+
+ scm:
+ - gerrit-trigger-scm:
+ credentials-id: '{ssh-credentials}'
+ refspec: ''
+ choosing-strategy: 'default'
+
+ wrappers:
+ - ssh-agent-credentials:
+ users:
+ - '{ssh-credentials}'
+ - timeout:
+ timeout: 360
+ fail: true
+ parameters:
+ - project-parameter:
+ project: '{project}'
+ - gerrit-parameter:
+ branch: '{branch}'
+ - '{slave-label}-defaults'
+ - 'kvmfornfv-defaults':
+ gs-pathname: '{gs-pathname}'
+
+ builders:
+ - description-setter:
+ description: "Built on $NODE_NAME"
+ - '{project}-{testname}-daily-{phase}-macro'
+########################
+# parameter macros
+########################
+- parameter:
+ name: 'kvmfornfv-Idle_Idle-daily-test-{stream}'
+ parameters:
+ - string:
+ name: TEST_NAME
+ default: 'idle_idle'
+ description: "Daily job to run cyclictest without applying any stress"
+- parameter:
+ name: 'kvmfornfv-Stress_Idle-daily-test-{stream}'
+ parameters:
+ - string:
+ name: TEST_NAME
+ default: 'stress_idle'
+ description: "Daily job to run cyclictest with stress applied"
+- parameter:
+ name: 'kvmfornfv-Packet_Forwarding-daily-test-{stream}'
+ parameters:
+ - string:
+ name: TEST_NAME
+ default: 'packet_forward'
+ description: "Daily job to run packet forwarding test cases"
+#####################################
+# builder macros
+#####################################
+- builder:
+ name: 'kvmfornfv-verify-build-macro'
+ builders:
+ - shell:
+ !include-raw: ./kvmfornfv-build.sh
+ - shell:
+ !include-raw: ./kvmfornfv-upload-artifact.sh
+- builder:
+ name: 'kvmfornfv-verify-test-macro'
+ builders:
+ - shell:
+ !include-raw: ./kvmfornfv-download-artifact.sh
+ - shell:
+ !include-raw: ./kvmfornfv-test.sh
+- builder:
+ name: 'kvmfornfv-Idle_Idle-daily-build-macro'
+ builders:
+ - shell:
+ !include-raw: ./kvmfornfv-build.sh
+ - shell:
+ !include-raw: ./kvmfornfv-upload-artifact.sh
+- builder:
+ name: 'kvmfornfv-Stress_Idle-daily-build-macro'
+ builders:
+ - shell:
+ !include-raw: ./kvmfornfv-build.sh
+ - shell:
+ !include-raw: ./kvmfornfv-upload-artifact.sh
+- builder:
+ name: 'kvmfornfv-Packet_Forwarding-daily-build-macro'
+ builders:
+ - shell:
+ !include-raw: ./kvmfornfv-build.sh
+ - shell:
+ !include-raw: ./kvmfornfv-upload-artifact.sh
+- builder:
+ name: 'kvmfornfv-Idle_Idle-daily-test-macro'
+ builders:
+ - shell:
+ !include-raw: ./kvmfornfv-download-artifact.sh
+ - shell:
+ !include-raw: ./kvmfornfv-test.sh
+- builder:
+ name: 'kvmfornfv-Stress_Idle-daily-test-macro'
+ builders:
+ - shell:
+ !include-raw: ./kvmfornfv-download-artifact.sh
+ - shell:
+ !include-raw: ./kvmfornfv-test.sh
+- builder:
+ name: 'kvmfornfv-Packet_Forwarding-daily-test-macro'
+ builders:
+ - shell:
+ !include-raw: ./kvmfornfv-download-artifact.sh
+ - shell:
+ !include-raw: ./kvmfornfv-test.sh
+
+#####################################
+# parameter macros
+#####################################
+- parameter:
+ name: 'kvmfornfv-defaults'
+ parameters:
+ - string:
+ name: GS_URL
+ default: artifacts.opnfv.org/$PROJECT{gs-pathname}
+ description: "URL to Google Storage."