Repository navigation
e2e: add asynchronous suspend upload and detach checks - #3264
Conversation
26b2d99 to
51f3c8b
Compare
|
|
||
| // waitForSnapshotUploaded polls GetActor until wantUUID is reported as the | ||
| // actor's COMPLETED durable snapshot. | ||
| func waitForSnapshotUploaded(ctx context.Context, t *testing.T, clients *e2e.Clients, actorName, wantUUID string) *ateapi.Snapshot { |
There was a problem hiding this comment.
🤖 nit 🟢 – This loop and waitForActorDetached drop GetActor errors. If every call fails, the timeout message shows last status: <nil> with no cause. Keep the last error and include it in the t.Fatalf.
There was a problem hiding this comment.
🤖 Done. Both helpers now record the last GetActor error and include it in the timeout failure.
| if diff := cmp.Diff(assignedRuntime, assignedRuntime2, protocmp.Transform()); diff != "" { | ||
| t.Errorf("resume-from-paused assignment stamp mismatch (-first +second):\n%s", diff) | ||
| } | ||
| t.Run("BackgroundUpload", func(t *testing.T) { |
There was a problem hiding this comment.
🤖 should-fix 🟡 – runActorLifecycleTestCase (lines 672 and 798) and revertActor (lines 1345 and 1467) still call DeleteActor without e2e.RetryAborted. If BackgroundUpload is skipped, an assertion fails early after the pause, or atelet's 30s background detach for syncLocal reports while DeleteActor runs, ApplyReportedSnapshotState holds the actor lease and DeleteActor fails with Aborted. Wrap those DeleteActor calls in e2e.RetryAborted like the ones in pauseActor and deletePausedActor.
There was a problem hiding this comment.
🤖 Done. Wrapped the DeleteActor calls in runActorLifecycleTestCase and revertActor with e2e.RetryAborted.
| return snap | ||
| } | ||
| } | ||
| time.Sleep(500 * time.Millisecond) |
There was a problem hiding this comment.
🤖 nit 🟢 – Select on ctx.Done() alongside time.After(500 * time.Millisecond) here and in waitForActorDetached (as ResumeActorAwaitCapacity and WaitForSubstrateTemplateReady do), so a canceled context returns immediately instead of spinning until the 2-minute wall-clock deadline.
There was a problem hiding this comment.
🤖 Done. Both helpers now select on ctx.Done() alongside time.After(500 * time.Millisecond).
51f3c8b to
bcd6e90
Compare
Expand the demo e2e suite to cover asynchronous suspend background upload, background detach, and CreateTag promotion. Lower atelet's snapshot detach delay under --e2e-tuning so the suite can wait for background detach. Checks that wait for a background upload or detach skip on installs with longer delays, and fail in CI. Signed-off-by: msau42 <[email protected]>
bcd6e90 to
9135723
Compare
Expand the demo e2e suite to cover asynchronous suspend background upload, background detach, and CreateTag promotion. Lower atelet's snapshot detach delay in kind so the suite can wait for background detach. Checks that wait for a background upload or detach skip on installs with longer delays, and fail in CI. AI use: AI-assisted, I reviewed and tested it. - [ ] Tests pass - [ ] Docs updated Signed-off-by: msau42 <[email protected]> (cherry picked from commit 910671c) Signed-off-by: Eitan Yarmush <[email protected]>
Expand the demo e2e suite to cover asynchronous suspend background upload, background detach, and CreateTag promotion.
Lower atelet's snapshot detach delay in kind so the suite can wait for background detach. Checks that wait for a background upload or detach skip on installs with longer delays, and fail in CI.
AI use: AI-assisted, I reviewed and tested it.