[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