fix: wait for Proxmox resize task before VM start (v1.2.0)
- configure_vm: capture resize UPID and call wait_for_task(120s) before returning; prevents lock conflict when VM is started right after disk resize - resize_vm_disk / resize_container_disk (x2): same fix applied - remove unnecessary restart_vm() after manual QEMU disk resize — resize is a storage-layer operation and does not require a reboot; the auto-restart was causing a second lock conflict Fixes: can't lock file '/var/lock/qemu-server/lock-xxx.conf' - got timeout Fixes: command '/usr/bin/qemu-img resize' failed: got timeout
This commit is contained in:
@@ -972,6 +972,19 @@ class MonitoringWorker:
|
||||
finally:
|
||||
db.close()
|
||||
|
||||
def cleanup_server_state(self, server_id: int):
|
||||
"""Remove all in-memory state for a deleted server to prevent stale data"""
|
||||
self.last_server_states.pop(server_id, None)
|
||||
self.last_server_alerts.pop(server_id, None)
|
||||
# Remove all VM state entries belonging to this server
|
||||
stale_keys = [k for k in self.last_vm_states if k.startswith(f"{server_id}:")]
|
||||
for key in stale_keys:
|
||||
del self.last_vm_states[key]
|
||||
stale_alert_keys = [k for k in self.last_resource_alerts if k.startswith(f"{server_id}:")]
|
||||
for key in stale_alert_keys:
|
||||
del self.last_resource_alerts[key]
|
||||
logger.info(f"[MONITORING] Cleared in-memory state for deleted server {server_id}")
|
||||
|
||||
|
||||
# Global worker instance
|
||||
monitoring_worker = MonitoringWorker()
|
||||
|
||||
Reference in New Issue
Block a user