Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Conformance tests for channel annotation requirements #2987

Closed
1 task
aliok opened this issue Apr 15, 2020 · 10 comments
Closed
1 task

Conformance tests for channel annotation requirements #2987

aliok opened this issue Apr 15, 2020 · 10 comments
Assignees
Labels

Comments

@aliok
Copy link
Member

aliok commented Apr 15, 2020

Problem

Extracting from the spec:

Annotation Requirements
Each instantiated Channel (ie, Custom Object) SHOULD have an annotation indicating which version of the Channelable duck type it conforms to. We currently have two versions:
v1alpha1
v1beta1
So, for example to indicate that the Channel supports v1beta1 duck type, you should annotate it like so (only showing the annotations):

- apiVersion: messaging.knative.dev/v1beta1
  kind: YourChannelType
  metadata:
    annotations: 
      messaging.knative.dev/subscribable: v1beta1

Unfortunately, we had to make breaking changes between the two versions, and to ensure functionality, the channel implementer must indicate which version they support. To ensure backwards compatibility with old channels, if no annotation is given, we assume it's v1alpha1.

Tests:

  • Instantiated channel should have messaging.knative.dev/subscribable annotation with value v1alpha1 or v1beta1

Persona:
System Integrator, Contributors

Exit Criteria
Test required behavior of channel, maybe report on optional capabilities.

Time Estimate (optional):
1d

@aliok
Copy link
Member Author

aliok commented Apr 15, 2020

/project Channels

@knative-prow-robot
Copy link
Contributor

@aliok: You must be a member of the knative/eventing github team to set the project and column.

In response to this:

/project Channels

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository.

@matzew
Copy link
Member

matzew commented Apr 15, 2020

/project Channels

@knative-prow-robot
Copy link
Contributor

@matzew: You must be a member of the knative/eventing github team to set the project and column.

In response to this:

/project Channels

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository.

@aliok
Copy link
Member Author

aliok commented Apr 15, 2020

/assign @aliok

@aliok
Copy link
Member Author

aliok commented Apr 16, 2020

/In Progress

@aliok
Copy link
Member Author

aliok commented Apr 16, 2020

/Project In Progress

@aliok
Copy link
Member Author

aliok commented Apr 16, 2020

/area channels
/area test-and-release

@knative-prow-robot knative-prow-robot added area/channels area/test-and-release Test infrastructure, tests or release labels Apr 16, 2020
@aliok
Copy link
Member Author

aliok commented Apr 16, 2020

Unless there's a way of checking what channel duck type version the channel supports without creating an instance of the channel, this test doesn't make sense.

Say it supports v1alpha1 channel duck type. The annotation value will be either empty or v1alpha1.

Say it supports v1beta1 channel duck type. The annotation value will be v1beta1.

But, we can only find out the channel duck type version the channel supports using the annotation. So, it will be like testing the value against itself.

I asked the in the channel if there's any other way: https://knative.slack.com/archives/C9JP909F0/p1587021907420500

/close

@knative-prow-robot
Copy link
Contributor

@aliok: Closing this issue.

In response to this:

Unless there's a way of checking what channel duck type version the channel supports without creating an instance of the channel, this test doesn't make sense.

Say it supports v1alpha1 channel duck type. The annotation value will be either empty or v1alpha1.

Say it supports v1beta1 channel duck type. The annotation value will be v1beta1.

But, we can only find out the channel duck type version the channel supports using the annotation. So, it will be like testing the value against itself.

I asked the in the channel if there's any other way: https://knative.slack.com/archives/C9JP909F0/p1587021907420500

/close

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

3 participants