Description
When starting an oximeter_producer::Server
, one can ask the server to use internal DNS to resolve Nexus's address for registration. That looks like this:
omicron/oximeter/producer/src/lib.rs
Lines 312 to 345 in 38575ab
That loop will first look up the address in a loop, and then attempt to register in a loop. Those should probably be interleaved instead, so that on each pass through the loop we look up the address and register. Otherwise, it's possible that the address we resolve becomes stale before we can successfully register with it. This is an unlikely event -- we'd only see that if internal DNS gave us an address we're partitioned from or that immediately goes away as part of service reconfiguration. However, it is certainly still possible, and we should restructure this loop.