Skip to content

Conversation

terror
Copy link

@terror terror commented Oct 3, 2025

Resolves #9147

This PR introduces explicit filter parameters to /v1/system/ip-pools so clients can request pools by IP version and opt in to the Oxide service pools. The endpoint now accepts a new IpPoolListSelector query struct, which flows through the HTTP handler, application service, and datastore. The datastore applies the requested IP version filter and either includes or excludes the two well-known service pools that previously were always hidden.

I've also added a few integration tests that cover the new combinations, and regenerated Nexus OpenAPI documentation to include the the additional query parameters.

@bnaecker
Copy link
Collaborator

bnaecker commented Oct 3, 2025

Thanks for taking this on @terror! This mostly looks straightforward to me, but we're also in the process of overhauling some of the internals of IP Pool management. Some of this PR could be rebased on top of those changes when they land, which are tracked by #8945. The "selector" stuff is agnostic to that for example. The internal database methods will need to change a bit.

@terror
Copy link
Author

terror commented Oct 3, 2025

Thanks for taking this on @terror! This mostly looks straightforward to me, but we're also in the process of overhauling some of the internals of IP Pool management. Some of this PR could be rebased on top of those changes when they land, which are tracked by #8945. The "selector" stuff is agnostic to that for example. The internal database methods will need to change a bit.

Appreciate the heads-up! Once the IP pool overhaul lands I'll rebase and adjust the datastore related parts to fit the new shape. Let me know if there’s anything from that branch I should start factoring in now.

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.

API endpoints for listing IP Pools could use filter parameters
2 participants