[PATCH v2] qemu: add append mode config for serial file
Daniel P. Berrangé
berrange at redhat.com
Tue Jan 10 10:35:16 UTC 2023
On Tue, Jan 10, 2023 at 04:20:59PM +0600, Oleg Vasilev wrote:
>
>
> On 10.01.2023 15:09, Martin Kletzander wrote:
> > On Tue, Jan 10, 2023 at 09:03:40AM +0000, Daniel P. Berrangé wrote:
> > > On Tue, Jan 10, 2023 at 02:42:34PM +0600, Oleg Vasilev wrote:
> > > > Serial log file contains lots of useful information for debugging
> > > > configuration problems. It makes sense to preserve the log in between
> > > > restarts, so that one can later figure out what was going on. Before
> > > > that, we could do that on a per-domain basis, now we can configure it
> > > > once for all domains.
> > >
> > > IMHO this is the job of the mgmt app that is using libvirt.
> > >
> > > We've got a few places in qemu.conf that interact with the
> > > guest config, but I largely consider them to be historical
> > > mistakes that shouldn't be added to.
> > >
> > > Adding this setting specifically for serial devs is opening
> > > up a can of worms IMHO. eg what if you have multiple serial
> > > ports and only want one of them in append mode. There are
> > > many other devices with chardev backends which log to files,
> > > but this setting only touches serial ports.
>
> What would be other cases with chardev file backends worth considering?
I don't want to consider adding even more cases to the qemu.conf.
> > > Ultimately append/truncate is a policy decision for the
> > > mgmt app to make, not a libvirt host level tunable.
> > >
> >
> > I agree with that since it allows for more configurability and it is
> > concentrated in one place, the mgmt app. Defaulting to a value is
> > something that should not be difficult to implement in any controlling
> > application that uses libvirt, so I don't really see the benefit for
> > other mgmt apps either.
>
> The issue here is that we have a 5 different management apps, and we would
> have to introduce this change to all of them. These are in different
> technology stacks, different languages, so it would be more complex to
> duplicate the implementation of this feature.
If you have 5 different mgmt apps then I feel a simple boolean
flag for the <serial> console configuration when provisioning
a guest should be negligible in the big picture. I don't think
the answer is to push policy logic from the apps into
libvirt via qemu.conf.
> Another use case for this, similar to the one I had during my previous
> experience in Huawei. I was given multiple libvirt's XMLs to debug issues
> with boot. No management app was involved, except initial creation through
> virt-install by third party. It would be beneficial to automatically retain
> serial logs to ease the debugging process.
If debugging a VM without a mgmt app being involved, it is trivial
to use 'virsh edit' add the flag to the XML.
With 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 :|
More information about the libvir-list
mailing list