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 and Support matrix enhancements #1649

Open
youngnick opened this issue Jan 16, 2023 · 19 comments
Open

Conformance and Support matrix enhancements #1649

youngnick opened this issue Jan 16, 2023 · 19 comments
Labels
area/conformance kind/feature Categorizes issue or PR as related to a new feature. lifecycle/rotten Denotes an issue or PR that has aged beyond stale and will be auto-closed. priority/important-longterm Important over the long term, but may not be staffed and/or may need multiple releases to complete.

Comments

@youngnick
Copy link
Contributor

This may end up being a GEP, but this issue is to discuss enhancements to the conformance process, with a couple of end goals in mind:

  • As a user of Gateway API, I should be able to look at the status of GatewayClass and see information about what features the reconciling implementation supports.
  • As a user of Gateway API, I should be able to consult a feature matrix to determine which implementations support which features. These features should be supported by and/or derived from conformance information. (Thanks @candita for the suggestion!)

A related goal is:

  • as a Gateway API implementer, the conformance tests I run should be able to autodetect what features are supported and conformance test them automatically.

I've linked these together in this issue because the schema we'll need for the first will end up looking a lot like the column for the second, and that schema will probably be closely related if not identical to what we'll need from the conformance tests too.

@youngnick youngnick added kind/feature Categorizes issue or PR as related to a new feature. area/conformance labels Jan 16, 2023
@youngnick
Copy link
Contributor Author

I think it's relevant to call out a few things that the schema will need to track;

  • Supported Route types
  • Extended features available in various objects. It may be better not to namespace the extended features by object though.

I think we'll also need to get more specific about which objects must always be watched, and which ones can be watched sometimes. I'll make another issue about that now.

@shaneutt shaneutt added the help wanted Denotes an issue that needs help from a contributor. Must meet "help wanted" guidelines. label Jan 16, 2023
@candita
Copy link
Contributor

candita commented Jan 24, 2023

I would add:

  • Supported versions (alpha, beta, experimental, standard, semantic versioning, or other)

@youngnick would you mind moving the "related goal" conformance test linking to a different issue? It could really complicate a fairly simple support matrix to add conformance test linking as a type of acceptance criteria.

@youngnick
Copy link
Contributor Author

I agree that supported versions should also be included, agreed.

I'd like to leave that note in here, but should add that it's not necessary to complete this effort.

@shaneutt shaneutt added the priority/important-longterm Important over the long term, but may not be staffed and/or may need multiple releases to complete. label Feb 21, 2023
@shaneutt shaneutt added this to the v0.7.0 milestone Feb 21, 2023
@shaneutt shaneutt added priority/important-soon Must be staffed and worked on either currently, or very soon, ideally in time for the next release. and removed priority/important-longterm Important over the long term, but may not be staffed and/or may need multiple releases to complete. labels Mar 14, 2023
@robscott robscott modified the milestones: v0.7.0, v0.8.0 Mar 24, 2023
@shaneutt shaneutt self-assigned this May 18, 2023
@shaneutt shaneutt removed this from the v0.8.0 milestone May 18, 2023
@shaneutt shaneutt added priority/important-longterm Important over the long term, but may not be staffed and/or may need multiple releases to complete. and removed priority/important-soon Must be staffed and worked on either currently, or very soon, ideally in time for the next release. labels May 18, 2023
@shaneutt
Copy link
Member

So technically #1709 is starting to at least talk about these ideas, but with the GA timeline it probably wont complete them. It may be helpful for us to consider this a follow up issue to GA to continue the work started in conformance profiles.

@shaneutt shaneutt removed their assignment May 18, 2023
@shaneutt shaneutt removed the help wanted Denotes an issue that needs help from a contributor. Must meet "help wanted" guidelines. label May 18, 2023
@k8s-triage-robot
Copy link

The Kubernetes project currently lacks enough contributors to adequately respond to all issues.

This bot triages un-triaged issues according to the following rules:

  • After 90d of inactivity, lifecycle/stale is applied
  • After 30d of inactivity since lifecycle/stale was applied, lifecycle/rotten is applied
  • After 30d of inactivity since lifecycle/rotten was applied, the issue is closed

You can:

  • Mark this issue as fresh with /remove-lifecycle stale
  • Close this issue with /close
  • Offer to help out with Issue Triage

Please send feedback to sig-contributor-experience at kubernetes/community.

/lifecycle stale

@k8s-ci-robot k8s-ci-robot added the lifecycle/stale Denotes an issue or PR has remained open with no activity and has become stale. label Jan 20, 2024
@k8s-triage-robot
Copy link

The Kubernetes project currently lacks enough active contributors to adequately respond to all issues.

This bot triages un-triaged issues according to the following rules:

  • After 90d of inactivity, lifecycle/stale is applied
  • After 30d of inactivity since lifecycle/stale was applied, lifecycle/rotten is applied
  • After 30d of inactivity since lifecycle/rotten was applied, the issue is closed

You can:

  • Mark this issue as fresh with /remove-lifecycle rotten
  • Close this issue with /close
  • Offer to help out with Issue Triage

Please send feedback to sig-contributor-experience at kubernetes/community.

