From ce29ce95677d6b8c6aaf5703950503992d40a523 Mon Sep 17 00:00:00 2001 From: Laurent Gonzalez Date: Mon, 6 Apr 2026 16:13:02 +0200 Subject: [PATCH] fix(backend): ensure default network is started --- backend/app/services/vm_service.py | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/backend/app/services/vm_service.py b/backend/app/services/vm_service.py index 0a9712a..1db3a62 100644 --- a/backend/app/services/vm_service.py +++ b/backend/app/services/vm_service.py @@ -29,6 +29,21 @@ logger = logging.getLogger(__name__) +def ensure_default_network(): + try: + conn = QEMUConfig.get_connection() + net = conn.networkLookupByName("default") + if not net.isActive(): + logger.info("Starting libvirt 'default' network") + net.create() + except libvirt.libvirtError as e: + logger.error("Failed to ensure default network: %s", e) + raise HTTPException( + status_code=status.HTTP_500_INTERNAL_SERVER_ERROR, + detail=f"Failed to activate default network: {e}", + ) + + class Vm: @staticmethod def _resolve_image_name(os_value: str) -> str: @@ -195,6 +210,7 @@ def start(self): keyboard_layout=self.keyboard_layout, vm_dir=vm_dir, ) + ensure_default_network() try: conn = QEMUConfig.get_connection() vm = conn.lookupByName(str(self.id))