Skip to content

updating rvs tests#2

Merged
solaiys merged 2 commits into
mainfrom
solaiys/my-rvs-2
Oct 9, 2025
Merged

updating rvs tests#2
solaiys merged 2 commits into
mainfrom
solaiys/my-rvs-2

Conversation

@solaiys
Copy link
Copy Markdown
Contributor

@solaiys solaiys commented Oct 9, 2025

Added the following rvs tests:
test_rvs_iet_single
test_rvs_pebb_single

Simplified the results parsing .

Signed-off-by: saravanan solaiyappan <saravanan.solaiyappan@amd.com>
Signed-off-by: saravanan solaiyappan <saravanan.solaiyappan@amd.com>
@solaiys solaiys merged commit 961b4f7 into main Oct 9, 2025
@solaiys solaiys deleted the solaiys/my-rvs-2 branch November 1, 2025 19:09
atnair-amd added a commit that referenced this pull request Apr 17, 2026
get_rdma_nic_dict called `match.group(1)` without first checking that
`re.search(pattern, line)` returned a match. The strict pattern requires
the `netdev <name>` clause, which DOWN rdma links do not carry, so any
host with at least one DOWN RDMA device raised
`AttributeError: 'NoneType' object has no attribute 'group'` and
aborted the parse for all nodes.

Add the missing `if not match: continue` guard (mirroring the existing
guard in get_active_rdma_nic_dict) so DOWN lines are skipped and
well-formed lines keep their existing handling. Add regression tests
for both a synthetic malformed 'link' line and a realistic banff-style
DOWN `rdma link` line without netdev.

Live observation on banff-cyxtera-s70-2 prior to fix:

  sudo rdma link
  link mlx5_0/1 subnet_prefix ... state DOWN physical_state DISABLED
  link mlx5_1/1 subnet_prefix ... state DOWN physical_state DISABLED
  ...
  link mlx5_8/1 state ACTIVE physical_state LINK_UP netdev ens14np0

  ### #2 get_rdma_nic_dict on banff ###
  AttributeError: 'NoneType' object has no attribute 'group'
cijohnson added a commit that referenced this pull request May 12, 2026
This commit addresses all PR review comments by completely refactoring
the multiprocess SSH architecture to be cleaner, more maintainable, and
more robust.

Key Architectural Changes:
- Replace inheritance with ABC + composition pattern
- Eliminate registry + if/elif tree with dynamic method dispatch
- Create single source of truth via ShardableSshInterface ABC
- Move ABC to separate interfaces.py to avoid circular imports

Review Comments Addressed:
- #1-#2: Fixed operation name mismatches (upload/download)
- #3: Updated test expectations for new calling convention
- #4: Proper error handling with early ABC validation
- #5: Maintained custom download_file result merging
- #6: Implemented exact dynamic approach suggested by reviewer

Co-authored-by: Cursor <cursoragent@cursor.com>
Signed-off-by: Ignatious Johnson <ichristo@amd.com>
cijohnson added a commit that referenced this pull request May 12, 2026
This commit addresses all PR review comments by completely refactoring
the multiprocess SSH architecture to be cleaner, more maintainable, and
more robust.

Key Architectural Changes:
- Replace inheritance with ABC + composition pattern
- Eliminate registry + if/elif tree with dynamic method dispatch
- Create single source of truth via ShardableSshInterface ABC
- Move ABC to separate interfaces.py to avoid circular imports

Review Comments Addressed:
- #1-#2: Fixed operation name mismatches (upload/download)
- #3: Updated test expectations for new calling convention
- #4: Proper error handling with early ABC validation
- #5: Maintained custom download_file result merging
- #6: Implemented exact dynamic approach suggested by reviewer

Co-authored-by: Cursor <cursoragent@cursor.com>
Signed-off-by: Ignatious Johnson <ichristo@amd.com>
cijohnson added a commit that referenced this pull request May 12, 2026
This commit addresses all PR review comments by completely refactoring
the multiprocess SSH architecture to be cleaner, more maintainable, and
more robust.

Key Architectural Changes:
- Replace inheritance with ABC + composition pattern
- Eliminate registry + if/elif tree with dynamic method dispatch
- Create single source of truth via ShardableSshInterface ABC
- Move ABC to separate interfaces.py to avoid circular imports

