Skip to content

Commit 54dd773

Browse files
committed
WIP split _create_vm out of create_vms fixture
Will help implementing vm import as alternative to creation
1 parent cfa9905 commit 54dd773

File tree

1 file changed

+31
-29
lines changed

1 file changed

+31
-29
lines changed

conftest.py

Lines changed: 31 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -503,35 +503,7 @@ def create_vms(request, host):
503503
vdis = []
504504
vbds = []
505505
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)
535507
yield vms
536508

537509
except Exception:
@@ -549,6 +521,36 @@ def create_vms(request, host):
549521
logging.info("<< Destroy VM %s", vm.uuid)
550522
vm.destroy(verify=True)
551523

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+
552554
@pytest.fixture(scope="module")
553555
def running_vm(imported_vm):
554556
vm = imported_vm

0 commit comments

Comments
 (0)