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

Add v1.0.0 Conformance Report of Envoy Gateway #2558

Merged
merged 1 commit into from
Nov 2, 2023

Conversation

Xunzhuo
Copy link
Member

@Xunzhuo Xunzhuo commented Nov 2, 2023

What type of PR is this?

/area conformance

What this PR does / why we need it:

Which issue(s) this PR fixes:

Fixes #2557

Does this PR introduce a user-facing change?:

NONE

@k8s-ci-robot k8s-ci-robot added release-note-none Denotes a PR that doesn't merit a release note. area/conformance cncf-cla: yes Indicates the PR's author has signed the CNCF CLA. size/M Denotes a PR that changes 30-99 lines, ignoring generated files. labels Nov 2, 2023
Signed-off-by: bitliu <bitliu@tencent.com>
@Xunzhuo Xunzhuo changed the title Add v1.0.0 Conformance Profile of Envoy Gateway Add v1.0.0 Conformance Report of Envoy Gateway Nov 2, 2023
@Xunzhuo
Copy link
Member Author

Xunzhuo commented Nov 2, 2023

/cc @arkodg

Copy link
Contributor

@arkodg arkodg left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

/approve
thanks !

@arkodg
Copy link
Contributor

arkodg commented Nov 2, 2023

/lgtm

@k8s-ci-robot k8s-ci-robot added the lgtm "Looks good to me", indicates that a PR is ready to be merged. label Nov 2, 2023
@robscott
Copy link
Member

robscott commented Nov 2, 2023

I'm probably missing something obvious, but how is it possible to pass all tests with v1.0.0 per https://github.com/kubernetes-sigs/gateway-api/pull/2535/files#r1378650459?

@robscott
Copy link
Member

robscott commented Nov 2, 2023

/hold for clarification

@k8s-ci-robot k8s-ci-robot added the do-not-merge/hold Indicates that a PR should not merge because someone has issued a /hold command. label Nov 2, 2023
@arkodg
Copy link
Contributor

arkodg commented Nov 2, 2023

@robscott the current code in v1.0.0 made an extra assertion that the Route is not Accepted . This is true for Envoy Gateway.
However there is nothing in the spec to enforce that, so that check was removed. ptal at #2548 for more context
tldr - Envoy Gateway will pass all tests with or without that assertion

@robscott
Copy link
Member

robscott commented Nov 2, 2023

Thanks @arkodg! I guess the question was how that test could pass (Accepted == false) at the same time as a nearly identical test that requires Accepted to be true:

gwAddr := kubernetes.GatewayAndHTTPRoutesMustBeAccepted(t, suite.Client, suite.TimeoutConfig, suite.ControllerName, kubernetes.NewGatewayRef(gwNN), routeNN)

Just trying to understand the difference here when this seems to be a blocker for many implementations to pass conformance on v1.0.0. Maybe Envoy Gateway is making a distinction between the two test cases that other implementations are not?

@arkodg
Copy link
Contributor

arkodg commented Nov 2, 2023

Envoy Gateway defines its own custom reason (for the Route) for this case/test- NoReadyListeners

  - lastTransitionTime: "2023-10-27T01:38:14Z"
    message: There are no ready listeners for this parent ref
    observedGeneration: 1
    reason: NoReadyListeners
    status: "False"
    type: Accepted
  - lastTransitionTime: "2023-10-27T01:38:14Z"

The listener is not ready in this test because the cert is invalid

  - lastTransitionTime: "2023-10-27T01:38:14Z"
    message: Secret gateway-conformance-infra/does-not-exist does not exist.
    observedGeneration: 2
    reason: InvalidCertificateRef
    status: "False"
    type: ResolvedRefs
  - lastTransitionTime: "2023-10-27T01:38:14Z"
    message: Listener is invalid, see other Conditions for details.
    observedGeneration: 2
    reason: Invalid
    status: "False"
    type: Programmed

@robscott
Copy link
Member

robscott commented Nov 2, 2023

Got it, makes sense, thanks for the explanation @arkodg!

/hold cancel
/approve

@k8s-ci-robot k8s-ci-robot removed the do-not-merge/hold Indicates that a PR should not merge because someone has issued a /hold command. label Nov 2, 2023
@k8s-ci-robot
Copy link
Contributor

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: arkodg, robscott, tao12345666333, Xunzhuo

The full list of commands accepted by this bot can be found here.

The pull request process is described here

Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@k8s-ci-robot k8s-ci-robot added the approved Indicates a PR has been approved by an approver from all required OWNERS files. label Nov 2, 2023
@k8s-ci-robot k8s-ci-robot merged commit 004e14b into kubernetes-sigs:main Nov 2, 2023
8 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
approved Indicates a PR has been approved by an approver from all required OWNERS files. area/conformance cncf-cla: yes Indicates the PR's author has signed the CNCF CLA. lgtm "Looks good to me", indicates that a PR is ready to be merged. release-note-none Denotes a PR that doesn't merit a release note. size/M Denotes a PR that changes 30-99 lines, ignoring generated files.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Add v1.0 conformance profile of Envoy Gateway
5 participants