[1/n] [sled-agent] split early networking into its own crate#10448
Conversation
Created using spr 1.3.6-beta.1
| # XXX NOTE this is due to https://github.com/oxidecomputer/omicron/issues/9704 | ||
| # This is the R17 dpd client | ||
| # dpd-client.workspace = true | ||
| dpd-client = { git = "https://github.com/oxidecomputer/dendrite", rev = "cc8e02a0800034c431c8cf96b889ea638da3d194" } |
There was a problem hiding this comment.
Is this still the status quo?
There was a problem hiding this comment.
Basically yes. I think we could bump it up to the R18 dpd client, now that R19 is shipping? But I don't know that there's a need to do that and test it.
Created using spr 1.3.6-beta.1
Created using spr 1.3.6-beta.1
| // We used transparent, because `EarlyNetworkSetupError` contains a subset | ||
| // of error variants already in this type | ||
| #[error(transparent)] | ||
| EarlyNetworkSetup(#[from] EarlyNetworkSetupError), |
There was a problem hiding this comment.
I believe #10370 made this unused, meaning that the RSS crate no longer depends on the early networking crate.
There was a problem hiding this comment.
Oh! I didn't realize that was the only RSS use; that's great. Should we move early_networking back into sled-agent proper? (I don't have strong feelings either way - seems fine to me to leave it separate as you have on this branch.)
There was a problem hiding this comment.
Mild preference for just leaving it separate.
| # XXX NOTE this is due to https://github.com/oxidecomputer/omicron/issues/9704 | ||
| # This is the R17 dpd client | ||
| # dpd-client.workspace = true | ||
| dpd-client = { git = "https://github.com/oxidecomputer/dendrite", rev = "cc8e02a0800034c431c8cf96b889ea638da3d194" } |
There was a problem hiding this comment.
Basically yes. I think we could bump it up to the R18 dpd client, now that R19 is shipping? But I don't know that there's a need to do that and test it.
| // We used transparent, because `EarlyNetworkSetupError` contains a subset | ||
| // of error variants already in this type | ||
| #[error(transparent)] | ||
| EarlyNetworkSetup(#[from] EarlyNetworkSetupError), |
There was a problem hiding this comment.
Oh! I didn't realize that was the only RSS use; that's great. Should we move early_networking back into sled-agent proper? (I don't have strong feelings either way - seems fine to me to leave it separate as you have on this branch.)
Working on extending the ls-apis analysis to treat RSS separately from Sled Agent (#10318 (comment)), we realized that certain assumptions that hold for RSS (namely that the rack has a consistent version) are not upheld for early networking.
Split early networking into its own crate, and make the main omicron-sled-agent crate depend on it. (Due to #10370, RSS no longer depends on the new early networking crate.) This means that after the work to treat RSS separately, any clients depended on by the new sled-agent-early-networking crate are attributed only to Sled Agent.