AMDEPYC / AMDEPYC/sev-certify

sev-verify: Pass parameters to callable steps

未关闭
#305 0 条评论 0 个 reaction 已指派 0 人 在 GitHub 查看
enhancement
主要语言
Python
星标
3
派生
7
平均合并
1 天 21 小时
30 天内合并 PR
8

描述

Follow-up from [PR #283](https://github.com/AMDEPYC/sev-certify/pull/283) - [(review thread from @DGonzalezVillal on `snphost_config_commit.py`)](https://github.com/AMDEPYC/sev-certify/pull/283#pullrequestreview-4986631251).

Callable steps are dispatched by name with no arguments other than the shared `StepContext`. This results in multiple function wrappers for the same function when called from a step. Enable passing parameters so functions may be called directly.

### Suggested Solution
- Add an optional `params: dict` (or similar) to the callable step definition (`BaseStep` / `Step.for_callable` in `sev_verify/models.py`).
- In `run_callable_step` (`sev_verify/runner.py`), pass those params to the handler - e.g. `fn(ctx, **params)` or via a field on `StepContext`, keeping the no-arg form working for existing handlers.

Then collapse the duplicated handlers into single parameterized functions, e.g.
one `verify_guest_report(ctx, *, report, expect_match_reported)`.

贡献指南

打开贡献指南

评估

这个 Issue 还没有评估数据。

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。