Introduce a BootzConfiguration field to FactoryReset.Start(). #309
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Overview
This PR introduces a new field to the gNOI FactoryReset.Start() gRPC that allows the caller to initiate Bootz without the need for an external DHCP server. If this field is populated, the device will factory reset as normal, but skip the process of acquring a DHCP lease.
Motivation
Separation of concerns
When a Bootz integration test fails, it's difficult to know if the DHCP part is failing, the Bootz part, or both. By separating these, we can individually test each component.
Testbed infrastructure simplicity
A Bootz test would no longer require a dedicated DHCP server in the lab, easing requirements on the testbed infrastructure. For large lab setups, this often requires changes to routing configurations and the addition of DHCP relay agents, all of which add to its complexity.
Virtualized environment challenges
This approach bypasses some additional challenges with running integration tests in virtualized environments such as Kubernetes where users don't have as much control over L2 networking.