serving: conformance shouldn't depend on scale-to-zero
In what area(s)?
/area API /area test-and-release
/kind good-first-issue
What version of Knative?
HEAD
Expected Behavior
Conformance should stick to the public API surface of knative/serving.
Actual Behavior
The new checks look at Pods and configmaps, and fail when run against knative/serving in simply another namespace:
--- FAIL: TestProbeRuntime (0.57s)
--- FAIL: TestProbeRuntime/httpGet (30.29s)
readiness_probe_test.go:79: Creating a new Service
service.go:128: Creating a new Service. service probe-runtime-http-get-egjdyqtr
crd.go:35: resource {<nil> <nil> <*>{&TypeMeta{Kind:,APIVersion:,} &ObjectMeta{Name:probe-runtime-http-get-egjdyqtr,GenerateName:,Namespace:,SelfLink:,UID:,ResourceVersion:,Generation:0,CreationTimestamp:0001-01-01 00:00:00 +0000 UTC,DeletionTimestamp:<nil>,DeletionGracePeriodSeconds:nil,Labels:map[string]string{},Annotations:map[string]string{},OwnerReferences:[]OwnerReference{},Finalizers:[],ClusterName:,ManagedFields:[]ManagedFieldsEntry{},} {0 <nil> <nil> <nil> <nil> {0 <nil> <nil> <*>&ObjectMeta{Name:,GenerateName:,Namespace:,SelfLink:,UID:,ResourceVersion:,Generation:0,CreationTimestamp:0001-01-01 00:00:00 +0000 UTC,DeletionTimestamp:<nil>,DeletionGracePeriodSeconds:nil,Labels:map[string]string{},Annotations:map[string]string{},OwnerReferences:[]OwnerReference{},Finalizers:[],ClusterName:,ManagedFields:[]ManagedFieldsEntry{},}} {0 <nil>}} {{0 <nil>} {<nil> <nil> <nil>} { }}} <nil>}
service.go:143: Waiting for Service to transition to Ready. service probe-runtime-http-get-egjdyqtr
service.go:148: Checking to ensure Service Status is populated for Ready service
service.go:177: Getting latest objects Created by Service
service.go:180: Successfully created Service probe-runtime-http-get-egjdyqtr
readiness_probe_test.go:90: Waiting for "probe-runtime-http-get-egjdyqtr-47rh5-deployment" to scale to zero
readiness_probe_test.go:91: Could not scale to zero: failed to get autoscaler configmap: configmaps "config-autoscaler" not found
Steps to Reproduce the Problem
You can reproduce this with github.com/mattmoor/mink (ko apply -R -f config on a clean K8s cluster) then:
go test -v -count=1 -tags=e2e ./test/conformance/... --ingressClass=contour.ingress.networking.knative.dev --resolvabledomain=true
About this issue
- Original URL
- State: closed
- Created 4 years ago
- Comments: 22 (18 by maintainers)
I think the point of the issue is that ConfigMaps and Secrets etc are not part of the Knative Serving API. The conformance tests thus shouldnât rely on being able to fetch such data via Configmaps which I believe our ScaleToZero helpers do IIRC.
@mattmoor was that the reason to open this issue in the first place?
@beemarie You need to move serving into a different namespace to reproduce this. I believe our e2e tests are setup to do this, but they also set an environment variable that keeps conformance working. If you unset that environment variable for conformance, things should blow up.