Merge lp:~1chb1n/ubuntu-openstack-ci/ubuntu-openstack-ci-dev into lp:ubuntu-openstack-ci

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
Reviewer Review Type Date Requested Status
Ryan Beisner (community) Approve
Review via email: mp+236929@code.launchpad.net

Description of the change

update jobs

To post a comment you must log in.
Revision history for this message
Ryan Beisner (1chb1n) wrote :

ok go

review: Approve
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.&#xd;
10+* Use a trigger to hit this job with parameters.&#xd;
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&apos;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=&quot;$(${OSCI_ROOT}/populate/juju-deploy-ok.sh || true)&quot;
70+echo $juju_ok
71+
72+if [[ &quot;$juju_ok&quot; == *CLEAR:* ]]; then
73+ echo &quot;Juju environment is clear on ${NODE_NAME}, proceeding.&quot;
74+else
75+ echo &quot;An environment already exists on ${NODE_NAME}!&quot;
76+ #touch $WORKSPACE/fyi.enviro-pre-check.failed
77+ . $JENKINS_HOME/novarc
78+ nova list &amp;&gt; $WORKSPACE/novalist-asfound.$BUILD_NUMBER
79+ juju stat &amp;&gt; $WORKSPACE/jujustat-asfound.yaml.$BUILD_NUMBER
80+ # Tear down
81+ echo &quot;Attempting juju enviro destroy of ${THIS_ENV} on ${NODE_NAME}...&quot;
82+ THIS_ENV=$(juju stat | awk &apos;/environment/ { print $2 }&apos;)
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&gt;&amp;1 | tee $WORKSPACE/env.$BUILD_NUMBER
93+
94+# Make sure expected env vars exist
95+[[ -z &quot;$BASE_NAME&quot; ]] || [[ -z &quot;$BRANCH&quot; ]] &amp;&amp; { echo &quot;No BRANCH and/or BASE_NAME env vars.&quot;; 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 &quot;Removing existing checkout of $BRANCH @ $CO_DIR&quot;
107+ rm -rf $CO_DIR
108+fi
109+
110+echo &quot;Creating new checkout of $BRANCH @ $CO_DIR.&quot;
111+bzr co --lightweight $BRANCH $CO_DIR
112+
113+[[ ! -f $MAKEFILE ]] &amp;&amp; { echo &quot;No Makefile found.&quot;; exit 1; }
114+
115+echo &quot;Gathering info about branch...&quot;
116+cd $CO_DIR
117+cp -fv Makefile $WORKSPACE/Makefile.$BUILD_NUMBER
118+bzr revno 2&gt;&amp;1 | tee $WORKSPACE/branch-info.$BUILD_NUMBER
119+bzr info 2&gt;&amp;1 | tee -a $WORKSPACE/branch-info.$BUILD_NUMBER
120+
121+echo &quot;Checking for amulet tests in Makefile...&quot;
122+
123+has_amulet=&quot;$(grep &quot;@juju test&quot; $MAKEFILE || true)&quot;
124+
125+if [[ -z $has_amulet ]]; then
126+ echo &quot;No amulet test detected in Makefile.&quot;
127+ touch $WORKSPACE/amulet-test.missing
128+ exit 1
129+fi
130+
131+make test 2&gt;&amp;1 | tee $WORKSPACE/make-test.$BUILD_NUMBER
132+if [[ &quot;${PIPESTATUS[0]}&quot; != &quot;0&quot; ]]; then
133+ echo &quot;Amulet test failed.&quot;
134+ touch $WORKSPACE/make-test.failed
135+fi
136+
137+
138+# Tear down
139+THIS_ENV=$(juju stat | awk &apos;/environment/ { print $2 }&apos;)
140+juju destroy-environment -y $THIS_ENV || true
141+ls -alh $WORKSPACE
142+
143+if [[ &quot;$(ls $WORKSPACE -1)&quot; == *.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=&quot;$(${OSCI_ROOT}/populate/juju-deploy-ok.sh || true)&quot;
153+echo $juju_ok
154+
155+if [[ &quot;$juju_ok&quot; == *CLEAR:* ]]; then
156+ echo &quot;Juju environment is clear on ${NODE_NAME}.&quot;
157+else
158+ echo &quot;An unexpected environment exists on ${NODE_NAME}!&quot;
159+ touch $WORKSPACE/fyi.enviro-post-check.failed
160+ . $JENKINS_HOME/novarc
161+ nova list &amp;&gt; $WORKSPACE/novalist.$BUILD_NUMBER
162+ juju stat &amp;&gt; $WORKSPACE/jujustat.yaml.$BUILD_NUMBER
163+ # Tear down
164+ echo &quot;Attempting juju enviro destroy of ${THIS_ENV} on ${NODE_NAME}...&quot;
165+ THIS_ENV=$(juju stat | awk &apos;/environment/ { print $2 }&apos;)
166+ juju destroy-environment -y $THIS_ENV
167+fi
168+
169+# Check for failures
170+if [[ &quot;$(ls $WORKSPACE -1)&quot; == *.failed* ]]; then
171+ exit 1
172+fi
173+
174+if [[ &quot;$(ls $WORKSPACE -1)&quot; == *.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=&quot;DISPLAY_NAME&quot;}</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&#xd;
206+* Use a trigger to hit this job with parameters.&#xd;
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&apos;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&gt;&amp;1 | tee $WORKSPACE/env.$BUILD_NUMBER
265+
266+# Make sure expected env vars exist
267+[[ -z &quot;$BASE_NAME&quot; ]] || [[ -z &quot;$BRANCH&quot; ]] &amp;&amp; { echo &quot;No BRANCH and/or BASE_NAME env vars.&quot;; 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 &quot;Removing existing checkout of $BRANCH @ $CO_DIR&quot;
279+ rm -rf $CO_DIR
280+fi
281+
282+echo &quot;Creating new checkout @ $CO_DIR.&quot;
283+bzr co --lightweight $BRANCH $CO_DIR
284+
285+[[ ! -f $MAKEFILE ]] &amp;&amp; { echo &quot;No Makefile found.&quot;; exit 1; }
286+
287+echo &quot;Gathering info about branch...&quot;
288+cd $CO_DIR
289+cp -fv Makefile $WORKSPACE/Makefile.$BUILD_NUMBER
290+bzr revno 2&gt;&amp;1 | tee $WORKSPACE/branch-info.$BUILD_NUMBER
291+bzr info 2&gt;&amp;1 | tee -a $WORKSPACE/branch-info.$BUILD_NUMBER
292+
293+echo &quot;Checking lint...&quot;
294+set -x
295+pwd
296+make lint 2&gt;&amp;1 | tee $WORKSPACE/make-lint.$BUILD_NUMBER
297+if [[ &quot;${PIPESTATUS[0]}&quot; != &quot;0&quot; ]]; then
298+ echo &quot;Lint check failed.&quot;
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=&quot;DISPLAY_NAME&quot;}</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.&#xd;
337+* Use a trigger to hit this job with parameters.&#xd;
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=&quot;$(${OSCI_ROOT}/populate/juju-deploy-ok.sh || true)&quot;
397+echo $juju_ok
398+
399+if [[ &quot;$juju_ok&quot; == *CLEAR:* ]]; then
400+ echo &quot;Juju environment is clear on ${NODE_NAME}, proceeding.&quot;
401+else
402+ echo &quot;An environment already exists on ${NODE_NAME}!&quot;
403+ #touch $WORKSPACE/fyi.enviro-pre-check.failed
404+ . $JENKINS_HOME/novarc
405+ nova list &amp;&gt; $WORKSPACE/novalist-asfound.$BUILD_NUMBER
406+ juju stat &amp;&gt; $WORKSPACE/jujustat-asfound.yaml.$BUILD_NUMBER
407+ # Tear down
408+ echo &quot;Attempting juju enviro destroy of ${THIS_ENV} on ${NODE_NAME}...&quot;
409+ THIS_ENV=$(juju stat | awk &apos;/environment/ { print $2 }&apos;)
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&gt;&amp;1 | tee $WORKSPACE/env.$BUILD_NUMBER
420+
421+# Make sure expected env vars exist
422+[[ -z &quot;$BASE_NAME&quot; ]] || [[ -z &quot;$BRANCH&quot; ]] &amp;&amp; { echo &quot;No BRANCH and/or BASE_NAME env vars.&quot;; 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 &quot;Removing existing checkout of $BRANCH @ $CO_DIR&quot;
434+ rm -rf $CO_DIR
435+fi
436+
437+echo &quot;Creating new checkout of $BRANCH @ $CO_DIR.&quot;
438+bzr co --lightweight $BRANCH $CO_DIR
439+
440+[[ ! -f $MAKEFILE ]] &amp;&amp; { echo &quot;No Makefile found.&quot;; exit 1; }
441+
442+echo &quot;Gathering info about branch...&quot;
443+cd $CO_DIR
444+cp -fv Makefile $WORKSPACE/Makefile.$BUILD_NUMBER
445+bzr revno 2&gt;&amp;1 | tee $WORKSPACE/branch-info.$BUILD_NUMBER
446+bzr info 2&gt;&amp;1 | tee -a $WORKSPACE/branch-info.$BUILD_NUMBER
447+
448+echo &quot;Checking for unit tests in Makefile...&quot;
449+
450+nose_in_unit_test=&quot;$(grep &quot;unit_test:&quot; $MAKEFILE || true)&quot;
451+nose_in_test=&quot;$(grep &quot;nosetest&quot; $MAKEFILE || true)&quot;
452+echo &quot;niut: ${nose_in_unit_test}(end)&quot;
453+echo &quot;nit: ${nose_in_test}(end)&quot;
454+
455+if [[ -z &quot;$nose_in_unit_test&quot; ]] &amp;&amp; [[ -z &quot;$nose_in_test&quot; ]]; then
456+ echo &quot;No unit test detected in Makefile.&quot;
457+ touch $WORKSPACE/unit-test.missing
458+ exit 1
459+fi
460+
461+if [[ -n &quot;$nose_in_unit_test&quot; ]]; then
462+ echo &quot;Trying make unit_test...&quot;
463+ make unit_test 2&gt;&amp;1 | tee $WORKSPACE/unit-test.$BUILD_NUMBER
464+elif [[ -n &quot;$nose_in_test&quot; ]]; then
465+ echo &quot;Trying make test...&quot;
466+ make test 2&gt;&amp;1 | tee $WORKSPACE/unit-test.$BUILD_NUMBER
467+fi
468+
469+if [[ &quot;${PIPESTATUS[0]}&quot; != &quot;0&quot; ]]; then
470+ echo &quot;Unit test failed.&quot;
471+ touch $WORKSPACE/unit-test.failed
472+fi
473+
474+
475+# Tear down
476+THIS_ENV=$(juju stat | awk &apos;/environment/ { print $2 }&apos;)
477+juju destroy-environment -y $THIS_ENV || true
478+ls -alh $WORKSPACE
479+
480+if [[ &quot;$(ls $WORKSPACE -1)&quot; == *.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=&quot;$(${OSCI_ROOT}/populate/juju-deploy-ok.sh || true)&quot;
490+echo $juju_ok
491+
492+if [[ &quot;$juju_ok&quot; == *CLEAR:* ]]; then
493+ echo &quot;Juju environment is clear on ${NODE_NAME}.&quot;
494+else
495+ echo &quot;An unexpected environment exists on ${NODE_NAME}!&quot;
496+ touch $WORKSPACE/fyi.enviro-post-check.failed
497+ . $JENKINS_HOME/novarc
498+ nova list &amp;&gt; $WORKSPACE/novalist.$BUILD_NUMBER
499+ juju stat &amp;&gt; $WORKSPACE/jujustat.yaml.$BUILD_NUMBER
500+ # Tear down
501+ echo &quot;Attempting juju enviro destroy of ${THIS_ENV} on ${NODE_NAME}...&quot;
502+ THIS_ENV=$(juju stat | awk &apos;/environment/ { print $2 }&apos;)
503+ juju destroy-environment -y $THIS_ENV
504+fi
505+
506+# Check for failures
507+if [[ &quot;$(ls $WORKSPACE -1)&quot; == *.failed* ]]; then
508+ exit 1
509+fi
510+
511+if [[ &quot;$(ls $WORKSPACE -1)&quot; == *.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=&quot;DISPLAY_NAME&quot;}</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 &quot;&quot; &gt; $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=&quot;$(${OSCI_ROOT}/osci/populate/juju-deploy-ok.sh || true)&quot;
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=&quot;$(${OSCI_ROOT}/populate/juju-deploy-ok.sh || true)&quot;
572 echo $juju_ok
573
574 if [[ &quot;$juju_ok&quot; == *CLEAR:* ]]; then
575@@ -68,11 +68,12 @@
576 set -x
577 . $JENKINS_HOME/novarc
578 nova list &amp;&gt; $WORKSPACE/novalist-asfound.$BUILD_NUMBER || true
579- juju stat &amp;&gt; $WORKSPACE/jujustat-asfound.yaml.$BUILD_NUMBER || true
580+ juju stat &amp;&gt; $WORKSPACE/jujustat-asfound.$BUILD_NUMBER || true
581 # Tear down
582 echo &quot;Attempting juju enviro destroy of ${THIS_ENV} on ${NODE_NAME}...&quot;
583 THIS_ENV=$(juju stat | awk &apos;/environment/ { print $2 }&apos;)
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&gt;&amp;1 | tee $WORKSPACE/env.$BUILD_NUMBER
594
595+# Handle deployer bundle file upload
596 if [[ &quot;$CHARM_SET&quot; == &quot;custom-other.yaml&quot; ]] &amp;&amp; [[ -f custom-other.yaml ]]; then
597 echo &quot;Using custom-other deployer bundle yaml file...&quot;
598 BUNDLE_FILE=$WORKSPACE/$CHARM_SET
599@@ -92,18 +93,19 @@
600 fi
601
602 INST_SOURCE=&quot;&quot;
603-[[ &quot;$INSTALLATION_SOURCE&quot; != &quot;default&quot; ]] &amp;&amp; INST_SOURCE=&quot;-${INSTALLATION_SOURCE}&quot; || echo &quot;FYI default source&quot;
604-cd $OPENSTACK_CHARM_TESTING_ROOT
605+[[ &quot;$INSTALLATION_SOURCE&quot; != &quot;default&quot; ]] &amp;&amp; INST_SOURCE=&quot;-${INSTALLATION_SOURCE}&quot;
606
607 set -x
608 (cd $OPENSTACK_CHARM_TESTING_ROOT &amp;&amp;\
609-juju-deployer --bootstrap -c ${BUNDLE_FILE} -d ${UBUNTU_RELEASE}-${OPENSTACK_RELEASE}${INST_SOURCE}) 2&gt;&amp;1 | tee $WORKSPACE/jujudeployer.$BUILD_NUMBER
610+juju-deployer --bootstrap -c ${BUNDLE_FILE} -d ${UBUNTU_RELEASE}-${OPENSTACK_RELEASE}${INST_SOURCE}) \
611+ 2&gt;&amp;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=&quot;$(${OSCI_ROOT}/osci/populate/juju-deploy-ok.sh || true)&quot;
619+juju_ok=&quot;$(${OSCI_ROOT}/populate/juju-deploy-ok.sh || true)&quot;
620 echo $juju_ok
621
622 if [[ &quot;$juju_ok&quot; == *DEPLOYED:* ]]; then
623@@ -113,10 +115,9 @@
624 # Configure the deployed tempstack
625 . $OPENSTACK_CHARM_TESTING_ROOT/novarc
626 echo &quot;Calling tempstack configure to tweak network, add test keys...&quot;
627- ${OSCI_ROOT}/osci/populate/tempstack-configure.sh 2&gt;&amp;1 | tee $WORKSPACE/tempstack-configure.$BUILD_NUMBER || true
628+ ${OSCI_ROOT}/populate/tempstack-configure.sh 2&gt;&amp;1 | tee $WORKSPACE/tempstack-configure.$BUILD_NUMBER || true
629
630 if [[ -n &quot;$(grep testkey.pem $WORKSPACE/tempstack-configure.$BUILD_NUMBER || true)&quot; ]]; then
631- echo &quot;Tempstack configure succeeded.&quot;
632 touch $WORKSPACE/fyi.tempstack-configure.ok
633 else
634 echo &quot;Tempstack configure failed.&quot;
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 &amp;&amp; ./run_tempest.sh -N --smoke) 2&gt;&amp;1 | tee $WORKSPACE/tempest.$BUILD_NUMBER
641-
642- if [[ -n &quot;$(grep &apos;failures=&apos; $WORKSPACE/tempest.$BUILD_NUMBER)&quot; ]]; then
643- echo &quot;One or more tempest smoke tests failed.&quot;
644- touch $WORKSPACE/fyi.tempest-smoke.bad
645+ if [[ -n &quot;$(ls $WORKSPACE -1 | egrep &apos;.failed|.bad&apos;)&quot; ]]; then
646+ echo &quot;Skipping tempest, one or more preceding steps are failed or bad.&quot;
647+ touch $WORKSPACE/fyi.tempest.skipped
648 else
649- echo &quot;All tempest smoke tests passed!&quot;
650- touch $WORKSPACE/fyi.tempest-smoke.ok
651+ # Kick off tempest
652+ (cd $OPENSTACK_CHARM_TESTING_ROOT/tempest &amp;&amp; ./run_tempest.sh -N --smoke) 2&gt;&amp;1 |\
653+ tee $WORKSPACE/tempest.$BUILD_NUMBER
654+ if [[ -n &quot;$(grep &apos;failures=&apos; $WORKSPACE/tempest.$BUILD_NUMBER)&quot; ]]; then
655+ echo &quot;One or more tempest smoke tests failed.&quot;
656+ touch $WORKSPACE/fyi.tempest.bad
657+ else
658+ echo &quot;All tempest smoke tests passed!&quot;
659+ touch $WORKSPACE/fyi.tempest.ok
660+ fi
661 fi
662-
663 else
664 echo &quot;Juju deployment failed.&quot;
665 echo &quot;Skipping tempest.&quot;
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 &amp; tear down environment
675
676 # Collect juju stat and logs
677 echo &quot;Collecting juju status and unit logs...&quot;
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 &amp;&gt; $WORKSPACE/novalist.$BUILD_NUMBER || true
684-juju stat &amp;&gt; $WORKSPACE/jujustat.yaml.$BUILD_NUMBER || true
685+juju stat &amp;&gt; $WORKSPACE/jujustat.$BUILD_NUMBER || true
686
687-# Combine b_d with &quot;fyi touch files&quot; 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 &apos;s/fyi.//&apos; &gt;&gt; b_d || true
691 b_d=&quot;$(cat $WORKSPACE/b_d | tr &apos;\n&apos; &apos; &apos; || true)&quot;
692 echo &quot;_:${b_d}&quot;
693
694-# Tear down
695+# Tear down environment
696 THIS_ENV=$(juju stat | awk &apos;/environment/ { print $2 }&apos;)
697-juju destroy-environment -y $THIS_ENV
698+juju destroy-environment -y $THIS_ENV || true
699 ls -alh $WORKSPACE
700
701 if [[ &quot;$(ls $WORKSPACE -1)&quot; == *.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=&quot;$(${OSCI_ROOT}/osci/populate/juju-deploy-ok.sh || true)&quot;
711+juju_ok=&quot;$(${OSCI_ROOT}/populate/juju-deploy-ok.sh || true)&quot;
712 echo $juju_ok
713
714 if [[ &quot;$juju_ok&quot; == *CLEAR:* ]]; then
715@@ -133,14 +133,14 @@
716 juju deploy $THIS_CHARM
717
718 # Wait and check
719-ready=&quot;$(${OSCI_ROOT}/osci/populate/juju-deploy-ok.sh || true)&quot;
720+ready=&quot;$(${OSCI_ROOT}/populate/juju-deploy-ok.sh || true)&quot;
721 tries=0
722 while [[ &quot;$ready&quot; != *DEPLOYED:* ]] &amp;&amp; [ $tries -le 30 ]
723 do
724 echo &quot;Waiting for environment state to become started/ACTIVE...&quot;
725 echo &quot;Environment state: ${ready}&quot;
726 sleep 10
727- ready=&quot;$(${OSCI_ROOT}/osci/populate/juju-deploy-ok.sh || true)&quot;
728+ ready=&quot;$(${OSCI_ROOT}/populate/juju-deploy-ok.sh || true)&quot;
729 tries=$(( $tries + 1 ))
730 done
731
732@@ -159,7 +159,7 @@
733 . $JENKINS_HOME/novarc
734 nova list &amp;&gt; $WORKSPACE/novalist.$BUILD_NUMBER
735 juju stat &amp;&gt; $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 &quot;Tearing down environment...&quot;
740 THIS_ENV=$(juju stat | awk &apos;/environment/ { print $2 }&apos;)
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&#xd;
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=&quot;TRIGGER_FINGER&quot;}</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&#xd;
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=&quot;TRIGGER_FINGER&quot;}</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).&#xd;
929+* Useful as a health indicator for each node&apos;s juju environment and configuration.&#xd;
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&#xd;
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=&quot;TRIGGER_FINGER&quot;}</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.&#xd;
1086 * Deployment jobs trigger positive if ANY branch defined in mappings.yaml has a change.&#xd;
1087 * Amulet &amp; lint jobs trigger positive if specific branches defined in mappings.yaml have a change.&#xd;
1088-* Calls external python routine, reading branch list from ubuntu-openstack-ci/osci/populate/mappings.yaml.&#xd;
1089+* Calls external python routine, reading branch list from ubuntu-openstack-ci/populate/mappings.yaml.&#xd;
1090 * Creates properties files for job triggers.&#xd;
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 &gt; env
1107 rm -fv $WORKSPACE/*
1108-cd $OSCI_ROOT/osci/
1109+cd $OSCI_ROOT
1110
1111 case &quot;$TRIGGER_FINGER&quot; in
1112 AUTO)

Subscribers

People subscribed via source and target branches