Detect zone of MIG in e2e VPA tests

I was running e2e VPA tests and some were failing because the tests
assume thata they're running on:
- zonal single-zone cluster, or
- regional multi-zone cluster.

And I was running them on regional, single-zoned cluster.

Change-Id: I110a70d2249f981b60cf76d1ad674ccfcedd8fb3
This commit is contained in:
Joachim Bartosik
2019-01-24 15:26:10 +01:00
parent 8ec6167f61
commit 74bd4d643a

View File

@@ -184,16 +184,12 @@ func (p *Provider) EnsureLoadBalancerResourcesDeleted(ip, portRange string) erro
}
func getGCEZoneForGroup(group string) (string, error) {
zone := framework.TestContext.CloudConfig.Zone
if framework.TestContext.CloudConfig.MultiZone {
output, err := exec.Command("gcloud", "compute", "instance-groups", "managed", "list",
"--project="+framework.TestContext.CloudConfig.ProjectID, "--format=value(zone)", "--filter=name="+group).CombinedOutput()
if err != nil {
return "", fmt.Errorf("Failed to get zone for node group %s: %s", group, output)
}
zone = strings.TrimSpace(string(output))
output, err := exec.Command("gcloud", "compute", "instance-groups", "managed", "list",
"--project="+framework.TestContext.CloudConfig.ProjectID, "--format=value(zone)", "--filter=name="+group).CombinedOutput()
if err != nil {
return "", fmt.Errorf("Failed to get zone for node group %s: %s", group, output)
}
return zone, nil
return strings.TrimSpace(string(output)), nil
}
// DeleteNode deletes a node which is specified as the argument