Merge lp:~smoser/maas-images/trunk.lp1665376 into lp:maas-images

Proposed by Scott Moser
Status: Merged
Merged at revision: 355
Proposed branch: lp:~smoser/maas-images/trunk.lp1665376
Merge into: lp:maas-images
Diff against target: 352 lines (+158/-68)
2 files modified
meph2/netinst.py (+6/-5)
tests/unittests/file_item_data.json (+152/-63)
To merge this branch: bzr merge lp:~smoser/maas-images/trunk.lp1665376
Reviewer Review Type Date Requested Status
Dan Watkins (community) Approve
maintainers of maas images Pending
Review via email: mp+317499@code.launchpad.net

Commit message

netinst: support d-i hwe kernels from rolling hwe

For LTS releases prior to xenial, the hardware enablement kernel was
specifically tied to a subsequent release. Thus, for trusty we had
d-i paths like:

 device-tree/apm-merlin.dtb
 wily-device-tree/apm-merlin.dtb
 xenial-device-tree/apm-merlin.dtb

 netboot/ubuntu-installer/i386/linux
 wily-netboot/ubuntu-installer/i386/linux
 xenial-netboot/ubuntu-installer/i386/linux

 generic-lpae/netboot/initrd.gz
 wily-generic-lpae/netboot/initrd.gz
 xenial-generic-lpae/netboot/initrd.gz

With xenial, the hwe kernel is not specifically tied to a release, but
rather "rolls". So we have new paths that look like this:

 hwe-device-tree/apm-merlin.dtb
 hwe-netboot/ubuntu-installer/i386/linux
 hwe-generic-lpae/netboot/initrd.gz

For those the 'kernel release' data is set to simply "hwe".

The unit test data tests/unittests/file_item_data.json is updated here
and sorted with the following:
  $ cat sort-json.py
  import json, sys
  with open(sys.argv[1], "rb") as fp:
      data = json.loads(fp.read().encode())
  with open(sys.argv[1], "wb") as fp:
      fp.write(json.dumps(data, indent=1, sort_keys=True,
                        separators=(",", ": ")).encode("utf-8") + "\n")
  $ sort-json.py tests/unittests/file_item_data.json

To post a comment you must log in.
355. By Scott Moser

netinst: support d-i hwe kernels from rolling hwe

For LTS releases prior to xenial, the hardware enablement kernel was
specifically tied to a subsequent release. Thus, for trusty we had
d-i paths like:

 device-tree/apm-merlin.dtb
 wily-device-tree/apm-merlin.dtb
 xenial-device-tree/apm-merlin.dtb

 netboot/ubuntu-installer/i386/linux
 wily-netboot/ubuntu-installer/i386/linux
 xenial-netboot/ubuntu-installer/i386/linux

With xenial, the hwe kernel is not specifically tied to a release, but
rather "rolls". So we have new paths that look like this:

 hwe-device-tree/apm-merlin.dtb
 hwe-netboot/ubuntu-installer/i386/linux

For those the 'kernel release' data is set to simply "hwe".

The unit test data tests/unittests/file_item_data.json is updated here
and sorted with the following:
  $ cat sort-json.py
  import json, sys
  with open(sys.argv[1], "rb") as fp:
      data = json.loads(fp.read().encode())
  with open(sys.argv[1], "wb") as fp:
      fp.write(json.dumps(data, indent=1, sort_keys=True,
                        separators=(",", ": ")).encode("utf-8") + "\n")
  $ sort-json.py tests/unittests/file_item_data.json

356. By Scott Moser

fix for paths like: hwe-generic-lpae/netboot/initrd.gz

Revision history for this message
Scott Moser (smoser) wrote :

This passes both a dry run of all supported releases:
 ./bin/netboot-mirror --dry-run -vvv out.d

and actual download of all xenial:

 ./bin/netboot-mirror -vvv --releases=xenial out.d

