Project

General

Profile

Support #22318

Updated by Peter Amstutz 3 months ago

For testing the installer, we would like to be able to spin up 1 or more VMs on the local node into which we will install Arvados. 

 Research using KVM (or virtualbox or xen... research virtualization technologies) and the ansible support for managing VMs (using this module or other appropriate module) 

 https://docs.ansible.com/ansible/latest/collections/community/libvirt/virt_module.html 

 The goal is to have an ansible script that spins up VMs that can talk to one another which can be handed off to the installer playbook. 

 Ultimately we want something that can run on both developer desktops and on Jenkins nodes. 

 There's two types of virtualization 

 type 1, runs "below" the host kernel 

 type 2, runs "above" the host kernel 

 Xen is a type 1 hypervisor that is dedicated to running one or more guest OSes.    Apparently the guest OSes also require some special settings to work with Xen. 

 KVM is a type 1 hypervisor that is part of the linux kernel.    Guest OSes don't require modification.    (I've seen this referred to as both a type 1 and type 2 hypervisor as well as a hybrid) 

 Virtualbox is a type 2 hypervisor.    It is has a GUI and is good for running software where you need to use the desktop within the VM.    It is mostly GPL but reportedly has some binary blobs that make it non-free. 

 There's a bunch of other software for managing VMs but it seems that they are either proprietary (e.g. vmware) or work in collaboration with Xen or KVM underneath. 

 https://cloud.google.com/compute/docs/instances/nested-virtualization/overview 

 Google says KVM is supported for type 1 virtualization or any type 2 virtualization (I guess?). 

Back