-
Notifications
You must be signed in to change notification settings - Fork 42
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[sled agent] Zone initialization causes maghemite advertisement, but nothing stops this on zone teardown #7377
Comments
Although maghemite exposes an API to advertise prefixes: and also to withdraw prefixes: The Omicron wrapper around This wrapper suffers from the issues mentioned in #7378 - we probably want to be more cautious about this if we want Sled Agent to be in charge of reconciling prefixes, to withdraw unwanted prefixes and add ones that should be added. |
On a call today we discussed a few options for dealing with this.
|
In terms of prioritization:
This does not affect sled expungement. |
See also: oxidecomputer/maghemite#432, for possible improvements to the maghemite API to make the sled agent reconciler loop easier to write. |
Ah, right. A related idea we discussed was having Maghemite accept a list of prefixes, possibly scoped to a tag as 432 suggests, to avoid the read-modify-write. This would be nice but doesn't change much in terms of correctness vs. putting the reconciler in sled agent since there's only one consumer so the read-modify-write works okay. |
This issue is spun off of #7373
When Sled Agent initializes an Internal DNS zone, it calls the following:
omicron/sled-agent/src/services.rs
Lines 2283 to 2285 in 6767230
This is explained in a block comment here:
omicron/sled-agent/src/services.rs
Lines 2256 to 2259 in 6767230
This advertisement through maghemite allows other sleds to find a route to the DNS zone, through this sled's GZ, but it's missing an important piece: nothing ever instructs the sled to stop advertising this prefix.
This is problematic during zone expungement. Namely, even if we instruct a sled to stop running internal DNS, the prefix is still advertised.
This explains some of the behavior @jgallagher observed here: #7373 (comment)
The text was updated successfully, but these errors were encountered: