Project

General

Profile

Actions

Support #22318

closed

Prototype using ansible to set up local test environments

Added by Peter Amstutz 3 months ago. Updated 13 days ago.

Status:
Resolved
Priority:
Normal
Assigned To:
Category:
Deployment
Target version:
Due date:
Story points:
-
Release relationship:
Auto

Description

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?).

KVM needs to be enabled in the Linux kernel. I don't know if that's a feature enabled in default Debian/Ubuntu kernel, something that can be loaded as a module, or possibly requires custom kernel (I hope not!)


Subtasks 1 (0 open1 closed)

Task #22335: Review 22318-ansible-test-nodeResolvedBrett Smith01/06/2025Actions

Related issues 3 (2 open1 closed)

Related to Arvados - Idea #22289: Engineering meeting to discuss packaging vs container deployment going forwardResolvedPeter AmstutzActions
Related to Arvados - Idea #22290: Engineering meeting to discuss single node install planNewPeter AmstutzActions
Blocks Arvados - Support #22238: Prototype ansible installerNewBrett SmithActions
Actions

Also available in: Atom PDF