Revision history for this message
Dan Watkins (oddbloke) :
review: Approve

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== modified file 'meph2/netinst.py'
2--- meph2/netinst.py 2016-12-16 23:52:01 +0000
3+++ meph2/netinst.py 2017-02-16 15:48:22 +0000
4@@ -297,8 +297,9 @@
5 # /installer-ppc64el/current/images/MD5SUMS
6 # return either None (not a kernel/initrd/dtb)
7 # or a dictionary of:
8- # release-kernel, kernel-flavor, initrd-flavor, filetype, image_format
9- # release-kernel is 'wily' if trusty-hwe-w
10+ # kernel-release, kernel-flavor, initrd-flavor, filetype, image_format
11+ # kernel-release is 'wily' if trusty-hwe-w, and
12+ # simply 'hwe' for xenial's hardware enablement "rolling" hwe kernel.
13 # filetype is 'dtb', 'initrd.' or 'kernel'
14 # at the moment the only 'initrd-flavor' that we're supporting is netboot
15 ftype = None
16@@ -332,9 +333,9 @@
17 return None
18
19 # kernel release. all kernel release paths start with <release>-
20- releases = REL2VER.keys()
21+ kernel_releases = [k for k in REL2VER.keys()] + ["hwe"]
22 kernel_release = release
23- for rel in REL2VER.keys():
24+ for rel in kernel_releases:
25 if path.startswith(rel + "-"):
26 kernel_release = rel
27 break
28@@ -362,7 +363,7 @@
29 kernel_flavor = kflav
30 break
31 else:
32- for r in releases:
33+ for r in kernel_releases:
34 if "%s-%s" % (r, kflav) in ptoks:
35 kernel_flavor = kflav
36 break
37
38=== modified file 'tests/unittests/file_item_data.json'
39--- tests/unittests/file_item_data.json 2016-08-01 17:17:09 +0000
40+++ tests/unittests/file_item_data.json 2017-02-16 15:48:22 +0000
41@@ -133,6 +133,7 @@
42 "kernel-flavor": "generic",
43 "kernel-release": "BASE"
44 },
45+ "e500/cdrom/vmlinux": null,
46 "e500/netboot/initrd.gz": {
47 "ftype": "initrd",
48 "image-format": "default",
49@@ -161,7 +162,6 @@
50 "kernel-flavor": "e500mc",
51 "kernel-release": "BASE"
52 },
53- "e500/cdrom/vmlinux": null,
54 "generic-lpae/netboot/initrd.gz": {
55 "ftype": "initrd",
56 "image-format": "default",
57@@ -246,11 +246,11 @@
58 "generic/netboot/tegra/boot.scr-tegra-dhcp-serial": null,
59 "generic/netboot/tegra/boot.scr-tegra-disk-serial": null,
60 "generic/netboot/tegra/initrd.gz": {
61- "ftype": "initrd",
62- "image-format": "tegra",
63- "initrd-flavor": "netboot",
64- "kernel-flavor": "generic",
65- "kernel-release": "BASE"
66+ "ftype": "initrd",
67+ "image-format": "tegra",
68+ "initrd-flavor": "netboot",
69+ "kernel-flavor": "generic",
70+ "kernel-release": "BASE"
71 },
72 "generic/netboot/tegra/tegra114-dalmore.dtb": {
73 "ftype": "dtb",
74@@ -407,11 +407,11 @@
75 "kernel-release": "BASE"
76 },
77 "generic/netboot/tegra/vmlinuz": {
78- "ftype": "kernel",
79- "image-format": "tegra",
80- "initrd-flavor": "netboot",
81- "kernel-flavor": "generic",
82- "kernel-release": "BASE"
83+ "ftype": "kernel",
84+ "image-format": "tegra",
85+ "initrd-flavor": "netboot",
86+ "kernel-flavor": "generic",
87+ "kernel-release": "BASE"
88 },
89 "generic/netboot/vmlinuz": {
90 "ftype": "kernel",
91@@ -490,6 +490,95 @@
92 "kernel-flavor": "highbank",
93 "kernel-release": "BASE"
94 },
95+ "hwe-device-tree/README": null,
96+ "hwe-device-tree/apm-merlin.dtb": {
97+ "ftype": "dtb",
98+ "image-format": "default",
99+ "initrd-flavor": "netboot",
100+ "kernel-flavor": "generic",
101+ "kernel-release": "hwe"
102+ },
103+ "hwe-device-tree/apm-mustang.dtb": {
104+ "ftype": "dtb",
105+ "image-format": "xgene",
106+ "initrd-flavor": "netboot",
107+ "kernel-flavor": "generic",
108+ "kernel-release": "hwe"
109+ },
110+ "hwe-generic-lpae/netboot/initrd.gz": {
111+ "ftype": "initrd",
112+ "image-format": "default",
113+ "initrd-flavor": "netboot",
114+ "kernel-flavor": "generic-lpae",
115+ "kernel-release": "hwe"
116+ },
117+ "hwe-generic-lpae/netboot/vmlinuz": {
118+ "ftype": "kernel",
119+ "image-format": "default",
120+ "initrd-flavor": "netboot",
121+ "kernel-flavor": "generic-lpae",
122+ "kernel-release": "hwe"
123+ },
124+ "hwe-netboot/ubuntu-installer/amd64/initrd.gz": {
125+ "ftype": "initrd",
126+ "image-format": "default",
127+ "initrd-flavor": "netboot",
128+ "kernel-flavor": "generic",
129+ "kernel-release": "hwe"
130+ },
131+ "hwe-netboot/ubuntu-installer/amd64/linux": {
132+ "ftype": "kernel",
133+ "image-format": "default",
134+ "initrd-flavor": "netboot",
135+ "kernel-flavor": "generic",
136+ "kernel-release": "hwe"
137+ },
138+ "hwe-netboot/ubuntu-installer/amd64/pxelinux.0": null,
139+ "hwe-netboot/ubuntu-installer/arm64/bootnetaa64.efi": null,
140+ "hwe-netboot/ubuntu-installer/arm64/initrd.gz": {
141+ "ftype": "initrd",
142+ "image-format": "default",
143+ "initrd-flavor": "netboot",
144+ "kernel-flavor": "generic",
145+ "kernel-release": "hwe"
146+ },
147+ "hwe-netboot/ubuntu-installer/arm64/linux": {
148+ "ftype": "kernel",
149+ "image-format": "default",
150+ "initrd-flavor": "netboot",
151+ "kernel-flavor": "generic",
152+ "kernel-release": "hwe"
153+ },
154+ "hwe-netboot/ubuntu-installer/i386/initrd.gz": {
155+ "ftype": "initrd",
156+ "image-format": "default",
157+ "initrd-flavor": "netboot",
158+ "kernel-flavor": "generic",
159+ "kernel-release": "hwe"
160+ },
161+ "hwe-netboot/ubuntu-installer/i386/linux": {
162+ "ftype": "kernel",
163+ "image-format": "default",
164+ "initrd-flavor": "netboot",
165+ "kernel-flavor": "generic",
166+ "kernel-release": "hwe"
167+ },
168+ "hwe-netboot/ubuntu-installer/i386/pxelinux.0": null,
169+ "hwe-netboot/ubuntu-installer/ppc64el/fonts/unicode.pf2": null,
170+ "hwe-netboot/ubuntu-installer/ppc64el/initrd.gz": {
171+ "ftype": "initrd",
172+ "image-format": "default",
173+ "initrd-flavor": "netboot",
174+ "kernel-flavor": "generic",
175+ "kernel-release": "hwe"
176+ },
177+ "hwe-netboot/ubuntu-installer/ppc64el/vmlinux": {
178+ "ftype": "kernel",
179+ "image-format": "default",
180+ "initrd-flavor": "netboot",
181+ "kernel-flavor": "generic",
182+ "kernel-release": "hwe"
183+ },
184 "keystone/netboot/initrd.gz": {
185 "ftype": "initrd",
186 "image-format": "default",
187@@ -966,11 +1055,11 @@
188 "kernel-release": "utopic"
189 },
190 "utopic-generic/netboot/tegra/vmlinuz": {
191- "ftype": "kernel",
192- "image-format": "tegra",
193- "initrd-flavor": "netboot",
194- "kernel-flavor": "generic",
195- "kernel-release": "utopic"
196+ "ftype": "kernel",
197+ "image-format": "tegra",
198+ "initrd-flavor": "netboot",
199+ "kernel-flavor": "generic",
200+ "kernel-release": "utopic"
201 },
202 "utopic-generic/netboot/vmlinuz": {
203 "ftype": "kernel",
204@@ -1004,18 +1093,18 @@
205 "kernel-release": "utopic"
206 },
207 "utopic-generic/netboot/xgene/uImage": {
208- "ftype": "kernel",
209- "image-format": "xgene",
210- "initrd-flavor": "netboot",
211- "kernel-flavor": "generic",
212- "kernel-release": "utopic"
213+ "ftype": "kernel",
214+ "image-format": "xgene",
215+ "initrd-flavor": "netboot",
216+ "kernel-flavor": "generic",
217+ "kernel-release": "utopic"
218 },
219 "utopic-generic/netboot/xgene/uInitrd": {
220- "ftype": "initrd",
221- "image-format": "xgene",
222- "initrd-flavor": "netboot",
223- "kernel-flavor": "generic",
224- "kernel-release": "utopic"
225+ "ftype": "initrd",
226+ "image-format": "xgene",
227+ "initrd-flavor": "netboot",
228+ "kernel-flavor": "generic",
229+ "kernel-release": "utopic"
230 },
231 "utopic-netboot/boot.img.gz": null,
232 "utopic-netboot/mini.iso": null,
233@@ -1164,11 +1253,11 @@
234 "kernel-release": "vivid"
235 },
236 "vivid-generic/netboot/tegra/vmlinuz": {
237- "ftype": "kernel",
238- "image-format": "tegra",
239- "initrd-flavor": "netboot",
240- "kernel-flavor": "generic",
241- "kernel-release": "vivid"
242+ "ftype": "kernel",
243+ "image-format": "tegra",
244+ "initrd-flavor": "netboot",
245+ "kernel-flavor": "generic",
246+ "kernel-release": "vivid"
247 },
248 "vivid-generic/netboot/vmlinuz": {
249 "ftype": "kernel",
250@@ -1202,18 +1291,18 @@
251 "kernel-release": "vivid"
252 },
253 "vivid-generic/netboot/xgene/uImage": {
254- "ftype": "kernel",
255- "image-format": "xgene",
256- "initrd-flavor": "netboot",
257- "kernel-flavor": "generic",
258- "kernel-release": "vivid"
259+ "ftype": "kernel",
260+ "image-format": "xgene",
261+ "initrd-flavor": "netboot",
262+ "kernel-flavor": "generic",
263+ "kernel-release": "vivid"
264 },
265 "vivid-generic/netboot/xgene/uInitrd": {
266- "ftype": "initrd",
267- "image-format": "xgene",
268- "initrd-flavor": "netboot",
269- "kernel-flavor": "generic",
270- "kernel-release": "vivid"
271+ "ftype": "initrd",
272+ "image-format": "xgene",
273+ "initrd-flavor": "netboot",
274+ "kernel-flavor": "generic",
275+ "kernel-release": "vivid"
276 },
277 "vivid-netboot/boot.img.gz": null,
278 "vivid-netboot/mini.iso": null,
279@@ -1327,11 +1416,11 @@
280 "kernel-release": "wily"
281 },
282 "wily-generic/netboot/tegra/vmlinuz": {
283- "ftype": "kernel",
284- "image-format": "tegra",
285- "initrd-flavor": "netboot",
286- "kernel-flavor": "generic",
287- "kernel-release": "wily"
288+ "ftype": "kernel",
289+ "image-format": "tegra",
290+ "initrd-flavor": "netboot",
291+ "kernel-flavor": "generic",
292+ "kernel-release": "wily"
293 },
294 "wily-generic/netboot/vmlinuz": {
295 "ftype": "kernel",
296@@ -1365,18 +1454,18 @@
297 "kernel-release": "wily"
298 },
299 "wily-generic/netboot/xgene/uImage": {
300- "ftype": "kernel",
301- "image-format": "xgene",
302- "initrd-flavor": "netboot",
303- "kernel-flavor": "generic",
304- "kernel-release": "wily"
305+ "ftype": "kernel",
306+ "image-format": "xgene",
307+ "initrd-flavor": "netboot",
308+ "kernel-flavor": "generic",
309+ "kernel-release": "wily"
310 },
311 "wily-generic/netboot/xgene/uInitrd": {
312- "ftype": "initrd",
313- "image-format": "xgene",
314- "initrd-flavor": "netboot",
315- "kernel-flavor": "generic",
316- "kernel-release": "wily"
317+ "ftype": "initrd",
318+ "image-format": "xgene",
319+ "initrd-flavor": "netboot",
320+ "kernel-flavor": "generic",
321+ "kernel-release": "wily"
322 },
323 "wily-netboot/boot.img.gz": null,
324 "wily-netboot/mini.iso": null,
325@@ -1451,13 +1540,6 @@
326 "kernel-flavor": "generic",
327 "kernel-release": "xenial"
328 },
329- "xenial-generic/netboot/vmlinuz": {
330- "ftype": "kernel",
331- "image-format": "default",
332- "initrd-flavor": "netboot",
333- "kernel-flavor": "generic",
334- "kernel-release": "xenial"
335- },
336 "xenial-generic/netboot/ubuntu-installer/arm64/initrd.gz": {
337 "ftype": "initrd",
338 "image-format": "default",
339@@ -1472,6 +1554,13 @@
340 "kernel-flavor": "generic",
341 "kernel-release": "xenial"
342 },
343+ "xenial-generic/netboot/vmlinuz": {
344+ "ftype": "kernel",
345+ "image-format": "default",
346+ "initrd-flavor": "netboot",
347+ "kernel-flavor": "generic",
348+ "kernel-release": "xenial"
349+ },
350 "xenial-netboot/ubuntu-installer/amd64/pxelinux.0": null,
351 "xenial-powerpc64/netboot/initrd.gz": {
352 "ftype": "initrd",

Subscribers

People subscribed via source and target branches