joid: Pass all parameters to subjobs
[releng.git] / jjb / joid / joid-ci-jobs.yml
1 ########################
2 # Job configuration for joid
3 ########################
4 - project:
5
6     name: 'joid'
7
8     project: '{name}'
9
10     installer: '{name}'
11
12 #--------------------------------
13 # BRANCH ANCHORS
14 #--------------------------------
15     master: &master
16         stream: master
17         branch: '{stream}'
18         gs-pathname: ''
19     brahmaputra: &brahmaputra
20         stream: brahmaputra
21         branch: 'stable/{stream}'
22         gs-pathname: '/{stream}'
23 #--------------------------------
24 # POD, INSTALLER, AND BRANCH MAPPING
25 #--------------------------------
26 #        brahmaputra
27 #--------------------------------
28     pod:
29         - intel-pod5:
30             <<: *brahmaputra
31 #--------------------------------
32 #           master
33 #--------------------------------
34         - intel-pod6:
35             <<: *master
36         - orange-pod2:
37             <<: *master
38         - juniper-pod1:
39             <<: *master
40 #--------------------------------
41 # new scenario descriptions
42     scenario:
43         - 'os-nosdn-nofeature-noha':
44             auto-trigger-name: 'brahmaputra-trigger-daily-disabled'
45         - 'os-nosdn-nofeature-ha':
46             auto-trigger-name: 'brahmaputra-trigger-daily-disabled'
47         - 'os-odl_l2-nofeature-ha':
48             auto-trigger-name: 'joid-{scenario}-{pod}-trigger'
49         - 'os-odl_l2-nofeature-noha':
50             auto-trigger-name: 'brahmaputra-trigger-daily-disabled'
51         - 'os-onos-nofeature-ha':
52             auto-trigger-name: 'brahmaputra-trigger-daily-disabled'
53         - 'os-onos-nofeature-noha':
54             auto-trigger-name: 'brahmaputra-trigger-daily-disabled'
55         - 'os-ocl-nofeature-ha':
56             auto-trigger-name: 'brahmaputra-trigger-daily-disabled'
57         - 'os-ocl-nofeature-noha':
58             auto-trigger-name: 'brahmaputra-trigger-daily-disabled'
59
60     jobs:
61         - 'joid-{scenario}-{pod}-daily-{stream}'
62         - 'joid-deploy-{pod}-daily-{stream}'
63
64 ########################
65 # job templates
66 ########################
67 - job-template:
68     name: 'joid-{scenario}-{pod}-daily-{stream}'
69
70     project-type: multijob
71
72     node: intel-build
73
74     concurrent: false
75
76     properties:
77         - throttle:
78             enabled: true
79             max-total: 1
80             max-per-node: 1
81         - build-blocker:
82             use-build-blocker: true
83             blocking-jobs:
84                 - 'joid-os-.*?-{pod}-daily-{stream}'
85
86     wrappers:
87         - build-name:
88             name: '$BUILD_NUMBER - Scenario: $DEPLOY_SCENARIO'
89
90     triggers:
91         - '{auto-trigger-name}'
92
93     parameters:
94         - project-parameter:
95             project: '{project}'
96         - '{installer}-defaults'
97         - '{pod}-defaults'
98
99     builders:
100         - multijob:
101             name: deploy
102             condition: SUCCESSFUL
103             projects:
104                 - name: 'joid-deploy-{pod}-daily-{stream}'
105                   current-parameters: true
106                   kill-phase-on: FAILURE
107         - multijob:
108             name: functest
109             condition: COMPLETED
110             projects:
111                 - name: 'functest-joid-{pod}-daily-{stream}'
112                   current-parameters: true
113                   kill-phase-on: NEVER
114         - multijob:
115             name: yardstick
116             condition: COMPLETED
117             projects:
118                 - name: 'yardstick-joid-{pod}-daily-{stream}'
119                   current-parameters: true
120                   kill-phase-on: NEVER
121
122 - job-template:
123     name: 'joid-deploy-{pod}-daily-{stream}'
124
125     concurrent: false
126
127     properties:
128         - throttle:
129             enabled: true
130             max-total: 1
131             max-per-node: 1
132         - build-blocker:
133             use-build-blocker: true
134             blocking-jobs:
135                 - 'joid-deploy-{pod}-daily-{stream}'
136
137     wrappers:
138         - build-name:
139             name: '$BUILD_NUMBER - Scenario: $DEPLOY_SCENARIO'
140         - timeout:
141             timeout: 180
142             fail: true
143
144     parameters:
145         - project-parameter:
146             project: '{project}'
147         - '{installer}-defaults'
148         - '{pod}-defaults'
149
150     scm:
151         - git-scm:
152             credentials-id: '{ssh-credentials}'
153             refspec: ''
154             branch: '{branch}'
155
156     builders:
157         - 'builder-macro'
158
159 ########################
160 # builder macros
161 ########################
162 - builder:
163     name: 'builder-macro'
164     builders:
165         - shell: |
166             #!/bin/bash
167             echo "Running $INSTALLER_TYPE with controller $SDN_CONTROLLER"
168             echo
169             echo "------ First Executing clean.sh ------"
170             cd $WORKSPACE/ci
171             ./clean.sh
172         - shell:
173             !include-raw: ./joid-deploy.sh
174
175 ########################
176 # trigger macros
177 ########################
178 - trigger:
179     name: 'joid-os-odl_l2-nofeature-ha-intel-pod5-trigger'
180     triggers:
181         - timed: '0 2 * * *'
182 - trigger:
183     name: 'joid-os-odl_l2-nofeature-ha-intel-pod6-trigger'
184     triggers:
185         - timed: '0 2 * * *'
186 - trigger:
187     name: 'joid-os-odl_l2-nofeature-ha-orange-pod2-trigger'
188     triggers:
189         - timed: ''
190 - trigger:
191     name: 'joid-os-odl_l2-nofeature-ha-juniper-pod1-trigger'
192     triggers:
193         - timed: ''