Hello, made some progress and I think I see what the issue may be now...
and it looks like virt-install's fault.
> Regardless of all that, the client is trying to connect to
virtqemud
> but you seem to have the monolithic libvirtd daemon running. I can't
> remember whether that's expected, but it's looks like a red flag to
> me. I think the client might have gotten confused about whether split
> daemons are in use.
>
> Please check out
https://nam11.safelinks.protection.outlook.com/?url=https%3A%2F%2Flibvirt...
and ensure you're
> in one of the two supported deployment scenarios and not a weird
mix
> of the two.
So, I started again from scratch. Deleted absolutely everything that had
to do with libvirt. I also had to unmask a bunch of service-related stuff
that were on masked state:
for ANNOYING_SERVICE in libvirtd virtlogd.socket virtlogd.service \
virtlockd.socket virtlockd.service virtlogd-admin.socket
virtlockd-admin.socket
do
systemctl unmask $ANNOYING_SERVICE
done
So, after doing this, building and installing the tree, reloading the
daemon, and starting all services and sockets again, I finally get an
active libvirtd daemon:
# systemctl status libvirtd
● libvirtd.service - Virtualization daemon
Loaded: loaded (/usr/local/lib/systemd/system/libvirtd.service;
enabled; vendor preset: enabled)
Active: active (running) since Thu 2022-09-08 15:51:39 UTC; 1min
30s ago
Docs: man:libvirtd(8)
https://libvirt.org
Main PID: 2429457 (libvirtd)
Tasks: 20 (limit: 32768)
Memory: 55.6M
CPU: 28ms
CGroup: /system.slice/libvirtd.service
├─ 2760 /usr/sbin/dnsmasq
--conf-file=/var/lib/libvirt/dnsmasq/default.conf --leasefile-ro
--dhcp-script=/usr/lib/libvirt/libvirt_leaseshelper
├─ 2761 /usr/sbin/dnsmasq
--conf-file=/var/lib/libvirt/dnsmasq/default.conf --leasefile-ro
--dhcp-script=/usr/lib/libvirt/libvirt_leaseshelper
└─2429457 /usr/local/sbin/libvirtd --timeout 120
Sep 08 15:51:39 host systemd[1]: Starting Virtualization daemon...
Sep 08 15:51:39 host systemd[1]: Started Virtualization daemon.
#
Now, this is when things get interesting... The next step is testing
virt-install. Since I removed it, I proceed to install again:
# sudo apt install -y virtinst
(...)
Unpacking virtinst (1:4.0.0-1) ...
Setting up libvirt-glib-1.0-data (4.0.0-2) ...
Setting up libvirt0:amd64 (8.0.0-1ubuntu7.1) ...
Setting up libvirt-glib-1.0-0:amd64 (4.0.0-2) ...
Setting up python3-libvirt (8.0.0-1build1) ...
Setting up libvirt-clients (8.0.0-1ubuntu7.1) ...
Setting up libvirt-daemon-driver-qemu (8.0.0-1ubuntu7.1) ...
Setting up virt-viewer (7.0-2build2) ...
Setting up libvirt-daemon (8.0.0-1ubuntu7.1) ...
Setting up virtinst (1:4.0.0-1) ...
As you can see, virtinst also installs the libvirt daemon. I didn't think
this would be an issue because the libvirtd daemon running is still my
version. However, when I try to do virt-install I get:
# virt-install --connect qemu:///system --name ubuntu-sev \
--boot
loader=/usr/share/OVMF/OVMF_CODE.fd,loader.readonly=yes,loader.type=pflash,nvram.template=/usr/share/OVMF/OVMF_VARS.fd,loader_secure=no
\
--vcpus 8 --memory 4096 --memtune hard_limit=16777216 \
--disk pool=default,device=disk,size=32,format=raw \
--controller type=scsi,model=virtio-scsi --network
bridge=virbr0,model=virtio \
--controller type=virtio-serial --machine q35 --cpu host-passthrough \
--cdrom /var/lib/libvirt/images/ubuntu.iso --osinfo detect=on,require=on \
--launchSecurity sev,policy=0x00 --graphics none --tpm none
ERROR Failed to connect socket to '/var/run/libvirt/virtqemud-sock':
No such file or directory
#
So, back to square one. However, notice that virtqemud is one of the modular
daemons. So, I believe that what happens is that virt-install assumes
libvirt is using the new daemon mode. Is this something that can be
configured? I don't see that option in the man pages of virt-install.
>
> If you want to build a Debian package, I recommend using the one
> that's already in the archive as a starting point instead of using
> dh_make to create one from scratch. It's currently a couple of
> versions behind upstream, but should be pretty solid otherwise.
>
Not sure what location you are referring to. Is this on a separate
repo in
the GitLab? Also, I need to be able to test changes in the source
code of
libvirt (e.g. src/qemu/qemu_capabilities.c). How would I go around that
with the prepared Debian package? Apologies if this is obvious, I have no
experience with dpkg-buildpackage.
> dh_make is intended to create a very basic skeleton for a package,
> and you're expected to make significant changes to the files it
> produces before being able to build a working package.
>
Thanks,
Carlos