From 1eb1bf905348ffb3fca1ae9835640289511dd57f Mon Sep 17 00:00:00 2001 From: illustris Date: Wed, 5 Jun 2024 14:02:46 +0530 Subject: [PATCH] fix crash when node has incoming VM migration --- src/pvemon/__init__.py | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/pvemon/__init__.py b/src/pvemon/__init__.py index 5ddee0f..803dfe1 100644 --- a/src/pvemon/__init__.py +++ b/src/pvemon/__init__.py @@ -147,11 +147,17 @@ def collect_kvm_metrics(): for proc in psutil.process_iter(['pid', 'name', 'exe', 'cmdline', 'cpu_percent', 'memory_percent', 'num_threads']): try: if proc.info['exe'] == '/usr/bin/qemu-system-x86_64': + vmid = flag_to_label_value(proc.info['cmdline'], "-id") + # Check if VM definition exists. If it is missing, qm commands will fail. + # VM configs are typically missing when a VM is migrating in. + # The config file is moved after the drives and memory are synced. + if not os.path.exists(f'/etc/pve/qemu-server/{vmid}.conf'): + continue procs.append( ( proc, proc.info['cmdline'], - flag_to_label_value(proc.info['cmdline'], "-id") + vmid ) ) except (psutil.NoSuchProcess, psutil.AccessDenied, psutil.ZombieProcess):