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

e2e: graceful envoy shutdown #2839

Merged
merged 13 commits into from
Mar 14, 2024
Merged

e2e: graceful envoy shutdown #2839

merged 13 commits into from
Mar 14, 2024

Conversation

guydc
Copy link
Contributor

@guydc guydc commented Mar 8, 2024

What this PR does / why we need it:

  • Update the upgrade suite to use its own namespace, gatewayclass, envoyproxy, gateway and backend.
    • The new gatewayclass will have 2 replicas and 15s drain shutdown, which are required for this test to succeed. Increasing the replica count and shutdown drain time for existing gateways causes certain tests like local rate limit to fail and prolongs the suite.
    • The need for another suite is explained in e2e: add e2e test for MergeGateways feature #2665, as only a single gatewayclass is currently supported in conformance suites
  • Adds a test that rolls out the proxy deployment while running load:
    • Restart is achieved by patching EnvoyProxy resource with a custom restart annotation.
    • The shutdown manager should ensure that connections are drained gracefully and not closed forcibly. New connections are gradually loadbalanced to the active proxy envoy instance.
  • Small fixes to existing backend upgrade test and moving common parts to utils
  • Minor adjustments of the EG upgrade test to the new suite's resources

Future improvements:

  • Leverage the HA EnvoyProxy with Shutdown manager as part of the EG upgrade test, and check for hitless upgrades.
  • Move the backend upgrade test into this suite, and restart the upgrade "infra-backend". The current test restarts a common backend, in a way that can affect other tests in the suite.
  • When all limitations are resolved, we can consider merging this suite back into the main suite.

Which issue(s) this PR fixes:
Fixes #2610

@guydc guydc requested a review from a team as a code owner March 8, 2024 21:28
@guydc
Copy link
Contributor Author

guydc commented Mar 8, 2024

/retest

Copy link

codecov bot commented Mar 8, 2024

Codecov Report

All modified and coverable lines are covered by tests ✅

Project coverage is 64.45%. Comparing base (b5f4a07) to head (32fea88).

Additional details and impacted files
@@           Coverage Diff           @@
##             main    #2839   +/-   ##
=======================================
  Coverage   64.45%   64.45%           
=======================================
  Files         122      122           
  Lines       21039    21039           
=======================================
  Hits        13561    13561           
  Misses       6630     6630           
  Partials      848      848           

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

@guydc guydc marked this pull request as draft March 9, 2024 00:02
@guydc guydc force-pushed the e2e-envoy-shutdown branch from 88f339a to ef1ecdc Compare March 9, 2024 14:43
@guydc
Copy link
Contributor Author

guydc commented Mar 9, 2024

/retest

@guydc
Copy link
Contributor Author

guydc commented Mar 9, 2024

blocked on: #2665 (comment)

@guydc guydc force-pushed the e2e-envoy-shutdown branch from ef1ecdc to db26d44 Compare March 12, 2024 12:44
@guydc guydc marked this pull request as ready for review March 12, 2024 21:23
@Xunzhuo
Copy link
Member

Xunzhuo commented Mar 13, 2024

/retest

@arkodg arkodg removed the road-to-ga label Mar 13, 2024
@arkodg arkodg added this to the Backlog milestone Mar 13, 2024
@guydc
Copy link
Contributor Author

guydc commented Mar 13, 2024

/retest

@guydc guydc marked this pull request as draft March 13, 2024 18:56
@guydc
Copy link
Contributor Author

guydc commented Mar 13, 2024

/retest

@guydc guydc marked this pull request as ready for review March 13, 2024 19:16
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.

LGTM thanks !

@arkodg arkodg requested review from a team March 13, 2024 21:19
@zirain zirain merged commit c734f29 into envoyproxy:main Mar 14, 2024
19 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
No open projects
Development

Successfully merging this pull request may close these issues.

E2E Zero DownTime Test when upgrading Envoy Proxy Versions
4 participants