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

CI: ingress-conformance-test-shared: An Ingress with no rules should send all requests to the default backend: expected status code 200 but 503 was returned #21993

Closed
joestringer opened this issue Nov 4, 2022 · 3 comments · Fixed by #22673 or #25244
Assignees
Labels
area/CI Continuous Integration testing issue or flake area/servicemesh GH issues or PRs regarding servicemesh ci/flake This is a known failure that occurs in the tree. Please investigate me! sig/agent Cilium agent related.

Comments

@joestringer
Copy link
Member

joestringer commented Nov 4, 2022

The following test may fail on master branch. Workflow is ingress-conformance-test-shared

At a glance it seems like there is roughly one failure every ~3 days or so, vs. ~10-15 successful runs over the same period.

  Scenario Outline: An Ingress with no rules should send all requests to the default backend # features/default_backend.feature:21
    Given a new random namespace                                                             # feature.go:61 -> aNewRandomNamespace
    Given an Ingress resource named "default-backend" with this spec:                        # feature.go:71 -> anIngressResourceNamedWithThisSpec
      """
      defaultBackend:
        service:
          name: echo-service
          port:
            number: 8080
      """
    Then The Ingress status shows the IP address or FQDN where it is exposed                 # feature.go:92 -> theIngressStatusShowsTheIPAddressOrFQDNWhereItIsExposed
    When I send a "<method>" request to http://"<host>"/"<path>"                             # feature.go:102 -> iSendARequestToHttp
    Then the response status-code must be 200                                                # feature.go:106 -> theResponseStatuscodeMustBe
    And the response must be served by the "echo-service" service                            # feature.go:110 -> theResponseMustBeServedByTheService
    And the response proto must be "HTTP/1.1"                                                # feature.go:114 -> theResponseProtoMustBe
    And the response headers must contain <key> with matching <value>                        # feature.go:118 -> theResponseHeadersMustContainKeyWithMatchingValue
      | key            | value |
      | Content-Length | *     |
      | Content-Type   | *     |
      | Date           | *     |
      | Server         | *     |
    And the request method must be "<method>"                                                # feature.go:122 -> theRequestMethodMustBe
    And the request path must be "<path>"                                                    # feature.go:126 -> theRequestPathMustBe
    And the request proto must be "HTTP/1.1"                                                 # feature.go:130 -> theRequestProtoMustBe
    And the request headers must contain <key> with matching <value>                         # feature.go:134 -> theRequestHeadersMustContainKeyWithMatchingValue
      | key        | value              |
      | User-Agent | Go-http-client/1.1 |

    Examples:
      | method | host      | path     |
      | GET    | my-host   |          |
      | GET    | my-host   | sub-path |
      | POST   | some-host |          |
      | PUT    |           | resource |
        expected status code 200 but 503 was returned
      | DELETE | some-host | resource |
      | PATCH  | my-host   | resource |

--- Failed steps:

  Scenario Outline: An Ingress with no rules should send all requests to the default backend # features/default_backend.feature:21
    Then the response status-code must be 200 # features/default_backend.feature:23
      Error: expected status code 200 but 503 was returned

Similar sort of failure shows up in:

@joestringer joestringer added area/CI Continuous Integration testing issue or flake ci/flake This is a known failure that occurs in the tree. Please investigate me! labels Nov 4, 2022
@youngnick youngnick added the area/servicemesh GH issues or PRs regarding servicemesh label Nov 8, 2022
@aanm aanm added the sig/agent Cilium agent related. label Nov 10, 2022
@sayboras sayboras self-assigned this Dec 11, 2022
sayboras added a commit to sayboras/cilium that referenced this issue Dec 11, 2022
This is to make sure http retry was done as part of the test.

Fixes: cilium#21710
Fixes: cilium#21993

Signed-off-by: Tam Mach <tam.mach@cilium.io>
@aanm aanm closed this as completed in 303d2e7 Dec 13, 2022
joestringer pushed a commit to joestringer/cilium that referenced this issue Dec 21, 2022
[ upstream commit 303d2e7 ]

This is to make sure http retry was done as part of the test.

Fixes: cilium#21710
Fixes: cilium#21993

Signed-off-by: Tam Mach <tam.mach@cilium.io>
Signed-off-by: Joe Stringer <joe@cilium.io>
joestringer pushed a commit that referenced this issue Dec 22, 2022
[ upstream commit 303d2e7 ]

