Skip to content

Test failed with no address though channel is supposedly ready. #3686

@vaikas

Description

@vaikas

Describe the bug
While looking for a test failure here:

https://prow.knative.dev/view/gs/knative-prow/pr-logs/pull/knative_eventing/3599/pull-knative-eventing-integration-tests/1286134876558331904

I noticed this:

    creation.go:77: Creating channel &TypeMeta{Kind:InMemoryChannel,APIVersion:messaging.knative.dev/v1,}-e2e-brokerchannel-channel
    broker_channel_flow_helper.go:158: Failed to get the url for the channel "e2e-brokerchannel-channel": addressable does not have an Address: &{TypeMeta:{Kind:InMemoryChannel APIVersion:messaging.knative.dev/v1} ObjectMeta:{Name:e2e-brokerchannel-channel GenerateName: Namespace:test-broker-channel-flow-v1-beta1-broker-v1-in-memory-chan8bfdm SelfLink:/apis/messaging.knative.dev/v1/namespaces/test-broker-channel-flow-v1-beta1-broker-v1-in-memory-chan8bfdm/inmemorychannels/e2e-brokerchannel-channel UID:060f660a-c198-4ece-8c50-1a54a6dc7f0f ResourceVersion:44245 Generation:1 CreationTimestamp:2020-07-23 03:33:38 +0000 UTC DeletionTimestamp:<nil> DeletionGracePeriodSeconds:<nil> Labels:map[] Annotations:map[messaging.knative.dev/creator:prow-job@knative-tests.iam.gserviceaccount.com messaging.knative.dev/lastModifier:prow-job@knative-tests.iam.gserviceaccount.com messaging.knative.dev/subscribable:v1] OwnerReferences:[] Finalizers:[] ClusterName: ManagedFields:[]} Status:{Address:<nil>}}
        knative.dev/eventing/test/lib.(*Client).GetAddressableURI
        knative.dev/eventing/test/e2e/helpers.BrokerChannelFlowWithTransformation.func1
        knative.dev/eventing/test/lib.(*ComponentsTestRunner).RunTests.func1
        testing.tRunner
        runtime.goexit

Which is quite odd, since right above it will fail if the resource is not ready, yet the object is not ready.
https://github.com/knative/eventing/blob/master/test/e2e/helpers/broker_channel_flow_helper.go#L151

		// create channel for trigger3
		client.CreateChannelOrFail(channelName, &channel)
		client.WaitForResourceReadyOrFail(channelName, &channel)

		// create trigger3 to receive the transformed event, and send it to the channel
		channelURL, err := client.GetAddressableURI(channelName, &channel)
		if err != nil {
			st.Fatalf("Failed to get the url for the channel %q: %+v", channelName, err)
		}

Expected behavior
Channel to work if it's returned as ready.

To Reproduce
Not sure, just saw in the logs

Knative release version
Head

Additional context
I wonder if these are using different listers... Just jotting down since it seems busted.

Metadata

Metadata

Assignees

Labels

area/channelskind/bugCategorizes issue or PR as related to a bug.priority/critical-urgentHighest priority. Must be actively worked on as someone's top priority right now.

Type

No type

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions