@@ -503,35 +503,7 @@ def create_vms(request, host):
503
503
vdis = []
504
504
vbds = []
505
505
for marker in markers .args :
506
- vm_name = marker ["name" ]
507
- vm_template = marker ["template" ]
508
-
509
- logging .info (">> Install VM %r from template %r" , vm_name , vm_template )
510
-
511
- vm = host .vm_from_template (vm_name , vm_template )
512
-
513
- # VM is now created, make sure we clean it up on any subsequent failure
514
- vms .append (vm )
515
-
516
- if "vdis" in marker :
517
- for vdi_def in marker ["vdis" ]:
518
- sr = SR (host .main_sr_uuid (), host .pool )
519
- vdi = sr .create_vdi (vdi_def ["name" ], vdi_def ["size" ])
520
- vdis .append (vdi )
521
- # connect to VM
522
- vbd = vm .create_vbd (vdi_def ["device" ], vdi .uuid )
523
- vbds .append (vbd )
524
- vbd .param_set (param_name = "userdevice" , value = vdi_def ["userdevice" ])
525
-
526
- if "vifs" in marker :
527
- for vif_def in marker ["vifs" ]:
528
- vm .create_vif (vif_def ["index" ], vif_def ["network_uuid" ])
529
-
530
- if "params" in marker :
531
- for param_def in marker ["params" ]:
532
- logging .info ("Setting param %s" , param_def )
533
- vm .param_set (** param_def )
534
-
506
+ _create_vm (marker , host , vms , vdis , vbds )
535
507
yield vms
536
508
537
509
except Exception :
@@ -549,6 +521,36 @@ def create_vms(request, host):
549
521
logging .info ("<< Destroy VM %s" , vm .uuid )
550
522
vm .destroy (verify = True )
551
523
524
+ def _create_vm (marker , host , vms , vdis , vbds ):
525
+ vm_name = marker ["name" ]
526
+ vm_template = marker ["template" ]
527
+
528
+ logging .info (">> Install VM %r from template %r" , vm_name , vm_template )
529
+
530
+ vm = host .vm_from_template (vm_name , vm_template )
531
+
532
+ # VM is now created, make sure we clean it up on any subsequent failure
533
+ vms .append (vm )
534
+
535
+ if "vdis" in marker :
536
+ for vdi_def in marker ["vdis" ]:
537
+ sr = SR (host .main_sr_uuid (), host .pool )
538
+ vdi = sr .create_vdi (vdi_def ["name" ], vdi_def ["size" ])
539
+ vdis .append (vdi )
540
+ # connect to VM
541
+ vbd = vm .create_vbd (vdi_def ["device" ], vdi .uuid )
542
+ vbds .append (vbd )
543
+ vbd .param_set (param_name = "userdevice" , value = vdi_def ["userdevice" ])
544
+
545
+ if "vifs" in marker :
546
+ for vif_def in marker ["vifs" ]:
547
+ vm .create_vif (vif_def ["index" ], vif_def ["network_uuid" ])
548
+
549
+ if "params" in marker :
550
+ for param_def in marker ["params" ]:
551
+ logging .info ("Setting param %s" , param_def )
552
+ vm .param_set (** param_def )
553
+
552
554
@pytest .fixture (scope = "module" )
553
555
def running_vm (imported_vm ):
554
556
vm = imported_vm
0 commit comments