Skip to content
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

Use BlueprintZoneConfig in RSS service plan #6410

Merged
merged 3 commits into from
Aug 23, 2024

Conversation

andrewjstone
Copy link
Contributor

In anticipation of adding more BlueprintZoneConfig variants with more auxiliary information, we stop converting from OmicronZoneConfig to BlueprintZoneConfig which is not going to be feasible for much longer.

Instead we change the one production code place we do this, RSS, to directly construct BlueprintZoneConfig structs rather than do the conversion.

This has some ripple effects, and results in a new persistent v4 sled service plan.

There is one test that still does this conversion, but the function that does it is now moved into that test module and commented heavily. We hope to remove it shortly.

In anticipation of adding more `BlueprintZoneConfig` variants with more
auxiliary information, we stop converting from `OmicronZoneConfig` to
`BlueprintZoneConfig` which is not going to be feasible for much longer.

Instead we change the one production code place we do this, RSS, to directly
construct `BlueprintZoneConfig` structs rather than do the conversion.

This has some ripple effects, and results in a new persistent v4 sled
service plan.

There is one test that still does this conversion, but the function
that does it is now moved into that test module and commented heavily.
We hope to remove it shortly.
@andrewjstone
Copy link
Contributor Author

This is not as daunting as it looks. 1000 lines of it is a generated json file.

Copy link
Contributor

@jgallagher jgallagher left a comment

Choose a reason for hiding this comment

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

Looks great; thanks for cleaning up this mess I left behind.

Out of an abundance of paranoia, have you run through RSS on this branch on london or madrid? (Does a4x2 go through this same code path? I forget when it converges back with normal setup.)

nexus/types/src/deployment.rs Show resolved Hide resolved
nexus/types/src/deployment.rs Outdated Show resolved Hide resolved
sled-agent/src/rack_setup/plan/service.rs Outdated Show resolved Hide resolved
@andrewjstone
Copy link
Contributor Author

andrewjstone commented Aug 23, 2024

Thanks for the review @jgallagher. Much appreciated.

Looks great; thanks for cleaning up this mess I left behind.

Out of an abundance of paranoia, have you run through RSS on this branch on london or madrid? (Does a4x2 go through this same code path? I forget when it converges back with normal setup.)

I did not do that yet. I'll definitely do it before merge. I think the deploy task runs through this, but I'll run it on a4x2, which definitely runs RSS. It just does it from a config file I believe. I always wait for Handoff to Nexus complete, but I'll also double check after a run to ensure the new plan gets written.

@andrewjstone
Copy link
Contributor Author

Thanks for the review @jgallagher. Much appreciated.

Looks great; thanks for cleaning up this mess I left behind.
Out of an abundance of paranoia, have you run through RSS on this branch on london or madrid? (Does a4x2 go through this same code path? I forget when it converges back with normal setup.)

I did not do that yet. I'll definitely do it before merge. I think the deploy task runs through this, but I'll run it on a4x2, which definitely runs RSS. It just does it from a config file I believe. I always wait for Handoff to Nexus complete, but I'll also double check after a run to ensure the new plan gets written.

I tested on a4x2 and Handoff completed successfully. I see the new rss-service-plan-v4.json and it contains an external_ip_id which only exists in the BlueprintZoneConfig.

@andrewjstone andrewjstone merged commit 876ae85 into main Aug 23, 2024
23 checks passed
@andrewjstone andrewjstone deleted the no-converty-between-zone-types branch August 23, 2024 23:14
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.

2 participants