The controller's handover to a process (mesh-controller#253) stopped at its first resource on the control machine:
applying "mesh-controller.account": the user database did not answer about "mesh-controller", so nothing can be said about it: getent exited 2
LookUpUser already meant to read getent's exit code 2 as "no such user". It matched the text "exit status 2", but the host's own runner words that error "getent exited 2", so it never matched. The container kept serving, which is the safe outcome.
The runner now keeps the *exec.ExitError under the same words.
system.ExitCode reads the code from that, or from either wording, which test fakes use.
LookUpUser asks the code.
Tests: absent in both wordings, a real database failure stays an error, and a real getent for a missing user reads as absent. The wording test fails on main and passes here. The full suite passes.
The controller's handover to a process (mesh-controller#253) stopped at its first resource on the control machine:
```
applying "mesh-controller.account": the user database did not answer about "mesh-controller", so nothing can be said about it: getent exited 2
```
`LookUpUser` already meant to read getent's exit code 2 as "no such user". It matched the text "exit status 2", but the host's own runner words that error "getent exited 2", so it never matched. The container kept serving, which is the safe outcome.
- The runner now keeps the `*exec.ExitError` under the same words.
- `system.ExitCode` reads the code from that, or from either wording, which test fakes use.
- `LookUpUser` asks the code.
Tests: absent in both wordings, a real database failure stays an error, and a real `getent` for a missing user reads as absent. The wording test fails on main and passes here. The full suite passes.
A user that does not exist yet was matched as Go's 'exit status 2', while the host's runner says
'getent exited 2', so it read as a user database that did not answer: the controller's account was
never created and the handover to its process stopped there. The runner keeps the exit underneath
its words, and a caller asks the code.
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
The controller's handover to a process (mesh-controller#253) stopped at its first resource on the control machine:
LookUpUseralready meant to read getent's exit code 2 as "no such user". It matched the text "exit status 2", but the host's own runner words that error "getent exited 2", so it never matched. The container kept serving, which is the safe outcome.*exec.ExitErrorunder the same words.system.ExitCodereads the code from that, or from either wording, which test fakes use.LookUpUserasks the code.Tests: absent in both wordings, a real database failure stays an error, and a real
getentfor a missing user reads as absent. The wording test fails on main and passes here. The full suite passes.