Skip to content

Provide a way to run a local grid using qemu instead of virtualbox

(heavily edited by @bendon):

The current deployment of a local grid requires Virtualbox which is not possible inside a VM w/o nested virtualization (e.g: in Qubes-OS). Or a container (as mentioned first by @tomprince) - though a local grid will still be difficult to deploy inside a container (e.g.: morph deploys the kernel too!) .

This makes it difficult for developers to run a local grid on their workstation when they need to:

  1. test a client w/o having to obtain funded vouchers (e.g.: staging)
  2. test a server deployment w/o breaking a shared environment (e.g.: staging)

Why QEmu:

  • NixOS (system-)tests already use QEmu rather than Virtualbox
  • QEmu being an emulator in addition to an hypervisor, it can be used inside a VM or even a container,
  • In combination with KVM, QEmu is usually faster than Virtualbox,

Proposal:

  • document the change of requirement to use QEmu (via libvirt)
  • support vagrant up --provider=libvirt to deploy the local grid
  • make sure morph can still build, push and deploy the local grid as before
  • shaving off some unnecessary features to make QEmu boxes lighter - if possible
  • provide a basic test to verify the availability of the services deployed from outside the local grid (may be partly covered by privatestorageops#272).
Edited by Benoit Donneaux