oomichi / try-kubernetes

12 stars 5 forks source link

Failed to run k8s conformance tests at CI #14

Closed oomichi closed 6 years ago

oomichi commented 6 years ago

Conformance tests: 142 Passed, 4 Failed

[sig-storage] ConfigMap [BeforeEach] should be consumable from pods in volume [Conformance] test/e2e/framework/framework.go:189

[sig-scheduling] SchedulerPredicates [Serial] [BeforeEach] validates resource limits of pods that are allowed to run [Conformance] test/e2e/scheduling/predicates.go:88

[sig-scheduling] SchedulerPredicates [Serial] [BeforeEach] validates that NodeSelector is respected if matching [Conformance] test/e2e/scheduling/predicates.go:88

[sig-scheduling] SchedulerPredicates [Serial] [BeforeEach] validates that NodeSelector is respected if not matching [Conformance] test/e2e/scheduling/predicates.go:88

oomichi commented 6 years ago

[It] optional updates should be reflected in volume [Conformance] [sig-storage] kubernetes/test/e2e/framework/pods.go:83

[sig-scheduling] SchedulerPredicates [Serial] [It] validates resource limits of pods that are allowed to run [Conformance] kubernetes/test/e2e/scheduling/predicates.go:613

oomichi commented 6 years ago

I can reproduce one of them by hands:

$ go run hack/e2e.go -- --provider=skeleton -v --test --test_args="--ginkgo.focus=validates\sresource\slimits" [..] ErrStatus: { TypeMeta: {Kind: "", APIVersion: ""}, ListMeta: {SelfLink: "", ResourceVersion: "", Continue: ""}, Status: "Failure", Message: "Pod \"filler-pod-192.168.1.102\" is invalid: spec.containers[0].name: Invalid value: \"filler-pod-192.168.1.102\": a DNS-1123 label must consist of lower case alphanumeric characters or '-', and must start and end with an alphanumeric character (e.g. 'my-name', or '123-abc', regex used for validation is 'a-z0-9?')", Reason: "Invalid", Details: { Name: "filler-pod-192.168.1.102", Group: "", Kind: "Pod", UID: "", Causes: [ { Type: "FieldValueInvalid", Message: "Invalid value: \"filler-pod-192.168.1.102\": a DNS-1123 label must consist of lower case alphanumeric characters or '-', and must start and end with an alphanumeric character (e.g. 'my-name', or '123-abc', regex used for validation is 'a-z0-9?')", Field: "spec.containers[0].name", }, ], RetryAfterSeconds: 0, }, Code: 422, },

So the filter-pod name is invalid. I need to investigate how to create the testing filter-pod name. BTW, 422 seems accurate for me. 400?

oomichi commented 6 years ago

https://github.com/kubernetes/kubernetes/blob/90a6a4f1f82cea1bbabde2f8b4e3dc786ff49ca2/test/e2e/scheduling/predicates.go#L613

https://github.com/kubernetes/kubernetes/blob/90a6a4f1f82cea1bbabde2f8b4e3dc786ff49ca2/test/e2e/scheduling/predicates.go#L288

Name: "filler-pod-" + nodeName The problematic pod name(filler-pod-192.168.1.102) comes from the above code. So current test doesn't consider nodeName can become IP address.

oomichi commented 6 years ago

I confirmed https://github.com/kubernetes/kubernetes/pull/54659 makes the test fine on our CI.

oomichi commented 6 years ago

"optional updates should be reflected in volume' didn't fail if running it by hands.