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)

Most upvoted comments

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.