Merge lp:~paride/qa-jenkins-jobs/s390x into lp:qa-jenkins-jobs

Proposed by Paride Legovini
Status: Merged
Approved by: Joshua Powers
Approved revision: no longer in the source branch.
Merged at revision: 335
Proposed branch: lp:~paride/qa-jenkins-jobs/s390x
Merge into: lp:qa-jenkins-jobs
Diff against target: 228 lines (+210/-1)
2 files modified
jobs/iso-testing/jobs-ppc64el.yaml (+1/-1)
jobs/iso-testing/jobs-s390x.yaml (+209/-0)
To merge this branch: bzr merge lp:~paride/qa-jenkins-jobs/s390x
Reviewer Review Type Date Requested Status
platform-qa-bot continuous-integration Needs Fixing
Canonical Platform QA Jenkins Pending
Review via email: mp+365117@code.launchpad.net

Commit message

* Add job definitions for s390x
* Fix permissions on the iso-testing yaml files
* jobs-ppc64el.yaml: fix reference to default-vm-ppc64.xml

To post a comment you must log in.
Revision history for this message
platform-qa-bot (platform-qa-bot) wrote :
review: Needs Fixing (continuous-integration)
lp:~paride/qa-jenkins-jobs/s390x updated
335. By Joshua Powers

