Skip to content

e2e: wait for deployment to rollout#6090

Closed
turkenh wants to merge 3 commits into
crossplane:mainfrom
turkenh:e2e-proper-wait-deployment
Closed

e2e: wait for deployment to rollout#6090
turkenh wants to merge 3 commits into
crossplane:mainfrom
turkenh:e2e-proper-wait-deployment

Conversation

@turkenh

@turkenh turkenh commented Nov 12, 2024

Copy link
Copy Markdown
Member

Description of your changes

Fixes #

I have:

  • Read and followed Crossplane's contribution process.
  • Run earthly +reviewable to ensure this PR is ready for review.
  • Added or updated unit tests.
  • Added or updated e2e tests.
  • Linked a PR or a docs tracking issue to document this change.
  • Added backport release-x.y labels to auto-backport this PR.

Need help with this checklist? See the cheat sheet.

…pagateFieldsRemovalToXRAfterUpgrade/FieldsRemovalPropagatedToXR

Signed-off-by: Hasan Turken <[email protected]>
@jbw976 jbw976 mentioned this pull request Nov 30, 2024
17 tasks

@jbw976 jbw976 left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

@turkenh I was looking into something very similar to this while trying to make sure SSA tests are reliable in #5656.

Can you catch me up on how these changes to the e2e test checks have been working so far? have you seen improvements? what have you observed? 😉

@jbw976

jbw976 commented Dec 11, 2024

Copy link
Copy Markdown
Member

darn, from https://github.com/crossplane/crossplane/actions/runs/11797053040/job/32860259762?pr=6090, it looks like the same --- FAIL: TestPropagateFieldsRemovalToXRAfterUpgrade/TestPropagateFieldsRemovalToXRAfterUpgrade/FieldsRemovalPropagatedToXR is still happening with these changes 😞

@negz mentioned a theory to me yesterday that looks similar to what I think you're trying to do with these changes. To describe it explicitly here, we think there is a race where we are possibly getting to UpdateClaim before the upgrade of crossplane to EnableSSAClaims is actually finished. If that happens, then it'd be possible for the claim to be updated with new values, but removals never get synced to the XR because we're not running with SSA yet.

Then when Crossplane comes up with the upgrade to enable SSA, it's too late and the XR will stay stuck that way forever.

You seem to be attacking that very scenario by waiting for the DeploymentProgressing condition with NewReplicaSetAvailable reason, but is it possible that we could get an immediate false positive on that condition that is still lingering from the initial install of Crossplane? 🤔 If that could happen, this this check would exit very quickly and move onto UpdateClaim possibly before Crossplane is upgraded and running with SSA enabled.

Another idea @negz had instead would be to explicitly check that the Crossplane deployment has the feature flag we care about. Is the Crossplane deployment running but also with --enable-ssa-claims? I'm going to play around with that locally and see if I get good results for this test 🙏

edit: clarified race condition consequences

@github-actions

Copy link
Copy Markdown

Crossplane does not currently have enough maintainers to address every issue and pull request. This pull request has been automatically marked as stale because it has had no activity in the last 90 days. It will be closed in 14 days if no further activity occurs. Adding a comment starting with /fresh will mark this PR as not stale.

@github-actions github-actions Bot added the stale label Mar 15, 2025
@github-actions github-actions Bot closed this Mar 29, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants