[pve-devel] [PATCH qemu-server] vm_start: add syslog info with which PID a VM was started
Daniel Kral
d.kral at proxmox.com
Wed Oct 23 12:01:13 CEST 2024
On 10/22/24 13:13, Fiona Ebner wrote:
> Am 26.09.24 um 10:36 schrieb Daniel Kral:
>> Adds a syslog entry to log the process id that has been given to the
>> QEMU VM process at start. This is helpful debugging information if the
>> pid shows up at other places, like a kernel stack trace, while the VM
>> has been running, but cannot be retrieved anymore (e.g. the pidfile has
>> been deleted or only the syslog is available).
>>
>> The syslog has been put in the `PVE::QemuServer::vm_start_nolock`
>> subroutine to make sure that the PID is logged not only when the VM has
>> been started by the API endpoint `vm_start`, but also when the VM is
>> started by a remote migration.
>>
>> Signed-off-by: Daniel Kral <d.kral at proxmox.com>
>> Suggested-by: Hannes Dürr <h.duerr at proxmox.com>
>> Suggested-by: Friedrich Weber <f.weber at proxmox.com>
>
> Nit: the Signed-off-by trailer should come after the Suggested-by
> trailers, because it was the last thing that happened chronologically
> (the change was first suggested, then you wrote it ;)).
Thanks for the clarification, makes sense and will keep that in mind in
future cases for sure :).
>
> With the nits addressed:
>
> Reviewed-by: Fiona Ebner <f.ebner at proxmox.com>
>
>> ---
>> PVE/QemuServer.pm | 3 +++
>> 1 file changed, 3 insertions(+)
>>
>> diff --git a/PVE/QemuServer.pm b/PVE/QemuServer.pm
>> index b26da505..d998b360 100644
>> --- a/PVE/QemuServer.pm
>> +++ b/PVE/QemuServer.pm
>> @@ -43,6 +43,7 @@ use PVE::ProcFSTools;
>> use PVE::PBSClient;
>> use PVE::RESTEnvironment qw(log_warn);
>> use PVE::RPCEnvironment;
>> +use PVE::SafeSyslog;
>> use PVE::Storage;
>> use PVE::SysFSTools;
>> use PVE::Systemd;
>> @@ -5971,6 +5972,8 @@ sub vm_start_nolock {
>> eval { PVE::QemuServer::PCI::reserve_pci_usage($pci_reserve_list, $vmid, undef, $pid) };
>> warn $@ if $@;
>>
>> + syslog("info", "VM $vmid started with pid $pid.");
>
> Nit: I'd capitalize "PID"
>
>> +
>> if (defined(my $migrate = $res->{migrate})) {
>> if ($migrate->{proto} eq 'tcp') {
>> my $nodename = nodename();
Sent a v2 with both changes [0].
[0]
https://lore.proxmox.com/pve-devel/20241023095543.57202-1-d.kral@proxmox.com/
More information about the pve-devel
mailing list