From 81e25c37bebc5ab44b3a9f1d1f762e159a6c32df Mon Sep 17 00:00:00 2001 From: Alvaro Aleman Date: Fri, 15 Jun 2018 19:22:08 +0200 Subject: [PATCH] Do not query for VMUUID if it was explicitly passed --- pkg/cloudprovider/providers/vsphere/vsphere.go | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/pkg/cloudprovider/providers/vsphere/vsphere.go b/pkg/cloudprovider/providers/vsphere/vsphere.go index 27b0d8444f7..fbe5d50e98c 100644 --- a/pkg/cloudprovider/providers/vsphere/vsphere.go +++ b/pkg/cloudprovider/providers/vsphere/vsphere.go @@ -134,7 +134,7 @@ type VSphereConfig struct { WorkingDir string `gcfg:"working-dir"` // Soap round tripper count (retries = RoundTripper - 1) RoundTripperCount uint `gcfg:"soap-roundtrip-count"` - // Deprecated as the virtual machines will be automatically discovered. + // Is required on the controller-manager if it does not run on a VMware machine // VMUUID is the VM Instance UUID of virtual machine which can be retrieved from instanceUuid // property in VmConfigInfo, or also set as vc.uuid in VMX file. // If not set, will be fetched from the machine via sysfs (requires root) @@ -442,10 +442,14 @@ func newControllerNode(cfg VSphereConfig) (*VSphere, error) { glog.Errorf("Failed to get hostname. err: %+v", err) return nil, err } - vs.vmUUID, err = getVMUUID() - if err != nil { - glog.Errorf("Failed to get uuid. err: %+v", err) - return nil, err + if cfg.Global.VMUUID != "" { + vs.vmUUID = cfg.Global.VMUUID + } else { + vs.vmUUID, err = getVMUUID() + if err != nil { + glog.Errorf("Failed to get uuid. err: %+v", err) + return nil, err + } } runtime.SetFinalizer(vs, logout) return vs, nil