Repository navigation
[fix] Make reachability re-probe results visible at warn level - #18
Merged
Merged
Conversation
A box logging at warn showed nothing about whether the re-probe ran or what it saw. Log each scheduled attempt and the eventual pass as a warning with the observed public address, and put that address on the startup FIREWALLED line too.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Why
A StartOS box logging at
warnshowed nothing about whether the re-probe from #16 ran or what it saw, so a relay stuckfirewalledcould not be diagnosed from its log.What changes
reachability re-probe failed — still firewalledat warn, with the attempt number and the public address the relay currently observes. Only the first 6 attempts (the ramp) are logged, so a port that really is closed does not fill the log.reachability re-probe passedat warn rather than info: a relay that was red and recovered is exactly what an operator reading a quiet log is looking for.FIREWALLEDerror now carries the observedpublicHost/publicPort. An address that is not the expected one means the verdict is about the wrong network path, not about the port.onResultreceives the attempt number.What it found
Run on a live box, this is what showed the real cause of a relay going red after every update: the startup probe was aimed at the home IP, not the tunnel's, because StartOS had not re-created the outbound-gateway routing rule for the new container. Once that rule was restored the log showed attempt 11 passing and the relay recovered without a restart — the first real-world proof that the re-probe works.
Testing
test/unit/reprobe.test.jsasserts the attempt numbers passed toonResult.npm run lintclean,npm test409/409.