File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change 2929logger = logging .getLogger (__name__ )
3030
3131
32+ def ensure_default_network ():
33+ try :
34+ conn = QEMUConfig .get_connection ()
35+ net = conn .networkLookupByName ("default" )
36+ if not net .isActive ():
37+ logger .info ("Starting libvirt 'default' network" )
38+ net .create ()
39+ except libvirt .libvirtError as e :
40+ logger .error ("Failed to ensure default network: %s" , e )
41+ raise HTTPException (
42+ status_code = status .HTTP_500_INTERNAL_SERVER_ERROR ,
43+ detail = f"Failed to activate default network: { e } " ,
44+ )
45+
46+
3247class Vm :
3348 @staticmethod
3449 def _resolve_image_name (os_value : str ) -> str :
@@ -195,6 +210,7 @@ def start(self):
195210 keyboard_layout = self .keyboard_layout ,
196211 vm_dir = vm_dir ,
197212 )
213+ ensure_default_network ()
198214 try :
199215 conn = QEMUConfig .get_connection ()
200216 vm = conn .lookupByName (str (self .id ))
You can’t perform that action at this time.
0 commit comments