-
Notifications
You must be signed in to change notification settings - Fork 67
Description
See #9704 for details. We made dpd server-side-versioned, but that's not really valid. ls-apis should catch this.
I believe the problem here is that its DAG check does not look at deployment units. It finds no cycle in the graph of API dependencies among components (the Rust programs that expose an API). The problem is the cycle in the graph of API dependencies among deployment units -- namely: host OS depends on itself.
It won't be as simple as just adding this check because there are a lot of acceptable dependencies here. In particular, a bunch of stuff in the switch zone talks to other stuff in the same switch zone. That's always okay. Some stuff in the switch zone talks to sled agent, but it's always the local one. Unfortunately, the tool can't tell statically which instances a client is talking to, so we're going to just have to vet these things and add overrides for these cases.
It would be interesting to know if the proposed solutions for #8770 would have caught this.