Repository navigation
ateapi: stamp the golden tag into the created Actor's source_tag - #2290
Open
Luomu (cloudonly) wants to merge 2 commits into
Open
Luomu (cloudonly) wants to merge 2 commits into
Luomu (cloudonly) wants to merge 2 commits into
Conversation
Max Smythe (maxsmythe)
requested a review
from Julian Gutierrez Oschmann (juli4n)
October 7, 2026 02:33
Luomu (cloudonly)
force-pushed
the
create-actor-golden-source-tag
branch
from
October 9, 2026 07:12
5be99d8 to
ad895b9
Compare
Contributor
Author
|
Julian Gutierrez Oschmann (@juli4n) gentle ping — this implements #2210 under the GA lifecycle umbrella #2069. It's rebased on latest main (no conflicts) and CI is green. Could you take a look when you have a cycle, or suggest a better reviewer? Happy to adjust scope if it helps. |
Luomu (cloudonly)
force-pushed
the
create-actor-golden-source-tag
branch
4 times, most recently
from
October 20, 2026 00:50
bc9821c to
94d8c2b
Compare
Contributor
Author
|
Zoe Zhao (@zoez7) could you review this when you have time? It records the template's golden tag in the created Actor's |
Creating an Actor from a template with a golden snapshot borrows the golden tag's snapshot into Status.ExternalSnapshot without recording which tag it borrowed. The template's golden_tag pointer was the only record of that reference, so deleting the template left never-resumed actors with no way to name their snapshot source. Default the request's source_tag to the template's golden tag so the stored Actor carries the reference itself. The stamp is applied to a copy of the request, so the caller's message and the RPC log keep reflecting what was sent. Explicit source tags and golden-scope validation are unchanged. Recording the reference also tightens updates: a whole-object UpdateActor that omits source_tag on such an Actor now fails the existing immutability rule. Resume still resolves the template unconditionally, so consuming the recorded reference is future work.
Luomu (cloudonly)
force-pushed
the
create-actor-golden-source-tag
branch
from
October 23, 2026 08:18
94d8c2b to
f36c2a8
Compare
This branch has not been deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Refs #2210
CreateActoralready borrows the template's golden snapshot when the caller omitssource_tag, but the stored Actor does not name the tag it used. Record the golden tag in the stored Actor'ssource_tagso snapshot provenance is visible through the API andkubectl ate get actor.Apply the default to a copy of the request. Explicit source tags keep their existing behavior, and successful and rejected calls leave the caller's message unchanged. Golden tags use the template's atespace and preserve their MEMORY, VOLUMES, or ROOTFS fidelity.
Whole-object
UpdateActorrequests must retain the recordedsource_tagunder the existing immutability rule. The API guide and proto field comment describe the default.This records provenance only. Resume still resolves the template, and template deletion deletes its golden tag and releases the snapshot; recording
source_tagdoes not preserve that snapshot after template deletion.Validation
Based on main
d2b97509, which includes the golden atespace and fidelity changes. Regression coverage includes default and explicit tags, request immutability on success and failure, VOLUMES/ROOTFS snapshot fidelity, and creation without a golden snapshot.Passed locally with Go 1.27.1:
git diff --check.hack/verify-all.sh.The
controlapipackage compiled with race instrumentation. The local test run did not reach execution: test-binary linking was stopped under host memory and disk pressure. Docker, required by the PostgreSQL-backed tests, is also unavailable on this host. The full race suite, remaining lint/verifier checks, and runtime cluster E2E have not been completed for this revision.The PR test workflow requires maintainer approval before its jobs can run.
Latest rebase (2026-10-23): rebased onto main
4ebd668datf36c2a8f. Focused race regressions passed three shuffled runs; affected binaries and test packages compiled. Earlier validation entries describe prior revisions. Cluster E2E was not rerun. Codex assisted with this rebase and validation.