← Back to team overview

cloud-init team mailing list archive

cloud-init integration tests

 

Hi cloud-init Community,

The new 0.7.9 release of cloud-init [1] includes for the first time an
integration test framework.

The framework utilizes LXD to inject a build of cloud-init, boot using a
specific user-data configuration, collect logs and output from the
container, and to then test are executed against those logs and output. You
can read more about how to write tests, the test execution flow, and the
architecture on the cloud-init Read the Docs [2].

Currently, tests are ran daily against Ubuntu Xenial, Yakkety, and Zesty
images [3] with cloud-init built from master. The tests are also executed
if a new package version of cloud-init exists in Xenial-proposed or
Yakkety-proposed and execute using the proposed version.

I wanted to call out and thank Wesley Wiedenmeier for the incredible effort
and work he did on making the framework a reality; as well as Scott Moser
and Ryan Harper for their guidance and reviews.

Next steps include expanding the framework to other back-ends, most
urgently KVM and other distributions. Additional we wish to have these
tests automatically execute on any merge requests as well. We welcome any
collaborations to enable other distributions, new tests, or any other help!

Thanks,
Josh

[1] https://lists.launchpad.net/cloud-init/msg00057.html
[2] https://cloudinit.readthedocs.io/en/latest/topics/tests.html
[3] https://jenkins.ubuntu.com/server/view/Cloud-init/