mirror of
https://github.com/ComputerScienceHouse/proxstar.git
synced 2025-02-12 13:01:51 +00:00
commit
34d2869c53
2 changed files with 12 additions and 4 deletions
|
@ -1,3 +1,5 @@
|
||||||
|
from math import ceil
|
||||||
|
|
||||||
from proxmoxer.core import ResourceException
|
from proxmoxer.core import ResourceException
|
||||||
from rq.registry import StartedJobRegistry
|
from rq.registry import StartedJobRegistry
|
||||||
|
|
||||||
|
@ -88,7 +90,7 @@ class User:
|
||||||
usage['cpu'] += int(vm.cpu)
|
usage['cpu'] += int(vm.cpu)
|
||||||
usage['mem'] += int(vm.mem) / 1024
|
usage['mem'] += int(vm.mem) / 1024
|
||||||
for disk in vm.disks:
|
for disk in vm.disks:
|
||||||
usage['disk'] += int(disk[1])
|
usage['disk'] += int(ceil(disk[1]))
|
||||||
return usage
|
return usage
|
||||||
|
|
||||||
@lazy_property
|
@lazy_property
|
||||||
|
|
|
@ -11,6 +11,12 @@ from proxstar.starrs import get_ip_for_mac
|
||||||
from proxstar.util import lazy_property, default_repr
|
from proxstar.util import lazy_property, default_repr
|
||||||
|
|
||||||
|
|
||||||
|
def check_in_gb(size):
|
||||||
|
if size[-1] == 'M':
|
||||||
|
size = f'{int(size.rstrip("M")) / 1000}G'
|
||||||
|
return size
|
||||||
|
|
||||||
|
|
||||||
@default_repr
|
@default_repr
|
||||||
class VM:
|
class VM:
|
||||||
def __init__(self, vmid):
|
def __init__(self, vmid):
|
||||||
|
@ -261,7 +267,8 @@ class VM:
|
||||||
disk_size = val.split(',')
|
disk_size = val.split(',')
|
||||||
for split in disk_size:
|
for split in disk_size:
|
||||||
if 'size' in split:
|
if 'size' in split:
|
||||||
disk_size = split.split('=')[1].rstrip('G')
|
size = check_in_gb(split.split('=')[1])
|
||||||
|
disk_size = size.rstrip('G')
|
||||||
disks.append([key, disk_size])
|
disks.append([key, disk_size])
|
||||||
disks = sorted(disks, key=lambda x: x[0])
|
disks = sorted(disks, key=lambda x: x[0])
|
||||||
return disks
|
return disks
|
||||||
|
@ -280,11 +287,10 @@ class VM:
|
||||||
@lazy_property
|
@lazy_property
|
||||||
def isos(self):
|
def isos(self):
|
||||||
isos = []
|
isos = []
|
||||||
for iso in filter(lambda interface: 'ide' in interface, self.config.keys()):
|
for iso in filter(lambda interface: interface in self.cdroms, self.config.keys()):
|
||||||
iso_info = self.config[iso]
|
iso_info = self.config[iso]
|
||||||
if iso_info:
|
if iso_info:
|
||||||
if 'cloudinit' in iso_info:
|
if 'cloudinit' in iso_info:
|
||||||
isos.append((iso, 'Clountinit Drive'))
|
|
||||||
continue
|
continue
|
||||||
if iso_info.split(',')[0] == 'none':
|
if iso_info.split(',')[0] == 'none':
|
||||||
isos.append((iso, 'None'))
|
isos.append((iso, 'None'))
|
||||||
|
|
Loading…
Reference in a new issue