Add the name of the failed command to the error message, similar as the error messages when running a single command. ---
Reason: I had a situation with a customer where we got an error but could not connect it to which command actually caused it. A similar but way hackier patch proved helpful to get more information. It was `qmp_capabilities` which caused a timeout. AFAIU single commands already log the actual command in the error (see line 140). Open questions: * How to force an error that will cause this code to be executed? Right now I have no idea how to test this. * Should the format of the error message be exactly the same as for a single command? Maybe a slightly different wording will help to distinguish between the two? PVE/QMPClient.pm | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/PVE/QMPClient.pm b/PVE/QMPClient.pm index 6be4a41..56d7629 100755 --- a/PVE/QMPClient.pm +++ b/PVE/QMPClient.pm @@ -250,6 +250,7 @@ my $check_queue = sub { eval { my $cmd = $queue_info->{current} = shift @{$queue_info->{cmds}}; + $queue_info->{last_cmd} = $cmd; $cmd->{id} = &$next_cmdid($qga); my $fd = -1; @@ -341,7 +342,7 @@ sub queue_execute { if ($noerr) { warn $queue_info->{error} if $noerr < 2; } else { - $errors .= $queue_info->{error} + $errors .= "VM $queue_info->{vmid} qmp command '$queue_info->{last_cmd}['execute']' failed - $queue_info->{error}"; } } } -- 2.20.1 _______________________________________________ pve-devel mailing list pve-devel@pve.proxmox.com https://pve.proxmox.com/cgi-bin/mailman/listinfo/pve-devel