Skip to content

Commit 2f0e18d

Browse files
author
Ricardo Katz
committed
Fix linter and test concurrency
1 parent 1c37856 commit 2f0e18d

File tree

2 files changed

+191
-192
lines changed

2 files changed

+191
-192
lines changed

pkg/services/govmomi/create_test.go

Lines changed: 191 additions & 191 deletions
Original file line numberDiff line numberDiff line change
@@ -31,197 +31,197 @@ import (
3131
)
3232

3333
func TestCreate(t *testing.T) {
34-
model := simulator.VPX()
35-
model.Host = 0 // ClusterHost only
36-
37-
simr, err := vcsim.NewBuilder().WithModel(model).Build()
38-
if err != nil {
39-
t.Fatalf("unable to create simulator: %s", err)
40-
}
41-
defer simr.Destroy()
42-
4334
ctx := context.Background()
44-
vmContext := fake.NewVMContext(ctx, fake.NewControllerManagerContext())
45-
vmContext.VSphereVM.Spec.Server = simr.ServerURL().Host
46-
47-
authSession, err := session.GetOrCreate(
48-
ctx,
49-
session.NewParams().
50-
WithServer(vmContext.VSphereVM.Spec.Server).
51-
WithUserInfo(simr.Username(), simr.Password()).
52-
WithDatacenter("*"))
53-
if err != nil {
54-
t.Fatal(err)
55-
}
56-
vmContext.Session = authSession
57-
58-
vmRef := simulator.Map.Any("VirtualMachine")
59-
vm, ok := vmRef.(*simulator.VirtualMachine)
60-
if !ok {
61-
t.Fatal("failed to get reference to an existing VM on the vcsim instance")
62-
}
63-
vmContext.VSphereVM.Spec.Template = vm.Name
64-
65-
disk := object.VirtualDeviceList(vm.Config.Hardware.Device).SelectByType((*types.VirtualDisk)(nil))[0].(*types.VirtualDisk)
66-
disk.CapacityInKB = int64(vmContext.VSphereVM.Spec.DiskGiB) * 1024 * 1024
67-
68-
if err := createVM(ctx, vmContext, []byte(""), ""); err != nil {
69-
t.Fatal(err)
70-
}
71-
72-
taskRef := types.ManagedObjectReference{
73-
Type: morefTypeTask,
74-
Value: vmContext.VSphereVM.Status.TaskRef,
75-
}
76-
vimClient, err := vim25.NewClient(ctx, vmContext.Session.RoundTripper)
77-
if err != nil {
78-
t.Fatal("could not make vim25 client.")
79-
}
80-
task := object.NewTask(vimClient, taskRef)
81-
err = task.Wait(ctx)
82-
if err != nil {
83-
t.Fatal("error waiting for task:", err)
84-
}
85-
86-
if model.Machine+1 != model.Count().Machine {
87-
t.Error("failed to clone vm")
88-
}
89-
}
9035

91-
func TestCreateWithMOID(t *testing.T) {
92-
model := simulator.VPX()
93-
model.Host = 0 // ClusterHost only
94-
95-
simr, err := vcsim.NewBuilder().WithModel(model).Build()
96-
if err != nil {
97-
t.Fatalf("unable to create simulator: %v", err)
98-
}
99-
defer simr.Destroy()
100-
101-
ctx := context.Background()
102-
vmContext := fake.NewVMContext(ctx, fake.NewControllerManagerContext())
103-
vmContext.VSphereVM.Spec.Server = simr.ServerURL().Host
104-
105-
authSession, err := session.GetOrCreate(
106-
ctx,
107-
session.NewParams().
108-
WithServer(vmContext.VSphereVM.Spec.Server).
109-
WithUserInfo(simr.Username(), simr.Password()).
110-
WithDatacenter(simulator.Map.Any("Datacenter").Reference().String()))
111-
if err != nil {
112-
t.Fatal(err)
113-
}
114-
vmContext.Session = authSession
115-
116-
vmRef := simulator.Map.Any("VirtualMachine")
117-
vm, ok := vmRef.(*simulator.VirtualMachine)
118-
if !ok {
119-
t.Fatal("failed to get reference to an existing VM on the vcsim instance")
120-
}
121-
vmContext.VSphereVM.Spec.Template = vm.Name
122-
123-
vmContext.VSphereVM.Spec.Datacenter = simulator.Map.Any("Datacenter").Reference().String()
124-
vmContext.VSphereVM.Spec.Datastore = simulator.Map.Any("Datastore").Reference().String()
125-
vmContext.VSphereVM.Spec.Folder = simulator.Map.Any("Folder").Reference().String()
126-
vmContext.VSphereVM.Spec.ResourcePool = simulator.Map.Any("ResourcePool").Reference().String()
127-
128-
t.Logf("creating using MOID. Datacenter: %s, Datastore: %s, Folder: %s, ResourcePool: %s",
129-
vmContext.VSphereVM.Spec.Datacenter,
130-
vmContext.VSphereVM.Spec.Datastore,
131-
vmContext.VSphereVM.Spec.Folder,
132-
vmContext.VSphereVM.Spec.ResourcePool)
133-
134-
disk := object.VirtualDeviceList(vm.Config.Hardware.Device).SelectByType((*types.VirtualDisk)(nil))[0].(*types.VirtualDisk)
135-
disk.CapacityInKB = int64(vmContext.VSphereVM.Spec.DiskGiB) * 1024 * 1024
136-
137-
if err := createVM(ctx, vmContext, []byte(""), ""); err != nil {
138-
t.Fatal(err)
139-
}
140-
141-
taskRef := types.ManagedObjectReference{
142-
Type: morefTypeTask,
143-
Value: vmContext.VSphereVM.Status.TaskRef,
144-
}
145-
vimClient, err := vim25.NewClient(ctx, vmContext.Session.RoundTripper)
146-
if err != nil {
147-
t.Fatal("could not make vim25 client")
148-
}
149-
task := object.NewTask(vimClient, taskRef)
150-
err = task.Wait(ctx)
151-
if err != nil {
152-
t.Fatal("error waiting for task:", err)
153-
}
154-
155-
if model.Machine+1 != model.Count().Machine {
156-
t.Error("failed to clone vm")
157-
}
158-
}
159-
160-
func TestCreateWithMixedMOIDAndCanonicalName(t *testing.T) {
161-
model := simulator.VPX()
162-
model.Host = 0 // ClusterHost only
163-
164-
simr, err := vcsim.NewBuilder().WithModel(model).Build()
165-
if err != nil {
166-
t.Fatalf("unable to create simulator: %s", err)
167-
}
168-
defer simr.Destroy()
169-
170-
ctx := context.Background()
171-
vmContext := fake.NewVMContext(ctx, fake.NewControllerManagerContext())
172-
vmContext.VSphereVM.Spec.Server = simr.ServerURL().Host
173-
174-
authSession, err := session.GetOrCreate(
175-
ctx,
176-
session.NewParams().
177-
WithServer(vmContext.VSphereVM.Spec.Server).
178-
WithUserInfo(simr.Username(), simr.Password()).
179-
WithDatacenter(simulator.Map.Any("Datacenter").Reference().String()))
180-
if err != nil {
181-
t.Fatal(err)
182-
}
183-
vmContext.Session = authSession
184-
185-
vmRef := simulator.Map.Any("VirtualMachine")
186-
vm, ok := vmRef.(*simulator.VirtualMachine)
187-
if !ok {
188-
t.Fatal("failed to get reference to an existing VM on the vcsim instance")
189-
}
190-
vmContext.VSphereVM.Spec.Template = vm.Name
191-
192-
vmContext.VSphereVM.Spec.Datacenter = simulator.Map.Any("Datacenter").Reference().String()
193-
vmContext.VSphereVM.Spec.Datastore = simulator.Map.Any("Datastore").Entity().Name
194-
vmContext.VSphereVM.Spec.Folder = simulator.Map.Any("Folder").Reference().String()
195-
vmContext.VSphereVM.Spec.ResourcePool = simulator.Map.Any("ResourcePool").Entity().Name
196-
197-
t.Logf("creating using mixed entries. Datacenter: %s, Datastore: %s, Folder: %s, ResourcePool: %s",
198-
vmContext.VSphereVM.Spec.Datacenter,
199-
vmContext.VSphereVM.Spec.Datastore,
200-
vmContext.VSphereVM.Spec.Folder,
201-
vmContext.VSphereVM.Spec.ResourcePool)
202-
203-
disk := object.VirtualDeviceList(vm.Config.Hardware.Device).SelectByType((*types.VirtualDisk)(nil))[0].(*types.VirtualDisk)
204-
disk.CapacityInKB = int64(vmContext.VSphereVM.Spec.DiskGiB) * 1024 * 1024
205-
206-
if err := createVM(ctx, vmContext, []byte(""), ""); err != nil {
207-
t.Fatal(err)
208-
}
209-
210-
taskRef := types.ManagedObjectReference{
211-
Type: morefTypeTask,
212-
Value: vmContext.VSphereVM.Status.TaskRef,
213-
}
214-
vimClient, err := vim25.NewClient(ctx, vmContext.Session.RoundTripper)
215-
if err != nil {
216-
t.Fatal("could not make vim25 client")
217-
}
218-
task := object.NewTask(vimClient, taskRef)
219-
err = task.Wait(ctx)
220-
if err != nil {
221-
t.Fatalf("error waiting for task: %v", err)
222-
}
223-
224-
if model.Machine+1 != model.Count().Machine {
225-
t.Error("failed to clone VM")
226-
}
36+
t.Run("Should create using canonical names", func(t *testing.T) {
37+
model := simulator.VPX()
38+
model.Host = 0 // ClusterHost only
39+
40+
simr, err := vcsim.NewBuilder().WithModel(model).Build()
41+
if err != nil {
42+
t.Fatalf("unable to create simulator: %s", err)
43+
}
44+
defer simr.Destroy()
45+
46+
vmContext := fake.NewVMContext(ctx, fake.NewControllerManagerContext())
47+
vmContext.VSphereVM.Spec.Server = simr.ServerURL().Host
48+
49+
authSession, err := session.GetOrCreate(
50+
ctx,
51+
session.NewParams().
52+
WithServer(vmContext.VSphereVM.Spec.Server).
53+
WithUserInfo(simr.Username(), simr.Password()).
54+
WithDatacenter("*"))
55+
if err != nil {
56+
t.Fatal(err)
57+
}
58+
vmContext.Session = authSession
59+
60+
vmRef := simulator.Map.Any("VirtualMachine")
61+
vm, ok := vmRef.(*simulator.VirtualMachine)
62+
if !ok {
63+
t.Fatal("failed to get reference to an existing VM on the vcsim instance")
64+
}
65+
vmContext.VSphereVM.Spec.Template = vm.Name
66+
67+
disk := object.VirtualDeviceList(vm.Config.Hardware.Device).SelectByType((*types.VirtualDisk)(nil))[0].(*types.VirtualDisk)
68+
disk.CapacityInKB = int64(vmContext.VSphereVM.Spec.DiskGiB) * 1024 * 1024
69+
70+
if err := createVM(ctx, vmContext, []byte(""), ""); err != nil {
71+
t.Fatal(err)
72+
}
73+
74+
taskRef := types.ManagedObjectReference{
75+
Type: morefTypeTask,
76+
Value: vmContext.VSphereVM.Status.TaskRef,
77+
}
78+
vimClient, err := vim25.NewClient(ctx, vmContext.Session.RoundTripper)
79+
if err != nil {
80+
t.Fatal("could not make vim25 client.")
81+
}
82+
task := object.NewTask(vimClient, taskRef)
83+
err = task.Wait(ctx)
84+
if err != nil {
85+
t.Fatal("error waiting for task:", err)
86+
}
87+
88+
if model.Machine+1 != model.Count().Machine {
89+
t.Error("failed to clone vm")
90+
}
91+
})
92+
93+
t.Run("Should create using MOID", func(t *testing.T) {
94+
model := simulator.VPX()
95+
model.Host = 0 // ClusterHost only
96+
97+
simr, err := vcsim.NewBuilder().WithModel(model).Build()
98+
if err != nil {
99+
t.Fatalf("unable to create simulator: %s", err)
100+
}
101+
defer simr.Destroy()
102+
vmContext := fake.NewVMContext(ctx, fake.NewControllerManagerContext())
103+
vmContext.VSphereVM.Spec.Server = simr.ServerURL().Host
104+
vmContext.VSphereVM.SetName("otherthing")
105+
106+
authSession, err := session.GetOrCreate(
107+
ctx,
108+
session.NewParams().
109+
WithServer(vmContext.VSphereVM.Spec.Server).
110+
WithUserInfo(simr.Username(), simr.Password()).
111+
WithDatacenter(simulator.Map.Any("Datacenter").Reference().String()))
112+
if err != nil {
113+
t.Fatal(err)
114+
}
115+
vmContext.Session = authSession
116+
117+
vmRef := simulator.Map.Any("VirtualMachine")
118+
vm, ok := vmRef.(*simulator.VirtualMachine)
119+
if !ok {
120+
t.Fatal("failed to get reference to an existing VM on the vcsim instance")
121+
}
122+
vmContext.VSphereVM.Spec.Template = vm.Name
123+
124+
vmContext.VSphereVM.Spec.Datacenter = simulator.Map.Any("Datacenter").Reference().String()
125+
vmContext.VSphereVM.Spec.Datastore = simulator.Map.Any("Datastore").Reference().String()
126+
vmContext.VSphereVM.Spec.Folder = simulator.Map.Any("Folder").Reference().String()
127+
vmContext.VSphereVM.Spec.ResourcePool = simulator.Map.Any("ResourcePool").Reference().String()
128+
129+
t.Logf("creating using MOID. Datacenter: %s, Datastore: %s, Folder: %s, ResourcePool: %s",
130+
vmContext.VSphereVM.Spec.Datacenter,
131+
vmContext.VSphereVM.Spec.Datastore,
132+
vmContext.VSphereVM.Spec.Folder,
133+
vmContext.VSphereVM.Spec.ResourcePool)
134+
135+
disk := object.VirtualDeviceList(vm.Config.Hardware.Device).SelectByType((*types.VirtualDisk)(nil))[0].(*types.VirtualDisk)
136+
disk.CapacityInKB = int64(vmContext.VSphereVM.Spec.DiskGiB) * 1024 * 1024
137+
138+
if err := createVM(ctx, vmContext, []byte(""), ""); err != nil {
139+
t.Fatal(err)
140+
}
141+
142+
taskRef := types.ManagedObjectReference{
143+
Type: morefTypeTask,
144+
Value: vmContext.VSphereVM.Status.TaskRef,
145+
}
146+
vimClient, err := vim25.NewClient(ctx, vmContext.Session.RoundTripper)
147+
if err != nil {
148+
t.Fatal("could not make vim25 client")
149+
}
150+
task := object.NewTask(vimClient, taskRef)
151+
err = task.Wait(ctx)
152+
if err != nil {
153+
t.Fatal("error waiting for task:", err)
154+
}
155+
156+
if model.Machine+1 != model.Count().Machine {
157+
t.Error("failed to clone vm")
158+
}
159+
})
160+
161+
t.Run("should create using mixed moid and canonical names", func(t *testing.T) {
162+
model := simulator.VPX()
163+
model.Host = 0 // ClusterHost only
164+
165+
simr, err := vcsim.NewBuilder().WithModel(model).Build()
166+
if err != nil {
167+
t.Fatalf("unable to create simulator: %s", err)
168+
}
169+
defer simr.Destroy()
170+
vmContext := fake.NewVMContext(ctx, fake.NewControllerManagerContext())
171+
vmContext.VSphereVM.Spec.Server = simr.ServerURL().Host
172+
173+
authSession, err := session.GetOrCreate(
174+
ctx,
175+
session.NewParams().
176+
WithServer(vmContext.VSphereVM.Spec.Server).
177+
WithUserInfo(simr.Username(), simr.Password()).
178+
WithDatacenter(simulator.Map.Any("Datacenter").Reference().String()))
179+
if err != nil {
180+
t.Fatal(err)
181+
}
182+
vmContext.Session = authSession
183+
184+
vmRef := simulator.Map.Any("VirtualMachine")
185+
vm, ok := vmRef.(*simulator.VirtualMachine)
186+
if !ok {
187+
t.Fatal("failed to get reference to an existing VM on the vcsim instance")
188+
}
189+
vmContext.VSphereVM.Spec.Template = vm.Name
190+
191+
vmContext.VSphereVM.Spec.Datacenter = simulator.Map.Any("Datacenter").Reference().String()
192+
vmContext.VSphereVM.Spec.Datastore = simulator.Map.Any("Datastore").Entity().Name
193+
vmContext.VSphereVM.Spec.Folder = simulator.Map.Any("Folder").Reference().String()
194+
vmContext.VSphereVM.Spec.ResourcePool = simulator.Map.Any("ResourcePool").Entity().Name
195+
196+
t.Logf("creating using mixed entries. Datacenter: %s, Datastore: %s, Folder: %s, ResourcePool: %s",
197+
vmContext.VSphereVM.Spec.Datacenter,
198+
vmContext.VSphereVM.Spec.Datastore,
199+
vmContext.VSphereVM.Spec.Folder,
200+
vmContext.VSphereVM.Spec.ResourcePool)
201+
202+
disk := object.VirtualDeviceList(vm.Config.Hardware.Device).SelectByType((*types.VirtualDisk)(nil))[0].(*types.VirtualDisk)
203+
disk.CapacityInKB = int64(vmContext.VSphereVM.Spec.DiskGiB) * 1024 * 1024
204+
205+
if err := createVM(ctx, vmContext, []byte(""), ""); err != nil {
206+
t.Fatal(err)
207+
}
208+
209+
taskRef := types.ManagedObjectReference{
210+
Type: morefTypeTask,
211+
Value: vmContext.VSphereVM.Status.TaskRef,
212+
}
213+
vimClient, err := vim25.NewClient(ctx, vmContext.Session.RoundTripper)
214+
if err != nil {
215+
t.Fatal("could not make vim25 client")
216+
}
217+
task := object.NewTask(vimClient, taskRef)
218+
err = task.Wait(ctx)
219+
if err != nil {
220+
t.Fatalf("error waiting for task: %v", err)
221+
}
222+
223+
if model.Machine+1 != model.Count().Machine {
224+
t.Error("failed to clone VM")
225+
}
226+
})
227227
}

test/infrastructure/vcsim/controllers/envvar_controller.go

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -340,7 +340,6 @@ func clusterEnvVarSpecGovmomiVariables(ctx context.Context, c *vcsimv1.ClusterEn
340340
return vars, fmt.Errorf("failed to locate folder reference: %w", err)
341341
}
342342
vars["VSPHERE_FOLDER"] = folderRef.Reference().String()
343-
//vars["VSPHERE_NETWORK"] = vcsimhelpers.NetworkPath(datacenter, vcsimhelpers.DefaultNetworkName) // TODO: Is network fixed?
344343

345344
rpRef, err := s.Finder.ResourcePool(ctx, vcsimhelpers.ResourcePoolPath(datacenter, cluster))
346345
if err != nil {

0 commit comments

Comments
 (0)