Skip to content

test(e2e): restore a lost store to the pinned revision after a tag move - #182

Merged
maks3201 merged 3 commits into
mainfrom
test/digest-restore-after-tag-move
Oct 14, 2026
Merged

maks3201 merged 3 commits into
mainfrom
test/digest-restore-after-tag-move

Conversation

@maks3201

Copy link
Copy Markdown
Owner

Adds one nightly/chaos e2e spec (test/e2e/digest_restore_test.go) that proves pull-by-digest on Ollaya 0.13.0: promote laya:en (record the pinned digest), move the in-cluster mirror's laya:en tag to a different manifest, delete the stable store PVC + Pods after the stabilization window, and assert store recovery succeeds on the SAME revision, /api/ps on the recovered Pod reports the ORIGINAL digest, no failedRevision, and no UpstreamTagMoved / StorePrefetchFailed.

The registry mirror (hack/mirror/main.go) gains the by-digest manifest route (/v2/<ns>/<model>/manifests/sha256:<hex>, keyed on the sha256 of the SERVED urls-stripped bytes) and a MIRROR_TAG_MOVED mode that serves a byte-different-but-valid manifest for tag requests while the digest route keeps serving the original bytes.

Depends on the digest-pull prefetch engine (default runtime 0.13.0): the spec is nightly/chaos (not in PR-required Tests/Lint) and only passes once that engine is on main. Verified locally on kind with the engine applied: 1 Passed, ~3.6m.

@maks3201
maks3201 enabled auto-merge (squash) October 14, 2026 07:57
@sonarqubecloud

Copy link
Copy Markdown

@maks3201
maks3201 merged commit e914371 into main Oct 14, 2026
27 checks passed
@maks3201
maks3201 deleted the test/digest-restore-after-tag-move branch October 14, 2026 08:12
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant