Repository navigation
fix: a required promoted claim is never sent to a warm peer; the Python SDK asks for the promoted template - #264
Merged
Merged
Conversation
…irected to a warm peer redirectClaim offered the warm candidates first, and that redirect carries no require_promoted, so a raw caller following it took a pool VM the docs promise it never gets; a required claim now goes only to the template's owners, else 404.
…irst request The Go SDK's 900b2c6 fix, mirrored: a stale Python handle could take a warm VM or cold-boot an image named like the template.
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.
Two findings from the docs re-check, each with a regression test that fails on the old code:
redirectClaimoffered the warm candidates before the template owners, and that redirect carries norequire_promoted, so a raw API caller following it could take a pool VM; a required claim now goes only to the template's owners (withrequire_promoted), else 404. The SDKs and the operator always re-send their own flag, so this closes the raw-caller path and saves the operator a hop.Template.newsendsrequire_promoted, mirroring the Go SDK fix in review: closing round 2026-09-28 #260 (900b2c6).