Skip to content

WIP: Added libvirt runner

What does this MR do?

It adds a libvirt runner. The runner works differently than the VirtualBox and Parallels runner as it does not clone VMs. For running a build it uses an existing libvirt domain and resets it to a base snapshot. Example configuration:

[runners.libvirt]
  connection_url = "qemu:///system"
  domain_name = "kvm-runner-1"
  base_snapshot = "clean-install"

Why was this MR needed?

  • The libvirt runner enables efficient builds with kvm

Are there points in the code the reviewer needs to double check?

  • tests are missing
  • only one instance of the runner should be allowed to operate on one libvirt domain
  • libvirt dependency version should not be libvirt 3.0

TODO

  • Use Godep for libvirt dependency
  • Add tests
  • Implement snapshots after build

Does this MR meet the acceptance criteria?

  • Documentation created/updated
  • Tests
    • Added for this feature/bug
    • All builds are passing
  • Branch has no merge conflicts with master (if you do - rebase it please)

What are the relevant issue numbers?

Merge request reports