oxidecomputer / oxidecomputer/omicron
Use dynamic DNS for qorb connections
Nobody has claimed this yet.
- Dominant language
- Rust
- Stars
- 572
- Forks
- 97
- Avg merge
- 2d 12h
- Merged PRs (30d)
- 96
Description
When I started working on qorb, I don't think the nameservice record was being populated in internal DNS... but it seems to be there today! Perhaps I didn't look closely enough, or perhaps the reconfigurator work has added it. Either way...
Our "qorb" connection pools often use the DnsResolver interface for resolving to new services. This interface has a configuration option to refresh the set of DNS servers, by reading from the existing DNS servers. This concept is called "Dynamic Resolution", or "Dynamic DNS".
This is a neat little feature -- it means that we can continue using DNS servers as they move around, and it keeps not only the set of backend services up-to-date, but also the set of DNS services up-to-date. Clients refresh themselves with all the info they need!
However, we aren't using it anywhere in Omicron yet. This PR tracks enabling this feature (setting the DnsResolverConfig::resolver_service option to something that isn't None).
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Search the Omicron codebase for qorb connection-pool setup and DnsResolverConfig construction, then inspect how resolver_service is currently configured. Enable a non-None resolver_service value for the relevant qorb pools and verify the existing tests and configuration checks pass.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- rust
- Domain
- backend, networking
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 45/100