KubeDescribe implementation with verify into after-build/ scripts.

This commit is contained in:
Jay Vyas
2016-03-11 14:29:44 -05:00
parent a1fcccd8b5
commit 9a71dfe753
72 changed files with 160 additions and 121 deletions

35
hack/after-build/verify-e2e.sh Executable file
View File

@@ -0,0 +1,35 @@
#!/bin/bash
# Copyright 2016 The Kubernetes Authors All rights reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
# Verify that E2E's use Describe wrappers, so that we can auto tag and provide
# other wrapper functionality for the entire suite.
set -o errexit
set -o nounset
set -o pipefail
KUBE_ROOT=$(dirname "${BASH_SOURCE}")/../..
cd "${KUBE_ROOT}"
findDescViolations() {
find ./test/e2e/ -name '*.go' | xargs cat | grep "\sDescribe("
}
# There should be only one call to describe.
if [ $(findDescViolations | wc -l) != 1 ]; then
echo "The following lines use Describe instead of KubeDescribe."
echo "Describe() is a reserved term which only should called via the KubeDescribe wrapper function."
findDescViolations
fi

View File

@@ -188,7 +188,7 @@ type stringPair struct {
data, fileName string data, fileName string
} }
var _ = Describe("Addon update", func() { var _ = KubeDescribe("Addon update", func() {
var dir string var dir string
var sshClient *ssh.Client var sshClient *ssh.Client

View File

@@ -43,7 +43,7 @@ const (
v1JobSelectorKey = "job-name" v1JobSelectorKey = "job-name"
) )
var _ = Describe("V1Job", func() { var _ = KubeDescribe("V1Job", func() {
f := NewDefaultFramework("v1job") f := NewDefaultFramework("v1job")
parallelism := 2 parallelism := 2
completions := 4 completions := 4

View File

@@ -31,7 +31,7 @@ const (
sleepDuration = 10 * time.Second sleepDuration = 10 * time.Second
) )
var _ = Describe("Cadvisor", func() { var _ = KubeDescribe("Cadvisor", func() {
f := NewDefaultFramework("cadvisor") f := NewDefaultFramework("cadvisor")

View File

@@ -37,7 +37,7 @@ const (
// run by default. // run by default.
// //
// These tests take ~20 minutes to run each. // These tests take ~20 minutes to run each.
var _ = Describe("Cluster size autoscaling [Feature:ClusterSizeAutoscaling] [Slow]", func() { var _ = KubeDescribe("Cluster size autoscaling [Feature:ClusterSizeAutoscaling] [Slow]", func() {
f := NewDefaultFramework("autoscaling") f := NewDefaultFramework("autoscaling")
var nodeCount int var nodeCount int
var coresPerNode int var coresPerNode int

View File

@@ -137,7 +137,7 @@ func nodeUpgradeGKE(v string) error {
return err return err
} }
var _ = Describe("Upgrade [Feature:Upgrade]", func() { var _ = KubeDescribe("Upgrade [Feature:Upgrade]", func() {
svcName, replicas := "baz", 2 svcName, replicas := "baz", 2
var rcName, ip, v string var rcName, ip, v string
@@ -190,7 +190,7 @@ var _ = Describe("Upgrade [Feature:Upgrade]", func() {
w.Cleanup() w.Cleanup()
}) })
Describe("master upgrade", func() { KubeDescribe("master upgrade", func() {
It("should maintain responsive services [Feature:MasterUpgrade]", func() { It("should maintain responsive services [Feature:MasterUpgrade]", func() {
By("Validating cluster before master upgrade") By("Validating cluster before master upgrade")
expectNoError(validate(f, svcName, rcName, ingress, replicas)) expectNoError(validate(f, svcName, rcName, ingress, replicas))
@@ -203,7 +203,7 @@ var _ = Describe("Upgrade [Feature:Upgrade]", func() {
}) })
}) })
Describe("node upgrade", func() { KubeDescribe("node upgrade", func() {
var tmplBefore, tmplAfter string var tmplBefore, tmplAfter string
BeforeEach(func() { BeforeEach(func() {
if providerIs("gce") { if providerIs("gce") {

View File

@@ -27,7 +27,7 @@ import (
. "github.com/onsi/gomega" . "github.com/onsi/gomega"
) )
var _ = Describe("ConfigMap", func() { var _ = KubeDescribe("ConfigMap", func() {
f := NewDefaultFramework("configmap") f := NewDefaultFramework("configmap")

View File

@@ -35,7 +35,7 @@ const (
probTestInitialDelaySeconds = 30 probTestInitialDelaySeconds = 30
) )
var _ = Describe("Probing container", func() { var _ = KubeDescribe("Probing container", func() {
framework := NewDefaultFramework("container-probe") framework := NewDefaultFramework("container-probe")
var podClient client.PodInterface var podClient client.PodInterface
probe := webserverProbeBuilder{} probe := webserverProbeBuilder{}

View File

@@ -183,7 +183,7 @@ func getContainerRestarts(c *client.Client, ns string, labelSelector labels.Sele
return failedContainers, containerRestartNodes.List() return failedContainers, containerRestartNodes.List()
} }
var _ = Describe("DaemonRestart [Disruptive]", func() { var _ = KubeDescribe("DaemonRestart [Disruptive]", func() {
framework := NewDefaultFramework("daemonrestart") framework := NewDefaultFramework("daemonrestart")
rcName := "daemonrestart" + strconv.Itoa(numPods) + "-" + string(util.NewUUID()) rcName := "daemonrestart" + strconv.Itoa(numPods) + "-" + string(util.NewUUID())

View File

@@ -53,7 +53,7 @@ const (
// happen. In the future, running in parallel may work if we have an eviction // happen. In the future, running in parallel may work if we have an eviction
// model which lets the DS controller kick out other pods to make room. // model which lets the DS controller kick out other pods to make room.
// See http://issues.k8s.io/21767 for more details // See http://issues.k8s.io/21767 for more details
var _ = Describe("Daemon set [Serial]", func() { var _ = KubeDescribe("Daemon set [Serial]", func() {
var f *Framework var f *Framework
AfterEach(func() { AfterEach(func() {

View File

@@ -28,7 +28,7 @@ import (
. "github.com/onsi/gomega" . "github.com/onsi/gomega"
) )
var _ = Describe("Kubernetes Dashboard", func() { var _ = KubeDescribe("Kubernetes Dashboard", func() {
const ( const (
uiServiceName = "kubernetes-dashboard" uiServiceName = "kubernetes-dashboard"
uiAppName = uiServiceName uiAppName = uiServiceName

View File

@@ -116,7 +116,7 @@ func density30AddonResourceVerifier() map[string]resourceConstraint {
// IMPORTANT: This test is designed to work on large (>= 100 Nodes) clusters. For smaller ones // IMPORTANT: This test is designed to work on large (>= 100 Nodes) clusters. For smaller ones
// results will not be representative for control-plane performance as we'll start hitting // results will not be representative for control-plane performance as we'll start hitting
// limits on Docker's concurrent container startup. // limits on Docker's concurrent container startup.
var _ = Describe("Density", func() { var _ = KubeDescribe("Density", func() {
var c *client.Client var c *client.Client
var nodeCount int var nodeCount int
var RCName string var RCName string

View File

@@ -46,7 +46,7 @@ const (
redisImageName = "redis" redisImageName = "redis"
) )
var _ = Describe("Deployment", func() { var _ = KubeDescribe("Deployment", func() {
f := NewDefaultFramework("deployment") f := NewDefaultFramework("deployment")
It("deployment should create new pods", func() { It("deployment should create new pods", func() {

View File

@@ -249,7 +249,7 @@ func createServiceSpec(serviceName string, isHeadless bool, selector map[string]
return headlessService return headlessService
} }
var _ = Describe("DNS", func() { var _ = KubeDescribe("DNS", func() {
f := NewDefaultFramework("dns") f := NewDefaultFramework("dns")
It("should provide DNS for the cluster [Conformance]", func() { It("should provide DNS for the cluster [Conformance]", func() {

View File

@@ -24,7 +24,7 @@ import (
. "github.com/onsi/ginkgo" . "github.com/onsi/ginkgo"
) )
var _ = Describe("Docker Containers", func() { var _ = KubeDescribe("Docker Containers", func() {
framework := NewDefaultFramework("containers") framework := NewDefaultFramework("containers")
var c *client.Client var c *client.Client
var ns string var ns string

View File

@@ -25,7 +25,7 @@ import (
. "github.com/onsi/ginkgo" . "github.com/onsi/ginkgo"
) )
var _ = Describe("Downward API", func() { var _ = KubeDescribe("Downward API", func() {
framework := NewDefaultFramework("downward-api") framework := NewDefaultFramework("downward-api")
It("should provide pod name and namespace as env vars [Conformance]", func() { It("should provide pod name and namespace as env vars [Conformance]", func() {

View File

@@ -27,7 +27,7 @@ import (
. "github.com/onsi/gomega" . "github.com/onsi/gomega"
) )
var _ = Describe("Downward API volume", func() { var _ = KubeDescribe("Downward API volume", func() {
// How long to wait for a log pod to be displayed // How long to wait for a log pod to be displayed
const podLogTimeout = 45 * time.Second const podLogTimeout = 45 * time.Second

View File

@@ -33,7 +33,7 @@ const (
testImageNonRootUid = "gcr.io/google_containers/mounttest-user:0.3" testImageNonRootUid = "gcr.io/google_containers/mounttest-user:0.3"
) )
var _ = Describe("EmptyDir volumes", func() { var _ = KubeDescribe("EmptyDir volumes", func() {
f := NewDefaultFramework("emptydir") f := NewDefaultFramework("emptydir")

View File

@@ -28,7 +28,7 @@ import (
// This test will create a pod with a secret volume and gitRepo volume // This test will create a pod with a secret volume and gitRepo volume
// Thus requests a secret, a git server pod, and a git server service // Thus requests a secret, a git server pod, and a git server service
var _ = Describe("EmptyDir wrapper volumes", func() { var _ = KubeDescribe("EmptyDir wrapper volumes", func() {
f := NewDefaultFramework("emptydir-wrapper") f := NewDefaultFramework("emptydir-wrapper")
It("should becomes running", func() { It("should becomes running", func() {

View File

@@ -30,7 +30,7 @@ import (
. "github.com/onsi/gomega" . "github.com/onsi/gomega"
) )
var _ = Describe("Cluster level logging using Elasticsearch [Feature:Elasticsearch]", func() { var _ = KubeDescribe("Cluster level logging using Elasticsearch [Feature:Elasticsearch]", func() {
f := NewDefaultFramework("es-logging") f := NewDefaultFramework("es-logging")
BeforeEach(func() { BeforeEach(func() {

View File

@@ -27,7 +27,7 @@ import (
. "github.com/onsi/gomega" . "github.com/onsi/gomega"
) )
var _ = Describe("Etcd failure [Disruptive]", func() { var _ = KubeDescribe("Etcd failure [Disruptive]", func() {
framework := NewDefaultFramework("etcd-failure") framework := NewDefaultFramework("etcd-failure")

View File

@@ -31,7 +31,7 @@ import (
. "github.com/onsi/gomega" . "github.com/onsi/gomega"
) )
var _ = Describe("Events", func() { var _ = KubeDescribe("Events", func() {
framework := NewDefaultFramework("events") framework := NewDefaultFramework("events")
It("should be sent by kubelets and the scheduler about pods scheduling and running [Conformance]", func() { It("should be sent by kubelets and the scheduler about pods scheduling and running [Conformance]", func() {

View File

@@ -41,7 +41,7 @@ try:
except: except:
print 'err'` print 'err'`
var _ = Describe("ClusterDns [Feature:Example]", func() { var _ = KubeDescribe("ClusterDns [Feature:Example]", func() {
framework := NewDefaultFramework("cluster-dns") framework := NewDefaultFramework("cluster-dns")
var c *client.Client var c *client.Client

View File

@@ -153,7 +153,7 @@ T:
Ω(totalTransactions).Should(BeNumerically(">", finalTransactionsExpected)) Ω(totalTransactions).Should(BeNumerically(">", finalTransactionsExpected))
} }
var _ = Describe("Pet Store [Feature:Example]", func() { var _ = KubeDescribe("Pet Store [Feature:Example]", func() {
BeforeEach(func() { BeforeEach(func() {
// The shell scripts in k8petstore break on jenkins... Pure golang rewrite is in progress. // The shell scripts in k8petstore break on jenkins... Pure golang rewrite is in progress.

View File

@@ -37,7 +37,7 @@ const (
serverStartTimeout = podStartTimeout + 3*time.Minute serverStartTimeout = podStartTimeout + 3*time.Minute
) )
var _ = Describe("[Feature:Example]", func() { var _ = KubeDescribe("[Feature:Example]", func() {
framework := NewDefaultFramework("examples") framework := NewDefaultFramework("examples")
var c *client.Client var c *client.Client
var ns string var ns string
@@ -46,7 +46,7 @@ var _ = Describe("[Feature:Example]", func() {
ns = framework.Namespace.Name ns = framework.Namespace.Name
}) })
Describe("Redis", func() { KubeDescribe("Redis", func() {
It("should create and stop redis servers", func() { It("should create and stop redis servers", func() {
mkpath := func(file string) string { mkpath := func(file string) string {
return filepath.Join(testContext.RepoRoot, "examples/redis", file) return filepath.Join(testContext.RepoRoot, "examples/redis", file)
@@ -108,7 +108,7 @@ var _ = Describe("[Feature:Example]", func() {
}) })
}) })
Describe("Celery-RabbitMQ", func() { KubeDescribe("Celery-RabbitMQ", func() {
It("should create and stop celery+rabbitmq servers", func() { It("should create and stop celery+rabbitmq servers", func() {
mkpath := func(file string) string { mkpath := func(file string) string {
return filepath.Join(testContext.RepoRoot, "examples", "celery-rabbitmq", file) return filepath.Join(testContext.RepoRoot, "examples", "celery-rabbitmq", file)
@@ -151,7 +151,7 @@ var _ = Describe("[Feature:Example]", func() {
}) })
}) })
Describe("Spark", func() { KubeDescribe("Spark", func() {
It("should start spark master, driver and workers", func() { It("should start spark master, driver and workers", func() {
mkpath := func(file string) string { mkpath := func(file string) string {
return filepath.Join(testContext.RepoRoot, "examples", "spark", file) return filepath.Join(testContext.RepoRoot, "examples", "spark", file)
@@ -201,7 +201,7 @@ var _ = Describe("[Feature:Example]", func() {
}) })
}) })
Describe("Cassandra", func() { KubeDescribe("Cassandra", func() {
It("should create and scale cassandra", func() { It("should create and scale cassandra", func() {
mkpath := func(file string) string { mkpath := func(file string) string {
return filepath.Join(testContext.RepoRoot, "examples", "cassandra", file) return filepath.Join(testContext.RepoRoot, "examples", "cassandra", file)
@@ -248,7 +248,7 @@ var _ = Describe("[Feature:Example]", func() {
}) })
}) })
Describe("Storm", func() { KubeDescribe("Storm", func() {
It("should create and stop Zookeeper, Nimbus and Storm worker servers", func() { It("should create and stop Zookeeper, Nimbus and Storm worker servers", func() {
mkpath := func(file string) string { mkpath := func(file string) string {
return filepath.Join(testContext.RepoRoot, "examples", "storm", file) return filepath.Join(testContext.RepoRoot, "examples", "storm", file)
@@ -302,7 +302,7 @@ var _ = Describe("[Feature:Example]", func() {
}) })
}) })
Describe("Liveness", func() { KubeDescribe("Liveness", func() {
It("liveness pods should be automatically restarted", func() { It("liveness pods should be automatically restarted", func() {
mkpath := func(file string) string { mkpath := func(file string) string {
return filepath.Join(testContext.RepoRoot, "docs", "user-guide", "liveness", file) return filepath.Join(testContext.RepoRoot, "docs", "user-guide", "liveness", file)
@@ -352,7 +352,7 @@ var _ = Describe("[Feature:Example]", func() {
}) })
}) })
Describe("Secret", func() { KubeDescribe("Secret", func() {
It("should create a pod that reads a secret", func() { It("should create a pod that reads a secret", func() {
mkpath := func(file string) string { mkpath := func(file string) string {
return filepath.Join(testContext.RepoRoot, "docs", "user-guide", "secrets", file) return filepath.Join(testContext.RepoRoot, "docs", "user-guide", "secrets", file)
@@ -374,7 +374,7 @@ var _ = Describe("[Feature:Example]", func() {
}) })
}) })
Describe("Downward API", func() { KubeDescribe("Downward API", func() {
It("should create a pod that prints his name and namespace", func() { It("should create a pod that prints his name and namespace", func() {
mkpath := func(file string) string { mkpath := func(file string) string {
return filepath.Join(testContext.RepoRoot, "docs", "user-guide", "downward-api", file) return filepath.Join(testContext.RepoRoot, "docs", "user-guide", "downward-api", file)
@@ -396,7 +396,7 @@ var _ = Describe("[Feature:Example]", func() {
}) })
}) })
Describe("RethinkDB", func() { KubeDescribe("RethinkDB", func() {
It("should create and stop rethinkdb servers", func() { It("should create and stop rethinkdb servers", func() {
mkpath := func(file string) string { mkpath := func(file string) string {
return filepath.Join(testContext.RepoRoot, "examples", "rethinkdb", file) return filepath.Join(testContext.RepoRoot, "examples", "rethinkdb", file)
@@ -438,7 +438,7 @@ var _ = Describe("[Feature:Example]", func() {
}) })
}) })
Describe("Hazelcast", func() { KubeDescribe("Hazelcast", func() {
It("should create and scale hazelcast", func() { It("should create and scale hazelcast", func() {
mkpath := func(file string) string { mkpath := func(file string) string {
return filepath.Join(testContext.RepoRoot, "examples", "hazelcast", file) return filepath.Join(testContext.RepoRoot, "examples", "hazelcast", file)

View File

@@ -25,7 +25,7 @@ import (
// These tests exercise the Kubernetes expansion syntax $(VAR). // These tests exercise the Kubernetes expansion syntax $(VAR).
// For more information, see: docs/design/expansion.md // For more information, see: docs/design/expansion.md
var _ = Describe("Variable Expansion", func() { var _ = KubeDescribe("Variable Expansion", func() {
framework := NewDefaultFramework("var-expansion") framework := NewDefaultFramework("var-expansion")
It("should allow composing env vars into new env vars [Conformance]", func() { It("should allow composing env vars into new env vars [Conformance]", func() {

View File

@@ -413,3 +413,9 @@ func kubectlExec(namespace string, podName, containerName string, args ...string
err := cmd.Run() err := cmd.Run()
return stdout.Bytes(), stderr.Bytes(), err return stdout.Bytes(), stderr.Bytes(), err
} }
// Wrapper function for ginkgo describe. Adds namespacing.
// TODO: Support type safe tagging as well https://github.com/kubernetes/kubernetes/pull/22401.
func KubeDescribe(text string, body func()) bool {
return Describe("[k8s.io] "+text, body)
}

View File

@@ -30,7 +30,7 @@ import (
// This test requires that --terminated-pod-gc-threshold=100 be set on the controller manager // This test requires that --terminated-pod-gc-threshold=100 be set on the controller manager
// //
// Slow by design (7 min) // Slow by design (7 min)
var _ = Describe("Garbage collector [Slow]", func() { var _ = KubeDescribe("Garbage collector [Slow]", func() {
f := NewDefaultFramework("garbage-collector") f := NewDefaultFramework("garbage-collector")
It("should handle the creation of 1000 pods", func() { It("should handle the creation of 1000 pods", func() {
SkipUnlessProviderIs("gce") SkipUnlessProviderIs("gce")

View File

@@ -32,7 +32,7 @@ import (
. "github.com/onsi/gomega" . "github.com/onsi/gomega"
) )
var _ = Describe("Generated release_1_2 clientset", func() { var _ = KubeDescribe("Generated release_1_2 clientset", func() {
framework := NewDefaultFramework("clientset") framework := NewDefaultFramework("clientset")
It("should create pods, delete pods, watch pods", func() { It("should create pods, delete pods, watch pods", func() {
podClient := framework.Clientset_1_2.Core().Pods(framework.Namespace.Name) podClient := framework.Clientset_1_2.Core().Pods(framework.Namespace.Name)

View File

@@ -34,8 +34,7 @@ const (
// These tests don't seem to be running properly in parallel: issue: #20338. // These tests don't seem to be running properly in parallel: issue: #20338.
// //
var _ = KubeDescribe("Horizontal pod autoscaling (scale resource: CPU)", func() {
var _ = Describe("Horizontal pod autoscaling (scale resource: CPU)", func() {
var rc *ResourceConsumer var rc *ResourceConsumer
f := NewDefaultFramework("horizontal-pod-autoscaling") f := NewDefaultFramework("horizontal-pod-autoscaling")
@@ -43,7 +42,7 @@ var _ = Describe("Horizontal pod autoscaling (scale resource: CPU)", func() {
titleDown := "Should scale from 5 pods to 3 pods and from 3 to 1 and verify decision stability" titleDown := "Should scale from 5 pods to 3 pods and from 3 to 1 and verify decision stability"
// These tests take ~20 minutes each. // These tests take ~20 minutes each.
Describe("[Serial] [Slow] Deployment", func() { KubeDescribe("[Serial] [Slow] Deployment", func() {
// CPU tests via deployments // CPU tests via deployments
It(titleUp, func() { It(titleUp, func() {
scaleUp("test-deployment", kindDeployment, rc, f) scaleUp("test-deployment", kindDeployment, rc, f)
@@ -54,7 +53,7 @@ var _ = Describe("Horizontal pod autoscaling (scale resource: CPU)", func() {
}) })
// These tests take ~20 minutes each. // These tests take ~20 minutes each.
Describe("[Serial] [Slow] ReplicaSet", func() { KubeDescribe("[Serial] [Slow] ReplicaSet", func() {
// CPU tests via deployments // CPU tests via deployments
It(titleUp, func() { It(titleUp, func() {
scaleUp("rs", kindReplicaSet, rc, f) scaleUp("rs", kindReplicaSet, rc, f)
@@ -63,9 +62,8 @@ var _ = Describe("Horizontal pod autoscaling (scale resource: CPU)", func() {
scaleDown("rs", kindReplicaSet, rc, f) scaleDown("rs", kindReplicaSet, rc, f)
}) })
}) })
// These tests take ~20 minutes each. // These tests take ~20 minutes each.
Describe("[Serial] [Slow] ReplicationController", func() { KubeDescribe("[Serial] [Slow] ReplicationController", func() {
// CPU tests via replication controllers // CPU tests via replication controllers
It(titleUp, func() { It(titleUp, func() {
scaleUp("rc", kindRC, rc, f) scaleUp("rc", kindRC, rc, f)
@@ -75,7 +73,7 @@ var _ = Describe("Horizontal pod autoscaling (scale resource: CPU)", func() {
}) })
}) })
Describe("ReplicationController light", func() { KubeDescribe("ReplicationController light", func() {
It("Should scale from 1 pod to 2 pods", func() { It("Should scale from 1 pod to 2 pods", func() {
scaleTest := &HPAScaleTest{ scaleTest := &HPAScaleTest{
initPods: 1, initPods: 1,

View File

@@ -31,7 +31,7 @@ import (
//TODO : Consolidate this code with the code for emptyDir. //TODO : Consolidate this code with the code for emptyDir.
//This will require some smart. //This will require some smart.
var _ = Describe("hostPath", func() { var _ = KubeDescribe("hostPath", func() {
framework := NewDefaultFramework("hostpath") framework := NewDefaultFramework("hostpath")
var c *client.Client var c *client.Client
var namespace *api.Namespace var namespace *api.Namespace

View File

@@ -440,7 +440,7 @@ func (cont *IngressController) Cleanup(del bool) error {
// test requires at least 5. // test requires at least 5.
// //
// Slow by design (10 min) // Slow by design (10 min)
var _ = Describe("GCE L7 LoadBalancer Controller [Feature:Ingress]", func() { var _ = KubeDescribe("GCE L7 LoadBalancer Controller [Feature:Ingress]", func() {
// These variables are initialized after framework's beforeEach. // These variables are initialized after framework's beforeEach.
var ns string var ns string
var addonDir string var addonDir string

View File

@@ -29,7 +29,7 @@ import (
// these tests are not run by default. // these tests are not run by default.
// //
// Flaky issue #20272 // Flaky issue #20272
var _ = Describe("Initial Resources [Feature:InitialResources] [Flaky]", func() { var _ = KubeDescribe("Initial Resources [Feature:InitialResources] [Flaky]", func() {
f := NewDefaultFramework("initial-resources") f := NewDefaultFramework("initial-resources")
It("should set initial resources based on historical data", func() { It("should set initial resources based on historical data", func() {

View File

@@ -39,7 +39,7 @@ const (
jobSelectorKey = "job" jobSelectorKey = "job"
) )
var _ = Describe("Job", func() { var _ = KubeDescribe("Job", func() {
f := NewDefaultFramework("job") f := NewDefaultFramework("job")
parallelism := 2 parallelism := 2
completions := 4 completions := 4

View File

@@ -26,7 +26,7 @@ import (
. "github.com/onsi/gomega" . "github.com/onsi/gomega"
) )
var _ = Describe("Kibana Logging Instances Is Alive", func() { var _ = KubeDescribe("Kibana Logging Instances Is Alive", func() {
f := NewDefaultFramework("kibana-logging") f := NewDefaultFramework("kibana-logging")
BeforeEach(func() { BeforeEach(func() {

View File

@@ -109,7 +109,7 @@ var (
podProbeParametersVersion = version.MustParse("v1.2.0-alpha.4") podProbeParametersVersion = version.MustParse("v1.2.0-alpha.4")
) )
var _ = Describe("Kubectl client", func() { var _ = KubeDescribe("Kubectl client", func() {
defer GinkgoRecover() defer GinkgoRecover()
framework := NewDefaultFramework("kubectl") framework := NewDefaultFramework("kubectl")
var c *client.Client var c *client.Client
@@ -119,7 +119,7 @@ var _ = Describe("Kubectl client", func() {
ns = framework.Namespace.Name ns = framework.Namespace.Name
}) })
Describe("Update Demo", func() { KubeDescribe("Update Demo", func() {
var updateDemoRoot, nautilusPath, kittenPath string var updateDemoRoot, nautilusPath, kittenPath string
BeforeEach(func() { BeforeEach(func() {
updateDemoRoot = filepath.Join(testContext.RepoRoot, "docs/user-guide/update-demo") updateDemoRoot = filepath.Join(testContext.RepoRoot, "docs/user-guide/update-demo")
@@ -159,7 +159,7 @@ var _ = Describe("Kubectl client", func() {
}) })
}) })
Describe("Guestbook application", func() { KubeDescribe("Guestbook application", func() {
var guestbookPath string var guestbookPath string
BeforeEach(func() { BeforeEach(func() {
@@ -179,7 +179,7 @@ var _ = Describe("Kubectl client", func() {
}) })
}) })
Describe("Simple pod", func() { KubeDescribe("Simple pod", func() {
var podPath string var podPath string
BeforeEach(func() { BeforeEach(func() {
@@ -525,7 +525,7 @@ var _ = Describe("Kubectl client", func() {
}) })
}) })
Describe("Kubectl api-versions", func() { KubeDescribe("Kubectl api-versions", func() {
It("should check if v1 is in available api versions [Conformance]", func() { It("should check if v1 is in available api versions [Conformance]", func() {
By("validating api verions") By("validating api verions")
output := runKubectlOrDie("api-versions") output := runKubectlOrDie("api-versions")
@@ -535,7 +535,7 @@ var _ = Describe("Kubectl client", func() {
}) })
}) })
Describe("Kubectl apply", func() { KubeDescribe("Kubectl apply", func() {
It("should apply a new configuration to an existing RC", func() { It("should apply a new configuration to an existing RC", func() {
mkpath := func(file string) string { mkpath := func(file string) string {
return filepath.Join(testContext.RepoRoot, "examples/guestbook-go", file) return filepath.Join(testContext.RepoRoot, "examples/guestbook-go", file)
@@ -554,7 +554,7 @@ var _ = Describe("Kubectl client", func() {
}) })
}) })
Describe("Kubectl cluster-info", func() { KubeDescribe("Kubectl cluster-info", func() {
It("should check if Kubernetes master services is included in cluster-info [Conformance]", func() { It("should check if Kubernetes master services is included in cluster-info [Conformance]", func() {
By("validating cluster-info") By("validating cluster-info")
output := runKubectlOrDie("cluster-info") output := runKubectlOrDie("cluster-info")
@@ -571,7 +571,7 @@ var _ = Describe("Kubectl client", func() {
}) })
}) })
Describe("Kubectl describe", func() { KubeDescribe("Kubectl describe", func() {
It("should check if kubectl describe prints relevant information for rc and pods [Conformance]", func() { It("should check if kubectl describe prints relevant information for rc and pods [Conformance]", func() {
SkipUnlessServerVersionGTE(nodePortsOptionalVersion, c) SkipUnlessServerVersionGTE(nodePortsOptionalVersion, c)
@@ -670,7 +670,7 @@ var _ = Describe("Kubectl client", func() {
}) })
}) })
Describe("Kubectl expose", func() { KubeDescribe("Kubectl expose", func() {
It("should create services for rc [Conformance]", func() { It("should create services for rc [Conformance]", func() {
mkpath := func(file string) string { mkpath := func(file string) string {
return filepath.Join(testContext.RepoRoot, "examples/guestbook-go", file) return filepath.Join(testContext.RepoRoot, "examples/guestbook-go", file)
@@ -740,7 +740,7 @@ var _ = Describe("Kubectl client", func() {
}) })
}) })
Describe("Kubectl label", func() { KubeDescribe("Kubectl label", func() {
var podPath string var podPath string
var nsFlag string var nsFlag string
BeforeEach(func() { BeforeEach(func() {
@@ -776,7 +776,7 @@ var _ = Describe("Kubectl client", func() {
}) })
}) })
Describe("Kubectl logs", func() { KubeDescribe("Kubectl logs", func() {
var rcPath string var rcPath string
var nsFlag string var nsFlag string
containerName := "redis-master" containerName := "redis-master"
@@ -837,7 +837,7 @@ var _ = Describe("Kubectl client", func() {
}) })
}) })
Describe("Kubectl patch", func() { KubeDescribe("Kubectl patch", func() {
It("should add annotations for pods in rc [Conformance]", func() { It("should add annotations for pods in rc [Conformance]", func() {
mkpath := func(file string) string { mkpath := func(file string) string {
return filepath.Join(testContext.RepoRoot, "examples/guestbook-go", file) return filepath.Join(testContext.RepoRoot, "examples/guestbook-go", file)
@@ -866,7 +866,7 @@ var _ = Describe("Kubectl client", func() {
}) })
}) })
Describe("Kubectl version", func() { KubeDescribe("Kubectl version", func() {
It("should check is all data is printed [Conformance]", func() { It("should check is all data is printed [Conformance]", func() {
version := runKubectlOrDie("version") version := runKubectlOrDie("version")
requiredItems := []string{"Client Version:", "Server Version:", "Major:", "Minor:", "GitCommit:"} requiredItems := []string{"Client Version:", "Server Version:", "Major:", "Minor:", "GitCommit:"}
@@ -878,7 +878,7 @@ var _ = Describe("Kubectl client", func() {
}) })
}) })
Describe("Kubectl run default", func() { KubeDescribe("Kubectl run default", func() {
var nsFlag string var nsFlag string
var name string var name string
@@ -920,7 +920,7 @@ var _ = Describe("Kubectl client", func() {
}) })
}) })
Describe("Kubectl run rc", func() { KubeDescribe("Kubectl run rc", func() {
var nsFlag string var nsFlag string
var rcName string var rcName string
@@ -974,7 +974,7 @@ var _ = Describe("Kubectl client", func() {
}) })
}) })
Describe("Kubectl run deployment", func() { KubeDescribe("Kubectl run deployment", func() {
var nsFlag string var nsFlag string
var dName string var dName string
@@ -1016,7 +1016,7 @@ var _ = Describe("Kubectl client", func() {
}) })
}) })
Describe("Kubectl run job", func() { KubeDescribe("Kubectl run job", func() {
var nsFlag string var nsFlag string
var jobName string var jobName string
@@ -1068,7 +1068,7 @@ var _ = Describe("Kubectl client", func() {
}) })
}) })
Describe("Kubectl run --rm job", func() { KubeDescribe("Kubectl run --rm job", func() {
nsFlag := fmt.Sprintf("--namespace=%v", ns) nsFlag := fmt.Sprintf("--namespace=%v", ns)
jobName := "e2e-test-rm-busybox-job" jobName := "e2e-test-rm-busybox-job"
@@ -1092,7 +1092,7 @@ var _ = Describe("Kubectl client", func() {
}) })
}) })
Describe("Proxy server", func() { KubeDescribe("Proxy server", func() {
// TODO: test proxy options (static, prefix, etc) // TODO: test proxy options (static, prefix, etc)
It("should support proxy with --port 0 [Conformance]", func() { It("should support proxy with --port 0 [Conformance]", func() {
By("starting the proxy server") By("starting the proxy server")

View File

@@ -86,7 +86,7 @@ func waitTillNPodsRunningOnNodes(c *client.Client, nodeNames sets.String, podNam
}) })
} }
var _ = Describe("kubelet", func() { var _ = KubeDescribe("kubelet", func() {
var numNodes int var numNodes int
var nodeNames sets.String var nodeNames sets.String
framework := NewDefaultFramework("kubelet") framework := NewDefaultFramework("kubelet")
@@ -107,7 +107,7 @@ var _ = Describe("kubelet", func() {
resourceMonitor.Stop() resourceMonitor.Stop()
}) })
Describe("Clean up pods on node", func() { KubeDescribe("Clean up pods on node", func() {
type DeleteTest struct { type DeleteTest struct {
podsPerNode int podsPerNode int
timeout time.Duration timeout time.Duration

View File

@@ -40,7 +40,7 @@ type KubeletManagedHostConfig struct {
f *Framework f *Framework
} }
var _ = Describe("KubeletManagedEtcHosts", func() { var _ = KubeDescribe("KubeletManagedEtcHosts", func() {
f := NewDefaultFramework("e2e-kubelet-etc-hosts") f := NewDefaultFramework("e2e-kubelet-etc-hosts")
config := &KubeletManagedHostConfig{ config := &KubeletManagedHostConfig{
f: f, f: f,

View File

@@ -179,7 +179,7 @@ func verifyCPULimits(expected containersCPUSummary, actual nodesCPUSummary) {
} }
// Slow by design (1 hour) // Slow by design (1 hour)
var _ = Describe("Kubelet [Serial] [Slow]", func() { var _ = KubeDescribe("Kubelet [Serial] [Slow]", func() {
var nodeNames sets.String var nodeNames sets.String
framework := NewDefaultFramework("kubelet-perf") framework := NewDefaultFramework("kubelet-perf")
var rm *resourceMonitor var rm *resourceMonitor
@@ -197,7 +197,7 @@ var _ = Describe("Kubelet [Serial] [Slow]", func() {
AfterEach(func() { AfterEach(func() {
rm.Stop() rm.Stop()
}) })
Describe("regular resource usage tracking", func() { KubeDescribe("regular resource usage tracking", func() {
// We assume that the scheduler will make reasonable scheduling choices // We assume that the scheduler will make reasonable scheduling choices
// and assign ~N pods on the node. // and assign ~N pods on the node.
// Although we want to track N pods per node, there are N + add-on pods // Although we want to track N pods per node, there are N + add-on pods
@@ -248,7 +248,7 @@ var _ = Describe("Kubelet [Serial] [Slow]", func() {
}) })
} }
}) })
Describe("experimental resource usage tracking [Feature:ExperimentalResourceUsageTracking]", func() { KubeDescribe("experimental resource usage tracking [Feature:ExperimentalResourceUsageTracking]", func() {
density := []int{100} density := []int{100}
for i := range density { for i := range density {
podsPerNode := density[i] podsPerNode := density[i]

View File

@@ -69,7 +69,7 @@ type KubeProxyTestConfig struct {
nodes []api.Node nodes []api.Node
} }
var _ = Describe("KubeProxy", func() { var _ = KubeDescribe("KubeProxy", func() {
f := NewDefaultFramework("e2e-kubeproxy") f := NewDefaultFramework("e2e-kubeproxy")
config := &KubeProxyTestConfig{ config := &KubeProxyTestConfig{
f: f, f: f,

View File

@@ -26,7 +26,7 @@ import (
. "github.com/onsi/gomega" . "github.com/onsi/gomega"
) )
var _ = Describe("LimitRange", func() { var _ = KubeDescribe("LimitRange", func() {
f := NewDefaultFramework("limitrange") f := NewDefaultFramework("limitrange")
It("should create a LimitRange with defaults and ensure pod has those defaults applied.", func() { It("should create a LimitRange with defaults and ensure pod has those defaults applied.", func() {

View File

@@ -47,7 +47,7 @@ const (
// the ginkgo.skip list (see driver.go). // the ginkgo.skip list (see driver.go).
// To run this suite you must explicitly ask for it by setting the // To run this suite you must explicitly ask for it by setting the
// -t/--test flag or ginkgo.focus flag. // -t/--test flag or ginkgo.focus flag.
var _ = Describe("Load capacity", func() { var _ = KubeDescribe("Load capacity", func() {
var c *client.Client var c *client.Client
var nodeCount int var nodeCount int
var ns string var ns string

View File

@@ -29,7 +29,7 @@ import (
. "github.com/onsi/gomega" . "github.com/onsi/gomega"
) )
var _ = Describe("Mesos", func() { var _ = KubeDescribe("Mesos", func() {
framework := NewDefaultFramework("pods") framework := NewDefaultFramework("pods")
var c *client.Client var c *client.Client
var ns string var ns string

View File

@@ -77,7 +77,7 @@ func checkMetrics(response metrics.Metrics, assumedMetrics map[string][]string)
Expect(invalidLabels).To(BeEmpty()) Expect(invalidLabels).To(BeEmpty())
} }
var _ = Describe("MetricsGrabber", func() { var _ = KubeDescribe("MetricsGrabber", func() {
framework := NewDefaultFramework("metrics-grabber") framework := NewDefaultFramework("metrics-grabber")
var c *client.Client var c *client.Client
var grabber *metrics.MetricsGrabber var grabber *metrics.MetricsGrabber

View File

@@ -31,7 +31,7 @@ import (
. "github.com/onsi/ginkgo" . "github.com/onsi/ginkgo"
) )
var _ = Describe("Monitoring", func() { var _ = KubeDescribe("Monitoring", func() {
f := NewDefaultFramework("monitoring") f := NewDefaultFramework("monitoring")
BeforeEach(func() { BeforeEach(func() {

View File

@@ -207,7 +207,7 @@ func ensureServicesAreRemovedWhenNamespaceIsDeleted(f *Framework) {
// that each have a variable amount of content in the associated Namespace. // that each have a variable amount of content in the associated Namespace.
// When run in [Serial] this test appears to delete Namespace objects at a // When run in [Serial] this test appears to delete Namespace objects at a
// rate of approximately 1 per second. // rate of approximately 1 per second.
var _ = Describe("Namespaces [Serial]", func() { var _ = KubeDescribe("Namespaces [Serial]", func() {
f := NewDefaultFramework("namespaces") f := NewDefaultFramework("namespaces")

View File

@@ -29,7 +29,7 @@ import (
. "github.com/onsi/gomega" . "github.com/onsi/gomega"
) )
var _ = Describe("Networking", func() { var _ = KubeDescribe("Networking", func() {
f := NewDefaultFramework("nettest") f := NewDefaultFramework("nettest")
var svcname = "nettest" var svcname = "nettest"
@@ -213,7 +213,7 @@ var _ = Describe("Networking", func() {
}) })
// Marked with [Flaky] until the tests prove themselves stable. // Marked with [Flaky] until the tests prove themselves stable.
Describe("[Flaky] Granular Checks", func() { KubeDescribe("[Flaky] Granular Checks", func() {
It("should function for pod communication on a single node", func() { It("should function for pod communication on a single node", func() {

View File

@@ -64,7 +64,7 @@ const (
// 7. Observe that the pod in pending status schedules on that node. // 7. Observe that the pod in pending status schedules on that node.
// //
// Flaky issue #20015. We have no clear path for how to test this functionality in a non-flaky way. // Flaky issue #20015. We have no clear path for how to test this functionality in a non-flaky way.
var _ = Describe("NodeOutOfDisk [Serial] [Flaky] [Disruptive]", func() { var _ = KubeDescribe("NodeOutOfDisk [Serial] [Flaky] [Disruptive]", func() {
var c *client.Client var c *client.Client
var unfilledNodeName, recoveredNodeName string var unfilledNodeName, recoveredNodeName string
framework := NewDefaultFramework("node-outofdisk") framework := NewDefaultFramework("node-outofdisk")

View File

@@ -45,7 +45,7 @@ const (
gcePDDetachPollTime = 10 * time.Second gcePDDetachPollTime = 10 * time.Second
) )
var _ = Describe("Pod Disks", func() { var _ = KubeDescribe("Pod Disks", func() {
var ( var (
podClient client.PodInterface podClient client.PodInterface
host0Name string host0Name string

View File

@@ -30,7 +30,7 @@ import (
// This test needs privileged containers, which are disabled by default. Run // This test needs privileged containers, which are disabled by default. Run
// the test with "go run hack/e2e.go ... --ginkgo.focus=[Feature:Volumes]" // the test with "go run hack/e2e.go ... --ginkgo.focus=[Feature:Volumes]"
var _ = Describe("PersistentVolumes [Feature:Volumes]", func() { var _ = KubeDescribe("PersistentVolumes [Feature:Volumes]", func() {
framework := NewDefaultFramework("pv") framework := NewDefaultFramework("pv")
var c *client.Client var c *client.Client
var ns string var ns string

View File

@@ -205,7 +205,7 @@ func getRestartDelay(c *client.Client, pod *api.Pod, ns string, name string, con
return 0, fmt.Errorf("timeout getting pod restart delay") return 0, fmt.Errorf("timeout getting pod restart delay")
} }
var _ = Describe("Pods", func() { var _ = KubeDescribe("Pods", func() {
framework := NewDefaultFramework("pods") framework := NewDefaultFramework("pods")
It("should get a host IP [Conformance]", func() { It("should get a host IP [Conformance]", func() {

View File

@@ -110,10 +110,10 @@ func runPortForward(ns, podName string, port int) (*exec.Cmd, int) {
return cmd, listenPort return cmd, listenPort
} }
var _ = Describe("Port forwarding", func() { var _ = KubeDescribe("Port forwarding", func() {
framework := NewDefaultFramework("port-forwarding") framework := NewDefaultFramework("port-forwarding")
Describe("With a server that expects a client request", func() { KubeDescribe("With a server that expects a client request", func() {
It("should support a client that connects, sends no data, and disconnects [Conformance]", func() { It("should support a client that connects, sends no data, and disconnects [Conformance]", func() {
By("creating the target pod") By("creating the target pod")
pod := pfPod("abc", "1", "1", "1") pod := pfPod("abc", "1", "1", "1")
@@ -214,7 +214,7 @@ var _ = Describe("Port forwarding", func() {
verifyLogMessage(logOutput, "^Done$") verifyLogMessage(logOutput, "^Done$")
}) })
}) })
Describe("With a server that expects no client request", func() { KubeDescribe("With a server that expects no client request", func() {
It("should support a client that connects, sends no data, and disconnects [Conformance]", func() { It("should support a client that connects, sends no data, and disconnects [Conformance]", func() {
By("creating the target pod") By("creating the target pod")
pod := pfPod("", "10", "10", "100") pod := pfPod("", "10", "10", "100")

View File

@@ -158,7 +158,7 @@ func testPreStop(c *client.Client, ns string) {
expectNoError(err, "validating pre-stop.") expectNoError(err, "validating pre-stop.")
} }
var _ = Describe("PreStop", func() { var _ = KubeDescribe("PreStop", func() {
f := NewDefaultFramework("prestop") f := NewDefaultFramework("prestop")
It("should call prestop when killing a pod [Conformance]", func() { It("should call prestop when killing a pod [Conformance]", func() {

View File

@@ -47,7 +47,7 @@ type PrivilegedPodTestConfig struct {
hostExecPod *api.Pod hostExecPod *api.Pod
} }
var _ = Describe("PrivilegedPod", func() { var _ = KubeDescribe("PrivilegedPod", func() {
f := NewDefaultFramework("e2e-privilegedpod") f := NewDefaultFramework("e2e-privilegedpod")
config := &PrivilegedPodTestConfig{ config := &PrivilegedPodTestConfig{
f: f, f: f,

View File

@@ -34,7 +34,7 @@ import (
. "github.com/onsi/gomega" . "github.com/onsi/gomega"
) )
var _ = Describe("Proxy", func() { var _ = KubeDescribe("Proxy", func() {
version := testapi.Default.GroupVersion().Version version := testapi.Default.GroupVersion().Version
Context("version "+version, func() { proxyContext(version) }) Context("version "+version, func() { proxyContext(version) })
}) })

View File

@@ -29,7 +29,7 @@ import (
. "github.com/onsi/gomega" . "github.com/onsi/gomega"
) )
var _ = Describe("ReplicationController", func() { var _ = KubeDescribe("ReplicationController", func() {
framework := NewDefaultFramework("replication-controller") framework := NewDefaultFramework("replication-controller")
It("should serve a basic image on each replica with a public image [Conformance]", func() { It("should serve a basic image on each replica with a public image [Conformance]", func() {

View File

@@ -45,7 +45,7 @@ const (
rebootPodReadyAgainTimeout = 5 * time.Minute rebootPodReadyAgainTimeout = 5 * time.Minute
) )
var _ = Describe("Reboot [Disruptive] [Feature:Reboot]", func() { var _ = KubeDescribe("Reboot [Disruptive] [Feature:Reboot]", func() {
var f *Framework var f *Framework
BeforeEach(func() { BeforeEach(func() {

View File

@@ -31,7 +31,7 @@ import (
. "github.com/onsi/gomega" . "github.com/onsi/gomega"
) )
var _ = Describe("ReplicaSet", func() { var _ = KubeDescribe("ReplicaSet", func() {
framework := NewDefaultFramework("replicaset") framework := NewDefaultFramework("replicaset")
It("should serve a basic image on each replica with a public image [Conformance]", func() { It("should serve a basic image on each replica with a public image [Conformance]", func() {

View File

@@ -340,7 +340,7 @@ func expectNodeReadiness(isReady bool, newNode chan *api.Node) {
} }
} }
var _ = Describe("Nodes [Disruptive]", func() { var _ = KubeDescribe("Nodes [Disruptive]", func() {
framework := NewDefaultFramework("resize-nodes") framework := NewDefaultFramework("resize-nodes")
var systemPodsNo int var systemPodsNo int
var c *client.Client var c *client.Client
@@ -354,7 +354,7 @@ var _ = Describe("Nodes [Disruptive]", func() {
}) })
// Slow issue #13323 (8 min) // Slow issue #13323 (8 min)
Describe("Resize [Slow]", func() { KubeDescribe("Resize [Slow]", func() {
var skipped bool var skipped bool
BeforeEach(func() { BeforeEach(func() {
@@ -448,7 +448,7 @@ var _ = Describe("Nodes [Disruptive]", func() {
}) })
}) })
Describe("Network", func() { KubeDescribe("Network", func() {
Context("when a node becomes unreachable", func() { Context("when a node becomes unreachable", func() {
BeforeEach(func() { BeforeEach(func() {
SkipUnlessProviderIs("gce", "gke", "aws") SkipUnlessProviderIs("gce", "gke", "aws")

View File

@@ -35,7 +35,7 @@ const (
resourceQuotaTimeout = 30 * time.Second resourceQuotaTimeout = 30 * time.Second
) )
var _ = Describe("ResourceQuota", func() { var _ = KubeDescribe("ResourceQuota", func() {
f := NewDefaultFramework("resourcequota") f := NewDefaultFramework("resourcequota")
It("should create a ResourceQuota and ensure its status is promptly calculated.", func() { It("should create a ResourceQuota and ensure its status is promptly calculated.", func() {

View File

@@ -48,7 +48,7 @@ const (
restartPodReadyAgainTimeout = 5 * time.Minute restartPodReadyAgainTimeout = 5 * time.Minute
) )
var _ = Describe("Restart [Disruptive]", func() { var _ = KubeDescribe("Restart [Disruptive]", func() {
f := NewDefaultFramework("restart") f := NewDefaultFramework("restart")
var ps *podStore var ps *podStore

View File

@@ -140,7 +140,7 @@ func waitForStableCluster(c *client.Client) int {
return len(scheduledPods) return len(scheduledPods)
} }
var _ = Describe("SchedulerPredicates [Serial]", func() { var _ = KubeDescribe("SchedulerPredicates [Serial]", func() {
var c *client.Client var c *client.Client
var nodeList *api.NodeList var nodeList *api.NodeList
var systemPodsNo int var systemPodsNo int

View File

@@ -25,7 +25,7 @@ import (
. "github.com/onsi/ginkgo" . "github.com/onsi/ginkgo"
) )
var _ = Describe("Secrets", func() { var _ = KubeDescribe("Secrets", func() {
f := NewDefaultFramework("secrets") f := NewDefaultFramework("secrets")
It("should be consumable from pods in volume [Conformance]", func() { It("should be consumable from pods in volume [Conformance]", func() {

View File

@@ -57,7 +57,7 @@ func scTestPod(hostIPC bool, hostPID bool) *api.Pod {
return pod return pod
} }
var _ = Describe("Security Context [Feature:SecurityContext]", func() { var _ = KubeDescribe("Security Context [Feature:SecurityContext]", func() {
framework := NewDefaultFramework("security-context") framework := NewDefaultFramework("security-context")
It("should support pod.Spec.SecurityContext.SupplementalGroups", func() { It("should support pod.Spec.SecurityContext.SupplementalGroups", func() {

View File

@@ -61,7 +61,7 @@ const loadBalancerCreateTimeout = 20 * time.Minute
// This should match whatever the default/configured range is // This should match whatever the default/configured range is
var ServiceNodePortRange = utilnet.PortRange{Base: 30000, Size: 2768} var ServiceNodePortRange = utilnet.PortRange{Base: 30000, Size: 2768}
var _ = Describe("Services", func() { var _ = KubeDescribe("Services", func() {
f := NewDefaultFramework("services") f := NewDefaultFramework("services")
var c *client.Client var c *client.Client

View File

@@ -33,7 +33,7 @@ import (
var serviceAccountTokenNamespaceVersion = version.MustParse("v1.2.0") var serviceAccountTokenNamespaceVersion = version.MustParse("v1.2.0")
var _ = Describe("ServiceAccounts", func() { var _ = KubeDescribe("ServiceAccounts", func() {
f := NewDefaultFramework("svcaccounts") f := NewDefaultFramework("svcaccounts")
It("should ensure a single API token exists", func() { It("should ensure a single API token exists", func() {

View File

@@ -39,7 +39,7 @@ func (d durations) Len() int { return len(d) }
func (d durations) Less(i, j int) bool { return d[i] < d[j] } func (d durations) Less(i, j int) bool { return d[i] < d[j] }
func (d durations) Swap(i, j int) { d[i], d[j] = d[j], d[i] } func (d durations) Swap(i, j int) { d[i], d[j] = d[j], d[i] }
var _ = Describe("Service endpoints latency", func() { var _ = KubeDescribe("Service endpoints latency", func() {
f := NewDefaultFramework("svc-latency") f := NewDefaultFramework("svc-latency")
It("should not be very high [Conformance]", func() { It("should not be very high [Conformance]", func() {

View File

@@ -204,7 +204,7 @@ func (s *ingManager) test(path string) error {
}) })
} }
var _ = Describe("ServiceLoadBalancer [Feature:ServiceLoadBalancer]", func() { var _ = KubeDescribe("ServiceLoadBalancer [Feature:ServiceLoadBalancer]", func() {
// These variables are initialized after framework's beforeEach. // These variables are initialized after framework's beforeEach.
var ns string var ns string
var repoRoot string var repoRoot string

View File

@@ -23,7 +23,7 @@ import (
. "github.com/onsi/ginkgo" . "github.com/onsi/ginkgo"
) )
var _ = Describe("SSH", func() { var _ = KubeDescribe("SSH", func() {
f := NewDefaultFramework("ssh") f := NewDefaultFramework("ssh")

View File

@@ -31,7 +31,7 @@ import (
"k8s.io/kubernetes/pkg/util/sets" "k8s.io/kubernetes/pkg/util/sets"
) )
var _ = Describe("Ubernetes Lite", func() { var _ = KubeDescribe("Ubernetes Lite", func() {
framework := NewDefaultFramework("ubernetes-lite") framework := NewDefaultFramework("ubernetes-lite")
var zoneCount int var zoneCount int
var err error var err error

View File

@@ -36,7 +36,7 @@ const (
expectedSize = "2Gi" expectedSize = "2Gi"
) )
var _ = Describe("Dynamic provisioning", func() { var _ = KubeDescribe("Dynamic provisioning", func() {
framework := NewDefaultFramework("volume-provisioning") framework := NewDefaultFramework("volume-provisioning")
// filled in BeforeEach // filled in BeforeEach
@@ -48,7 +48,7 @@ var _ = Describe("Dynamic provisioning", func() {
ns = framework.Namespace.Name ns = framework.Namespace.Name
}) })
Describe("DynamicProvisioner", func() { KubeDescribe("DynamicProvisioner", func() {
It("should create and delete persistent volumes", func() { It("should create and delete persistent volumes", func() {
SkipUnlessProviderIs("openstack", "gce", "aws") SkipUnlessProviderIs("openstack", "gce", "aws")
By("creating a claim with a dynamic provisioning annotation") By("creating a claim with a dynamic provisioning annotation")

View File

@@ -331,7 +331,7 @@ func deleteCinderVolume(name string) error {
// These tests need privileged containers, which are disabled by default. Run // These tests need privileged containers, which are disabled by default. Run
// the test with "go run hack/e2e.go ... --ginkgo.focus=[Feature:Volumes]" // the test with "go run hack/e2e.go ... --ginkgo.focus=[Feature:Volumes]"
var _ = Describe("Volumes [Feature:Volumes]", func() { var _ = KubeDescribe("Volumes [Feature:Volumes]", func() {
framework := NewDefaultFramework("volume") framework := NewDefaultFramework("volume")
// If 'false', the test won't clear its volumes upon completion. Useful for debugging, // If 'false', the test won't clear its volumes upon completion. Useful for debugging,
@@ -350,7 +350,7 @@ var _ = Describe("Volumes [Feature:Volumes]", func() {
// NFS // NFS
//////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////
Describe("NFS", func() { KubeDescribe("NFS", func() {
It("should be mountable", func() { It("should be mountable", func() {
config := VolumeTestConfig{ config := VolumeTestConfig{
namespace: namespace.Name, namespace: namespace.Name,
@@ -384,7 +384,7 @@ var _ = Describe("Volumes [Feature:Volumes]", func() {
// Gluster // Gluster
//////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////
Describe("GlusterFS", func() { KubeDescribe("GlusterFS", func() {
It("should be mountable", func() { It("should be mountable", func() {
config := VolumeTestConfig{ config := VolumeTestConfig{
namespace: namespace.Name, namespace: namespace.Name,
@@ -463,7 +463,7 @@ var _ = Describe("Volumes [Feature:Volumes]", func() {
// are installed on all nodes! // are installed on all nodes!
// Run the test with "go run hack/e2e.go ... --ginkgo.focus=iSCSI" // Run the test with "go run hack/e2e.go ... --ginkgo.focus=iSCSI"
Describe("iSCSI", func() { KubeDescribe("iSCSI", func() {
It("should be mountable", func() { It("should be mountable", func() {
config := VolumeTestConfig{ config := VolumeTestConfig{
namespace: namespace.Name, namespace: namespace.Name,
@@ -505,7 +505,7 @@ var _ = Describe("Volumes [Feature:Volumes]", func() {
// Ceph RBD // Ceph RBD
//////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////
Describe("Ceph RBD", func() { KubeDescribe("Ceph RBD", func() {
It("should be mountable", func() { It("should be mountable", func() {
config := VolumeTestConfig{ config := VolumeTestConfig{
namespace: namespace.Name, namespace: namespace.Name,
@@ -578,7 +578,7 @@ var _ = Describe("Volumes [Feature:Volumes]", func() {
// Ceph // Ceph
//////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////
Describe("CephFS", func() { KubeDescribe("CephFS", func() {
It("should be mountable", func() { It("should be mountable", func() {
config := VolumeTestConfig{ config := VolumeTestConfig{
namespace: namespace.Name, namespace: namespace.Name,
@@ -649,7 +649,7 @@ var _ = Describe("Volumes [Feature:Volumes]", func() {
// and that the usual OpenStack authentication env. variables are set // and that the usual OpenStack authentication env. variables are set
// (OS_USERNAME, OS_PASSWORD, OS_TENANT_NAME at least). // (OS_USERNAME, OS_PASSWORD, OS_TENANT_NAME at least).
Describe("Cinder", func() { KubeDescribe("Cinder", func() {
It("should be mountable", func() { It("should be mountable", func() {
config := VolumeTestConfig{ config := VolumeTestConfig{
namespace: namespace.Name, namespace: namespace.Name,