Skip to content

Initial schema updates disallowing default IP Pool for the internal silo#8964

Merged
bnaecker merged 5 commits into
mainfrom
schema-updates-for-new-ip-pool-linkage
Sep 3, 2025
Merged

Initial schema updates disallowing default IP Pool for the internal silo#8964
bnaecker merged 5 commits into
mainfrom
schema-updates-for-new-ip-pool-linkage

Conversation

@bnaecker

Copy link
Copy Markdown
Collaborator

@bnaecker bnaecker marked this pull request as draft August 30, 2025 02:16
@bnaecker bnaecker force-pushed the schema-updates-for-new-ip-pool-linkage branch from ce147e2 to afb56f3 Compare September 1, 2025 19:25
- Add database constraints that ensure that we can't set a default pool
  for the Oxide internal silo. Add tests for this specifically.
- This is part of #8948, but does not resolve it.
@bnaecker bnaecker force-pushed the schema-updates-for-new-ip-pool-linkage branch from afb56f3 to 9f49f97 Compare September 2, 2025 17:45
@bnaecker bnaecker marked this pull request as ready for review September 2, 2025 18:09
@bnaecker

bnaecker commented Sep 2, 2025

Copy link
Copy Markdown
Collaborator Author

This is a small step towards #8945. To date, we've assumed that our internal silo has exactly 1 IP Pool. That's special, created at rack initialization, linked to the silo, and not operator-modifiable. We can't do that in the long run. For one thing, we need IPv6 IP Pools, but we also want to allow operators to delegate pretty much any IP Pool to the internal silo. That will eventually be used to determine which networks our services need addresses on.

The first step, implemented here, is just disallowing a default IP Pool for the internal silo, enforced as a check constraint in the database.

Comment thread schema/crdb/no-default-pool-for-internal-silo/up02.sql Outdated
Comment thread nexus/db-queries/src/db/datastore/ip_pool.rs Outdated
Comment thread schema/crdb/dbinit.sql Outdated
Keep endpoint non-idempotent, and catch check violations explicitly
Comment thread nexus/db-queries/src/db/datastore/ip_pool.rs Outdated
Comment thread nexus/db-queries/src/db/datastore/ip_pool.rs Outdated
@bnaecker

bnaecker commented Sep 2, 2025 via email

Copy link
Copy Markdown
Collaborator Author

@bnaecker bnaecker enabled auto-merge (squash) September 3, 2025 18:42
@bnaecker bnaecker merged commit c797644 into main Sep 3, 2025
16 checks passed
@bnaecker bnaecker deleted the schema-updates-for-new-ip-pool-linkage branch September 3, 2025 22:00
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