-
Notifications
You must be signed in to change notification settings - Fork 62
[4/n] [reconfigurator] more control over ExampleSystem zone allocation #6785
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
[4/n] [reconfigurator] more control over ExampleSystem zone allocation #6785
Conversation
Created using spr 1.3.6-beta.1
Created using spr 1.3.6-beta.1 [skip ci]
Created using spr 1.3.6-beta.1
| test_name: String, | ||
| nsleds: usize, | ||
| ndisks_per_sled: u8, | ||
| // None means nsleds |
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.
I know this is a builder, but I think we'd be more likely to maintain the completeness of the ExampleSystem if we took a Policy as input, rather than duplicating what gets built by hand. I think it will also make the use of the ExampleSystem more consistent with production by driving things from Policy rather than another similar, but not quite the same interface.
We could then copy the policy into the PlanningInput when we build the ExampleSystem.
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.
That makes sense!
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.
Hmm, I agree in principle but it's a bit hard to express the current default of 1 Nexus zone per sled in a Policy struct. We could change the default after auditing that our tests all set up the right number of Nexus zones, though.
How about I file a followup issue to do this? I think once the 1-zone-per-sled issue is resolved, we can make the builder interface and Policy work together. We could in principle do something like with_policy(|policy| { policy.target_nexus_zone_count = 1; }).
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.
Hmm, I agree in principle but it's a bit hard to express the current default of 1 Nexus zone per sled in a
Policystruct. We could change the default after auditing that our tests all set up the right number of Nexus zones, though.
I guess I assumed if there was enough sleds the planner would guarantee this, or that it would be the default.
How about I file a followup issue to do this? I think once the 1-zone-per-sled issue is resolved, we can make the builder interface and
Policywork together. We could in principle do something likewith_policy(|policy| { policy.target_nexus_zone_count = 1; }).
A follow up seems fine to me.
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.
I'll file an issue, thanks!
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.
Filed #6803.
nexus/reconfigurator/planning/src/blueprint_builder/external_networking.rs
Outdated
Show resolved
Hide resolved
Created using spr 1.3.6-beta.1 [skip ci]
Created using spr 1.3.6-beta.1
Created using spr 1.3.6-beta.1
Created using spr 1.3.6-beta.1
andrewjstone
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.
Ship it!
ExampleSysteminstances now allow for controlling the number of Nexus and DNSzones.
There was one test that manually poked at the
ExampleSystemearlier -- thattest can now switch to using this scheme. (I didn't realize it at the time but
we were allocating just one Nexus zone per sled -- I thought we were doing 3
total. Well, now it's clear how many zones are being allocated.)
Also add tests to ensure zone allocation works properly.
Depends on: