Unverified Commit af1450df authored by Kubernetes Submit Queue's avatar Kubernetes Submit Queue Committed by GitHub

Merge pull request #65152 from alvaroaleman/vsphere-control-plane-on-cloud

Automatic merge from submit-queue (batch tested with PRs 65152, 65199, 65179, 64598, 65216). If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>. Do not query for VMUUID in vsphere cloud provider if it was explicitly passed **What this PR does / why we need it**: It allows running the kube controller-manager with the vsphere cloudprovider enabled on a machine that is not a vmware VM **Which issue(s) this PR fixes** *(optional, in `fixes #<issue number>(, fixes #<issue_number>, ...)` format, will close the issue(s) when PR gets merged)*: Fixes #65145 **Special notes for your reviewer**: **Release note**: ```release-note In the vSphere cloud provider the `Global.vm-uuid` configuration option is not deprecated anymore, it can be used to overwrite the VMUUID on the controller-manager ``` /sig vmware
parents 7a954fd3 81e25c37
...@@ -134,7 +134,7 @@ type VSphereConfig struct { ...@@ -134,7 +134,7 @@ type VSphereConfig struct {
WorkingDir string `gcfg:"working-dir"` WorkingDir string `gcfg:"working-dir"`
// Soap round tripper count (retries = RoundTripper - 1) // Soap round tripper count (retries = RoundTripper - 1)
RoundTripperCount uint `gcfg:"soap-roundtrip-count"` 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 // 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. // 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) // If not set, will be fetched from the machine via sysfs (requires root)
...@@ -442,10 +442,14 @@ func newControllerNode(cfg VSphereConfig) (*VSphere, error) { ...@@ -442,10 +442,14 @@ func newControllerNode(cfg VSphereConfig) (*VSphere, error) {
glog.Errorf("Failed to get hostname. err: %+v", err) glog.Errorf("Failed to get hostname. err: %+v", err)
return nil, err return nil, err
} }
vs.vmUUID, err = getVMUUID() if cfg.Global.VMUUID != "" {
if err != nil { vs.vmUUID = cfg.Global.VMUUID
glog.Errorf("Failed to get uuid. err: %+v", err) } else {
return nil, err vs.vmUUID, err = getVMUUID()
if err != nil {
glog.Errorf("Failed to get uuid. err: %+v", err)
return nil, err
}
} }
runtime.SetFinalizer(vs, logout) runtime.SetFinalizer(vs, logout)
return vs, nil return vs, nil
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment