Skip to content

Conversation

@gmacf
Copy link

@gmacf gmacf commented Sep 19, 2025

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.

@gmacf gmacf marked this pull request as draft September 19, 2025 06:13
@coveralls
Copy link

Pull Request Test Coverage Report for Build 17850126019

Details

  • 0 of 61 (0.0%) changed or added relevant lines in 1 file are covered.
  • No unchanged relevant lines lost coverage.
  • Overall coverage remained the same at 0.0%

Changes Missing Coverage Covered Lines Changed/Added Lines %
factory_reset/factory_reset.pb.go 0 61 0.0%
Totals Coverage Status
Change from base Build 17844817729: 0.0%
Covered Lines: 0
Relevant Lines: 12489

💛 - Coveralls

@gmacf
Copy link
Author

gmacf commented Sep 19, 2025

Immediately after I wrote this, I noticed a near-identical PR: #204. Does anyone know the status of that?

@dplore
Copy link
Member

dplore commented Sep 19, 2025

We'll close #204 as stale.

To further separate concerns for the device implementation side of this effort, maybe a new service such as gnoi.BootzTest. is suitable. Are there other bootz testing actions you would want to take aside from a "fake DHCP response"? For the use case you've outlined, perhaps your test client would send a gnoi.BootzTest.StartBootstrap(BootstrapResponseData) to the device?

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