~smoser/maas-images/trunk.no-dyn-netconf

« back to all changes in this revision

Viewing changes to meph2/stream.py

Always create squashfs image if configured.

For precise in the v3 stream there was no 'squashfs' image created.
This was enabled only if input to the build was '.tar.gz' or 'squashfs'.

As we need a squashfs image for installing precise with maas 2.3+,
we modify the code here to build that image.

Note that this squashfs image is known to not boot with rooturl
as the other squashfs images produced do.

Show diffs side-by-side

added added

removed removed

Lines of Context:
306
306
        LOG.info("finished: %s" % gencmd)
307
307
 
308
308
        base_dir = os.path.join(out_d, release, arch, version_name)
 
309
        dst_squash = os.path.join(base_dir, 'squashfs')
309
310
        if img_url.endswith('squashfs'):
310
311
            src_squash = os.path.join(base_dir, os.path.basename(img_url))
311
312
            if squashfs:
312
 
                # If we're publishing a SquashFS file rename it to its
313
 
                # filetype.
314
 
                dst_squash = os.path.join(base_dir, 'squashfs')
 
313
                # If publishing a SquashFS file rename it to its filetype.
315
314
                os.rename(src_squash, dst_squash)
316
315
                # The root-img is used to generate the kernels and initrds. If
317
316
                # we're publishing the SquashFS image then we don't want to
323
322
                # If we're not publishing the SquashFS image but used it to
324
323
                # generate the root-img clean it up.
325
324
                os.remove(src_squash)
326
 
        elif squashfs and img_url.endswith('tar.gz'):
 
325
        elif squashfs:
327
326
            # If the stream is publishing SquashFS images convert any
328
327
            # non-SquashFS image into a SquashFS image. Both the root-image.gz
329
328
            # and SquashFS image will be included but MAAS will only use the
331
330
            subprocess.check_call([
332
331
                'sudo', 'env', 'PATH=%s' % os.environ.get('PATH'),
333
332
                os.environ.get('IMG2SQUASHFS', 'img2squashfs'),
334
 
                os.path.join(base_dir, 'root-image.gz'),
335
 
                os.path.join(base_dir, 'squashfs'),
336
 
                ])
 
333
                os.path.join(base_dir, 'root-image.gz'), dst_squash])
337
334
 
338
335
    # get checksum and size of new files created
339
336
    file_info = {}