diff --git a/hack/e2e.go b/hack/e2e.go index 8108e8a8150..6cf14d98a7c 100644 --- a/hack/e2e.go +++ b/hack/e2e.go @@ -60,6 +60,7 @@ var ( kopsKubeVersion = flag.String("kops-kubernetes-version", "", "(kops only) If set, the version of Kubernetes to deploy (can be a URL to a GCS path where the release is stored) (Defaults to kops default, latest stable release.).") kopsZones = flag.String("kops-zones", "us-west-2a", "(kops AWS only) AWS zones for kops deployment, comma delimited.") kopsNodes = flag.Int("kops-nodes", 2, "(kops only) Number of nodes to create.") + kopsUpTimeout = flag.Duration("kops-up-timeout", 20*time.Minute, "(kops only) Time limit between 'kops config / kops update' and a response from the Kubernetes API.") // Deprecated flags. deprecatedPush = flag.Bool("push", false, "Deprecated. Does nothing.") @@ -524,7 +525,7 @@ func (k kops) Up() error { // TODO(zmerlynn): More cluster validation. This should perhaps be // added to kops and not here, but this is a fine place to loop // for now. - for stop := time.Now().Add(10 * time.Minute); time.Now().Before(stop); time.Sleep(30 * time.Second) { + for stop := time.Now().Add(*kopsUpTimeout); time.Now().Before(stop); time.Sleep(30 * time.Second) { n, err := clusterSize(k) if err != nil { log.Printf("Can't get cluster size, sleeping: %v", err) diff --git a/hack/ginkgo-e2e.sh b/hack/ginkgo-e2e.sh index cdd69147db5..42a22df823a 100755 --- a/hack/ginkgo-e2e.sh +++ b/hack/ginkgo-e2e.sh @@ -49,7 +49,7 @@ source "${KUBE_ROOT}/cluster/kube-util.sh" # ---- Do cloud-provider-specific setup if [[ -n "${KUBERNETES_CONFORMANCE_TEST:-}" ]]; then echo "Conformance test: not doing test setup." - KUBERNETES_PROVIDER="skeleton" + KUBERNETES_PROVIDER=${KUBERNETES_CONFORMANCE_PROVIDER:-"skeleton"} detect-master-from-kubeconfig diff --git a/hack/verify-flags/known-flags.txt b/hack/verify-flags/known-flags.txt index 5a2c7edb66d..87379b1343f 100644 --- a/hack/verify-flags/known-flags.txt +++ b/hack/verify-flags/known-flags.txt @@ -287,6 +287,7 @@ kops-kubernetes-version kops-nodes kops-ssh-key kops-state +kops-up-timeout kops-zones kube-api-burst kube-api-content-type