Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Starting more than one cluster fails on linux/aarch64 #18240

Closed
nirs opened this issue Feb 23, 2024 · 3 comments · Fixed by #18241
Closed

Starting more than one cluster fails on linux/aarch64 #18240

nirs opened this issue Feb 23, 2024 · 3 comments · Fixed by #18241
Labels
arch/arm64 co/kvm2-driver KVM2 driver related issues kind/bug Categorizes issue or PR as related to a bug. os/linux priority/awaiting-more-evidence Lowest priority. Possibly useful, but not yet enough support to actually get it done.

Comments

@nirs
Copy link
Contributor

nirs commented Feb 23, 2024

What Happened?

With #18239 we can start one cluster on linux/aarch64, but starting the second cluster fails:

virError(Code=55, Domain=24, Message='Requested operation is not
valid: Setting different SELinux label on /usr/share/AAVMF/AAVMF_VARS.fd
which is already in use

Example commands:

minikube start --driver kvm2 -p c1 # works
minikube start --driver kvm2 -p c2 # fails

The issue is using:

<nvram>/usr/share/AAVMF/AAVMF_VARS.fd</nvram>

This is a template used by libvirt to create a per-vm image. Selinux saved us
preventing sharing the nvram image in 2 vms.

To reproduce install Ashai Linux Fedora remix on a MacBook,
get and build #18239 and try to start 2 clusters.

Attach the log file

Not relevant at this point.

Operating System

Redhat/Fedora

Driver

KVM2

@afbjorklund
Copy link
Collaborator

afbjorklund commented Mar 7, 2024

Added for reasons unknown.

Adding firmware for UEFI was needed, but this change looks unrelated.

The KVM driver hasn't gotten much love, due to requiring root (libvirt)

@afbjorklund afbjorklund added co/kvm2-driver KVM2 driver related issues os/linux arch/arm64 kind/bug Categorizes issue or PR as related to a bug. priority/awaiting-more-evidence Lowest priority. Possibly useful, but not yet enough support to actually get it done. labels Mar 7, 2024
@nirs
Copy link
Contributor Author

nirs commented Mar 7, 2024

The KVM driver hasn't gotten much love, due to requiring root (libvirt)

The current workaround is to add the user to libvirt group, but I think it
can be solved properly, maybe using selinux. We can try to get help on
the libvirt users mailing list.

@afbjorklund
Copy link
Collaborator

afbjorklund commented Mar 7, 2024

The current workaround is to add the user to libvirt group

The "libvirt" group is what I meant (similar to the "docker" group)


The alternative would be to run in session mode rather than system mode, but the problem is networking...

The workaround for the old drivers (like docker and qemu), is to use port-forwarding over the ssh (admin) port.
Newer drivers use some solution like gvproxy, to allow user networking to allocate IP, but not in minikube yet.

It's not really a problem to be solved, but more of a design decision. Also, libvirt wasn't very portable (mac/win)

https://wiki.libvirt.org/FAQ.html#networking-is-unavailable-in-virt-manager-virsh-libvirt-s-default-network-fails-to-start

https://wiki.libvirt.org/FAQ.html#what-is-the-difference-between-qemu-system-and-qemu-session-which-one-should-i-use

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
arch/arm64 co/kvm2-driver KVM2 driver related issues kind/bug Categorizes issue or PR as related to a bug. os/linux priority/awaiting-more-evidence Lowest priority. Possibly useful, but not yet enough support to actually get it done.
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants