• Dan Williams's avatar
    cloudprovider/gce: canonicalize instance name when returning instance array · 40cefcaf
    Dan Williams authored
    'names' is an array of FQDNs.  'instances' is a map indexed by canonicalized
    name.  Clearly these two won't always match, so when building the final
    instance array to return, make sure to look up map entries by their canonicalized
    name.
    
    In the below example, "ocp-master-5pob" is clearly found as a GCE instance
    but when building the final instance array it cannot be matched as the code
    is looking for "ocp-master-5pob.c.ose-refarch.internal" instead.  The node
    is then deleted from the cluster as it cannot be found by the cloud provider.
    
    gce.go:2519] ### getInstancesByNames([ocp-master-5pob.c.ose-refarch.internal]): initial node prefix ocp-
    gce.go:2530] ### getInstancesByNames([ocp-master-5pob.c.ose-refarch.internal]): looking for instances map[ocp-master-5pob:<nil>]
    gce.go:2533] ### getInstancesByNames([ocp-master-5pob.c.ose-refarch.internal]): getting zone 'europe-west1-c' (remaining 1)
    gce.go:2563] ### getInstancesByNames([ocp-master-5pob.c.ose-refarch.internal]):    instance name <omitted> not requested
    gce.go:2563] ### getInstancesByNames([ocp-master-5pob.c.ose-refarch.internal]):    instance name <omitted> not requested
    gce.go:2533] ### getInstancesByNames([ocp-master-5pob.c.ose-refarch.internal]): getting zone 'europe-west1-b' (remaining 1)
    gce.go:2563] ### getInstancesByNames([ocp-master-5pob.c.ose-refarch.internal]):    instance name <omitted> not requested
    gce.go:2576] ### getInstancesByNames([ocp-master-5pob.c.ose-refarch.internal]):    found instance 'ocp-master-5pob' remaining 0
    gce.go:2563] ### getInstancesByNames([ocp-master-5pob.c.ose-refarch.internal]):    instance name <omitted> not requested
    gce.go:2533] ### getInstancesByNames([ocp-master-5pob.c.ose-refarch.internal]): getting zone 'europe-west1-d' (remaining 0)
    gce.go:2588] Failed to retrieve instance: "ocp-master-5pob.c.ose-refarch.internal"
    gce.go:2624] ### getInstanceByName(ocp-master-5pob.c.ose-refarch.internal): got []: instance not found
    gce.go:2626] getInstanceByName/multiple-zones: failed to get instance ocp-master-5pob.c.ose-refarch.internal; err: instance not found
    nodecontroller.go:587] Deleting node (no longer present in cloud provider): ocp-master-5pob.c.ose-refarch.internal
    nodecontroller.go:664] Recording Deleting Node ocp-master-5pob.c.ose-refarch.internal because it's not present according to cloud provider event message for node ocp-master-5pob.c.ose-refarch.internal
    40cefcaf
Name
Last commit
Last update
..
providers Loading commit data...
OWNERS Loading commit data...
cloud.go Loading commit data...
doc.go Loading commit data...
plugins.go Loading commit data...