Skip to content

Commit 9a6b925

Browse files
author
Ricardo Katz
committed
Rollback changes, bump govmomi to test moref support
1 parent 1865865 commit 9a6b925

File tree

12 files changed

+26
-111
lines changed

12 files changed

+26
-111
lines changed

go.mod

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ require (
1212
// The version of vm-operator should be kept in sync with the manifests at: config/deployments/integration-tests
1313
github.com/vmware-tanzu/vm-operator/api v1.8.6
1414
github.com/vmware-tanzu/vm-operator/external/ncp v0.0.0-20240404200847-de75746a9505
15-
github.com/vmware/govmomi v0.45.1
15+
github.com/vmware/govmomi v0.31.1-0.20241105193514-63f11e929d13
1616
)
1717

1818
require (

go.sum

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -244,8 +244,8 @@ github.com/vmware-tanzu/vm-operator/api v1.8.6 h1:NIndORjcnSmIlQsCMIewpIwg/ocRVD
244244
github.com/vmware-tanzu/vm-operator/api v1.8.6/go.mod h1:HHA2SNI9B5Yqtyp5t+Gt9WTWBi/fIkM6+MukDDSf11A=
245245
github.com/vmware-tanzu/vm-operator/external/ncp v0.0.0-20240404200847-de75746a9505 h1:y4wXx1FUFqqSgJ/xUOEM1DLS2Uu0KaeLADWpzpioGTU=
246246
github.com/vmware-tanzu/vm-operator/external/ncp v0.0.0-20240404200847-de75746a9505/go.mod h1:5rqRJ9zGR+KnKbkGx373WgN8xJpvAj99kHnfoDYRO5I=
247-
github.com/vmware/govmomi v0.45.1 h1:pmMmSUNIw/kePaCRFaUOpDh7IxDfhDi9M4Qh+DRlBV4=
248-
github.com/vmware/govmomi v0.45.1/go.mod h1:uoLVU9zlXC4p4GmLVG+ZJmBC0Gn3Q7mytOJvi39OhxA=
247+
github.com/vmware/govmomi v0.31.1-0.20241105193514-63f11e929d13 h1:7tok/TLQSr/liKdCHPY235M3TnIZ9spmE9GsDNpI/38=
248+
github.com/vmware/govmomi v0.31.1-0.20241105193514-63f11e929d13/go.mod h1:uoLVU9zlXC4p4GmLVG+ZJmBC0Gn3Q7mytOJvi39OhxA=
249249
github.com/x448/float16 v0.8.4 h1:qLwI1I70+NjRFUR3zs1JPUCgaCXSh3SW62uAKT1mSBM=
250250
github.com/x448/float16 v0.8.4/go.mod h1:14CWIYCyZA/cWjXOioeEpHeN/83MdbZDRQHoFcYsOfg=
251251
github.com/xiang90/probing v0.0.0-20190116061207-43a291ad63a2 h1:eY9dn8+vbi4tKz5Qo6v2eYzo7kUS51QINcR5jNpbZS8=

packaging/go.sum

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -135,8 +135,8 @@ github.com/vmware-tanzu/vm-operator/api v1.8.6 h1:NIndORjcnSmIlQsCMIewpIwg/ocRVD
135135
github.com/vmware-tanzu/vm-operator/api v1.8.6/go.mod h1:HHA2SNI9B5Yqtyp5t+Gt9WTWBi/fIkM6+MukDDSf11A=
136136
github.com/vmware-tanzu/vm-operator/external/ncp v0.0.0-20240404200847-de75746a9505 h1:y4wXx1FUFqqSgJ/xUOEM1DLS2Uu0KaeLADWpzpioGTU=
137137
github.com/vmware-tanzu/vm-operator/external/ncp v0.0.0-20240404200847-de75746a9505/go.mod h1:5rqRJ9zGR+KnKbkGx373WgN8xJpvAj99kHnfoDYRO5I=
138-
github.com/vmware/govmomi v0.45.1 h1:pmMmSUNIw/kePaCRFaUOpDh7IxDfhDi9M4Qh+DRlBV4=
139-
github.com/vmware/govmomi v0.45.1/go.mod h1:uoLVU9zlXC4p4GmLVG+ZJmBC0Gn3Q7mytOJvi39OhxA=
138+
github.com/vmware/govmomi v0.31.1-0.20241105193514-63f11e929d13 h1:7tok/TLQSr/liKdCHPY235M3TnIZ9spmE9GsDNpI/38=
139+
github.com/vmware/govmomi v0.31.1-0.20241105193514-63f11e929d13/go.mod h1:uoLVU9zlXC4p4GmLVG+ZJmBC0Gn3Q7mytOJvi39OhxA=
140140
github.com/x448/float16 v0.8.4 h1:qLwI1I70+NjRFUR3zs1JPUCgaCXSh3SW62uAKT1mSBM=
141141
github.com/x448/float16 v0.8.4/go.mod h1:14CWIYCyZA/cWjXOioeEpHeN/83MdbZDRQHoFcYsOfg=
142142
github.com/xlab/treeprint v1.2.0 h1:HzHnuAF1plUN2zGlAFHbSQP2qJ0ZAD3XF5XD7OesXRQ=

pkg/clustermodule/service.go

Lines changed: 3 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,6 @@ import (
2121

2222
"github.com/pkg/errors"
2323
"github.com/vmware/govmomi/find"
24-
"github.com/vmware/govmomi/object"
2524
"github.com/vmware/govmomi/vim25/types"
2625
ctrl "sigs.k8s.io/controller-runtime"
2726
"sigs.k8s.io/controller-runtime/pkg/client"
@@ -120,16 +119,9 @@ func (s *service) Remove(ctx context.Context, clusterCtx *capvcontext.ClusterCon
120119
}
121120

122121
func getComputeClusterResource(ctx context.Context, s *session.Session, resourcePool string) (types.ManagedObjectReference, error) {
123-
var err error
124-
var rp *object.ResourcePool
125-
rpRef := object.ReferenceFromString(resourcePool)
126-
if rpRef != nil {
127-
rp = object.NewResourcePool(s.Client.Client, *rpRef)
128-
} else {
129-
rp, err = s.Finder.ResourcePoolOrDefault(ctx, resourcePool)
130-
if err != nil {
131-
return types.ManagedObjectReference{}, err
132-
}
122+
rp, err := s.Finder.ResourcePoolOrDefault(ctx, resourcePool)
123+
if err != nil {
124+
return types.ManagedObjectReference{}, err
133125
}
134126

135127
cc, err := rp.Owner(ctx)

pkg/services/govmomi/template/template.go

Lines changed: 0 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -59,19 +59,6 @@ func findTemplateByInstanceUUID(ctx context.Context, session *session.Session, t
5959

6060
func findTemplateByName(ctx context.Context, session *session.Session, templateID string) (*object.VirtualMachine, error) {
6161
log := ctrl.LoggerFrom(ctx)
62-
63-
vmRef := object.ReferenceFromString(templateID)
64-
if vmRef != nil {
65-
log.V(5).Info("Finding template by moid", "moid", templateID)
66-
tpl := object.NewVirtualMachine(session.Client.Client, *vmRef)
67-
name, err := tpl.ObjectName(ctx)
68-
if err != nil {
69-
return nil, errors.Wrapf(err, "unable to find template by moid %q", templateID)
70-
}
71-
log.V(5).Info("Found template by moid", "moid", templateID, "name", name)
72-
return tpl, nil
73-
}
74-
7562
log.V(5).Info("Find template by name", "name", templateID)
7663
tpl, err := session.Finder.VirtualMachine(ctx, templateID)
7764
if err != nil {

pkg/services/govmomi/util.go

Lines changed: 0 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,6 @@ import (
2525
"github.com/pkg/errors"
2626
"github.com/vmware/govmomi/object"
2727
"github.com/vmware/govmomi/property"
28-
"github.com/vmware/govmomi/view"
2928
"github.com/vmware/govmomi/vim25/mo"
3029
"github.com/vmware/govmomi/vim25/types"
3130
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
@@ -84,32 +83,6 @@ func findVM(ctx context.Context, vmCtx *capvcontext.VMContext) (types.ManagedObj
8483
return types.ManagedObjectReference{}, err
8584
}
8685
if objRef == nil {
87-
folderRef := object.ReferenceFromString(vmCtx.VSphereVM.Spec.Folder)
88-
if folderRef != nil {
89-
m := view.NewManager(vmCtx.Session.Client.Client)
90-
kind := []string{"VirtualMachine"}
91-
92-
v, err := m.CreateContainerView(ctx, *folderRef, kind, true)
93-
if err != nil {
94-
return types.ManagedObjectReference{}, err
95-
}
96-
97-
var vms []mo.VirtualMachine
98-
99-
err = v.Retrieve(ctx, kind, []string{"name"}, &vms)
100-
if err != nil {
101-
return types.ManagedObjectReference{}, err
102-
}
103-
104-
for _, vm := range vms {
105-
if vm.Name == vmCtx.VSphereVM.Name {
106-
log.Info("VM found by MOID folder", "vmRef", vm.Reference(), "vm", vm.Name)
107-
return vm.Reference(), nil
108-
}
109-
}
110-
log.Info("VM not found by moid folder", "folder", vmCtx.VSphereVM.Spec.Folder, "name", vmCtx.VSphereVM.Name)
111-
return types.ManagedObjectReference{}, errNotFound{byInventoryPath: folderRef.Reference().String()}
112-
}
11386
// fallback to use inventory paths
11487
folder, err := vmCtx.Session.Finder.FolderOrDefault(ctx, vmCtx.VSphereVM.Spec.Folder)
11588
if err != nil {

pkg/services/govmomi/vcenter/clone.go

Lines changed: 10 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -118,27 +118,14 @@ func Clone(ctx context.Context, vmCtx *capvcontext.VMContext, bootstrapData []by
118118
diskMoveType = linkCloneDiskMoveType
119119
}
120120

121-
var folder *object.Folder
122-
123-
folderRef := object.ReferenceFromString(vmCtx.VSphereVM.Spec.Folder)
124-
if folderRef != nil {
125-
folder = object.NewFolder(vmCtx.Session.Client.Client, *folderRef)
126-
} else {
127-
folder, err = vmCtx.Session.Finder.FolderOrDefault(ctx, vmCtx.VSphereVM.Spec.Folder)
128-
if err != nil {
129-
return errors.Wrapf(err, "unable to get folder %q for %s", vmCtx.VSphereVM.Spec.Folder, vmCtx)
130-
}
121+
folder, err := vmCtx.Session.Finder.FolderOrDefault(ctx, vmCtx.VSphereVM.Spec.Folder)
122+
if err != nil {
123+
return errors.Wrapf(err, "unable to get folder for %q", vmCtx)
131124
}
132125

133-
var pool *object.ResourcePool
134-
poolRef := object.ReferenceFromString(vmCtx.VSphereVM.Spec.ResourcePool)
135-
if poolRef != nil {
136-
pool = object.NewResourcePool(vmCtx.Session.Client.Client, *poolRef)
137-
} else {
138-
pool, err = vmCtx.Session.Finder.ResourcePoolOrDefault(ctx, vmCtx.VSphereVM.Spec.ResourcePool)
139-
if err != nil {
140-
return errors.Wrapf(err, "unable to get resource pool %q for %q", vmCtx.VSphereVM.Spec.ResourcePool, vmCtx)
141-
}
126+
pool, err := vmCtx.Session.Finder.ResourcePoolOrDefault(ctx, vmCtx.VSphereVM.Spec.ResourcePool)
127+
if err != nil {
128+
return errors.Wrapf(err, "unable to get resource pool for %q", vmCtx)
142129
}
143130

144131
devices, err := tpl.Device(ctx)
@@ -218,15 +205,11 @@ func Clone(ctx context.Context, vmCtx *capvcontext.VMContext, bootstrapData []by
218205

219206
var datastoreRef *types.ManagedObjectReference
220207
if vmCtx.VSphereVM.Spec.Datastore != "" {
221-
datastoreRef = object.ReferenceFromString(vmCtx.VSphereVM.Spec.Datastore)
222-
// Fallback to use the name in case Datastore is not a valid ref
223-
if datastoreRef == nil {
224-
datastore, err := vmCtx.Session.Finder.Datastore(ctx, vmCtx.VSphereVM.Spec.Datastore)
225-
if err != nil {
226-
return errors.Wrapf(err, "unable to get datastore %s for %q", vmCtx.VSphereVM.Spec.Datastore, vmCtx)
227-
}
228-
datastoreRef = types.NewReference(datastore.Reference())
208+
datastore, err := vmCtx.Session.Finder.Datastore(ctx, vmCtx.VSphereVM.Spec.Datastore)
209+
if err != nil {
210+
return errors.Wrapf(err, "unable to get datastore %s for %q", vmCtx.VSphereVM.Spec.Datastore, vmCtx)
229211
}
212+
datastoreRef = types.NewReference(datastore.Reference())
230213
spec.Location.Datastore = datastoreRef
231214
}
232215

pkg/session/session.go

Lines changed: 1 addition & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -206,19 +206,7 @@ func GetOrCreate(ctx context.Context, params *Params) (*Session, error) {
206206

207207
// Assign the datacenter if one was specified.
208208
if params.datacenter != "" {
209-
var dc *object.Datacenter
210-
dcRef := object.ReferenceFromString(params.datacenter)
211-
if dcRef != nil {
212-
var dcName string
213-
dc = object.NewDatacenter(client.Client, *dcRef)
214-
dcName, err = dc.ObjectName(ctx)
215-
log.Info("retrieving datacenter name via MOID", "datacenter", dcName)
216-
} else {
217-
dc, err = session.Finder.Datacenter(ctx, params.datacenter)
218-
if dc != nil {
219-
log.Info("retrieved datacenter name via name", "datacenter", dc.Name())
220-
}
221-
}
209+
dc, err := session.Finder.Datacenter(ctx, params.datacenter)
222210
if err != nil {
223211
log.Error(err, "Failed to get datacenter, will logout")
224212
// Logout of previously logged session to not leak

test/e2e/quick_start_test.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@ var _ = Describe("Cluster Creation using Cluster API quick-start test [vcsim] [s
4949
})
5050

5151
var _ = Describe("Cluster Creation using Cluster API quick-start test and MOID [vcsim]", func() {
52-
const specName = "quick-start" // copied from CAPI
52+
const specName = "quick-start-moid"
5353
Setup(specName, func(testSpecificSettingsGetter func() testSettings) {
5454
capi_e2e.QuickStartSpec(ctx, func() capi_e2e.QuickStartSpecInput {
5555
return capi_e2e.QuickStartSpecInput{

test/go.mod

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ require (
1414
github.com/vmware-tanzu/net-operator-api v0.0.0-20240326163340-1f32d6bf7f9d
1515
// The version of vm-operator should be kept in sync with the manifests at: config/deployments/integration-tests
1616
github.com/vmware-tanzu/vm-operator/api v1.8.6
17-
github.com/vmware/govmomi v0.45.1
17+
github.com/vmware/govmomi v0.31.1-0.20241105193514-63f11e929d13
1818
)
1919

2020
require (

0 commit comments

Comments
 (0)