Browse code

Label idling tests [local] for now, add more tests to suite

Put rescheduler in the access to all nodes bucket, add 'Downward API'
suite.

Clayton Coleman authored on 2016/12/30 06:10:06
Showing 3 changed files
... ...
@@ -279,7 +279,7 @@ var _ = g.Describe("idling and unidling", func() {
279 279
 			fixture = echoServerFixture
280 280
 		})
281 281
 
282
-		g.It("should work with TCP (when fully idled) [Conformance]", func() {
282
+		g.It("should work with TCP (when fully idled) [Conformance] [local]", func() {
283 283
 			g.By("Idling the service")
284 284
 			_, err := oc.Run("idle").Args("--resource-names-file", idlingFile).Output()
285 285
 			o.Expect(err).ToNot(o.HaveOccurred())
... ...
@@ -308,7 +308,7 @@ var _ = g.Describe("idling and unidling", func() {
308 308
 			o.Expect(endpoints.Annotations).NotTo(o.HaveKey(unidlingapi.UnidleTargetAnnotation))
309 309
 		})
310 310
 
311
-		g.It("should work with TCP (while idling)", func() {
311
+		g.It("should work with TCP (while idling) [local]", func() {
312 312
 			g.By("Idling the service")
313 313
 			_, err := oc.Run("idle").Args("--resource-names-file", idlingFile).Output()
314 314
 			o.Expect(err).ToNot(o.HaveOccurred())
... ...
@@ -332,7 +332,7 @@ var _ = g.Describe("idling and unidling", func() {
332 332
 			o.Expect(endpoints.Annotations).NotTo(o.HaveKey(unidlingapi.UnidleTargetAnnotation))
333 333
 		})
334 334
 
335
-		g.It("should handle many TCP connections by dropping those under a certain bound", func() {
335
+		g.It("should handle many TCP connections by dropping those under a certain bound [local]", func() {
336 336
 			g.By("Idling the service")
337 337
 			_, err := oc.Run("idle").Args("--resource-names-file", idlingFile).Output()
338 338
 			o.Expect(err).ToNot(o.HaveOccurred())
... ...
@@ -382,7 +382,7 @@ var _ = g.Describe("idling and unidling", func() {
382 382
 			o.Expect(endpoints.Annotations).NotTo(o.HaveKey(unidlingapi.UnidleTargetAnnotation))
383 383
 		})
384 384
 
385
-		g.It("should work with UDP", func() {
385
+		g.It("should work with UDP [local]", func() {
386 386
 			g.By("Idling the service")
387 387
 			_, err := oc.Run("idle").Args("--resource-names-file", idlingFile).Output()
388 388
 			o.Expect(err).ToNot(o.HaveOccurred())
... ...
@@ -412,7 +412,7 @@ var _ = g.Describe("idling and unidling", func() {
412 412
 		})
413 413
 
414 414
 		// TODO: Work out how to make this test work correctly when run on AWS
415
-		g.XIt("should handle many UDP senders (by continuing to drop all packets on the floor)", func() {
415
+		g.XIt("should handle many UDP senders (by continuing to drop all packets on the floor) [local]", func() {
416 416
 			g.By("Idling the service")
417 417
 			_, err := oc.Run("idle").Args("--resource-names-file", idlingFile).Output()
418 418
 			o.Expect(err).ToNot(o.HaveOccurred())
... ...
@@ -27,7 +27,7 @@ function os::test::extended::setup () {
27 27
 	os::util::ensure::built_binary_exists 'openshift'
28 28
 	os::util::ensure::built_binary_exists 'oadm'
29 29
 	os::util::ensure::built_binary_exists 'oc'
30
-	os::util::ensure::built_binary_exists 'junitmerge' 'tools/junitmerge'
30
+	os::util::ensure::built_binary_exists 'junitmerge'
31 31
 
32 32
 	# ensure proper relative directories are set
33 33
 	export EXTENDED_TEST_PATH="${OS_ROOT}/test/extended"
... ...
@@ -276,11 +276,10 @@ readonly EXCLUDED_TESTS=(
276 276
 	Kibana                  # Not installed
277 277
 	Ubernetes               # Can't set zone labels today
278 278
 	kube-ui                 # Not installed by default
279
-	"^Kubernetes Dashboard"  # Not installed by default (also probbaly slow image pull)
279
+	"^Kubernetes Dashboard"  # Not installed by default (also probably slow image pull)
280 280
 
281 281
 	"\[Feature:Federation\]"   # Not enabled yet
282 282
 	"\[Feature:Federation12\]"   # Not enabled yet
283
-	"\[Feature:PodAffinity\]"  # Not enabled yet
284 283
 	Ingress                    # Not enabled yet
285 284
 	"Cinder"                   # requires an OpenStack cluster
286 285
 	"should support r/w"       # hostPath: This test expects that host's tmp dir is WRITABLE by a container.  That isn't something we need to guarantee for openshift.
... ...
@@ -292,11 +291,11 @@ readonly EXCLUDED_TESTS=(
292 292
 	"GlusterFS" # May work if /sbin/mount.glusterfs to be installed for plugin to work (also possibly blocked by serial pulling)
293 293
 	"should support r/w" # hostPath: This test expects that host's tmp dir is WRITABLE by a container.  That isn't something we need to guarantee for openshift.
294 294
 
295
-	"should allow starting 95 pods per node" # needs cherry-pick of https://github.com/kubernetes/kubernetes/pull/23945
295
+	# Failing because of https://github.com/openshift/origin/issues/12365 against a real cluster
296
+	"should allow starting 95 pods per node"
296 297
 
297 298
 	# Need fixing
298 299
 	"Horizontal pod autoscaling" # needs heapster
299
-	"should provide Internet connection for containers" # Needs recursive DNS
300 300
 	PersistentVolume           # https://github.com/openshift/origin/pull/6884 for recycler
301 301
 	"mount an API token into pods" # We add 6 secrets, not 1
302 302
 	"ServiceAccounts should ensure a single API token exists" # We create lots of secrets
... ...
@@ -305,7 +304,6 @@ readonly EXCLUDED_TESTS=(
305 305
 	"authentication: OpenLDAP"   # needs separate setup and bucketing for openldap bootstrapping
306 306
 	"NFS"                      # no permissions https://github.com/openshift/origin/pull/6884
307 307
 	"\[Feature:Example\]"      # may need to pre-pull images
308
-	"ResourceQuota and capture the life of a secret" # https://github.com/openshift/origin/issue/9414
309 308
 	"NodeProblemDetector"        # requires a non-master node to run on
310 309
 	"unchanging, static URL paths for kubernetes api services" # the test needs to exclude URLs that are not part of conformance (/logs)
311 310
 
... ...
@@ -323,6 +321,9 @@ readonly EXCLUDED_TESTS=(
323 323
 	# Need to relax security restrictions
324 324
 	"validates that InterPod Affinity and AntiAffinity is respected if matching" # this *may* now be safe
325 325
 
326
+	# Requires too many pods per node for the per core defaults
327
+	"should ensure that critical pod is scheduled in case there is no resources available"
328
+
326 329
 	# Need multiple nodes
327 330
 	"validates that InterPodAntiAffinity is respected if matching 2"
328 331
 
... ...
@@ -332,6 +333,9 @@ readonly EXCLUDED_TESTS=(
332 332
 
333 333
 	# tested by networking.sh and requires the environment that script sets up
334 334
 	"\[networking\] OVS"
335
+
336
+	# We don't install KubeDNS
337
+	"should check if Kubernetes master services is included in cluster-info"
335 338
 )
336 339
 
337 340
 readonly SERIAL_TESTS=(
... ...
@@ -351,6 +355,7 @@ readonly CONFORMANCE_TESTS=(
351 351
 	"Ensure supplemental groups propagate to docker"
352 352
 	"EmptyDir"
353 353
 	"PetSet"
354
+	"Downward API"
354 355
 	"DNS for ExternalName services"
355 356
 	"DNS for pods for Hostname and Subdomain annotation"
356 357
 	"PrivilegedPod should test privileged pod"
... ...
@@ -369,4 +374,6 @@ readonly CONFORMANCE_TESTS=(
369 369
 	"should create a LimitRange with defaults"
370 370
 	"Generated release_1_2 clientset"
371 371
 	"\[Feature\:PodDisruptionbudget\]"
372
+	"should create a pod that reads a secret"
373
+	"should create a pod that prints his name and namespace"
372 374
 )
... ...
@@ -181,7 +181,7 @@ func createTestingNS(baseName string, c *kclient.Client, labels map[string]strin
181 181
 		addRoleToE2EServiceAccounts(osClient, []kapi.Namespace{*ns}, bootstrappolicy.ViewRoleName)
182 182
 	}
183 183
 
184
-	if isPackage("/kubernetes/test/e2e/scheduler_predicates.go") {
184
+	if isPackage("/kubernetes/test/e2e/scheduler_predicates.go") || isPackage("/kubernetes/test/e2e/rescheduler.go") {
185 185
 		allowAllNodeScheduling(c, ns.Name)
186 186
 	}
187 187