Review Comments Addressed:
- #1-#2: Fixed operation name mismatches (upload/download)
- #3: Updated test expectations for new calling convention
- #4: Proper error handling with early ABC validation
- #5: Maintained custom download_file result merging
- #6: Implemented exact dynamic approach suggested by reviewer

Co-authored-by: Cursor <cursoragent@cursor.com>
Signed-off-by: Ignatious Johnson <ichristo@amd.com>
cijohnson added a commit that referenced this pull request May 12, 2026
This commit addresses all PR review comments by completely refactoring
the multiprocess SSH architecture to be cleaner, more maintainable, and
more robust.

Key Architectural Changes:
- Replace inheritance with ABC + composition pattern
- Eliminate registry + if/elif tree with dynamic method dispatch
- Create single source of truth via ShardableSshInterface ABC
- Move ABC to separate interfaces.py to avoid circular imports

Review Comments Addressed:
- #1-#2: Fixed operation name mismatches (upload/download)
- #3: Updated test expectations for new calling convention
- #4: Proper error handling with early ABC validation
- #5: Maintained custom download_file result merging
- #6: Implemented exact dynamic approach suggested by reviewer

Co-authored-by: Cursor <cursoragent@cursor.com>
Signed-off-by: Ignatious Johnson <ichristo@amd.com>
cijohnson added a commit that referenced this pull request May 14, 2026
This commit addresses all PR review comments by completely refactoring
the multiprocess SSH architecture to be cleaner, more maintainable, and
more robust.

Key Architectural Changes:
- Replace inheritance with ABC + composition pattern
- Eliminate registry + if/elif tree with dynamic method dispatch
- Create single source of truth via ShardableSshInterface ABC
- Move ABC to separate interfaces.py to avoid circular imports

Review Comments Addressed:
- #1-#2: Fixed operation name mismatches (upload/download)
- #3: Updated test expectations for new calling convention
- #4: Proper error handling with early ABC validation
- #5: Maintained custom download_file result merging
- #6: Implemented exact dynamic approach suggested by reviewer

Co-authored-by: Cursor <cursoragent@cursor.com>
Signed-off-by: Ignatious Johnson <ichristo@amd.com>
cijohnson added a commit that referenced this pull request May 14, 2026
* Add upload_file and download_file support

to MultiProcessPssh with operation registry

This commit addresses API incompatibility issues between Pssh and MultiProcessPssh
classes and implements a robust operation registry system to prevent future drift.

Key Changes:
- Add missing upload_file and download_file methods to MultiProcessPssh class
- Implement operation registry (SUPPORTED_OPERATIONS) as single source of truth
- Use method names directly as operation names to eliminate mapping errors
- Add missing detailed parameter support to MultiProcessPssh.exec()

API Parity Testing:
- Add comprehensive test suite to catch missing methods automatically
- Validate method signatures match between Pssh and MultiProcessPssh
- Verify operation registry completeness and consistency
- Test runtime execution of all sharder operations with proper parameters

Operations Updated:
- exec -> exec (added detailed parameter support)
- upload_file -> upload_file (new operation, matches method name)
- download_file -> download_file (new operation, matches method name)

This ensures MultiProcessPssh maintains full API compatibility with Pssh
and prevents the class of issues that led to missing upload_file/download_file methods.

Co-authored-by: Cursor <cursoragent@cursor.com>
Signed-off-by: Ignatious Johnson <ichristo@amd.com>

* Refactor to ABC + composition + dynamic sharder architecture

This commit addresses all PR review comments by completely refactoring
the multiprocess SSH architecture to be cleaner, more maintainable, and
more robust.

Key Architectural Changes:
- Replace inheritance with ABC + composition pattern
- Eliminate registry + if/elif tree with dynamic method dispatch
- Create single source of truth via ShardableSshInterface ABC
- Move ABC to separate interfaces.py to avoid circular imports

Review Comments Addressed:
- #1-#2: Fixed operation name mismatches (upload/download)
- #3: Updated test expectations for new calling convention
- #4: Proper error handling with early ABC validation
- #5: Maintained custom download_file result merging
- #6: Implemented exact dynamic approach suggested by reviewer

Co-authored-by: Cursor <cursoragent@cursor.com>
Signed-off-by: Ignatious Johnson <ichristo@amd.com>

---------

Signed-off-by: Ignatious Johnson <ichristo@amd.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
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.

1 participant