Created by Joshua Powers on 2016-09-01 and last modified on 2016-09-01
Get this branch:
bzr branch lp:~powersj/curtin/lxctest
Only Joshua Powers can upload to this branch. If you are Joshua Powers please log in for upload directions.

Branch merges

Related bugs

Related blueprints

Branch information

Joshua Powers

Recent revisions

402. By Joshua Powers on 2016-09-01

Adding no test flag to __init__.py to prevent empty tests.

401. By Joshua Powers on 2016-09-01

Initial demonstrating how lxctest works and is able to generate
containers, push files, execute commands, and then collect files.

400. By Scott Moser on 2016-07-21

move uefi boot knowledge from launch and vmtest to xkvm

This moves all the knowledge of how to boot with uefi into xkvm.
xkvm can now be used to boot uefi sanely and launch and vmtest do not have
to duplicate that knowledge.

If uefi-nvram is provided:
 - enable uefi
 - if file exists, heuristically determine if
   the file is vars or code and do the right thing.

If --uefi is present (or implied due to implied --uefi-nvram) then boot
with uefi bios.

 - add '--bios' flag to xkvm.
 - change .out extension to .log (install-launch.out and xkvm.out)

399. By Scott Moser on 2016-06-27

Initial vmtest power8 support and TestSimple test.

This is not completely functional power8 tests, but does allow some
tests to be run on power now. On a xenial ppc64el host, this will work:
 nosetests3 tests/vmtests/test_simple.py

The TestSimple test pushes curtin through its "automatic" installation,
that does not require storage config.

power8 changes:
 - add a TestSimple that tests that curtin correctly installs
   when no storage config is provided (also runs on other arch).
 - tools/launch: generalize console_name (console=) for command line.
 - includes 'launch-by-label' branch (necessary for unstable virtio paths
   on different versions of qemu).

 - cleanups to prep partitioning in code to just be more readable.

tools/xkvm minor improvements:
 - allow passing in 'file=/path/to/file.img' instead of just
 - allow shortened 'fmt=raw' in addition to 'format=raw'.

tools/vmtest-sync-images can now take a release as an argument:
  ./tools/vmtest-sync-images xenial
will sync xenial images and no others.

398. By Scott Moser on 2016-06-26

tools/launch: boot by root=LABEL=cloudimg-rootfs

We were previously booting with either root=/dev/vda or root=/dev/vda1
based on if the root disk was partitioned or not.

That logic was sort of broken in that it didn't correctly
query the backing device of a qcow2 disk.

What prompted this change though is that using root= seems not reliable.
On power8 kvm guests on 16.04 in current trunk, root=/dev/vda would not
find a filesystem, where the same boot on 15.10 did.

So for now, boot by LABEL=cloudimg-rootfs which is true for all of our

397. By Scott Moser on 2016-06-24

tools/launch and tools/xkvm: whitespace cleanup and bash -x

remove trailing whitespace and '-x' on shebang line.

396. By Ryan Harper on 2016-06-24

fix multipath configuration and add multipath tests

Xenial multipath fails without ensuring the multipath/bindings file is written
with whitespace removed; this is triggered on in-target mulitpath versions
>= 1.5.0. This fixes LP:1551937

Add multipath testing via a test-case option, cls.multipath which will
if set to true, duplicate all disks in a test class. This has the effect
of looking exactly like multipath setups where we see the same device
with two paths.

To handle devices with wwn or serial numbers with spaces in them curtin.block
was updated to ensure it supports finding devices via there serial or wwn
attribute. Specifically for serial numbers with spaces, we currently will
escape the spaces to underscores; this is supported by observing the names
that show up in /dev/disk/by-id/* for those devices.

For wwn, /dev/disk/by-id/wwn-$wwn ; curtin resolves the symlink target to
obtain a kernel devname for use with sysfs.

For serial with spaces, curtin attempts to remove whitespace like udev to
find the disk under /dev/disk/by-id/ and determine a devname.

395. By Scott Moser on 2016-06-20

vmtest: provide info on images used

This does 4 things, all in an effort to show which images are used.
a.) fixes tests/vmtests/image_sync.py to actually use --output-format
    this was in its help, but ignored, now it works as expected.
b.) provide image information at INFO level for each vmtest
    we'll now see a message like:
     Using tempdir: ... , Image: yakkety amd64/hwe-y 20160620
c.) provide image information at start of jenkins-runner
    jenkins-runner will now print:
      Working with images in /tmp/asdf
      precise amd64/hwe-p 20160610.1
      precise amd64/hwe-q 20160610.1
      yakkety amd64/hwe-y 20160620
d.) provide paths to each component of the image at DEBUG level

394. By Ryan Harper on 2016-06-17

curtin/net: use post-up for interface alias

When network config creates interface ip aliases, there may be a
delay during network bring up due to no hotplug event being generated
for aliased interfaces. This can be addressed by including a post-up
hook on the main interface to call ifup on the aliased interface.

This resolves a cloud-init 120 second timeout on Trusty.

393. By Ryan Harper on 2016-06-17

tests/vmtests: add yakkety, remove vivid

Vivid is unsupported now, so remove those tests.
Add Yakkety tests for any test that had a xenial test.

The one thing that is questionable here is the usage of 'linux-generic'
as the fallback, where previously there was none.
The change means that linux-generic kernel would be installed
even if there was a useful kernel installed in the image.

Fix ifconfig output parsing to work for yakkety, And remove the code
duplication by putting the ifconfig parser into helpers.

Branch metadata

Branch format:
Branch format 7
Repository format:
Bazaar repository format 2a (needs bzr 1.16 or later)
Stacked on:
This branch contains Public information 
Everyone can see this information.