mirror of
				https://git.proxmox.com/git/qemu-server
				synced 2025-10-31 12:55:51 +00:00 
			
		
		
		
	vmstatus: define return propertries
We can use the same properties in vmlist and vmstatus. Signed-off-by: Dietmar Maurer <dietmar@proxmox.com>
This commit is contained in:
		
							parent
							
								
									03f879fd85
								
							
						
					
					
						commit
						b1a70cab3d
					
				| @ -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) = @_; | ||||
| 
 | ||||
|  | ||||
| @ -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? | ||||
|  | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user
	 Dietmar Maurer
						Dietmar Maurer