Created oVirt v4 Executor - Spin all the VMs...

What does this MR do?

This MR adds the oVirt executor allowing the CI runner to communicate with oVirt instances. From a high level overview it works in a similar way to that of VirtualBox and Parallels executors. I could explain completely and utterly what it does here but there is a README for it in the docs executors section :P

Why was this MR needed?

As usual you want to try and push CI within the company only to find that you use a system that is not supported... (sigh...) So I wrote an executor that uses the oVirt restful API so that VMs can be created, spun and deleted. Depending on your oVirt setup this can be very powerful (e.g. we spun 80 concurrent CI test VMs with no issue).

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

Annoyingly I would probably say most of it as Go is a new language for me!

Not sure on the best way to add tests for this!

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?

Edited by username-removed-1358363