mirror of https://git.48k.eu/ogclient
Send last stored setup if VM is running
When virtual mode is activated, send the last stored partitions setup because it is not possible to access a running virtual drive to get its information.more_events
parent
deb2e075cd
commit
298e156317
|
@ -142,8 +142,28 @@ class OgVirtualOperations:
|
||||||
f'-display gtk -cpu host -m {vm_ram_mib}M -boot c -full-screen')
|
f'-display gtk -cpu host -m {vm_ram_mib}M -boot c -full-screen')
|
||||||
subprocess.Popen([cmd], shell=True)
|
subprocess.Popen([cmd], shell=True)
|
||||||
|
|
||||||
|
def partitions_cfg_to_json(self, data):
|
||||||
|
for part in data['partition_setup']:
|
||||||
|
part.pop('virt-drive')
|
||||||
|
for k, v in part.items():
|
||||||
|
part[k] = str(v)
|
||||||
|
data['disk_setup'] = {k: str(v) for k, v in data['disk_setup'].items()}
|
||||||
|
return data
|
||||||
|
|
||||||
def refresh(self, ogRest):
|
def refresh(self, ogRest):
|
||||||
path = f'{self.OG_PATH}/partitions.json'
|
path = f'{self.OG_PATH}/partitions.json'
|
||||||
|
|
||||||
|
try:
|
||||||
|
# Return last partitions setup in case VM is running.
|
||||||
|
qmp = OgQMP(self.IP, self.VIRTUAL_PORT)
|
||||||
|
qmp.disconnect()
|
||||||
|
with open(path, 'r') as f:
|
||||||
|
data = json.loads(f.read())
|
||||||
|
data = self.partitions_cfg_to_json(data)
|
||||||
|
return data
|
||||||
|
except:
|
||||||
|
pass
|
||||||
|
|
||||||
try:
|
try:
|
||||||
with open(path, 'r+') as f:
|
with open(path, 'r+') as f:
|
||||||
data = json.loads(f.read())
|
data = json.loads(f.read())
|
||||||
|
@ -207,12 +227,7 @@ class OgVirtualOperations:
|
||||||
with open(path, 'w+') as f:
|
with open(path, 'w+') as f:
|
||||||
f.write(json.dumps(data, indent=4))
|
f.write(json.dumps(data, indent=4))
|
||||||
|
|
||||||
# TODO no debería ser necesario eliminar virt-drive ni transformar a strings
|
data = self.partitions_cfg_to_json(data)
|
||||||
for part in data['partition_setup']:
|
|
||||||
part.pop('virt-drive')
|
|
||||||
for k, v in part.items():
|
|
||||||
part[k] = str(v)
|
|
||||||
data['disk_setup'] = {k: str(v) for k, v in data['disk_setup'].items()}
|
|
||||||
|
|
||||||
return data
|
return data
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue