On Thu, Apr 04, 2019 at 09:49:16 +0100, Daniel Berrange wrote:
On Thu, Apr 04, 2019 at 10:01:27AM +0200, Bjoern Walk wrote:
> This patch series introduces the ability to save additional information
> for the domain state and exposes this information in virsh domstate.
>
> For example in the case of QEMU guest panic events, we can provide additional
> information like the crash reason or register state of the domain. This
> information usually gets logged in the domain log but for debugging it is
> useful to have it accessible from the client. Therefore, let's introduce a new
> public API function, virDomainGetStateParams, an extensible version of
> virDomainGetState, which returns the complete state of the domain, including
> newly introduced additional information.
>
> Let's also extend virsh domstate and introduce a new parameter --info to show
> the domain state, reason and additional information when available.
>
> virsh # domstate --info guest-1
> crashed (panicked)
> s390.core = 0
> s390.psw-mask = 0x0002000180000000
> s390.psw-addr = 0x000000000010f146
> s390.reason = disabled-wait
This info is all just guest panick related data, so I'm not covinced we
should overload "domstate" for this random set of low level hardware
parameters.
I'm not even sure whether it's worth having an API to query it at all.
We don't really have means to store the data reliably across libvirtd
restarts as there is no status XML for inactive VMs. This means that the
data will get lost. It also will become instantly invalidated when
starting the VM.
Currently we log the data into the domain log file which in my opinion
feels good enough for this kind of low level information which is not of
much use for non-devs.
Additionally the advantage of logging is that bug reporting tools
usually capture the VM log files.