and reuse vm_qmp_command qmp_socket with $qga param
Signed-off-by: Alexandre Derumier aderum...@odiso.com
---
PVE/QemuServer.pm | 20 ++--
1 file changed, 14 insertions(+), 6 deletions(-)
diff --git a/PVE/QemuServer.pm b/PVE/QemuServer.pm
index eba9aed..8c4a1a1 100644
--- a/PVE/QemuServer.pm
+++ b/PVE/QemuServer.pm
@@ -2470,8 +2470,9 @@ sub vnc_socket {
}
sub qmp_socket {
-my ($vmid) = @_;
-return ${var_run_tmpdir}/$vmid.qmp;
+my ($vmid, $qga) = @_;
+my $sockettype = $qga ? 'qga' : 'qmp';
+return ${var_run_tmpdir}/$vmid.$sockettype;
}
sub qga_socket {
@@ -3002,6 +3003,13 @@ sub vm_start {
});
}
+sub vm_qga_cmd {
+my ($vmid, $execute, %params) = @_;
+
+my $cmd = { execute = $execute, arguments = \%params };
+vm_qmp_command($vmid, $cmd, undef, 1);
+}
+
sub vm_mon_cmd {
my ($vmid, $execute, %params) = @_;
@@ -3017,7 +3025,7 @@ sub vm_mon_cmd_nocheck {
}
sub vm_qmp_command {
-my ($vmid, $cmd, $nocheck) = @_;
+my ($vmid, $cmd, $nocheck, $qga) = @_;
my $res;
@@ -3029,12 +3037,12 @@ sub vm_qmp_command {
eval {
die VM $vmid not running\n if !check_running($vmid, $nocheck);
- my $sname = qmp_socket($vmid);
+ my $sname = qmp_socket($vmid, $qga);
if (-e $sname) {
- my $qmpclient = PVE::QMPClient-new();
+ my $qmpclient = PVE::QMPClient-new(undef, $qga);
$res = $qmpclient-cmd($vmid, $cmd, $timeout);
- } elsif (-e ${var_run_tmpdir}/$vmid.mon) {
+ } elsif (-e ${var_run_tmpdir}/$vmid.mon !$qga) {
die can't execute complex command on old monitor - stop/start your
vm to fix the problem\n
if scalar(%{$cmd-{arguments}});
vm_monitor_command($vmid, $cmd-{execute}, $nocheck);
--
1.7.10.4
___
pve-devel mailing list
pve-devel@pve.proxmox.com
http://pve.proxmox.com/cgi-bin/mailman/listinfo/pve-devel