in fixtures.go [130:173]
func (t *TestWorkflow) CreateTestVM(name string) (*TestVM, error) {
parts := strings.Split(name, ".")
vmname := strings.ReplaceAll(parts[0], "_", "-")
bootDisk := &compute.Disk{Name: vmname}
createDisksStep, err := t.appendCreateDisksStep(bootDisk)
if err != nil {
return nil, err
}
daisyInst := &daisy.Instance{}
// createDisksStep doesn't depend on any other steps.
createVMStep, i, err := t.appendCreateVMStep([]*compute.Disk{bootDisk}, daisyInst)
if err != nil {
return nil, err
}
if err := t.wf.AddDependency(createVMStep, createDisksStep); err != nil {
return nil, err
}
waitStep, err := t.addWaitStep(vmname, vmname)
if err != nil {
return nil, err
}
if err := t.wf.AddDependency(waitStep, createVMStep); err != nil {
return nil, err
}
if createSubnetworkStep, ok := t.wf.Steps[createSubnetworkStepName]; ok {
if err := t.wf.AddDependency(createVMStep, createSubnetworkStep); err != nil {
return nil, err
}
}
if createNetworkStep, ok := t.wf.Steps[createNetworkStepName]; ok {
if err := t.wf.AddDependency(createVMStep, createNetworkStep); err != nil {
return nil, err
}
}
return &TestVM{name: vmname, testWorkflow: t, instance: i}, nil
}