* Add job definitions for s390x
* Fix permissions on the iso-testing yaml files
* jobs-ppc64el.yaml: fix reference to default-vm-ppc64.xml

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== modified file 'jobs/iso-testing/jobs-ppc64el.yaml' (properties changed: +x to -x)
2--- jobs/iso-testing/jobs-ppc64el.yaml 2018-11-15 18:56:31 +0000
3+++ jobs/iso-testing/jobs-ppc64el.yaml 2019-03-26 16:25:11 +0000
4@@ -87,7 +87,7 @@
5 chmod a+w $file
6 done
7
8- sudo -u utah -i UTAH_CONFIG_DIR=$UTAH_CONFIG_DIR $(./scripts/{test}.sh -i /var/cache/utah/iso/{release}-server-ppc64el.iso) -f /var/log/installer -x /etc/utah/ppc-vm-powersj.xml --outputpreseed > $LOG_DIR/utah-server-stdout.log
9+ sudo -u utah -i UTAH_CONFIG_DIR=$UTAH_CONFIG_DIR $(./scripts/{test}.sh -i /var/cache/utah/iso/{release}-server-ppc64el.iso) -f /var/log/installer -x /etc/utah/default-vm-ppc64.xml --outputpreseed > $LOG_DIR/utah-server-stdout.log
10 RETCODE=$?
11
12 # Make sure syslog file is readable to add it as artifact
13
14=== added file 'jobs/iso-testing/jobs-s390x.yaml'
15--- jobs/iso-testing/jobs-s390x.yaml 1970-01-01 00:00:00 +0000
16+++ jobs/iso-testing/jobs-s390x.yaml 2019-03-26 16:25:11 +0000
17@@ -0,0 +1,209 @@
18+# vim: sw=4 ts=4 et
19+
20+# QA Jenkins Jobs for s390x
21+# Copyright 2019 Canonical Ltd.
22+
23+# This program is free software: you can redistribute it and/or modify it
24+# under the terms of the GNU General Public License version 3, as published
25+# by the Free Software Foundation.
26+
27+# This program is distributed in the hope that it will be useful, but
28+# WITHOUT ANY WARRANTY; without even the implied warranties of
29+# MERCHANTABILITY, SATISFACTORY QUALITY, or FITNESS FOR A PARTICULAR
30+# PURPOSE. See the GNU General Public License for more details.
31+
32+# You should have received a copy of the GNU General Public License along
33+# with this program. If not, see <http://www.gnu.org/licenses/>.
34+
35+# The project stanza describes all jobs and parameters
36+- project:
37+ name: 'iso-testing-s390x'
38+ flavor: # Additional flavors can be added here
39+ - 'ubuntu'
40+ release: # Additional releases can be added here
41+ - 'bionic'
42+ - 'disco'
43+ dev-release: # Current development release has different download path
44+ - 'disco'
45+ supported-release: # All non-dev releases which should be tested go here
46+ - 'bionic'
47+ server-test: # Currently this is all non-default server test cases
48+ - 'lamp'
49+ - 'lvm'
50+ - 'mail-server'
51+ - 'minimal-virtual'
52+ - 'multi-lvm'
53+ - 'openssh-server'
54+ - 'postgresql-server'
55+ - 'samba-server'
56+ - 'virtual-host'
57+ node: 'iso-testing-s390x'
58+ jobs:
59+ - 'ubuntu-{dev-release}-server-s390x-iso-download'
60+ - 'ubuntu-{supported-release}-server-s390x-iso-download'
61+ - 'ubuntu-{release}-server-s390x-iso-static-validation'
62+ - 'ubuntu-{release}-server-s390x-smoke-default'
63+# - 'ubuntu-{release}-server-s390x-smoke-{server-test}'
64+
65+
66+- builder: # This step runs a specified iso test
67+ name: run-iso-test-s390x
68+ builders:
69+ - shell: |
70+ set +e
71+ #TODO: Packaging for this?
72+ bzr export scripts lp:ubuntu-test-cases/server/scripts
73+
74+ # Create custom configuration file and separate per-job log files
75+ UTAH_CONFIG_DIR=$WORKSPACE/config
76+ mkdir -p $UTAH_CONFIG_DIR
77+ UTAH_CONFIG_FILE=$UTAH_CONFIG_DIR/utah.cfg
78+ LOG_DIR=$WORKSPACE/log
79+ mkdir -p $LOG_DIR
80+ chmod a+w $LOG_DIR
81+ UTAH_LOG_FILE=$LOG_DIR/utah-server.log
82+ UTAH_DEBUGLOG_FILE=$LOG_DIR/utah-server-debug.log
83+ UTAH_SSH_LOG_FILE=$LOG_DIR/utah-server-ssh.log
84+ cat <<EOF > $UTAH_CONFIG_FILE
85+ {{
86+ "debuglog": "$UTAH_DEBUGLOG_FILE",
87+ "logfile": "$UTAH_LOG_FILE",
88+ "ssh_logfile": "$UTAH_SSH_LOG_FILE",
89+ "logpath": "$LOG_DIR"
90+ }}
91+ EOF
92+ for file in $UTAH_LOG_FILE $UTAH_DEBUGLOG_FILE $UTAH_SSH_LOG_FILE; do
93+ touch $file
94+ chmod a+w $file
95+ done
96+
97+ sudo -u utah -i UTAH_CONFIG_DIR=$UTAH_CONFIG_DIR $(./scripts/{test}.sh -i /var/cache/utah/iso/{release}-server-s390x.iso) -f /var/log/installer -x /etc/utah/default-vm-s390x.xml --outputpreseed > $LOG_DIR/utah-server-stdout.log
98+ RETCODE=$?
99+
100+ # Make sure syslog file is readable to add it as artifact
101+ [ -n "$(find $LOG_DIR -name '*.syslog.log')" ] && sudo chmod a+r $LOG_DIR/*.syslog.log
102+
103+ # Move yaml file directory to the workspace since it's not a log file, but a
104+ # results file
105+ [ -n "$(find $LOG_DIR -name '*.yaml')" ] && mv $LOG_DIR/*.yaml $WORKSPACE
106+ if [ "$RETCODE" -gt "100" ] ; then # utah client had an error, probably a test failure
107+ exit $RETCODE
108+ elif [ "$RETCODE" -eq "0" ] ; then
109+ echo "<testsuite><testcase classname=\"utah\" name=\"utah\"></testcase></testsuite>" > $WORKSPACE/utah.xml
110+ else
111+ echo "<testsuite><testcase classname=\"utah\" name=\"utah\"><failure>utah exited with status $RETCODE</failure></testcase></testsuite>" > $WORKSPACE/utah.xml
112+ fi
113+
114+# On the staging server, we can add
115+# ppa:canonical-platform-qa-jenkins/canonical-platform-qa-jenkins-staging
116+# separately, and it will have the same or newer versions.
117+# I'm not adding a job for that so it will never accidentally be deployed.
118+
119+- job-template:
120+ name: 'ubuntu-{dev-release}-server-s390x-iso-download'
121+ description: |
122+ This job download the latest daily server iso
123+ Defined in lp:qa-jenkins-jobs
124+ parameters:
125+ - download-sleep
126+ node: 'iso-testing-s390x'
127+ triggers:
128+ - daily
129+ builders:
130+ - download-iso:
131+ release: '{dev-release}'
132+ variant: 'server'
133+ arch: 's390x'
134+ flavor: 'ubuntu-server'
135+
136+- job-template:
137+ name: 'ubuntu-{supported-release}-server-s390x-iso-download'
138+ description: |
139+ This job download the latest daily server iso
140+ Defined in lp:qa-jenkins-jobs
141+ parameters:
142+ - download-sleep
143+ node: 'iso-testing-s390x'
144+ triggers:
145+ - timed: "H 8 * * *"
146+ builders:
147+ - download-iso:
148+ release: '{supported-release}'
149+ variant: 'server'
150+ arch: 's390x'
151+ flavor: 'ubuntu-server'
152+
153+- job-template:
154+ name: 'ubuntu-{release}-server-s390x-iso-static-validation'
155+ description: |
156+ This job runs static validation on a server iso
157+ Defined in lp:qa-jenkins-jobs
158+ node: 'iso-testing-s390x'
159+ triggers:
160+ - reverse: # Trigger after the download job succeeds
161+ jobs: 'ubuntu-{release}-server-s390x-iso-download'
162+ result: 'success'
163+ builders:
164+ - validate-iso:
165+ iso: '/data/iso/ubuntu-server/{release}-server-s390x.iso'
166+ release: '{release}'
167+ arch: 's390x'
168+ variant: 'server'
169+ publishers:
170+ - email:
171+ recipients: 'server-crew-qa@lists.canonical.com'
172+
173+- job-template:
174+ name: 'ubuntu-{release}-server-s390x-smoke-default'
175+ description: |
176+ Run the default iso test on a server image
177+ Defined in lp:qa-jenkins-jobs
178+ node: 'iso-testing-s390x'
179+ triggers:
180+ - reverse: # Trigger after static validation succeeds
181+ jobs: 'ubuntu-{release}-server-s390x-iso-static-validation'
182+ result: 'success'
183+ builders:
184+ - clear-artifacts:
185+ - echo-media-info:
186+ iso: '/var/cache/utah/iso/{release}-server-s390x.iso'
187+ - run-iso-test-s390x:
188+ release: '{release}'
189+ variant: 'server'
190+ arch: 's390x'
191+ test: 'default'
192+ - write-parameters-file:
193+ release: '{release}'
194+ variant: 'server'
195+ arch: 's390x'
196+ flavor: 'ubuntu-server'
197+ publishers:
198+ - archive-artifacts
199+ - trigger-mark-pending-current
200+ - mark-junit
201+ - email:
202+ recipients: 'server-crew-qa@lists.canonical.com'
203+
204+- job-template:
205+ name: 'ubuntu-{release}-server-s390x-smoke-{server-test}'
206+ description: |
207+ Run other server iso tests
208+ Defined in lp:qa-jenkins-jobs
209+ node: 'iso-testing-s390x'
210+ triggers:
211+ - reverse: # Trigger after the default test succeeds
212+ jobs: 'ubuntu-{release}-server-s390x-smoke-default'
213+ result: 'success'
214+ builders:
215+ - clear-artifacts:
216+ - echo-media-info:
217+ iso: '/var/cache/utah/iso/{release}-server-s390x.iso'
218+ - run-iso-test-s390x:
219+ release: '{release}'
220+ variant: 'server'
221+ arch: 's390x'
222+ flavor: 'ubuntu-server'
223+ test: '{server-test}'
224+ publishers:
225+ - archive-artifacts
226+ - mark-junit
227
228=== modified file 'jobs/iso-testing/jobs.yaml' (properties changed: +x to -x)

Subscribers

People subscribed via source and target branches

to all changes: