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

Ensure Gateway resource is deleted on shutdown #2356

Merged
merged 2 commits into from
Mar 27, 2023

Conversation

tpantelis
Copy link
Contributor

@tpantelis tpantelis commented Mar 25, 2023

The submariner Gateway resource is deleted by the syncer when the syncGatewayStatus loop exits but it's run asynchronously from the main function so, due to timing, it may not get deleted on shutdown. This can result in an intermittent gateway failover E2E failure b/c, after deleting the active gateway pod, it ensures the Gateway is fully connected, assuming it's a new instance. But, if the prior Gateway was not deleted, then it will observe the fully connected state of the prior stale Gateway. This can lead to subsequent timing failures where it is assumed the gateway is fully active.

Ensure that the Gateway is deleted by running the Gateway syncer synchronously from main and waiting for it to complete on shutdown.

The submariner Gateway resource is deleted by the syncer when
the syncGatewayStatus loop exits but it's run asynchronously
from the main function so, due to timing, it may not get deleted
on shutdown. This can result in an intermittent gateway failover
E2E failure b/c, after deleting the active gateway pod, it ensures
the Gateway is fully connected, assuming it's a new instance. But,
if the prior Gateway was not deleted, then it will observe the fully
connected state of the prior stale Gateway. This can lead to
subsequent timing failures where it is assumed the gateway is fully
active.

Ensure that the Gateway is deleted by running the Gateway syncer
synchronously from main and waiting for it to complete on shutdown.

Signed-off-by: Tom Pantelis <[email protected]>
@submariner-bot
Copy link
Contributor

🤖 Created branch: z_pr2356/tpantelis/gw_failover_e2e_failure
🚀 Full E2E won't run until the "ready-to-test" label is applied. I will add it automatically once the PR has 2 approvals, or you can add it manually.

@github-advanced-security
Copy link

You have successfully added a new Grype configuration .github/workflows/linting.yml:vulnerability-scan. As part of the setup process, we have scanned this repository and found no existing alerts. In the future, you will see all code scanning alerts on the repository Security tab.

@submariner-bot submariner-bot added the ready-to-test When a PR is ready for full E2E testing label Mar 27, 2023
@sridhargaddam sridhargaddam enabled auto-merge (rebase) March 27, 2023 11:48
@sridhargaddam sridhargaddam merged commit ca2982c into submariner-io:devel Mar 27, 2023
@submariner-bot
Copy link
Contributor

🤖 Closed branches: [z_pr2356/tpantelis/gw_failover_e2e_failure]

@tpantelis tpantelis deleted the gw_failover_e2e_failure branch March 31, 2023 14:25
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
ready-to-test When a PR is ready for full E2E testing
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants