1 of 11

Integration Testing

James Falcon <james.falcon@canonical.com>

2 of 11

3 of 11

Problem

  • Lack of integration tests

  • Rigid tooling

  • Release updates

4 of 11

Example

5 of 11

Output

6 of 11

Configuration

7 of 11

Fixtures

8 of 11

More Fixtures

9 of 11

Benefits

  • Pytest

  • Cloud-agnostic tests

  • Overridable configuration with sane defaults

  • Loose coupling between tests, image creation, and clouds

10 of 11

More to do

  • Write actual tests!

  • More helpers
    • Collect/Search/Analyze logs
    • File-based cloud configs

  • Support additional data sources

  • Support additional distros

11 of 11

Contribute!

  • PR is still in progress:
    • https://github.com/canonical/cloud-init/pull/581