Merge lp:~1chb1n/ubuntu-openstack-ci/ubuntu-openstack-ci-dev into lp:ubuntu-openstack-ci
- ubuntu-openstack-ci-dev
- Merge into trunk
Proposed by
Ryan Beisner
Status: | Merged |
---|---|
Approved by: | Ryan Beisner |
Approved revision: | no longer in the source branch. |
Merged at revision: | 4 |
Proposed branch: | lp:~1chb1n/ubuntu-openstack-ci/ubuntu-openstack-ci-dev |
Merge into: | lp:ubuntu-openstack-ci |
Diff against target: |
1112 lines (+879/-41) 10 files modified
deployment/jobs/charm_amulet_test/config.xml (+189/-0) deployment/jobs/charm_lint_check/config.xml (+124/-0) deployment/jobs/charm_unit_test/config.xml (+205/-0) deployment/jobs/deploy_with_deployer/config.xml (+44/-33) deployment/jobs/manual_deploy_single_charm/config.xml (+4/-4) deployment/jobs/scheduled_trigger_deploy/config.xml (+82/-0) deployment/jobs/scheduled_trigger_lint/config.xml (+82/-0) deployment/jobs/scheduled_trigger_single_charm/config.xml (+65/-0) deployment/jobs/scheduled_trigger_unit/config.xml (+82/-0) deployment/jobs/trigger_by_branch_scanner/config.xml (+2/-4) |
To merge this branch: | bzr merge lp:~1chb1n/ubuntu-openstack-ci/ubuntu-openstack-ci-dev |
Related bugs: |
Reviewer | Review Type | Date Requested | Status |
---|---|---|---|
Ryan Beisner (community) | Approve | ||
Review via email: mp+236929@code.launchpad.net |
Commit message
Description of the change
update jobs
To post a comment you must log in.
- 4. By Ryan Beisner
-
update jobs
Preview Diff
[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1 | === added directory 'deployment/jobs/charm_amulet_test' |
2 | === added file 'deployment/jobs/charm_amulet_test/config.xml' |
3 | --- deployment/jobs/charm_amulet_test/config.xml 1970-01-01 00:00:00 +0000 |
4 | +++ deployment/jobs/charm_amulet_test/config.xml 2014-10-02 16:09:09 +0000 |
5 | @@ -0,0 +1,189 @@ |
6 | +<?xml version='1.0' encoding='UTF-8'?> |
7 | +<project> |
8 | + <actions/> |
9 | + <description>* Execs amulet tests, if they exist.
 |
10 | +* Use a trigger to hit this job with parameters.
 |
11 | +* Not intended to be run manually.</description> |
12 | + <logRotator class="hudson.tasks.LogRotator"> |
13 | + <daysToKeep>180</daysToKeep> |
14 | + <numToKeep>-1</numToKeep> |
15 | + <artifactDaysToKeep>-1</artifactDaysToKeep> |
16 | + <artifactNumToKeep>-1</artifactNumToKeep> |
17 | + </logRotator> |
18 | + <keepDependencies>false</keepDependencies> |
19 | + <properties> |
20 | + <hudson.model.ParametersDefinitionProperty> |
21 | + <parameterDefinitions> |
22 | + <hudson.model.StringParameterDefinition> |
23 | + <name>BASE_NAME</name> |
24 | + <description>The charm or project's real name (ie. keystone).</description> |
25 | + <defaultValue>manual</defaultValue> |
26 | + </hudson.model.StringParameterDefinition> |
27 | + <hudson.model.StringParameterDefinition> |
28 | + <name>DISPLAY_NAME</name> |
29 | + <description>Affects build description.</description> |
30 | + <defaultValue>manual</defaultValue> |
31 | + </hudson.model.StringParameterDefinition> |
32 | + <hudson.model.StringParameterDefinition> |
33 | + <name>BRANCH</name> |
34 | + <description>LP: or FQ branch string</description> |
35 | + <defaultValue></defaultValue> |
36 | + </hudson.model.StringParameterDefinition> |
37 | + </parameterDefinitions> |
38 | + </hudson.model.ParametersDefinitionProperty> |
39 | + <com.sonyericsson.rebuild.RebuildSettings plugin="rebuild@1.22"> |
40 | + <autoRebuild>false</autoRebuild> |
41 | + </com.sonyericsson.rebuild.RebuildSettings> |
42 | + <hudson.plugins.throttleconcurrents.ThrottleJobProperty plugin="throttle-concurrents@1.8.3"> |
43 | + <maxConcurrentPerNode>1</maxConcurrentPerNode> |
44 | + <maxConcurrentTotal>4</maxConcurrentTotal> |
45 | + <throttleEnabled>true</throttleEnabled> |
46 | + <throttleOption>project</throttleOption> |
47 | + </hudson.plugins.throttleconcurrents.ThrottleJobProperty> |
48 | + <org.jvnet.hudson.plugins.shelveproject.ShelveProjectProperty plugin="shelve-project-plugin@1.5"/> |
49 | + </properties> |
50 | + <scm class="hudson.scm.NullSCM"/> |
51 | + <assignedNode>x86_64</assignedNode> |
52 | + <canRoam>false</canRoam> |
53 | + <disabled>false</disabled> |
54 | + <blockBuildWhenDownstreamBuilding>false</blockBuildWhenDownstreamBuilding> |
55 | + <blockBuildWhenUpstreamBuilding>false</blockBuildWhenUpstreamBuilding> |
56 | + <triggers/> |
57 | + <concurrentBuild>true</concurrentBuild> |
58 | + <builders> |
59 | + <hudson.plugins.templateproject.ProxyBuilder plugin="template-project@1.4.2"> |
60 | + <projectName>_workspace_cleanup</projectName> |
61 | + </hudson.plugins.templateproject.ProxyBuilder> |
62 | + <hudson.plugins.templateproject.ProxyBuilder plugin="template-project@1.4.2"> |
63 | + <projectName>_system_tools_refresh</projectName> |
64 | + </hudson.plugins.templateproject.ProxyBuilder> |
65 | + <hudson.tasks.Shell> |
66 | + <command>#!/bin/bash -e |
67 | +# Make sure node has no juju environment is already bootstrapped on node |
68 | + |
69 | +juju_ok="$(${OSCI_ROOT}/populate/juju-deploy-ok.sh || true)" |
70 | +echo $juju_ok |
71 | + |
72 | +if [[ "$juju_ok" == *CLEAR:* ]]; then |
73 | + echo "Juju environment is clear on ${NODE_NAME}, proceeding." |
74 | +else |
75 | + echo "An environment already exists on ${NODE_NAME}!" |
76 | + #touch $WORKSPACE/fyi.enviro-pre-check.failed |
77 | + . $JENKINS_HOME/novarc |
78 | + nova list &> $WORKSPACE/novalist-asfound.$BUILD_NUMBER |
79 | + juju stat &> $WORKSPACE/jujustat-asfound.yaml.$BUILD_NUMBER |
80 | + # Tear down |
81 | + echo "Attempting juju enviro destroy of ${THIS_ENV} on ${NODE_NAME}..." |
82 | + THIS_ENV=$(juju stat | awk '/environment/ { print $2 }') |
83 | + juju destroy-environment -y $THIS_ENV |
84 | + #ls -alh $WORKSPACE |
85 | + #exit 1 |
86 | +fi |
87 | +</command> |
88 | + </hudson.tasks.Shell> |
89 | + <hudson.tasks.Shell> |
90 | + <command>#!/bin/bash -e |
91 | + |
92 | +env | sort 2>&1 | tee $WORKSPACE/env.$BUILD_NUMBER |
93 | + |
94 | +# Make sure expected env vars exist |
95 | +[[ -z "$BASE_NAME" ]] || [[ -z "$BRANCH" ]] && { echo "No BRANCH and/or BASE_NAME env vars."; exit 1; } |
96 | + |
97 | +mkdir -pv $JENKINS_HOME/checkout || true |
98 | + |
99 | +CO_DIR=$JENKINS_HOME/checkout/$BASE_NAME |
100 | +MAKEFILE=$CO_DIR/Makefile |
101 | + |
102 | +echo $CO_DIR |
103 | +echo $MAKEFILE |
104 | + |
105 | +if [[ -d $CO_DIR ]]; then |
106 | + echo "Removing existing checkout of $BRANCH @ $CO_DIR" |
107 | + rm -rf $CO_DIR |
108 | +fi |
109 | + |
110 | +echo "Creating new checkout of $BRANCH @ $CO_DIR." |
111 | +bzr co --lightweight $BRANCH $CO_DIR |
112 | + |
113 | +[[ ! -f $MAKEFILE ]] && { echo "No Makefile found."; exit 1; } |
114 | + |
115 | +echo "Gathering info about branch..." |
116 | +cd $CO_DIR |
117 | +cp -fv Makefile $WORKSPACE/Makefile.$BUILD_NUMBER |
118 | +bzr revno 2>&1 | tee $WORKSPACE/branch-info.$BUILD_NUMBER |
119 | +bzr info 2>&1 | tee -a $WORKSPACE/branch-info.$BUILD_NUMBER |
120 | + |
121 | +echo "Checking for amulet tests in Makefile..." |
122 | + |
123 | +has_amulet="$(grep "@juju test" $MAKEFILE || true)" |
124 | + |
125 | +if [[ -z $has_amulet ]]; then |
126 | + echo "No amulet test detected in Makefile." |
127 | + touch $WORKSPACE/amulet-test.missing |
128 | + exit 1 |
129 | +fi |
130 | + |
131 | +make test 2>&1 | tee $WORKSPACE/make-test.$BUILD_NUMBER |
132 | +if [[ "${PIPESTATUS[0]}" != "0" ]]; then |
133 | + echo "Amulet test failed." |
134 | + touch $WORKSPACE/make-test.failed |
135 | +fi |
136 | + |
137 | + |
138 | +# Tear down |
139 | +THIS_ENV=$(juju stat | awk '/environment/ { print $2 }') |
140 | +juju destroy-environment -y $THIS_ENV || true |
141 | +ls -alh $WORKSPACE |
142 | + |
143 | +if [[ "$(ls $WORKSPACE -1)" == *.failed* ]]; then |
144 | + exit 1 |
145 | +fi |
146 | +</command> |
147 | + </hudson.tasks.Shell> |
148 | + <hudson.tasks.Shell> |
149 | + <command>#!/bin/bash -e |
150 | +# Make sure we leave with no juju environment |
151 | + |
152 | +juju_ok="$(${OSCI_ROOT}/populate/juju-deploy-ok.sh || true)" |
153 | +echo $juju_ok |
154 | + |
155 | +if [[ "$juju_ok" == *CLEAR:* ]]; then |
156 | + echo "Juju environment is clear on ${NODE_NAME}." |
157 | +else |
158 | + echo "An unexpected environment exists on ${NODE_NAME}!" |
159 | + touch $WORKSPACE/fyi.enviro-post-check.failed |
160 | + . $JENKINS_HOME/novarc |
161 | + nova list &> $WORKSPACE/novalist.$BUILD_NUMBER |
162 | + juju stat &> $WORKSPACE/jujustat.yaml.$BUILD_NUMBER |
163 | + # Tear down |
164 | + echo "Attempting juju enviro destroy of ${THIS_ENV} on ${NODE_NAME}..." |
165 | + THIS_ENV=$(juju stat | awk '/environment/ { print $2 }') |
166 | + juju destroy-environment -y $THIS_ENV |
167 | +fi |
168 | + |
169 | +# Check for failures |
170 | +if [[ "$(ls $WORKSPACE -1)" == *.failed* ]]; then |
171 | + exit 1 |
172 | +fi |
173 | + |
174 | +if [[ "$(ls $WORKSPACE -1)" == *.missing* ]]; then |
175 | + exit 1 |
176 | +fi</command> |
177 | + </hudson.tasks.Shell> |
178 | + </builders> |
179 | + <publishers> |
180 | + <hudson.tasks.ArtifactArchiver> |
181 | + <artifacts>*, logs/*</artifacts> |
182 | + <allowEmptyArchive>true</allowEmptyArchive> |
183 | + <onlyIfSuccessful>false</onlyIfSuccessful> |
184 | + <fingerprint>false</fingerprint> |
185 | + <defaultExcludes>true</defaultExcludes> |
186 | + </hudson.tasks.ArtifactArchiver> |
187 | + </publishers> |
188 | + <buildWrappers> |
189 | + <hudson.plugins.timestamper.TimestamperBuildWrapper plugin="timestamper@1.5.14"/> |
190 | + <org.jenkinsci.plugins.buildnamesetter.BuildNameSetter plugin="build-name-setter@1.3"> |
191 | + <template>#${BUILD_NUMBER} ${ENV,var="DISPLAY_NAME"}</template> |
192 | + </org.jenkinsci.plugins.buildnamesetter.BuildNameSetter> |
193 | + </buildWrappers> |
194 | +</project> |
195 | \ No newline at end of file |
196 | |
197 | === added directory 'deployment/jobs/charm_lint_check' |
198 | === added file 'deployment/jobs/charm_lint_check/config.xml' |
199 | --- deployment/jobs/charm_lint_check/config.xml 1970-01-01 00:00:00 +0000 |
200 | +++ deployment/jobs/charm_lint_check/config.xml 2014-10-02 16:09:09 +0000 |
201 | @@ -0,0 +1,124 @@ |
202 | +<?xml version='1.0' encoding='UTF-8'?> |
203 | +<project> |
204 | + <actions/> |
205 | + <description>* Execs make lint
 |
206 | +* Use a trigger to hit this job with parameters.
 |
207 | +* Not intended to be run manually.</description> |
208 | + <logRotator class="hudson.tasks.LogRotator"> |
209 | + <daysToKeep>180</daysToKeep> |
210 | + <numToKeep>256</numToKeep> |
211 | + <artifactDaysToKeep>-1</artifactDaysToKeep> |
212 | + <artifactNumToKeep>-1</artifactNumToKeep> |
213 | + </logRotator> |
214 | + <keepDependencies>false</keepDependencies> |
215 | + <properties> |
216 | + <hudson.model.ParametersDefinitionProperty> |
217 | + <parameterDefinitions> |
218 | + <hudson.model.StringParameterDefinition> |
219 | + <name>BASE_NAME</name> |
220 | + <description>The charm or project's real name (ie. keystone).</description> |
221 | + <defaultValue>manual</defaultValue> |
222 | + </hudson.model.StringParameterDefinition> |
223 | + <hudson.model.StringParameterDefinition> |
224 | + <name>DISPLAY_NAME</name> |
225 | + <description>Affects build description.</description> |
226 | + <defaultValue>manual</defaultValue> |
227 | + </hudson.model.StringParameterDefinition> |
228 | + <hudson.model.StringParameterDefinition> |
229 | + <name>BRANCH</name> |
230 | + <description>LP: or FQ branch string</description> |
231 | + <defaultValue></defaultValue> |
232 | + </hudson.model.StringParameterDefinition> |
233 | + </parameterDefinitions> |
234 | + </hudson.model.ParametersDefinitionProperty> |
235 | + <com.sonyericsson.rebuild.RebuildSettings plugin="rebuild@1.22"> |
236 | + <autoRebuild>false</autoRebuild> |
237 | + </com.sonyericsson.rebuild.RebuildSettings> |
238 | + <hudson.plugins.throttleconcurrents.ThrottleJobProperty plugin="throttle-concurrents@1.8.3"> |
239 | + <maxConcurrentPerNode>1</maxConcurrentPerNode> |
240 | + <maxConcurrentTotal>8</maxConcurrentTotal> |
241 | + <throttleEnabled>true</throttleEnabled> |
242 | + <throttleOption>project</throttleOption> |
243 | + </hudson.plugins.throttleconcurrents.ThrottleJobProperty> |
244 | + <org.jvnet.hudson.plugins.shelveproject.ShelveProjectProperty plugin="shelve-project-plugin@1.5"/> |
245 | + </properties> |
246 | + <scm class="hudson.scm.NullSCM"/> |
247 | + <assignedNode>x86_64</assignedNode> |
248 | + <canRoam>false</canRoam> |
249 | + <disabled>false</disabled> |
250 | + <blockBuildWhenDownstreamBuilding>false</blockBuildWhenDownstreamBuilding> |
251 | + <blockBuildWhenUpstreamBuilding>false</blockBuildWhenUpstreamBuilding> |
252 | + <triggers/> |
253 | + <concurrentBuild>true</concurrentBuild> |
254 | + <builders> |
255 | + <hudson.plugins.templateproject.ProxyBuilder plugin="template-project@1.4.2"> |
256 | + <projectName>_workspace_cleanup</projectName> |
257 | + </hudson.plugins.templateproject.ProxyBuilder> |
258 | + <hudson.plugins.templateproject.ProxyBuilder plugin="template-project@1.4.2"> |
259 | + <projectName>_system_tools_refresh</projectName> |
260 | + </hudson.plugins.templateproject.ProxyBuilder> |
261 | + <hudson.tasks.Shell> |
262 | + <command>#!/bin/bash -e |
263 | + |
264 | +env | sort 2>&1 | tee $WORKSPACE/env.$BUILD_NUMBER |
265 | + |
266 | +# Make sure expected env vars exist |
267 | +[[ -z "$BASE_NAME" ]] || [[ -z "$BRANCH" ]] && { echo "No BRANCH and/or BASE_NAME env vars."; exit 1; } |
268 | + |
269 | +mkdir -pv $JENKINS_HOME/checkout || true |
270 | + |
271 | +CO_DIR=$JENKINS_HOME/checkout/$BASE_NAME |
272 | +MAKEFILE=$CO_DIR/Makefile |
273 | + |
274 | +echo $CO_DIR |
275 | +echo $MAKEFILE |
276 | + |
277 | +if [[ -d $CO_DIR ]]; then |
278 | + echo "Removing existing checkout of $BRANCH @ $CO_DIR" |
279 | + rm -rf $CO_DIR |
280 | +fi |
281 | + |
282 | +echo "Creating new checkout @ $CO_DIR." |
283 | +bzr co --lightweight $BRANCH $CO_DIR |
284 | + |
285 | +[[ ! -f $MAKEFILE ]] && { echo "No Makefile found."; exit 1; } |
286 | + |
287 | +echo "Gathering info about branch..." |
288 | +cd $CO_DIR |
289 | +cp -fv Makefile $WORKSPACE/Makefile.$BUILD_NUMBER |
290 | +bzr revno 2>&1 | tee $WORKSPACE/branch-info.$BUILD_NUMBER |
291 | +bzr info 2>&1 | tee -a $WORKSPACE/branch-info.$BUILD_NUMBER |
292 | + |
293 | +echo "Checking lint..." |
294 | +set -x |
295 | +pwd |
296 | +make lint 2>&1 | tee $WORKSPACE/make-lint.$BUILD_NUMBER |
297 | +if [[ "${PIPESTATUS[0]}" != "0" ]]; then |
298 | + echo "Lint check failed." |
299 | + touch $WORKSPACE/make-lint.failed |
300 | + exit 1 |
301 | +fi |
302 | +</command> |
303 | + </hudson.tasks.Shell> |
304 | + </builders> |
305 | + <publishers> |
306 | + <hudson.tasks.ArtifactArchiver> |
307 | + <artifacts>*, logs/*</artifacts> |
308 | + <allowEmptyArchive>true</allowEmptyArchive> |
309 | + <onlyIfSuccessful>false</onlyIfSuccessful> |
310 | + <fingerprint>false</fingerprint> |
311 | + <defaultExcludes>true</defaultExcludes> |
312 | + </hudson.tasks.ArtifactArchiver> |
313 | + <hudson.tasks.Mailer plugin="mailer@1.11"> |
314 | + <recipients>ryan.beisner@canonical.com</recipients> |
315 | + <dontNotifyEveryUnstableBuild>false</dontNotifyEveryUnstableBuild> |
316 | + <sendToIndividuals>false</sendToIndividuals> |
317 | + </hudson.tasks.Mailer> |
318 | + </publishers> |
319 | + <buildWrappers> |
320 | + <hudson.plugins.timestamper.TimestamperBuildWrapper plugin="timestamper@1.5.14"/> |
321 | + <org.jenkinsci.plugins.buildnamesetter.BuildNameSetter plugin="build-name-setter@1.3"> |
322 | + <template>#${BUILD_NUMBER} ${ENV,var="DISPLAY_NAME"}</template> |
323 | + </org.jenkinsci.plugins.buildnamesetter.BuildNameSetter> |
324 | + </buildWrappers> |
325 | +</project> |
326 | \ No newline at end of file |
327 | |
328 | === added directory 'deployment/jobs/charm_unit_test' |
329 | === added file 'deployment/jobs/charm_unit_test/config.xml' |
330 | --- deployment/jobs/charm_unit_test/config.xml 1970-01-01 00:00:00 +0000 |
331 | +++ deployment/jobs/charm_unit_test/config.xml 2014-10-02 16:09:09 +0000 |
332 | @@ -0,0 +1,205 @@ |
333 | +<?xml version='1.0' encoding='UTF-8'?> |
334 | +<project> |
335 | + <actions/> |
336 | + <description>* Execs amulet tests, if they exist.
 |
337 | +* Use a trigger to hit this job with parameters.
 |
338 | +* Not intended to be run manually.</description> |
339 | + <logRotator class="hudson.tasks.LogRotator"> |
340 | + <daysToKeep>180</daysToKeep> |
341 | + <numToKeep>-1</numToKeep> |
342 | + <artifactDaysToKeep>-1</artifactDaysToKeep> |
343 | + <artifactNumToKeep>-1</artifactNumToKeep> |
344 | + </logRotator> |
345 | + <keepDependencies>false</keepDependencies> |
346 | + <properties> |
347 | + <hudson.model.ParametersDefinitionProperty> |
348 | + <parameterDefinitions> |
349 | + <hudson.model.StringParameterDefinition> |
350 | + <name>BASE_NAME</name> |
351 | + <description>Set to charm name for branch dir.</description> |
352 | + <defaultValue>manual</defaultValue> |
353 | + </hudson.model.StringParameterDefinition> |
354 | + <hudson.model.StringParameterDefinition> |
355 | + <name>DISPLAY_NAME</name> |
356 | + <description>Affects build description.</description> |
357 | + <defaultValue>manual</defaultValue> |
358 | + </hudson.model.StringParameterDefinition> |
359 | + <hudson.model.StringParameterDefinition> |
360 | + <name>BRANCH</name> |
361 | + <description></description> |
362 | + <defaultValue></defaultValue> |
363 | + </hudson.model.StringParameterDefinition> |
364 | + </parameterDefinitions> |
365 | + </hudson.model.ParametersDefinitionProperty> |
366 | + <com.sonyericsson.rebuild.RebuildSettings plugin="rebuild@1.22"> |
367 | + <autoRebuild>false</autoRebuild> |
368 | + </com.sonyericsson.rebuild.RebuildSettings> |
369 | + <hudson.plugins.throttleconcurrents.ThrottleJobProperty plugin="throttle-concurrents@1.8.3"> |
370 | + <maxConcurrentPerNode>1</maxConcurrentPerNode> |
371 | + <maxConcurrentTotal>8</maxConcurrentTotal> |
372 | + <throttleEnabled>true</throttleEnabled> |
373 | + <throttleOption>project</throttleOption> |
374 | + </hudson.plugins.throttleconcurrents.ThrottleJobProperty> |
375 | + <org.jvnet.hudson.plugins.shelveproject.ShelveProjectProperty plugin="shelve-project-plugin@1.5"/> |
376 | + </properties> |
377 | + <scm class="hudson.scm.NullSCM"/> |
378 | + <assignedNode>x86_64</assignedNode> |
379 | + <canRoam>false</canRoam> |
380 | + <disabled>false</disabled> |
381 | + <blockBuildWhenDownstreamBuilding>false</blockBuildWhenDownstreamBuilding> |
382 | + <blockBuildWhenUpstreamBuilding>false</blockBuildWhenUpstreamBuilding> |
383 | + <triggers/> |
384 | + <concurrentBuild>true</concurrentBuild> |
385 | + <builders> |
386 | + <hudson.plugins.templateproject.ProxyBuilder plugin="template-project@1.4.2"> |
387 | + <projectName>_workspace_cleanup</projectName> |
388 | + </hudson.plugins.templateproject.ProxyBuilder> |
389 | + <hudson.plugins.templateproject.ProxyBuilder plugin="template-project@1.4.2"> |
390 | + <projectName>_system_tools_refresh</projectName> |
391 | + </hudson.plugins.templateproject.ProxyBuilder> |
392 | + <hudson.tasks.Shell> |
393 | + <command>#!/bin/bash -e |
394 | +# Make sure node has no juju environment already bootstrapped on node |
395 | + |
396 | +juju_ok="$(${OSCI_ROOT}/populate/juju-deploy-ok.sh || true)" |
397 | +echo $juju_ok |
398 | + |
399 | +if [[ "$juju_ok" == *CLEAR:* ]]; then |
400 | + echo "Juju environment is clear on ${NODE_NAME}, proceeding." |
401 | +else |
402 | + echo "An environment already exists on ${NODE_NAME}!" |
403 | + #touch $WORKSPACE/fyi.enviro-pre-check.failed |
404 | + . $JENKINS_HOME/novarc |
405 | + nova list &> $WORKSPACE/novalist-asfound.$BUILD_NUMBER |
406 | + juju stat &> $WORKSPACE/jujustat-asfound.yaml.$BUILD_NUMBER |
407 | + # Tear down |
408 | + echo "Attempting juju enviro destroy of ${THIS_ENV} on ${NODE_NAME}..." |
409 | + THIS_ENV=$(juju stat | awk '/environment/ { print $2 }') |
410 | + juju destroy-environment -y $THIS_ENV |
411 | + #ls -alh $WORKSPACE |
412 | + #exit 1 |
413 | +fi |
414 | +</command> |
415 | + </hudson.tasks.Shell> |
416 | + <hudson.tasks.Shell> |
417 | + <command>#!/bin/bash -e |
418 | + |
419 | +env | sort 2>&1 | tee $WORKSPACE/env.$BUILD_NUMBER |
420 | + |
421 | +# Make sure expected env vars exist |
422 | +[[ -z "$BASE_NAME" ]] || [[ -z "$BRANCH" ]] && { echo "No BRANCH and/or BASE_NAME env vars."; exit 1; } |
423 | + |
424 | +mkdir -pv $JENKINS_HOME/checkout || true |
425 | + |
426 | +CO_DIR=$JENKINS_HOME/checkout/$BASE_NAME |
427 | +MAKEFILE=$CO_DIR/Makefile |
428 | + |
429 | +echo $CO_DIR |
430 | +echo $MAKEFILE |
431 | + |
432 | +if [[ -d $CO_DIR ]]; then |
433 | + echo "Removing existing checkout of $BRANCH @ $CO_DIR" |
434 | + rm -rf $CO_DIR |
435 | +fi |
436 | + |
437 | +echo "Creating new checkout of $BRANCH @ $CO_DIR." |
438 | +bzr co --lightweight $BRANCH $CO_DIR |
439 | + |
440 | +[[ ! -f $MAKEFILE ]] && { echo "No Makefile found."; exit 1; } |
441 | + |
442 | +echo "Gathering info about branch..." |
443 | +cd $CO_DIR |
444 | +cp -fv Makefile $WORKSPACE/Makefile.$BUILD_NUMBER |
445 | +bzr revno 2>&1 | tee $WORKSPACE/branch-info.$BUILD_NUMBER |
446 | +bzr info 2>&1 | tee -a $WORKSPACE/branch-info.$BUILD_NUMBER |
447 | + |
448 | +echo "Checking for unit tests in Makefile..." |
449 | + |
450 | +nose_in_unit_test="$(grep "unit_test:" $MAKEFILE || true)" |
451 | +nose_in_test="$(grep "nosetest" $MAKEFILE || true)" |
452 | +echo "niut: ${nose_in_unit_test}(end)" |
453 | +echo "nit: ${nose_in_test}(end)" |
454 | + |
455 | +if [[ -z "$nose_in_unit_test" ]] && [[ -z "$nose_in_test" ]]; then |
456 | + echo "No unit test detected in Makefile." |
457 | + touch $WORKSPACE/unit-test.missing |
458 | + exit 1 |
459 | +fi |
460 | + |
461 | +if [[ -n "$nose_in_unit_test" ]]; then |
462 | + echo "Trying make unit_test..." |
463 | + make unit_test 2>&1 | tee $WORKSPACE/unit-test.$BUILD_NUMBER |
464 | +elif [[ -n "$nose_in_test" ]]; then |
465 | + echo "Trying make test..." |
466 | + make test 2>&1 | tee $WORKSPACE/unit-test.$BUILD_NUMBER |
467 | +fi |
468 | + |
469 | +if [[ "${PIPESTATUS[0]}" != "0" ]]; then |
470 | + echo "Unit test failed." |
471 | + touch $WORKSPACE/unit-test.failed |
472 | +fi |
473 | + |
474 | + |
475 | +# Tear down |
476 | +THIS_ENV=$(juju stat | awk '/environment/ { print $2 }') |
477 | +juju destroy-environment -y $THIS_ENV || true |
478 | +ls -alh $WORKSPACE |
479 | + |
480 | +if [[ "$(ls $WORKSPACE -1)" == *.failed* ]]; then |
481 | + exit 1 |
482 | +fi |
483 | +</command> |
484 | + </hudson.tasks.Shell> |
485 | + <hudson.tasks.Shell> |
486 | + <command>#!/bin/bash -e |
487 | +# Make sure we leave with no juju environment |
488 | + |
489 | +juju_ok="$(${OSCI_ROOT}/populate/juju-deploy-ok.sh || true)" |
490 | +echo $juju_ok |
491 | + |
492 | +if [[ "$juju_ok" == *CLEAR:* ]]; then |
493 | + echo "Juju environment is clear on ${NODE_NAME}." |
494 | +else |
495 | + echo "An unexpected environment exists on ${NODE_NAME}!" |
496 | + touch $WORKSPACE/fyi.enviro-post-check.failed |
497 | + . $JENKINS_HOME/novarc |
498 | + nova list &> $WORKSPACE/novalist.$BUILD_NUMBER |
499 | + juju stat &> $WORKSPACE/jujustat.yaml.$BUILD_NUMBER |
500 | + # Tear down |
501 | + echo "Attempting juju enviro destroy of ${THIS_ENV} on ${NODE_NAME}..." |
502 | + THIS_ENV=$(juju stat | awk '/environment/ { print $2 }') |
503 | + juju destroy-environment -y $THIS_ENV |
504 | +fi |
505 | + |
506 | +# Check for failures |
507 | +if [[ "$(ls $WORKSPACE -1)" == *.failed* ]]; then |
508 | + exit 1 |
509 | +fi |
510 | + |
511 | +if [[ "$(ls $WORKSPACE -1)" == *.missing* ]]; then |
512 | + exit 1 |
513 | +fi</command> |
514 | + </hudson.tasks.Shell> |
515 | + </builders> |
516 | + <publishers> |
517 | + <hudson.tasks.ArtifactArchiver> |
518 | + <artifacts>*, logs/*</artifacts> |
519 | + <allowEmptyArchive>true</allowEmptyArchive> |
520 | + <onlyIfSuccessful>false</onlyIfSuccessful> |
521 | + <fingerprint>false</fingerprint> |
522 | + <defaultExcludes>true</defaultExcludes> |
523 | + </hudson.tasks.ArtifactArchiver> |
524 | + <hudson.plugins.descriptionsetter.DescriptionSetterPublisher plugin="description-setter@1.9"> |
525 | + <regexp>No unit test detected in Makefile</regexp> |
526 | + <regexpForFailed></regexpForFailed> |
527 | + <description>NO UNIT</description> |
528 | + <setForMatrix>false</setForMatrix> |
529 | + </hudson.plugins.descriptionsetter.DescriptionSetterPublisher> |
530 | + </publishers> |
531 | + <buildWrappers> |
532 | + <hudson.plugins.timestamper.TimestamperBuildWrapper plugin="timestamper@1.5.14"/> |
533 | + <org.jenkinsci.plugins.buildnamesetter.BuildNameSetter plugin="build-name-setter@1.3"> |
534 | + <template>#${BUILD_NUMBER} ${ENV,var="DISPLAY_NAME"}</template> |
535 | + </org.jenkinsci.plugins.buildnamesetter.BuildNameSetter> |
536 | + </buildWrappers> |
537 | +</project> |
538 | \ No newline at end of file |
539 | |
540 | === modified file 'deployment/jobs/deploy_with_deployer/config.xml' |
541 | --- deployment/jobs/deploy_with_deployer/config.xml 2014-10-02 15:18:00 +0000 |
542 | +++ deployment/jobs/deploy_with_deployer/config.xml 2014-10-02 16:09:09 +0000 |
543 | @@ -19,7 +19,7 @@ |
544 | </com.sonyericsson.rebuild.RebuildSettings> |
545 | <hudson.plugins.throttleconcurrents.ThrottleJobProperty plugin="throttle-concurrents@1.8.3"> |
546 | <maxConcurrentPerNode>1</maxConcurrentPerNode> |
547 | - <maxConcurrentTotal>4</maxConcurrentTotal> |
548 | + <maxConcurrentTotal>3</maxConcurrentTotal> |
549 | <throttleEnabled>true</throttleEnabled> |
550 | <throttleOption>project</throttleOption> |
551 | </hudson.plugins.throttleconcurrents.ThrottleJobProperty> |
552 | @@ -51,14 +51,14 @@ |
553 | </hudson.plugins.copyartifact.CopyArtifact> |
554 | <hudson.tasks.Shell> |
555 | <command>#!/bin/bash -e |
556 | -# build description |
557 | -echo "" > $WORKSPACE/b_d |
558 | - |
559 | -# Gather package info |
560 | -${OSCI_ROOT}/osci/populate/get-pkg-info.sh || true |
561 | - |
562 | -# Make sure node has no juju environment is already bootstrapped on node |
563 | -juju_ok="$(${OSCI_ROOT}/osci/populate/juju-deploy-ok.sh || true)" |
564 | +# Prep for deploy |
565 | + |
566 | +# Gather node info and package info |
567 | +env | sort | tee $WORKSPACE/env.$BUILD_NUMBER |
568 | +${OSCI_ROOT}/populate/get-pkg-info.sh || true |
569 | + |
570 | +# Make sure node has no juju environment already bootstrapped on node |
571 | +juju_ok="$(${OSCI_ROOT}/populate/juju-deploy-ok.sh || true)" |
572 | echo $juju_ok |
573 | |
574 | if [[ "$juju_ok" == *CLEAR:* ]]; then |
575 | @@ -68,11 +68,12 @@ |
576 | set -x |
577 | . $JENKINS_HOME/novarc |
578 | nova list &> $WORKSPACE/novalist-asfound.$BUILD_NUMBER || true |
579 | - juju stat &> $WORKSPACE/jujustat-asfound.yaml.$BUILD_NUMBER || true |
580 | + juju stat &> $WORKSPACE/jujustat-asfound.$BUILD_NUMBER || true |
581 | # Tear down |
582 | echo "Attempting juju enviro destroy of ${THIS_ENV} on ${NODE_NAME}..." |
583 | THIS_ENV=$(juju stat | awk '/environment/ { print $2 }') |
584 | juju destroy-environment -y $THIS_ENV |
585 | + sleep 20 |
586 | fi |
587 | </command> |
588 | </hudson.tasks.Shell> |
589 | @@ -80,8 +81,8 @@ |
590 | <command>#!/bin/bash -e |
591 | |
592 | # Deploy new openstack on openstack environment (tempstack) |
593 | -env | sort 2>&1 | tee $WORKSPACE/env.$BUILD_NUMBER |
594 | |
595 | +# Handle deployer bundle file upload |
596 | if [[ "$CHARM_SET" == "custom-other.yaml" ]] && [[ -f custom-other.yaml ]]; then |
597 | echo "Using custom-other deployer bundle yaml file..." |
598 | BUNDLE_FILE=$WORKSPACE/$CHARM_SET |
599 | @@ -92,18 +93,19 @@ |
600 | fi |
601 | |
602 | INST_SOURCE="" |
603 | -[[ "$INSTALLATION_SOURCE" != "default" ]] && INST_SOURCE="-${INSTALLATION_SOURCE}" || echo "FYI default source" |
604 | -cd $OPENSTACK_CHARM_TESTING_ROOT |
605 | +[[ "$INSTALLATION_SOURCE" != "default" ]] && INST_SOURCE="-${INSTALLATION_SOURCE}" |
606 | |
607 | set -x |
608 | (cd $OPENSTACK_CHARM_TESTING_ROOT &&\ |
609 | -juju-deployer --bootstrap -c ${BUNDLE_FILE} -d ${UBUNTU_RELEASE}-${OPENSTACK_RELEASE}${INST_SOURCE}) 2>&1 | tee $WORKSPACE/jujudeployer.$BUILD_NUMBER |
610 | +juju-deployer --bootstrap -c ${BUNDLE_FILE} -d ${UBUNTU_RELEASE}-${OPENSTACK_RELEASE}${INST_SOURCE}) \ |
611 | + 2>&1 | tee $WORKSPACE/deployer.$BUILD_NUMBER |
612 | sleep 20</command> |
613 | </hudson.tasks.Shell> |
614 | <hudson.tasks.Shell> |
615 | <command>#!/bin/bash -e |
616 | +# Confirm deployment, configure it, run tempest smoke |
617 | |
618 | -juju_ok="$(${OSCI_ROOT}/osci/populate/juju-deploy-ok.sh || true)" |
619 | +juju_ok="$(${OSCI_ROOT}/populate/juju-deploy-ok.sh || true)" |
620 | echo $juju_ok |
621 | |
622 | if [[ "$juju_ok" == *DEPLOYED:* ]]; then |
623 | @@ -113,10 +115,9 @@ |
624 | # Configure the deployed tempstack |
625 | . $OPENSTACK_CHARM_TESTING_ROOT/novarc |
626 | echo "Calling tempstack configure to tweak network, add test keys..." |
627 | - ${OSCI_ROOT}/osci/populate/tempstack-configure.sh 2>&1 | tee $WORKSPACE/tempstack-configure.$BUILD_NUMBER || true |
628 | + ${OSCI_ROOT}/populate/tempstack-configure.sh 2>&1 | tee $WORKSPACE/tempstack-configure.$BUILD_NUMBER || true |
629 | |
630 | if [[ -n "$(grep testkey.pem $WORKSPACE/tempstack-configure.$BUILD_NUMBER || true)" ]]; then |
631 | - echo "Tempstack configure succeeded." |
632 | touch $WORKSPACE/fyi.tempstack-configure.ok |
633 | else |
634 | echo "Tempstack configure failed." |
635 | @@ -135,40 +136,50 @@ |
636 | touch $WORKSPACE/fyi.configure.bad |
637 | fi |
638 | |
639 | - # Kick off tempest |
640 | - (cd $OPENSTACK_CHARM_TESTING_ROOT/tempest && ./run_tempest.sh -N --smoke) 2>&1 | tee $WORKSPACE/tempest.$BUILD_NUMBER |
641 | - |
642 | - if [[ -n "$(grep 'failures=' $WORKSPACE/tempest.$BUILD_NUMBER)" ]]; then |
643 | - echo "One or more tempest smoke tests failed." |
644 | - touch $WORKSPACE/fyi.tempest-smoke.bad |
645 | + if [[ -n "$(ls $WORKSPACE -1 | egrep '.failed|.bad')" ]]; then |
646 | + echo "Skipping tempest, one or more preceding steps are failed or bad." |
647 | + touch $WORKSPACE/fyi.tempest.skipped |
648 | else |
649 | - echo "All tempest smoke tests passed!" |
650 | - touch $WORKSPACE/fyi.tempest-smoke.ok |
651 | + # Kick off tempest |
652 | + (cd $OPENSTACK_CHARM_TESTING_ROOT/tempest && ./run_tempest.sh -N --smoke) 2>&1 |\ |
653 | + tee $WORKSPACE/tempest.$BUILD_NUMBER |
654 | + if [[ -n "$(grep 'failures=' $WORKSPACE/tempest.$BUILD_NUMBER)" ]]; then |
655 | + echo "One or more tempest smoke tests failed." |
656 | + touch $WORKSPACE/fyi.tempest.bad |
657 | + else |
658 | + echo "All tempest smoke tests passed!" |
659 | + touch $WORKSPACE/fyi.tempest.ok |
660 | + fi |
661 | fi |
662 | - |
663 | else |
664 | echo "Juju deployment failed." |
665 | echo "Skipping tempest." |
666 | - touch $WORKSPACE/fyi.jujudeployer.failed |
667 | + touch $WORKSPACE/fyi.tempest.skipped |
668 | + touch $WORKSPACE/fyi.deploy.failed |
669 | fi |
670 | +</command> |
671 | + </hudson.tasks.Shell> |
672 | + <hudson.tasks.Shell> |
673 | + <command>#!/bin/bash -e |
674 | +# Collect info & tear down environment |
675 | |
676 | # Collect juju stat and logs |
677 | echo "Collecting juju status and unit logs..." |
678 | . $JENKINS_HOME/novarc |
679 | -${OSCI_ROOT}/osci/populate/pull_juju_logs.py || true |
680 | -${OSCI_ROOT}/osci/populate/collect-charm-revno-info.sh || true |
681 | +${OSCI_ROOT}/populate/pull_juju_logs.py || true |
682 | +${OSCI_ROOT}/populate/collect-charm-revno-info.sh || true |
683 | nova list &> $WORKSPACE/novalist.$BUILD_NUMBER || true |
684 | -juju stat &> $WORKSPACE/jujustat.yaml.$BUILD_NUMBER || true |
685 | +juju stat &> $WORKSPACE/jujustat.$BUILD_NUMBER || true |
686 | |
687 | -# Combine b_d with "fyi touch files" list and echo for build description regex |
688 | +# Build description, combine b_d with fyi. list and echo for regex |
689 | cd $WORKSPACE |
690 | ls fyi.* -1 | sed 's/fyi.//' >> b_d || true |
691 | b_d="$(cat $WORKSPACE/b_d | tr '\n' ' ' || true)" |
692 | echo "_:${b_d}" |
693 | |
694 | -# Tear down |
695 | +# Tear down environment |
696 | THIS_ENV=$(juju stat | awk '/environment/ { print $2 }') |
697 | -juju destroy-environment -y $THIS_ENV |
698 | +juju destroy-environment -y $THIS_ENV || true |
699 | ls -alh $WORKSPACE |
700 | |
701 | if [[ "$(ls $WORKSPACE -1)" == *.failed* ]]; then |
702 | |
703 | === modified file 'deployment/jobs/manual_deploy_single_charm/config.xml' |
704 | --- deployment/jobs/manual_deploy_single_charm/config.xml 2014-10-02 15:18:00 +0000 |
705 | +++ deployment/jobs/manual_deploy_single_charm/config.xml 2014-10-02 16:09:09 +0000 |
706 | @@ -107,7 +107,7 @@ |
707 | <hudson.tasks.Shell> |
708 | <command>#!/bin/bash -e |
709 | # Make sure node has no juju environment is already bootstrapped on node |
710 | -juju_ok="$(${OSCI_ROOT}/osci/populate/juju-deploy-ok.sh || true)" |
711 | +juju_ok="$(${OSCI_ROOT}/populate/juju-deploy-ok.sh || true)" |
712 | echo $juju_ok |
713 | |
714 | if [[ "$juju_ok" == *CLEAR:* ]]; then |
715 | @@ -133,14 +133,14 @@ |
716 | juju deploy $THIS_CHARM |
717 | |
718 | # Wait and check |
719 | -ready="$(${OSCI_ROOT}/osci/populate/juju-deploy-ok.sh || true)" |
720 | +ready="$(${OSCI_ROOT}/populate/juju-deploy-ok.sh || true)" |
721 | tries=0 |
722 | while [[ "$ready" != *DEPLOYED:* ]] && [ $tries -le 30 ] |
723 | do |
724 | echo "Waiting for environment state to become started/ACTIVE..." |
725 | echo "Environment state: ${ready}" |
726 | sleep 10 |
727 | - ready="$(${OSCI_ROOT}/osci/populate/juju-deploy-ok.sh || true)" |
728 | + ready="$(${OSCI_ROOT}/populate/juju-deploy-ok.sh || true)" |
729 | tries=$(( $tries + 1 )) |
730 | done |
731 | |
732 | @@ -159,7 +159,7 @@ |
733 | . $JENKINS_HOME/novarc |
734 | nova list &> $WORKSPACE/novalist.$BUILD_NUMBER |
735 | juju stat &> $WORKSPACE/jujustat.yaml.$BUILD_NUMBER |
736 | -${OSCI_ROOT}/osci/populate/pull_juju_logs.py |
737 | +${OSCI_ROOT}/populate/pull_juju_logs.py |
738 | |
739 | echo "Tearing down environment..." |
740 | THIS_ENV=$(juju stat | awk '/environment/ { print $2 }') |
741 | |
742 | === added directory 'deployment/jobs/scheduled_trigger_deploy' |
743 | === added file 'deployment/jobs/scheduled_trigger_deploy/config.xml' |
744 | --- deployment/jobs/scheduled_trigger_deploy/config.xml 1970-01-01 00:00:00 +0000 |
745 | +++ deployment/jobs/scheduled_trigger_deploy/config.xml 2014-10-02 16:09:09 +0000 |
746 | @@ -0,0 +1,82 @@ |
747 | +<?xml version='1.0' encoding='UTF-8'?> |
748 | +<project> |
749 | + <actions/> |
750 | + <description>* Triggers deployments for all branches via branch_scanner job
 |
751 | +* Weekly on Sunday</description> |
752 | + <logRotator class="hudson.tasks.LogRotator"> |
753 | + <daysToKeep>90</daysToKeep> |
754 | + <numToKeep>90</numToKeep> |
755 | + <artifactDaysToKeep>-1</artifactDaysToKeep> |
756 | + <artifactNumToKeep>-1</artifactNumToKeep> |
757 | + </logRotator> |
758 | + <keepDependencies>false</keepDependencies> |
759 | + <properties> |
760 | + <com.sonyericsson.rebuild.RebuildSettings plugin="rebuild@1.22"> |
761 | + <autoRebuild>false</autoRebuild> |
762 | + </com.sonyericsson.rebuild.RebuildSettings> |
763 | + <hudson.plugins.throttleconcurrents.ThrottleJobProperty plugin="throttle-concurrents@1.8.3"> |
764 | + <maxConcurrentPerNode>1</maxConcurrentPerNode> |
765 | + <maxConcurrentTotal>1</maxConcurrentTotal> |
766 | + <throttleEnabled>true</throttleEnabled> |
767 | + <throttleOption>project</throttleOption> |
768 | + </hudson.plugins.throttleconcurrents.ThrottleJobProperty> |
769 | + <org.jvnet.hudson.plugins.shelveproject.ShelveProjectProperty plugin="shelve-project-plugin@1.5"/> |
770 | + </properties> |
771 | + <scm class="hudson.scm.NullSCM"/> |
772 | + <assignedNode>x86_64</assignedNode> |
773 | + <canRoam>false</canRoam> |
774 | + <disabled>false</disabled> |
775 | + <blockBuildWhenDownstreamBuilding>false</blockBuildWhenDownstreamBuilding> |
776 | + <blockBuildWhenUpstreamBuilding>false</blockBuildWhenUpstreamBuilding> |
777 | + <triggers> |
778 | + <hudson.triggers.TimerTrigger> |
779 | + <spec>25 2 * * 0</spec> |
780 | + </hudson.triggers.TimerTrigger> |
781 | + </triggers> |
782 | + <concurrentBuild>false</concurrentBuild> |
783 | + <builders> |
784 | + <hudson.plugins.parameterizedtrigger.TriggerBuilder plugin="parameterized-trigger@2.25"> |
785 | + <configs> |
786 | + <hudson.plugins.parameterizedtrigger.BlockableBuildTriggerConfig> |
787 | + <configs> |
788 | + <hudson.plugins.parameterizedtrigger.PredefinedBuildParameters> |
789 | + <properties>TRIGGER_FINGER=FORCE_DEPLOY_ONLY |
790 | +SCHEDULED_TRIGGER=TRUE</properties> |
791 | + </hudson.plugins.parameterizedtrigger.PredefinedBuildParameters> |
792 | + </configs> |
793 | + <projects>trigger_by_branch_scanner</projects> |
794 | + <condition>ALWAYS</condition> |
795 | + <triggerWithNoParameters>false</triggerWithNoParameters> |
796 | + <block> |
797 | + <buildStepFailureThreshold> |
798 | + <name>FAILURE</name> |
799 | + <ordinal>2</ordinal> |
800 | + <color>RED</color> |
801 | + <completeBuild>true</completeBuild> |
802 | + </buildStepFailureThreshold> |
803 | + <unstableThreshold> |
804 | + <name>UNSTABLE</name> |
805 | + <ordinal>1</ordinal> |
806 | + <color>YELLOW</color> |
807 | + <completeBuild>true</completeBuild> |
808 | + </unstableThreshold> |
809 | + <failureThreshold> |
810 | + <name>FAILURE</name> |
811 | + <ordinal>2</ordinal> |
812 | + <color>RED</color> |
813 | + <completeBuild>true</completeBuild> |
814 | + </failureThreshold> |
815 | + </block> |
816 | + <buildAllNodesWithLabel>false</buildAllNodesWithLabel> |
817 | + </hudson.plugins.parameterizedtrigger.BlockableBuildTriggerConfig> |
818 | + </configs> |
819 | + </hudson.plugins.parameterizedtrigger.TriggerBuilder> |
820 | + </builders> |
821 | + <publishers/> |
822 | + <buildWrappers> |
823 | + <hudson.plugins.timestamper.TimestamperBuildWrapper plugin="timestamper@1.5.14"/> |
824 | + <org.jenkinsci.plugins.buildnamesetter.BuildNameSetter plugin="build-name-setter@1.3"> |
825 | + <template>#${BUILD_NUMBER} ${ENV,var="TRIGGER_FINGER"}</template> |
826 | + </org.jenkinsci.plugins.buildnamesetter.BuildNameSetter> |
827 | + </buildWrappers> |
828 | +</project> |
829 | \ No newline at end of file |
830 | |
831 | === added directory 'deployment/jobs/scheduled_trigger_lint' |
832 | === added file 'deployment/jobs/scheduled_trigger_lint/config.xml' |
833 | --- deployment/jobs/scheduled_trigger_lint/config.xml 1970-01-01 00:00:00 +0000 |
834 | +++ deployment/jobs/scheduled_trigger_lint/config.xml 2014-10-02 16:09:09 +0000 |
835 | @@ -0,0 +1,82 @@ |
836 | +<?xml version='1.0' encoding='UTF-8'?> |
837 | +<project> |
838 | + <actions/> |
839 | + <description>* Triggers lint check for all branches via branch_scanner job
 |
840 | +* Weekly on Sunday</description> |
841 | + <logRotator class="hudson.tasks.LogRotator"> |
842 | + <daysToKeep>90</daysToKeep> |
843 | + <numToKeep>90</numToKeep> |
844 | + <artifactDaysToKeep>-1</artifactDaysToKeep> |
845 | + <artifactNumToKeep>-1</artifactNumToKeep> |
846 | + </logRotator> |
847 | + <keepDependencies>false</keepDependencies> |
848 | + <properties> |
849 | + <com.sonyericsson.rebuild.RebuildSettings plugin="rebuild@1.22"> |
850 | + <autoRebuild>false</autoRebuild> |
851 | + </com.sonyericsson.rebuild.RebuildSettings> |
852 | + <hudson.plugins.throttleconcurrents.ThrottleJobProperty plugin="throttle-concurrents@1.8.3"> |
853 | + <maxConcurrentPerNode>1</maxConcurrentPerNode> |
854 | + <maxConcurrentTotal>1</maxConcurrentTotal> |
855 | + <throttleEnabled>true</throttleEnabled> |
856 | + <throttleOption>project</throttleOption> |
857 | + </hudson.plugins.throttleconcurrents.ThrottleJobProperty> |
858 | + <org.jvnet.hudson.plugins.shelveproject.ShelveProjectProperty plugin="shelve-project-plugin@1.5"/> |
859 | + </properties> |
860 | + <scm class="hudson.scm.NullSCM"/> |
861 | + <assignedNode>x86_64</assignedNode> |
862 | + <canRoam>false</canRoam> |
863 | + <disabled>false</disabled> |
864 | + <blockBuildWhenDownstreamBuilding>false</blockBuildWhenDownstreamBuilding> |
865 | + <blockBuildWhenUpstreamBuilding>false</blockBuildWhenUpstreamBuilding> |
866 | + <triggers> |
867 | + <hudson.triggers.TimerTrigger> |
868 | + <spec>10 11 * * 0</spec> |
869 | + </hudson.triggers.TimerTrigger> |
870 | + </triggers> |
871 | + <concurrentBuild>false</concurrentBuild> |
872 | + <builders> |
873 | + <hudson.plugins.parameterizedtrigger.TriggerBuilder plugin="parameterized-trigger@2.25"> |
874 | + <configs> |
875 | + <hudson.plugins.parameterizedtrigger.BlockableBuildTriggerConfig> |
876 | + <configs> |
877 | + <hudson.plugins.parameterizedtrigger.PredefinedBuildParameters> |
878 | + <properties>TRIGGER_FINGER=FORCE_LINT_ONLY |
879 | +SCHEDULED_TRIGGER=TRUE</properties> |
880 | + </hudson.plugins.parameterizedtrigger.PredefinedBuildParameters> |
881 | + </configs> |
882 | + <projects>trigger_by_branch_scanner</projects> |
883 | + <condition>ALWAYS</condition> |
884 | + <triggerWithNoParameters>false</triggerWithNoParameters> |
885 | + <block> |
886 | + <buildStepFailureThreshold> |
887 | + <name>FAILURE</name> |
888 | + <ordinal>2</ordinal> |
889 | + <color>RED</color> |
890 | + <completeBuild>true</completeBuild> |
891 | + </buildStepFailureThreshold> |
892 | + <unstableThreshold> |
893 | + <name>UNSTABLE</name> |
894 | + <ordinal>1</ordinal> |
895 | + <color>YELLOW</color> |
896 | + <completeBuild>true</completeBuild> |
897 | + </unstableThreshold> |
898 | + <failureThreshold> |
899 | + <name>FAILURE</name> |
900 | + <ordinal>2</ordinal> |
901 | + <color>RED</color> |
902 | + <completeBuild>true</completeBuild> |
903 | + </failureThreshold> |
904 | + </block> |
905 | + <buildAllNodesWithLabel>false</buildAllNodesWithLabel> |
906 | + </hudson.plugins.parameterizedtrigger.BlockableBuildTriggerConfig> |
907 | + </configs> |
908 | + </hudson.plugins.parameterizedtrigger.TriggerBuilder> |
909 | + </builders> |
910 | + <publishers/> |
911 | + <buildWrappers> |
912 | + <hudson.plugins.timestamper.TimestamperBuildWrapper plugin="timestamper@1.5.14"/> |
913 | + <org.jenkinsci.plugins.buildnamesetter.BuildNameSetter plugin="build-name-setter@1.3"> |
914 | + <template>#${BUILD_NUMBER} ${ENV,var="TRIGGER_FINGER"}</template> |
915 | + </org.jenkinsci.plugins.buildnamesetter.BuildNameSetter> |
916 | + </buildWrappers> |
917 | +</project> |
918 | \ No newline at end of file |
919 | |
920 | === added directory 'deployment/jobs/scheduled_trigger_single_charm' |
921 | === added file 'deployment/jobs/scheduled_trigger_single_charm/config.xml' |
922 | --- deployment/jobs/scheduled_trigger_single_charm/config.xml 1970-01-01 00:00:00 +0000 |
923 | +++ deployment/jobs/scheduled_trigger_single_charm/config.xml 2014-10-02 16:09:09 +0000 |
924 | @@ -0,0 +1,65 @@ |
925 | +<?xml version='1.0' encoding='UTF-8'?> |
926 | +<project> |
927 | + <actions/> |
928 | + <description>* Triggers juju deployment of a single charm to ALL jenkins nodes (master + all slaves).
 |
929 | +* Useful as a health indicator for each node's juju environment and configuration.
 |
930 | +* Runs daily.</description> |
931 | + <logRotator class="hudson.tasks.LogRotator"> |
932 | + <daysToKeep>90</daysToKeep> |
933 | + <numToKeep>90</numToKeep> |
934 | + <artifactDaysToKeep>-1</artifactDaysToKeep> |
935 | + <artifactNumToKeep>-1</artifactNumToKeep> |
936 | + </logRotator> |
937 | + <keepDependencies>false</keepDependencies> |
938 | + <properties> |
939 | + <com.sonyericsson.rebuild.RebuildSettings plugin="rebuild@1.22"> |
940 | + <autoRebuild>false</autoRebuild> |
941 | + </com.sonyericsson.rebuild.RebuildSettings> |
942 | + <hudson.plugins.throttleconcurrents.ThrottleJobProperty plugin="throttle-concurrents@1.8.3"> |
943 | + <maxConcurrentPerNode>1</maxConcurrentPerNode> |
944 | + <maxConcurrentTotal>1</maxConcurrentTotal> |
945 | + <throttleEnabled>true</throttleEnabled> |
946 | + <throttleOption>project</throttleOption> |
947 | + </hudson.plugins.throttleconcurrents.ThrottleJobProperty> |
948 | + <org.jvnet.hudson.plugins.shelveproject.ShelveProjectProperty plugin="shelve-project-plugin@1.5"/> |
949 | + </properties> |
950 | + <scm class="hudson.scm.NullSCM"/> |
951 | + <canRoam>true</canRoam> |
952 | + <disabled>false</disabled> |
953 | + <blockBuildWhenDownstreamBuilding>false</blockBuildWhenDownstreamBuilding> |
954 | + <blockBuildWhenUpstreamBuilding>false</blockBuildWhenUpstreamBuilding> |
955 | + <triggers> |
956 | + <hudson.triggers.TimerTrigger> |
957 | + <spec>10 0 * * *</spec> |
958 | + </hudson.triggers.TimerTrigger> |
959 | + </triggers> |
960 | + <concurrentBuild>false</concurrentBuild> |
961 | + <builders> |
962 | + <hudson.plugins.parameterizedtrigger.TriggerBuilder plugin="parameterized-trigger@2.25"> |
963 | + <configs> |
964 | + <hudson.plugins.parameterizedtrigger.BlockableBuildTriggerConfig> |
965 | + <configs> |
966 | + <hudson.plugins.parameterizedtrigger.PredefinedBuildParameters> |
967 | + <properties>SCHEDULED_TRIGGER=TRUE</properties> |
968 | + </hudson.plugins.parameterizedtrigger.PredefinedBuildParameters> |
969 | + </configs> |
970 | + <projects>manual_deploy_single_charm</projects> |
971 | + <condition>ALWAYS</condition> |
972 | + <triggerWithNoParameters>false</triggerWithNoParameters> |
973 | + <buildAllNodesWithLabel>false</buildAllNodesWithLabel> |
974 | + </hudson.plugins.parameterizedtrigger.BlockableBuildTriggerConfig> |
975 | + </configs> |
976 | + </hudson.plugins.parameterizedtrigger.TriggerBuilder> |
977 | + </builders> |
978 | + <publishers> |
979 | + <hudson.tasks.test.AggregatedTestResultPublisher plugin="junit@1.1"> |
980 | + <includeFailedBuilds>true</includeFailedBuilds> |
981 | + </hudson.tasks.test.AggregatedTestResultPublisher> |
982 | + </publishers> |
983 | + <buildWrappers> |
984 | + <hudson.plugins.timestamper.TimestamperBuildWrapper plugin="timestamper@1.5.14"/> |
985 | + <org.jenkinsci.plugins.buildnamesetter.BuildNameSetter plugin="build-name-setter@1.3"> |
986 | + <template>#${BUILD_NUMBER}</template> |
987 | + </org.jenkinsci.plugins.buildnamesetter.BuildNameSetter> |
988 | + </buildWrappers> |
989 | +</project> |
990 | \ No newline at end of file |
991 | |
992 | === added directory 'deployment/jobs/scheduled_trigger_unit' |
993 | === added file 'deployment/jobs/scheduled_trigger_unit/config.xml' |
994 | --- deployment/jobs/scheduled_trigger_unit/config.xml 1970-01-01 00:00:00 +0000 |
995 | +++ deployment/jobs/scheduled_trigger_unit/config.xml 2014-10-02 16:09:09 +0000 |
996 | @@ -0,0 +1,82 @@ |
997 | +<?xml version='1.0' encoding='UTF-8'?> |
998 | +<project> |
999 | + <actions/> |
1000 | + <description>* Triggers unit tests for all branches via branch_scanner job
 |
1001 | +* Weekly on Sunday</description> |
1002 | + <logRotator class="hudson.tasks.LogRotator"> |
1003 | + <daysToKeep>90</daysToKeep> |
1004 | + <numToKeep>90</numToKeep> |
1005 | + <artifactDaysToKeep>-1</artifactDaysToKeep> |
1006 | + <artifactNumToKeep>-1</artifactNumToKeep> |
1007 | + </logRotator> |
1008 | + <keepDependencies>false</keepDependencies> |
1009 | + <properties> |
1010 | + <com.sonyericsson.rebuild.RebuildSettings plugin="rebuild@1.22"> |
1011 | + <autoRebuild>false</autoRebuild> |
1012 | + </com.sonyericsson.rebuild.RebuildSettings> |
1013 | + <hudson.plugins.throttleconcurrents.ThrottleJobProperty plugin="throttle-concurrents@1.8.3"> |
1014 | + <maxConcurrentPerNode>1</maxConcurrentPerNode> |
1015 | + <maxConcurrentTotal>1</maxConcurrentTotal> |
1016 | + <throttleEnabled>true</throttleEnabled> |
1017 | + <throttleOption>project</throttleOption> |
1018 | + </hudson.plugins.throttleconcurrents.ThrottleJobProperty> |
1019 | + <org.jvnet.hudson.plugins.shelveproject.ShelveProjectProperty plugin="shelve-project-plugin@1.5"/> |
1020 | + </properties> |
1021 | + <scm class="hudson.scm.NullSCM"/> |
1022 | + <assignedNode>x86_64</assignedNode> |
1023 | + <canRoam>false</canRoam> |
1024 | + <disabled>false</disabled> |
1025 | + <blockBuildWhenDownstreamBuilding>false</blockBuildWhenDownstreamBuilding> |
1026 | + <blockBuildWhenUpstreamBuilding>false</blockBuildWhenUpstreamBuilding> |
1027 | + <triggers> |
1028 | + <hudson.triggers.TimerTrigger> |
1029 | + <spec>05 11 * * 0</spec> |
1030 | + </hudson.triggers.TimerTrigger> |
1031 | + </triggers> |
1032 | + <concurrentBuild>false</concurrentBuild> |
1033 | + <builders> |
1034 | + <hudson.plugins.parameterizedtrigger.TriggerBuilder plugin="parameterized-trigger@2.25"> |
1035 | + <configs> |
1036 | + <hudson.plugins.parameterizedtrigger.BlockableBuildTriggerConfig> |
1037 | + <configs> |
1038 | + <hudson.plugins.parameterizedtrigger.PredefinedBuildParameters> |
1039 | + <properties>TRIGGER_FINGER=FORCE_UNIT_ONLY |
1040 | +SCHEDULED_TRIGGER=TRUE</properties> |
1041 | + </hudson.plugins.parameterizedtrigger.PredefinedBuildParameters> |
1042 | + </configs> |
1043 | + <projects>trigger_by_branch_scanner</projects> |
1044 | + <condition>ALWAYS</condition> |
1045 | + <triggerWithNoParameters>false</triggerWithNoParameters> |
1046 | + <block> |
1047 | + <buildStepFailureThreshold> |
1048 | + <name>FAILURE</name> |
1049 | + <ordinal>2</ordinal> |
1050 | + <color>RED</color> |
1051 | + <completeBuild>true</completeBuild> |
1052 | + </buildStepFailureThreshold> |
1053 | + <unstableThreshold> |
1054 | + <name>UNSTABLE</name> |
1055 | + <ordinal>1</ordinal> |
1056 | + <color>YELLOW</color> |
1057 | + <completeBuild>true</completeBuild> |
1058 | + </unstableThreshold> |
1059 | + <failureThreshold> |
1060 | + <name>FAILURE</name> |
1061 | + <ordinal>2</ordinal> |
1062 | + <color>RED</color> |
1063 | + <completeBuild>true</completeBuild> |
1064 | + </failureThreshold> |
1065 | + </block> |
1066 | + <buildAllNodesWithLabel>false</buildAllNodesWithLabel> |
1067 | + </hudson.plugins.parameterizedtrigger.BlockableBuildTriggerConfig> |
1068 | + </configs> |
1069 | + </hudson.plugins.parameterizedtrigger.TriggerBuilder> |
1070 | + </builders> |
1071 | + <publishers/> |
1072 | + <buildWrappers> |
1073 | + <hudson.plugins.timestamper.TimestamperBuildWrapper plugin="timestamper@1.5.14"/> |
1074 | + <org.jenkinsci.plugins.buildnamesetter.BuildNameSetter plugin="build-name-setter@1.3"> |
1075 | + <template>#${BUILD_NUMBER} ${ENV,var="TRIGGER_FINGER"}</template> |
1076 | + </org.jenkinsci.plugins.buildnamesetter.BuildNameSetter> |
1077 | + </buildWrappers> |
1078 | +</project> |
1079 | \ No newline at end of file |
1080 | |
1081 | === modified file 'deployment/jobs/trigger_by_branch_scanner/config.xml' |
1082 | --- deployment/jobs/trigger_by_branch_scanner/config.xml 2014-10-02 15:18:00 +0000 |
1083 | +++ deployment/jobs/trigger_by_branch_scanner/config.xml 2014-10-02 16:09:09 +0000 |
1084 | @@ -5,7 +5,7 @@ |
1085 | * Can be manually triggered with various parameters for manual test chain or deployment kick off.
 |
1086 | * Deployment jobs trigger positive if ANY branch defined in mappings.yaml has a change.
 |
1087 | * Amulet & lint jobs trigger positive if specific branches defined in mappings.yaml have a change.
 |
1088 | -* Calls external python routine, reading branch list from ubuntu-openstack-ci/osci/populate/mappings.yaml.
 |
1089 | +* Calls external python routine, reading branch list from ubuntu-openstack-ci/populate/mappings.yaml.
 |
1090 | * Creates properties files for job triggers.
 |
1091 | * Additionally, if there are branch revisions, or new branches, a flat file is created at $HOME/state/branch-state.changed, with 1 LP:branch per line, can be parsed by jobs if necessary.</description> |
1092 | <logRotator class="hudson.tasks.LogRotator"> |
1093 | @@ -56,10 +56,8 @@ |
1094 | <hudson.plugins.throttleconcurrents.ThrottleJobProperty plugin="throttle-concurrents@1.8.3"> |
1095 | <maxConcurrentPerNode>1</maxConcurrentPerNode> |
1096 | <maxConcurrentTotal>1</maxConcurrentTotal> |
1097 | - <categories/> |
1098 | <throttleEnabled>true</throttleEnabled> |
1099 | <throttleOption>project</throttleOption> |
1100 | - <configVersion>1</configVersion> |
1101 | </hudson.plugins.throttleconcurrents.ThrottleJobProperty> |
1102 | <org.jvnet.hudson.plugins.shelveproject.ShelveProjectProperty plugin="shelve-project-plugin@1.5"/> |
1103 | </properties> |
1104 | @@ -83,7 +81,7 @@ |
1105 | <command>#!/bin/bash -e |
1106 | env | sort > env |
1107 | rm -fv $WORKSPACE/* |
1108 | -cd $OSCI_ROOT/osci/ |
1109 | +cd $OSCI_ROOT |
1110 | |
1111 | case "$TRIGGER_FINGER" in |
1112 | AUTO) |
ok go