Skip to content

Conversation

@jgallagher
Copy link
Contributor

Blippy has had checks on sled subnet consistency for a while, but they were implemented by inferring each sled's subnet from its zones' IPs. We added explicit sled subnets to blueprints in #9416; this changes blippy's sled-subnet-related checks to use that new field.

(This is work that fell out of a larger PR that isn't ready yet, and I'm opening it separately to reduce diff clutter in that PR.)

Blippy has had checks on sled subnet consistency for a while, but they
were implemented by inferring each sled's subnet from its zones' IPs.
We added explicit sled subnets to blueprints in #9416; this changes
blippy's sled-subnet-related checks to use that new field.

(This is work that fell out of a larger PR that isn't ready yet, and I'm
opening it separately to reduce diff clutter in that PR.)
@jgallagher jgallagher merged commit 7cedcdb into main Jan 5, 2026
16 checks passed
@jgallagher jgallagher deleted the john/blippy-sled-subnet-checks branch January 5, 2026 16:54
jgallagher added a commit that referenced this pull request Jan 8, 2026
This PR is large-ish but very boilerplatey. This is a prerequisite for
the planner work to avoid reading expunged zones @smklein pointed out in
#9521 (comment).

We add a `last_allocated_ip_subnet_offset` field to
`BlueprintSledConfig`, along with a `last_allocated_ip()` method that
adds the offset to the sled's subnet. The rest is fallout of using that
field:

1. Many expectorate changes to add a new "last allocated IP" line
2. New blippy check that no sled has a zone with an IP above the last
allocated IP
3. The planner now uses this field when creating each sled's underlay IP
allocator instead of scraping "all in-service and expunged zones" to
find all the ever-used-on-this-sled IPs

Staged on top of #9549.
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.

3 participants