/lifecycle rotten

@k8s-ci-robot k8s-ci-robot added lifecycle/rotten Denotes an issue or PR that has aged beyond stale and will be auto-closed. and removed lifecycle/stale Denotes an issue or PR has remained open with no activity and has become stale. labels Feb 19, 2024
@youngnick
Copy link
Contributor Author

Hmm I think that there are three asks here:

If that last one is the case, I think that we can close this out.

@shaneutt
Copy link
Member

@LiorLieberman and I discussed the SupportedFeatures based configuration of conformance profiles test runs, I'll need to catch up on whether we codified that anywhere or if it was just a discussion.

@LiorLieberman
Copy link
Member

Thats the plan, I planned to graduate SupportedFeatures from experimental flipping the bit.
We have istio already support it and a PR inflight for envoy (waiting GW upstream release I think.

We could start with adding a flag or a framework option to opt-in to read supportedFeatures from the GWC and deprecate it later when we want everyone to move to this.
It needs more elaboration though.

@youngnick
Copy link
Contributor Author

Yes, I think that adding a flag to allow implementations to opt in to the new behavior is a must, and lets us do the standard three-phase rollout:

  • new flag, defaults false
  • Once we have enough implementations, default to true
  • once everyone is using flag true, remove flag

The best part about having the flag is that it lets us make the tooling for testing very standard, much easier for folks to replicate the report results if necessary.

@youngnick
Copy link
Contributor Author

/remove-lifecycle rotten

@k8s-ci-robot k8s-ci-robot removed the lifecycle/rotten Denotes an issue or PR that has aged beyond stale and will be auto-closed. label Feb 29, 2024
@k8s-triage-robot
Copy link

The Kubernetes project currently lacks enough contributors to adequately respond to all issues.

This bot triages un-triaged issues according to the following rules:

  • After 90d of inactivity, lifecycle/stale is applied
  • After 30d of inactivity since lifecycle/stale was applied, lifecycle/rotten is applied
  • After 30d of inactivity since lifecycle/rotten was applied, the issue is closed

You can:

  • Mark this issue as fresh with /remove-lifecycle stale
  • Close this issue with /close
  • Offer to help out with Issue Triage

Please send feedback to sig-contributor-experience at kubernetes/community.

/lifecycle stale

@k8s-ci-robot k8s-ci-robot added the lifecycle/stale Denotes an issue or PR has remained open with no activity and has become stale. label May 29, 2024
@youngnick
Copy link
Contributor Author

@LiorLieberman, are we still interested in doing this.

@LiorLieberman
Copy link
Member

It is still the plan, envoy-gw and istio already support it.
I was chatting with @mikemorris to do that in their implementation. So we can get 3 implementors before.

@mikemorris mind sharing if and when you plan to implement this?

@mikemorris
Copy link
Contributor

@LiorLieberman I believe we are intending to implement this for Azure Application Gateway for Containers but unsure on timeline/roadmap, @snehachhabria may be able to confirm.

@snehachhabria
Copy link
Contributor

snehachhabria commented May 31, 2024

@LiorLieberman I believe we are intending to implement this for Azure Application Gateway for Containers but unsure on timeline/roadmap, @snehachhabria may be able to confirm.

The preference for Application Gateway for Containers is to have releases of features in Gateway API that are a part of the standard channel only and since the supported features is a part of the experimental channel, we will not have an official release supporting it until it becomes a part of the standard channel. If the goal is to implement and provide feedback to help move it to the standard channel, that's something we can do (without any release). @LiorLieberman and @mikemorris let me know if this would work for you'll.

@LiorLieberman
Copy link
Member

Thanks @snehachhabria! How would we get the feedback if it would not be released ?

@snehachhabria
Copy link
Contributor

snehachhabria commented Jun 5, 2024

Thanks @snehachhabria! How would we get the feedback if it would not be released ?

the feedback would be from what we encounter during implementation and testing internally only

@k8s-triage-robot
Copy link

The Kubernetes project currently lacks enough active contributors to adequately respond to all issues.

This bot triages un-triaged issues according to the following rules:

  • After 90d of inactivity, lifecycle/stale is applied
  • After 30d of inactivity since lifecycle/stale was applied, lifecycle/rotten is applied
  • After 30d of inactivity since lifecycle/rotten was applied, the issue is closed

You can:

  • Mark this issue as fresh with /remove-lifecycle rotten
  • Close this issue with /close
  • Offer to help out with Issue Triage

Please send feedback to sig-contributor-experience at kubernetes/community.

/lifecycle rotten

@k8s-ci-robot k8s-ci-robot added lifecycle/rotten Denotes an issue or PR that has aged beyond stale and will be auto-closed. and removed lifecycle/stale Denotes an issue or PR has remained open with no activity and has become stale. labels Jul 5, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area/conformance kind/feature Categorizes issue or PR as related to a new feature. lifecycle/rotten Denotes an issue or PR that has aged beyond stale and will be auto-closed. priority/important-longterm Important over the long term, but may not be staffed and/or may need multiple releases to complete.
Projects
None yet
Development

No branches or pull requests

9 participants