
On Mon, Apr 19, 2021 at 05:42:01PM +0200, Andrea Bolognani wrote:
On Mon, 2021-04-19 at 11:45 +0200, Michal Privoznik wrote:
On 4/15/21 2:52 PM, Andrea Bolognani wrote:
the latter is also very small and, just like virsh, is something that you likely want to have available on any virtualization host to help with management and debugging tasks.
Exactly! Host, not client. Not every virt client is virt host too. Also, what's stopping management from installing libvirt-admin among with other RPMs? It's tiny, as you say. But I think I've expressed my concern enough.
Okay, let's not have virt-admin as part of -client then. Can we at least have it in -daemon as opposed to its own package? And while we're at it, we can move there also the other commands we agreed are probably not a good fit for -client.
virt-xml-validate just performs validation on the input XML, so having it in -client seems reasonable; on slighly closer inspection, virt-pki-validate can validate not only the server-side PKI situation but also the client-side one, so again -client is probably the most sensible home for it.
Yep, the RNGs are shipped with the library, so server can use tem already.
virt-host-validate is intended for the hypervisor host, so we can move it to -daemon; libvirt-guests should go there too, because it should live where the daemon does.
virt-host-validate clearly is daemon only. libvirt-guests is a little odd because in theory it doesn't depend on the daemon - it can work with stateless drivers. IIRC thats why it is in the clients package. I'm sceptical that anyone will ever even think about using the libvirt-guests script to automate startup/shutdown of VMware/Hyperv/Etc guests though.
What about the systemtap probes? Do they belong in -client, or maybe they should go into -libs? I'm not familiar with their use.
Probes can be compiled into pretty much any binary artifact - daemon, virsh, libvirt.so, driver modules. -libs is the common place to all of those.
On Mon, 2021-04-19 at 11:45 +0200, Michal Privoznik wrote:
On 4/15/21 2:52 PM, Andrea Bolognani wrote:
The former is ridiculously tiny and doesn't have any use on its own, so it hardly warrants the overhead of an additional package;
The idea was, that if you'd install virt-admin only, you would have bash completion too, hence a separate package.
On Mon, 2021-04-19 at 10:57 +0100, Daniel P. Berrangé wrote:
Per discussion on the previous version though, we better to have installed any time the daemon is installed and so if we do that it means we also want the bash completion separate from the client.
I would really like to get rid of the -bash-completion package.
$ rpm -ql libvirt-bash-completion /usr/share/bash-completion/completions/vsh $ du -sh /usr/share/bash-completion/completions/vsh 4.0K /usr/share/bash-completion/completions/vsh $ du -sh .../libvirt-bash-completion-7.2.0-1.fc32.x86_64.rpm 8.0K .../libvirt-bash-completion-7.2.0-1.fc32.x86_64.rpm
The completion file itself uses as much disk space as the RPM metadata for it. With that in mind, can we just install the file twice instead of having a single file with two additional symlinks pointing to it?
We could also turn it into a .in file so that instead of
# # virsh & virt-admin completion command #
_vsh_complete() { # ... } && complete -o default -o filenames -F _vsh_complete virsh && complete -o default -o filenames -F _vsh_complete virt-admin
the installed file for each command looks like
# # @cmd@ completion command #
_vsh_complete() { # ... } && complete -o default -o filenames -F _vsh_complete @cmd@
Basically, if we can't avoid the overhead of duplication altogether, I'd rather pay it on the filesystem than in the RPM database, where it's felt over and over again when dowloading repodata and when performing package management.
I think this worrying about micro-optimizing a problem that doesn't really have any real world impact. 8k is lost in the noise of an RPM transaction. Regards, Daniel -- |: https://berrange.com -o- https://www.flickr.com/photos/dberrange :| |: https://libvirt.org -o- https://fstop138.berrange.com :| |: https://entangle-photo.org -o- https://www.instagram.com/dberrange :|