Skip to content

Swartzn/remove ping restrictions#207

Open
swartzn wants to merge 3 commits into
mainfrom
swartzn/remove-ping-restrictions
Open

Swartzn/remove ping restrictions#207
swartzn wants to merge 3 commits into
mainfrom
swartzn/remove-ping-restrictions

Conversation

@swartzn

@swartzn swartzn commented Jun 14, 2025

Copy link
Copy Markdown
Contributor

What does this PR do / why do we need it?

Required for all PRs.

  • Remove single node type ping restriction.
  • Add the ability to mix node types and specific nodes.
  • Remove duplicate nodes from ping list so they're only pinged once.
  • Skip clients since they may not be able to reach each other and it causes the ping utility to hang.

Related Issue(s)

Required when applicable.

Where should the reviewer(s) start reviewing this?

Only required for larger PRs when this may not be immediately obvious.

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:

  • Documentation:
    • Does developer documentation (code comments, readme, etc.) need to be added or updated?
    • Does the user documentation need to be expanded or updated for this change?
  • Testing:
    • Does this functionality require changing or adding new unit tests?
    • Does this functionality require changing or adding new integration tests?
  • Git Hygiene:

For more details refer to the Go coding standards and the pull request process.

@swartzn swartzn self-assigned this Jun 14, 2025
@swartzn swartzn requested a review from a team as a code owner June 14, 2025 12:11
@swartzn

swartzn commented Jun 14, 2025

Copy link
Copy Markdown
Contributor Author
$ $beegfs node list
ID    TYPE        ALIAS                             
c:24  client      c51ED1-6835E4A5-swartzn-ThinkPad  
c:53  client      c268D-6839231B-swartzn-thinkpad   
c:54  client      c26B9-68392325-swartzn-thinkpad   
m:2   meta        node_meta_2                       
s:3   storage     node_storage_3                    
mg:1  management  management                        

$ # Ping all nodes
$ $beegfs node ping -c 1
Pinged node meta:2. Successful: 1, failed: 0.
================================================================================
Ping time:      480.35µs        (480345ns) (protocol: TCP)
Average: 480.35µs, Median: 480.35µs, Min: 480.35µs, Max: 480.35µs

Pinged node storage:3. Successful: 1, failed: 0.
================================================================================
Ping time:      426.00µs        (425997ns) (protocol: TCP)
Average: 426.00µs, Median: 426.00µs, Min: 426.00µs, Max: 426.00µs

Pinged node management:1. Successful: 1, failed: 0.
================================================================================
Ping time:      554.88µs        (554876ns) (protocol: TCP)
Average: 554.88µs, Median: 554.88µs, Min: 554.88µs, Max: 554.88µs

$ # Ping single node alias
$ $beegfs node ping node_meta_2 -c 1
Pinged node meta:2. Successful: 1, failed: 0.
================================================================================
Ping time:      404.64µs        (404639ns) (protocol: TCP)
Average: 404.64µs, Median: 404.64µs, Min: 404.64µs, Max: 404.64µs

$ # Ping single node type
$ $beegfs node ping meta -c 1
Pinged node meta:2. Successful: 1, failed: 0.
================================================================================
Ping time:      439.09µs        (439093ns) (protocol: TCP)
Average: 439.09µs, Median: 439.09µs, Min: 439.09µs, Max: 439.09µs

$ # Ping multiple node types
$ $beegfs node ping management meta -c 1
Pinged node meta:2. Successful: 1, failed: 0.
================================================================================
Ping time:      493.70µs        (493704ns) (protocol: TCP)
Average: 493.70µs, Median: 493.70µs, Min: 493.70µs, Max: 493.70µs

Pinged node management:1. Successful: 1, failed: 0.
================================================================================
Ping time:      459.63µs        (459630ns) (protocol: TCP)
Average: 459.63µs, Median: 459.63µs, Min: 459.63µs, Max: 459.63µs

$ # Ping mix node type and alias
$ $beegfs node ping node_storage_3 meta -c 1
Pinged node meta:2. Successful: 1, failed: 0.
================================================================================
Ping time:      384.23µs        (384228ns) (protocol: TCP)
Average: 384.23µs, Median: 384.23µs, Min: 384.23µs, Max: 384.23µs

Pinged node storage:3. Successful: 1, failed: 0.
================================================================================
Ping time:      370.86µs        (370861ns) (protocol: TCP)
Average: 370.86µs, Median: 370.86µs, Min: 370.86µs, Max: 370.86µs

$ # Ping repeated node via type and alias
$ $beegfs node ping node_storage_3 storage -c 1
Pinged node storage:3. Successful: 1, failed: 0.
================================================================================
Ping time:      427.03µs        (427034ns) (protocol: TCP)
Average: 427.03µs, Median: 427.03µs, Min: 427.03µs, Max: 427.03µs

$ # Ping client node type with storage node
$ $beegfs node ping client node_storage_3 storage -c 1
Error pinging c:24
================================================================================
error during node ping: client may not be reachable from other clients. Skipping...
Is the node online and reachable by the client?

Error pinging c:53
================================================================================
error during node ping: client may not be reachable from other clients. Skipping...
Is the node online and reachable by the client?

Error pinging c:54
================================================================================
error during node ping: client may not be reachable from other clients. Skipping...
Is the node online and reachable by the client?

Pinged node storage:3. Successful: 1, failed: 0.
================================================================================
Ping time:      363.71µs        (363711ns) (protocol: TCP)
Average: 363.71µs, Median: 363.71µs, Min: 363.71µs, Max: 363.71µs

Error: ping failed for at least one node
exit status 2

$ # Ping client node with store node
$ $beegfs node ping c51ED1-6835E4A5-swartzn-ThinkPad node_storage_3 -c 1
Error pinging c:24
================================================================================
error during node ping: client may not be reachable from other clients. Skipping...
Is the node online and reachable by the client?

Pinged node storage:3. Successful: 1, failed: 0.
================================================================================
Ping time:      490.65µs        (490654ns) (protocol: TCP)
Average: 490.65µs, Median: 490.65µs, Min: 490.65µs, Max: 490.65µs

Error: ping failed for at least one node
exit status 2

@swartzn swartzn changed the base branch from main to iamjoe/fix/dir-entry-info-and-ping-args June 14, 2025 12:13
@swartzn swartzn force-pushed the swartzn/remove-ping-restrictions branch from 9937989 to 6aae375 Compare June 14, 2025 12:15
sundereshwar
sundereshwar previously approved these changes Jun 16, 2025
Base automatically changed from iamjoe/fix/dir-entry-info-and-ping-args to main June 16, 2025 09:26
@philippfalk philippfalk dismissed sundereshwar’s stale review June 16, 2025 09:26

The base branch was changed.

iamjoemccormick
iamjoemccormick previously approved these changes Jul 8, 2025

@iamjoemccormick iamjoemccormick left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

One minor suggestion but overall LGTM!

Comment thread ctl/pkg/ctl/node/ping.go Outdated
@swartzn

swartzn commented Aug 4, 2025

Copy link
Copy Markdown
Contributor Author

@swartzn Squash commits

swartzn added 3 commits August 4, 2025 15:35
Remove the restriction for only one node type or the inability to mix node alias/ids and types
Remove duplicated nodes so they're only pings once
@swartzn swartzn force-pushed the swartzn/remove-ping-restrictions branch from f925294 to 52cbeb3 Compare August 4, 2025 20:35
@swartzn swartzn requested a review from iamjoemccormick August 4, 2025 20:39
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