kubernetes/gke: skip tests unless specifically requested

Just running on GCE is not enough for them to work.

Updates golang/go#28543.

Change-Id: I79a0702f9c2dfaf256a872557836258ba2ab4d0d
Reviewed-on: https://go-review.googlesource.com/c/build/+/408956
Reviewed-by: Dmitri Shuralyov <dmitshur@golang.org>
Run-TryBot: Heschi Kreinick <heschi@google.com>
Reviewed-by: Dmitri Shuralyov <dmitshur@google.com>
Auto-Submit: Heschi Kreinick <heschi@google.com>
TryBot-Result: Gopher Robot <gobot@golang.org>
diff --git a/kubernetes/gke/gke_test.go b/kubernetes/gke/gke_test.go
index f8453cc..75c5204 100644
--- a/kubernetes/gke/gke_test.go
+++ b/kubernetes/gke/gke_test.go
@@ -6,7 +6,7 @@
 
 import (
 	"context"
-	"os"
+	"flag"
 	"strings"
 	"testing"
 
@@ -25,6 +25,7 @@
 // GKE cluster, and possibly more.
 //
 // They're currently disabled on the Go builders; see golang.org/issue/28543.
+var flagRunGKETests = flag.Bool("run-gke-tests", false, "run gke tests that require special permissions")
 
 // Tests NewClient and also Dialer.
 func TestNewClient(t *testing.T) {
@@ -126,8 +127,8 @@
 	if testing.Short() {
 		t.Skip("skipping in short mode")
 	}
-	if !metadata.OnGCE() {
-		t.Skip("not on GCE; skipping")
+	if !*flagRunGKETests {
+		t.Skip("-run-gke-tests not set")
 	}
 	ctx := context.Background()
 	ts, err := google.DefaultTokenSource(ctx, compute.CloudPlatformScope)
@@ -143,9 +144,6 @@
 	if err != nil {
 		t.Fatal(err)
 	}
-	if os.Getenv("GO_BUILDER_NAME") != "" && proj == "symbolic-datum-552" {
-		t.Skip("builders on symbolic-datum-552 are not configured for gke tests (golang.org/issue/28543); skipping")
-	}
 	if _, err := ts.Token(); err != nil {
 		val, err := metadata.InstanceAttributeValue("service-accounts/default/token")
 		if val == "" {