Libvirt backend support #2302
Replies: 3 comments
-
the biggest question would be, how to handle "images" ... - is there a common way / index for vm images ?!? |
Beta Was this translation helpful? Give feedback.
-
About this, just found https://github.com/containers/krunvm which can create actual VMs using KVM from plain OCI images! |
Beta Was this translation helpful? Give feedback.
-
Libvirt provides no globally available registry but there are storage-pools. https://libvirt.org/storage.html#network-filesystem-pool suggests CIFS/NFS/glusterfs as principally supported network protocols for accessing storage pools, the expectation is a LAN environment. Neither vagrant nor packer provide a container registry feature. Network-booting a live image might work in some scenarios but I don't feel as though it is standardized enough - hoping I'm wrong. A hosting organization's servers might provide available golden images to users like you might see in a container registry. I would expect to provide a series of pools on each libvirt-runner. I would assume " Edit: I re-organized thoughts for clarity. I apologize since I'm new to this repo and don't know all the norms, just checking it out trying to see if it fits my use-case. Personally I've been looking for a CI/CD system for the Plan9Front Operating System, I suspect the Local backend will be mostly fine for my needs but it will require me to spin up dedicated Plan9 infrastructure; libvirt support would be of great convenience to me! |
Beta Was this translation helpful? Give feedback.
-
Clear and concise description of the problem
Docker containers offer a majority of the cases needed for builds, but in the case of non-Linux systems like OpenBSD, NetBSD, etc., launching complete virtual machines for builds may be required. We need a new backend to support this.
Suggested solution
Libvirt is probably the most versatile system for doing this, since it provides a common API for running things under several different hypervisors.
Alternative
Without libvirt, we'd probably have to manage multiple hypervisor platforms individually. However, it does require a separate runtime layer, meaning that it does add an extra dependency. If we were to implement these hypervisor backends directly, it wouldn't make libvirt redundant completely, but it would make the need for it less pronounced.
Additional context
Most commercial CI systems allow launching full VMs for their versatility, although it's obviously much slower than using containers. To fully replace these providers, woodpecker would need a VM-based runtime.
Validations
Beta Was this translation helpful? Give feedback.
All reactions