fix: state IPv6 on the fabric identity claim - #15
Merged
Conversation
Every fabric identity allocation fails in staging. The address service bounds a claim's prefix length by the family stated on the claim itself, before it resolves the class the claim names, so a /64 asked for with no family is read as an IPv4 length and refused: spec.prefixLength: Invalid value: 64: must be between 1 and 32 The IPClass and IPPool are correct: both declare IPv6 and the class pins both prefix-length bounds to /64. The family simply never reached the claim. Key changes: - Set spec.ipFamily to IPv6 on the identity claim - Mirror the server's prefix-length admission in the IPAM fake, which accepted anything and is why no test caught this - Pin the family with a test that reproduces the staging error exactly when it is removed
privateip
approved these changes
Aug 27, 2026
ecv
approved these changes
Aug 27, 2026
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.
No network has ever been given a fabric identity. Every allocation is refused by the address service with
spec.prefixLength: Invalid value: 64: must be between 1 and 32, because a claim's prefix length is bounded by the family stated on the claim itself, before the class it names is resolved, and the claim stated no family. This setsspec.ipFamily: IPv6on the identity claim.The
IPClassandIPPoolininfraare correct and need no change. Both declareIPv6, and the class pins both prefix-length bounds to/64. The family never reached the claim.The IPAM fake in these tests bound anything it was handed, which is how a claim no real server would accept passed the whole suite. It now mirrors the server's prefix-length admission, so removing the family reproduces the staging error verbatim across nine tests.
Related