From 6f32c3fa7a05a8207aca639951379d266a37b952 Mon Sep 17 00:00:00 2001 From: Daniel Kral Date: Wed, 23 Oct 2024 11:55:43 +0200 Subject: [PATCH] vm_start: add syslog info with which PID a VM was started MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 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. Suggested-by: Hannes Dürr Suggested-by: Friedrich Weber Signed-off-by: Daniel Kral Reviewed-by: Daniel Herzig --- PVE/QemuServer.pm | 3 +++ 1 file changed, 3 insertions(+) diff --git a/PVE/QemuServer.pm b/PVE/QemuServer.pm index 0df3bda0..7fbbc54a 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; @@ -6005,6 +6006,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."); + if (defined(my $migrate = $res->{migrate})) { if ($migrate->{proto} eq 'tcp') { my $nodename = nodename();