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

[Bug] Failed to get emulator capabilities #20387

Open
cookiengineer opened this issue Apr 27, 2024 · 2 comments
Open

[Bug] Failed to get emulator capabilities #20387

cookiengineer opened this issue Apr 27, 2024 · 2 comments
Labels

Comments

@cookiengineer
Copy link

cookiengineer commented Apr 27, 2024

Explain what happens

  1. Install cockpit on Arch Linux (extra/cockpit and extra/cockpit-machines)
  2. Start libvirtd service and cockpit service
  3. Get error error: failed to connect to the hypervisor error: authentication unavailable: no polkit agent available to authenticate action 'org.libvirt.unix.manage'
  4. Fix the polkit error and create /etc/polkit-1/50-libvirt.rules file with the content below.
  5. Restart host machine, restart services, go to http://127.0.0.1:9090/machines#/vms
  6. Select administrative mode (cause you think it might be the problem), authenticate without any error
  7. Create new virtual machine with following parameters:
  8. Name: "debian", Connection: "System", Installation Type: "Download an OS", Operating System: "Debian 12 (bookworm)" and Storage, Storage Limit and Memory are default (qcow2, 10GiB, 1GiB)
  9. "Create and Run" and "Create and edit" both lead to the following error:
error: failed to get emulator capabilities error: unsupported configuration: unable to find any emulator to serve '(null)' architecture

How do I fix the described error?

I'm not sure what to do next, because it seems that some command is missing the amd64 or similar parameter in the exec call.

Attachments (changed files):

/etc/polkit-1/50-libvirt.rules:

polkit.addRule(function(action, subject) {
	if (action.id == "org.libvirt.unix.manage" && subject.isInGroup("wheel") {
		return polkit.Result.YES;
	}
});

Version of Cockpit

315-2

Where is the problem in Cockpit?

Unknown or not applicable

Server operating system

None

Server operating system version

Arch Linux (updated 2024-04-27)

What browsers are you using?

Firefox, Chrome

System log

(journalctl contains no PAM errors, and no authentication errors)
@cookiengineer
Copy link
Author

cookiengineer commented Apr 28, 2024

After the installation of qemu-base as an emulator, there's also the following error for local ISO installations, which I cannot fix.

So far only the Debian image installation (auto-download) worked, but I haven't figured out how to correctly configure it into bridging mode.

The error I keep getting, no matter where the ISO file is located, and no matter which kind of chmod group/all access is set, is the following. Even when setting 0666 to the file and for testing putting it into /tmp or /opt, it doesn't make a difference for whatever reason.

How can I debug this further to find out what's causing this fd / file open error?

ERROR internal error: process exited while connecting to monitor: 2024-04-28T06:25:42.582723Z qemu-system-x86_64: -blockdev {"driver":"file","filename":"/home/cookiengineer/Downloads/OS Images/trisquel-netinst_11.0_amd64.iso","node-name":"libvirt-1-storage","read-only":true}: Could not open '/home/cookiengineer/Downloads/OS Images/trisquel-netinst_11.0_amd64.iso': Permission denied Domain installation does not appear to have been successful. If it was, you can restart your domain by running: virsh --connect qemu:///system start trisquel otherwise, please restart your installation.

@jelly
Copy link
Member

jelly commented Apr 29, 2024

Get error error: failed to connect to the hypervisor error: authentication unavailable: no polkit agent available to authenticate action 'org.libvirt.unix.manage'
Fix the polkit error and create /etc/polkit-1/50-libvirt.rules file with the content below.

This is provided by the libvirt package:

[jelle@t14s][~/projects/cockpit-bots]%pacman -F 50-libvirt.rules
extra/libvirt 1:10.2.0-1 [installed]
    usr/share/polkit-1/rules.d/50-libvirt.rules

And then I would recommend installing extra/qemu-desktop

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

2 participants