[pve-devel] applied [qemu-server] vmstatus: define return propertries
Dietmar Maurer
dietmar at proxmox.com
Wed Aug 1 12:58:58 CEST 2018
We can use the same properties in vmlist and vmstatus.
Signed-off-by: Dietmar Maurer <dietmar at proxmox.com>
---
PVE/API2/Qemu.pm | 69 +++++++++++++++++--------------------------------------
PVE/QemuServer.pm | 49 ++++++++++++++++++++++++++++++++++++++-
2 files changed, 69 insertions(+), 49 deletions(-)
diff --git a/PVE/API2/Qemu.pm b/PVE/API2/Qemu.pm
index 614f239..b3f8134 100644
--- a/PVE/API2/Qemu.pm
+++ b/PVE/API2/Qemu.pm
@@ -365,52 +365,7 @@ __PACKAGE__->register_method({
type => 'array',
items => {
type => "object",
- properties => {
- vmid => get_standard_option('pve-vmid'),
- status => {
- description => "Qemu process status.",
- type => 'string',
- enum => ['stopped', 'running'],
- },
- maxmem => {
- description => "Maximum memory in bytes.",
- type => 'integer',
- optional => 1,
- renderer => 'bytes',
- },
- maxdisk => {
- description => "Root disk size in bytes.",
- type => 'integer',
- optional => 1,
- renderer => 'bytes',
- },
- name => {
- description => "VM name.",
- type => 'string',
- optional => 1,
- },
- qmpstatus => {
- description => "Qemu QMP agent status.",
- type => 'string',
- optional => 1,
- },
- pid => {
- description => "PID of running qemu process.",
- type => 'integer',
- optional => 1,
- },
- uptime => {
- description => "Uptime.",
- type => 'integer',
- optional => 1,
- renderer => 'duration',
- },
- cpus => {
- description => "Maximum usable CPUs.",
- type => 'number',
- optional => 1,
- },
- },
+ properties => $PVE::QemuServer::vmstatus_return_properties,
},
links => [ { rel => 'child', href => "{vmid}" } ],
},
@@ -427,7 +382,6 @@ __PACKAGE__->register_method({
next if !$rpcenv->check($authuser, "/vms/$vmid", [ 'VM.Audit' ], 1);
my $data = $vmstatus->{$vmid};
- $data->{vmid} = int($vmid);
push @$res, $data;
}
@@ -1908,7 +1862,26 @@ __PACKAGE__->register_method({
vmid => get_standard_option('pve-vmid'),
},
},
- returns => { type => 'object' },
+ returns => {
+ type => 'object',
+ properties => {
+ %$PVE::QemuServer::vmstatus_return_properties,
+ ha => {
+ description => "HA manager service status.",
+ type => 'object',
+ },
+ spice => {
+ description => "Qemu VGA configuration supports spice.",
+ type => 'boolean',
+ optional => 1,
+ },
+ agent => {
+ description => "Qemu GuestAgent enabled in config.",
+ type => 'boolean',
+ optional => 1,
+ },
+ },
+ },
code => sub {
my ($param) = @_;
diff --git a/PVE/QemuServer.pm b/PVE/QemuServer.pm
index a4ab11e..ba09fc3 100644
--- a/PVE/QemuServer.pm
+++ b/PVE/QemuServer.pm
@@ -2764,6 +2764,53 @@ sub disksize {
return $drive->{size};
}
+our $vmstatus_return_properties = {
+ vmid => get_standard_option('pve-vmid'),
+ status => {
+ description => "Qemu process status.",
+ type => 'string',
+ enum => ['stopped', 'running'],
+ },
+ maxmem => {
+ description => "Maximum memory in bytes.",
+ type => 'integer',
+ optional => 1,
+ renderer => 'bytes',
+ },
+ maxdisk => {
+ description => "Root disk size in bytes.",
+ type => 'integer',
+ optional => 1,
+ renderer => 'bytes',
+ },
+ name => {
+ description => "VM name.",
+ type => 'string',
+ optional => 1,
+ },
+ qmpstatus => {
+ description => "Qemu QMP agent status.",
+ type => 'string',
+ optional => 1,
+ },
+ pid => {
+ description => "PID of running qemu process.",
+ type => 'integer',
+ optional => 1,
+ },
+ uptime => {
+ description => "Uptime.",
+ type => 'integer',
+ optional => 1,
+ renderer => 'duration',
+ },
+ cpus => {
+ description => "Maximum usable CPUs.",
+ type => 'number',
+ optional => 1,
+ },
+};
+
my $last_proc_pid_stat;
# get VM status information
@@ -2789,7 +2836,7 @@ sub vmstatus {
my $cfspath = PVE::QemuConfig->cfs_config_path($vmid);
my $conf = PVE::Cluster::cfs_read_file($cfspath) || {};
- my $d = {};
+ my $d = { vmid => $vmid };
$d->{pid} = $list->{$vmid}->{pid};
# fixme: better status?
--
2.11.0
More information about the pve-devel
mailing list