This is to make sure http retry was done as part of the test.

Fixes: #21710
Fixes: #21993

Signed-off-by: Tam Mach <tam.mach@cilium.io>
Signed-off-by: Joe Stringer <joe@cilium.io>
YutaroHayakawa pushed a commit to YutaroHayakawa/cilium that referenced this issue Mar 17, 2023
[ upstream commit 303d2e7 ]

This is to make sure http retry was done as part of the test.

Fixes: cilium#21710
Fixes: cilium#21993

Signed-off-by: Tam Mach <tam.mach@cilium.io>
Signed-off-by: Joe Stringer <joe@cilium.io>
Signed-off-by: Michi Mutsuzaki <michi@isovalent.com>
@giorio94
Copy link
Member

giorio94 commented Apr 20, 2023

I've just hit this issue in #24979: https://github.com/cilium/cilium/actions/runs/4743823239/jobs/8423871578?pr=24979

    Examples:
      | method | host      | path     |
      | GET    | my-host   |          |
      | GET    | my-host   | sub-path |
      | POST   | some-host |          |
      | PUT    |           | resource |
      | DELETE | some-host | resource |
        expected status code 200 but 503 was returned
      | PATCH  | my-host   | resource |

--- Failed steps:

  Scenario Outline: An Ingress with no rules should send all requests to the default backend # features/default_backend.feature:21
    Then the response status-code must be 200 # features/default_backend.feature:23
      Error: expected status code 200 but 503 was returned

@giorio94 giorio94 reopened this Apr 20, 2023
sayboras added a commit to sayboras/cilium that referenced this issue May 3, 2023
This change was actually part of cilium#22673, but then got reverted
unintentionally due to refactor as part of cilium#24025.

Relates: cilium#24025
Relates: cilium#22673
Fixes: cilium#21993
Signed-off-by: Tam Mach <tam.mach@cilium.io>
joestringer pushed a commit that referenced this issue May 4, 2023
This change was actually part of #22673, but then got reverted
unintentionally due to refactor as part of #24025.

Relates: #24025
Relates: #22673
Fixes: #21993
Signed-off-by: Tam Mach <tam.mach@cilium.io>
@joestringer
Copy link
Member Author

@giorio94 I autoclosed this due to merging #25244, but if you find that the issue recurs again, feel free to reopen.

@sayboras
Copy link
Member

sayboras commented May 5, 2023

The unintentional revert of the original fix could be the reason for re-occurring. Feel free to ping me if it happens again. Thanks all.

YutaroHayakawa pushed a commit to YutaroHayakawa/cilium that referenced this issue May 15, 2023
[ upstream commit 53f26bd ]

This change was actually part of cilium#22673, but then got reverted
unintentionally due to refactor as part of cilium#24025.

Relates: cilium#24025
Relates: cilium#22673
Fixes: cilium#21993
Signed-off-by: Tam Mach <tam.mach@cilium.io>
Signed-off-by: Yutaro Hayakawa <yutaro.hayakawa@isovalent.com>
aditighag pushed a commit that referenced this issue May 15, 2023
[ upstream commit 53f26bd ]

This change was actually part of #22673, but then got reverted
unintentionally due to refactor as part of #24025.

Relates: #24025
Relates: #22673
Fixes: #21993
Signed-off-by: Tam Mach <tam.mach@cilium.io>
Signed-off-by: Yutaro Hayakawa <yutaro.hayakawa@isovalent.com>
jrajahalme pushed a commit to jrajahalme/cilium that referenced this issue May 22, 2023
[ upstream commit 53f26bd ]

This change was actually part of cilium#22673, but then got reverted
unintentionally due to refactor as part of cilium#24025.

Relates: cilium#24025
Relates: cilium#22673
Fixes: cilium#21993
Signed-off-by: Tam Mach <tam.mach@cilium.io>
Signed-off-by: Yutaro Hayakawa <yutaro.hayakawa@isovalent.com>
Signed-off-by: Gilberto Bertin <jibi@cilium.io>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area/CI Continuous Integration testing issue or flake area/servicemesh GH issues or PRs regarding servicemesh ci/flake This is a known failure that occurs in the tree. Please investigate me! sig/agent Cilium agent related.
Projects
None yet
5 participants