[virt-tools-list] dropping some uncommon features from virt-manager/virt-install

Cole Robinson crobinso at redhat.com
Tue May 1 17:04:14 UTC 2018

Hi all,

I'd like to drop some uncommonly used features from
virt-manager/virt-install. Comments welcome

* non-virDomainOpenConsole serial console in virtManager/serialcon.py.
qemu, libxl, bhyve, lxc all support this API, qemu since libvirt 0.8.6
in Nov 2010. Directly connecting to /dev/ptsX only works for
virt-manager if using qemu:///session or if using qemu:///system and
running the app as root. It's not much code to maintain but it's hard to
test and I don't think anyone will miss it, so I'd like to remove it.

* --location nfs handling. You can pass an nfs: or nfs:// URL to
virt-install/virt-manager, it will try to mount it, then treat it as an
install tree and pull out kernel/initrd per usual. I doubt anyone uses
this with virt-manager since it would require running the UI as root.
People are possibly using this with virt-install though. I think 10
years ago it was more common to do at least RH distro installs over NFS,
but I hear very little about usage of this nowadays, and I think most
NFS servers probably have http exports as well. NFS mounting is tough to
test and annoying to handle in the code, and inflexible in that the user
can't pass in mount options. If someone is dependent on it they can
manually make it work by mounting the share, doing --location
/path/to/mount/point, and use --extra-args to specify method=/repo=
kernel option for RH distros.

* --cdrom $location installs. Did you know you can do virt-install
--cdrom http://mirrors.mit.edu/centos/7/os/x86_64/  and we will fetch a
boot.iso, save it to a tempfile, boot the VM from it, then delete the
ISO? Probably not. I think this is a leftover from the old old days when
xen HVM could only boot off cdrom but not kernel/initrd. if you are
going the route of specifying an install tree url, kernel/initrd via
--location is superior (at least for RH distros) since you can easily
pass in kernel options like install parameters and kickstart files, and
it's less stuff to download. As a workaround, if I remove this I'll wire
up --cdrom to handle http paths directly to an ISO and the VM accesses
it directly; this works with qemu+libvirt for a few years now. Dropping
this saves a decent chunk of code and test cases from the URL test suite

* packagekit package install support. On first run of the app we will
check to see if libvirt and qemu are installed, and if not, offer to
install them. In theory anyways. In practice this stuff breaks
repeatedly and is a pain to test because every desktop has their own API
provider with subtly different behavior. My last round of testing about
6 months ago: apper on KDE was completely busted and apparently
unmaintained although I see some dev activity recently, gnome-software
is the latest packagekit provider on gnome and completely changes the
semantics of the API compared to old style gnome-packagekit that break a
lot of virt-manager assumptions.. So I'm tired of it and want it all
gone. Plus on Fedora at least we finally have weak RPM deps which all
this was largely made to work around.

So if anyone will miss any of these features, please state your case so
we can discuss. Otherwise they will be removed before the next release


More information about the virt-tools-list mailing list