Repository navigation
test(configurator): cover remote State interruption and orphaned locks - #143
Merged
Merged
Conversation
lweberru
requested review from
Breeless,
JoshSTACKIT,
LembDo and
dweezl
as code owners
October 23, 2026 09:31
This was referenced Oct 23, 2026
Open
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.
Problem and resulting behavior
The initially empty local-filesystem checkpoint gap in #140 must not be inferred for remote backends. Extend #141's deterministic local lab with the real pinned OpenTofu HTTP and S3 backend implementations against in-memory loopback protocol fixtures.
Each case starts without workload resources, captures both completed resources in an intermediate checkpoint, hard-stops only its own Apply process group and verifies a fresh Plan is blocked by the orphaned remote lock. Only after confirming that child exited does the controller remove the exact in-memory fixture lock. Fresh Plan/Apply must retain the newly created resource without replacement or ID change. No operational force-unlock path is introduced.
Validation
git diff --checkpassed.This is protocol-fixture evidence, not STACKIT authentication/eventual-consistency/live-lock acceptance or hosted Runner reconciliation. The S3 fixture uses dummy keys; S3 init may establish an empty State object. The initially empty local-filesystem variant remains unqualified in #140. No customer or production Plan/Apply, no cloud provisioning, no Dev deployment or Assistant changes. Refs #90, #95, #140.