Open ffrank opened 4 months ago
From my reading: When the converger was rewritten, it got shiny new StartTimer()
and ResetTimer()
methods...but those do not seem to be called.
Instead we add a "StateFn" that fires when we transition from not converged to converged, and immediately shuts down the main loop.
As a side note, I think tests are currently passing only because FileRes and friends manage to finish their work before the shutdown hits. (I have added a shell test for my rewritten MountRes and this one does NOT manage to CheckApply before the premature finish.)
I am not surprised if this has rotted. Further more the converger package was probably some of the first code I wrote, and it is probably terrible and needs fixing. Thank you for letting me know!
Upon further reading, I now think it wasn't the 2019 rewrite of the converger package, but rather the 2019 rewrite of the core algorithm in 253ed78 that made us lose those method calls 😅
Could be. I'll definitely have to dig into it at some point... My reprieve is that I don't think it's a very high-priority feature anymore, but if you have a real-world use case where it's required, please let me know. This could definitely be a "thing we add when a customer needs it" sort of deal.
No I agree that it's a terrible crutch in our test shell scripts, and should be replaced with something more sustainable.
Versions:
mgmt version (eg:
mgmt --version
): 0.0.24-199-g296fc484operating system/distribution (eg:
uname -a
):go version
): go version go1.22.0 linux/amd64Description:
The
--converged-timeout
value is not applied. When supplied, mgmt begins shutting down immediately after assuming a converged state for the first time.Note especially: