Skip to content

Conversation

@andrewjstone
Copy link
Contributor

@andrewjstone andrewjstone commented Oct 30, 2025

This builds on #9310

This code essentially re-implements the bootstore implementation of early network config replication over sprockets channels.

The persistence code of this state still lives in the bootstore, but will eventually move to the trust-quorum crate once all customer systems are running only trust quorum.

This code does not deal with how the switchover from bootstore to to trust-quorum is made. That will come later with trust-quorum / sled-agent integration.

This code essentially re-implements the bootstore implementation of
early network config replication over sprockets channels.

The persistence of this state still lives in the bootstore, but will
eventually move to the `trust-quorum` crate once all customer systems
are running only trust quorum.

This code does not deal with how the switchover from bootstore to
to trust-quorum is made. That will come later with trust-quorum /
sled-agent integration.
Comment on lines +396 to +403
info!(
self.log,
"Sending network config";
"peer_id" => %h.baseboard_id,
"generation" => network_config.generation
);
h.task_handle.send_network_config(network_config.clone()).await;
}
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can we call send_network_config instead of duplicating its contents here? Otherwise if we change one function we have to remember to change the other function too, and at some point we will forget.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We take an efficiency hit doing things that way, because now we have to do a lookup for each peer_id that we already have a handle for. It's not that big a deal, but it feels somewhat wrong to take that hit. The primary deduplication is in the underlying call to task_handle.send_network_config, whereas here the duplication that exists is just a log message.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I could pass a logger into the task_handle I suppose, and then log the message there. That would remove the duplication.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants