@@ -387,35 +387,7 @@ def create_vms(request, host):
387
387
vdis = []
388
388
vbds = []
389
389
for marker in markers .args :
390
- vm_name = marker ["name" ]
391
- vm_template = marker ["template" ]
392
-
393
- logging .info (">> Install VM %r from template %r" , vm_name , vm_template )
394
-
395
- vm = host .vm_from_template (vm_name , vm_template )
396
-
397
- # VM is now created, make sure we clean it up on any subsequent failure
398
- vms .append (vm )
399
-
400
- if "vdis" in marker :
401
- for vdi_def in marker ["vdis" ]:
402
- sr = SR (host .main_sr_uuid (), host .pool )
403
- vdi = sr .create_vdi (vdi_def ["name" ], vdi_def ["size" ])
404
- vdis .append (vdi )
405
- # connect to VM
406
- vbd = vm .create_vbd (vdi_def ["device" ], vdi .uuid )
407
- vbds .append (vbd )
408
- vbd .param_set (param_name = "userdevice" , value = vdi_def ["userdevice" ])
409
-
410
- if "vifs" in marker :
411
- for vif_def in marker ["vifs" ]:
412
- vm .create_vif (vif_def ["index" ], vif_def ["network_uuid" ])
413
-
414
- if "params" in marker :
415
- for param_def in marker ["params" ]:
416
- logging .info ("Setting param %s" , param_def )
417
- vm .param_set (** param_def )
418
-
390
+ _create_vm (marker , host , vms , vdis , vbds )
419
391
yield vms
420
392
421
393
except Exception :
@@ -433,6 +405,36 @@ def create_vms(request, host):
433
405
logging .info ("<< Destroy VM %s" , vm .uuid )
434
406
vm .destroy (verify = True )
435
407
408
+ def _create_vm (marker , host , vms , vdis , vbds ):
409
+ vm_name = marker ["name" ]
410
+ vm_template = marker ["template" ]
411
+
412
+ logging .info (">> Install VM %r from template %r" , vm_name , vm_template )
413
+
414
+ vm = host .vm_from_template (vm_name , vm_template )
415
+
416
+ # VM is now created, make sure we clean it up on any subsequent failure
417
+ vms .append (vm )
418
+
419
+ if "vdis" in marker :
420
+ for vdi_def in marker ["vdis" ]:
421
+ sr = SR (host .main_sr_uuid (), host .pool )
422
+ vdi = sr .create_vdi (vdi_def ["name" ], vdi_def ["size" ])
423
+ vdis .append (vdi )
424
+ # connect to VM
425
+ vbd = vm .create_vbd (vdi_def ["device" ], vdi .uuid )
426
+ vbds .append (vbd )
427
+ vbd .param_set (param_name = "userdevice" , value = vdi_def ["userdevice" ])
428
+
429
+ if "vifs" in marker :
430
+ for vif_def in marker ["vifs" ]:
431
+ vm .create_vif (vif_def ["index" ], vif_def ["network_uuid" ])
432
+
433
+ if "params" in marker :
434
+ for param_def in marker ["params" ]:
435
+ logging .info ("Setting param %s" , param_def )
436
+ vm .param_set (** param_def )
437
+
436
438
@pytest .fixture (scope = "module" )
437
439
def running_vm (imported_vm ):
438
440
vm = imported_vm
0 commit comments