-
Notifications
You must be signed in to change notification settings - Fork 61
sled-agent: begin incorporating Cosmo support #9016
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
Conversation
|
Note: this needs more testing, but I wanted to open a PR to at least get some feedback. |
15be16f to
c0e08ea
Compare
hawkw
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Handful of minor nits, but no major concerns overall!
42fd065 to
daac156
Compare
I'm curious what scenario you ran into that needed this? I'd imagine someone setting RSS config would intend for that value to overwrite what's in any existing sled config. |
Truthfully, I think it's kind of the wrong solution. The issue, however, was that RSS was not honoring It came up briefly at the CHM that having an independently configurable |
daac156 to
cfdb848
Compare
1826466 to
ecf92c2
Compare
ecf92c2 to
17f4885
Compare
Extend the implementation of the existing `Baseboard` type to incorporate Cosmo, and introduce a new `OxideSled` enum to represent different Oxide sled types so that a) we can differentiate between different kinds of sled, and b) parameterize omicron code with constant data specific to a sled type. Also, identify places where we call the `is_gimlet` method, and instead call that, `is_oxide_sled` (none of these are actually specific to Gimlets in particular). Find places where we use symbolic constants named `Gimlet` that should be `Sled`; if these bleed into config files, set up Serde aliases to accommodate a change. Make it is that, if we set `skip_timesync` in a config file, we propagate that to RSS startup. With these changes, we have successfully used the `gimlet-standalone` to boot the control plane on a Cosmo. (Yes, the config name is somewhat ironic, and should be addressed at some point.)
17f4885 to
caa4e45
Compare
|
The test failure here was a timeout: I suspect it's unrelated to this change, and I'm going to try and rerun just that test. |
Extend the existing `Baseboard` type to incorporate Cosmo, and introduce a new `OxideSled` enum to represent different Oxide sled types so that a) we can differentiate between different kinds of sled, and b) parameterize omicron code with constant data specific to a sled type. Also, identify places where we call the `is_gimlet` method, and instead call that, `is_oxide_sled` (none of these are actually specific to Gimlets in particular). Find places where we use symbolic constants named `Gimlet` that should be `Sled`; if these bleed into config files, set up Serde aliases to accommodate a change. Make it is that, if we set `skip_timesync` in a config file, we propagate that to RSS config as well. With these changes, we have successfully used the `gimlet-standalone` to boot the control plane on a Cosmo. (Yes, the config name is somewhat ironic, and should be addressed at some point.)
Extend the existing
Baseboardtype to incorporate Cosmo, and introduce a newOxideSledenum to represent different Oxide sled types so that a) we can differentiate between different kinds of sled, and b) parameterize omicron code with constant data specific to a sled type.Also, identify places where we call the
is_gimletmethod, and instead call that,is_oxide_sled(none of these are actually specific to Gimlets in particular).Find places where we use symbolic constants named
Gimletthat should beSled; if these bleed into config files, set up Serde aliases to accommodate a change.Make it is that, if we set
skip_timesyncin a config file, we propagate that to RSS config as well.With these changes, we have successfully used the
gimlet-standaloneto boot the control plane on a Cosmo. (Yes, the config name is somewhat ironic, and should be addressed at some point.)