feat(debug): allow direct node communication and skip mgmtd node-store lookup when node ip and port is specified.#301
Draft
pranavpadmasali wants to merge 1 commit into
Draft
Conversation
…e lookup when node ip and port is specified. Update `beegfs debug` to accept `<node|host:port>` as the first positional. The command first tries to parse a meta/storage entity ID; if parsing fails, it treats the value as a direct TCP address and sends `GenericDebug` directly to that node (without mgmtd node-store lookup). Also add a shared `config.AuthSecret()` helper and reuse it in direct debug requests so auth-secret resolution stays consistent with existing config behavior.
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.
What does this PR do / why do we need it?
Update
beegfs debugto accept<node|host:port>as the first positional.The command first tries to parse a meta/storage entity ID; if parsing fails, it
treats the value as a direct TCP address and sends
GenericDebugdirectly tothat node (without mgmtd node-store lookup). So even if the management is
not running, beegfs CTL can send messages to daemons if the ip address and
ports are known.
This can be helpful during integration tests to ensure that the daemons are running
and to avoid relying on log parsing to confirm that they are listening on the
requested ports.
With this, we can use the debug command to send a debug version message to the node.
If the daemon responds, then it is running; if not, it failed to start as expected.
Also add a shared
config.AuthSecret()helper and reuse it in direct debugrequests so auth-secret resolution stays consistent with existing config behaviour.
Are there any specific topics we should discuss before merging?
Not required.
What are the next steps after this PR?
Not required.
Checklist before merging:
Required for all PRs.
When creating a PR these are items to keep in mind that cannot be checked by GitHub actions:
For more details refer to the Go coding standards and the pull request process.