Skip to content

feature: Add RAS module support to L0 Sysman python binding - #519

Open
aviralni wants to merge 1 commit into
oneapi-src:masterfrom
aviralni:pyzes_ras_support
Open

aviralni wants to merge 1 commit into
oneapi-src:masterfrom
aviralni:pyzes_ras_support

Conversation

@aviralni

@aviralni aviralni commented Sep 23, 2026 •

Copy link
Copy Markdown
Contributor
  1. zesDeviceEnumRasErrorSets
  2. zesRasGetProperties
  3. zesRasGetSupportedCategoriesExp
  4. zesRasGetStateExp2
  5. zesRasGetConfigExp
  6. zesRasSetConfigExp
  7. zesRasClearStateExp

Added following RAS APIs to python binding:

1. zesDeviceEnumRasErrorSets
2. zesRasGetProperties
3. zesRasGetSupportedCategoriesExp
4. zesRasGetStateExp2
5. zesRasGetConfigExp
6. zesRasSetConfigExp
7. zesRasClearStateExp

Along with the required handle, enums, structure types and structures
(zes_ras_properties_t, zes_ras_state_exp2_t, zes_ras_config_exp_t),
unit tests, a RAS section in the black box test and README updates.

Related-To: SYSM-429

Signed-off-by: Aviral Nigam <[email protected]>

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Copilot review overview

🟡 Changes recommended

Default destructive counter clearing, invalid threshold wrapping, and masked test failures must be addressed.

Get a fresh assessment by requesting another Copilot review.

Review effort: Balanced
Findings: 1 High severity · 1 Medium severity · 1 Low severity

Open (3)
What changed in this PR

Adds RAS support to the Sysman Python binding.

Changes:

  • Adds RAS types, structures, constants, and seven API wrappers.
  • Adds unit and black-box test coverage.
  • Documents the new APIs.
File Description
bindings/​sysman/​python/​source/​pyzes.py Implements RAS bindings.
bindings/​sysman/​python/​test/​unit_tests/​test_ras.py Tests RAS wrappers.
bindings/​sysman/​python/​source/​examples/​pyzes_black_box_test.py Adds RAS hardware tests and CLI options.
bindings/​sysman/​python/​README.md Documents supported RAS APIs.

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

Comment on lines +1027 to +1036
else:
# Only clear categories that have no errors so that no counter data is lost
for j in range(count):
if states[j].errorCounter != 0:
continue
rc = pz.zesRasClearStateExp(ras_handles[i], categories[j])
check_rc(
f"zesRasClearStateExp(ras {i}, {get_ras_error_category_string(categories[j])})",
rc,
)
Comment on lines +1671 to +1672
if args.set_threshold is not None and args.set_threshold < 0:
parser.error("--set-threshold must be a non-negative integer")
| `zesDeviceGetEccState` | ECC | 0.1.2 | None |
| `zesDeviceSetEccState` | ECC | 0.1.2 | None |
| **RAS (Reliability, Availability, Serviceability)** |-|-|-|
| `zesDeviceEnumRasErrorSets` | RAS | 0.1.3 | None |

This branch has not been deployed

No deployments
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.

2 participants