Skip to content

refactor(core): use upstream CDI name validation - #4529

Open
elezar wants to merge 1 commit into
mainfrom
codex/cdi-name-parser
Open

elezar wants to merge 1 commit into
mainfrom
codex/cdi-name-parser

Conversation

@elezar

@elezar elezar commented Oct 14, 2026

Copy link
Copy Markdown
Member

Summary

Use the public upstream CDI predicate on Linux for the name validation introduced in #4306, retaining the existing local checker on other platforms. This moves reusable CDI dependency and vendoring setup out of the resolver work in #4204 without changing accepted selectors or validation errors.

Related Issue

No issue required: internal refactor of the existing validation added in #4306, with no user-facing behavior change.

Follow-up to #4306 (fix(drivers): validate vendor-agnostic CDI device names); prerequisite for #4204. Includes the Git vendoring support from #4204 commit 4cad83e.

Changes

  • Expose one cdi_name::is_qualified_name entrypoint: directly reexport upstream on Linux and select the unchanged local checker elsewhere. Reuse the existing GPU validation tests.
  • Pin the revision exposing the public predicate from container-device-interface-rs #177, with default features disabled. Add the dependency only for Linux and refresh the affected lockfiles and Git source allowlist.
  • Preserve Cargo's complete source mapping in Packit vendor archives and RPM preparation, including the pinned Git source. Capture cargo vendor output without --quiet, which suppresses the mapping on the current toolchain.

Testing

  • mise run pre-commit passes.
  • Existing focused core CDI/GPU validation tests pass on macOS.
  • Linux module reexport and pinned upstream dependency type-check for aarch64-unknown-linux-gnu in a minimal check harness.
  • Dependency source/license checks and tracked lockfile validation pass.
  • Corrected CDI vendor fixture survives archive extraction and Linux checking with --locked --offline and empty registry/Git caches. Full-workspace offline dependency resolution also passes with the complete vendor tree and corrected mappings.
  • mise run ci: stops at the unchanged openshell-supervisor-network test mediated_connect_keeps_workload_bytes_read_with_the_synthesized_header with an upstream-request timeout. An isolated retry of the same workspace test binary passes.
  • Full Fedora RPM build and native Linux execution: not run locally.

Checklist

  • Follows Conventional Commits.
  • Commit signed off for DCO.
  • No user-facing documentation changes required.

@elezar elezar added the test:e2e Requires end-to-end coverage label Oct 14, 2026
@github-actions

Copy link
Copy Markdown

Label test:e2e applied for 360f6d5. Open the existing run and click Re-run all jobs to execute with the label set. The run will execute the standard E2E suite after building the required gateway, sandbox, and supervisor images once. The matching required CI gate status on this PR will flip green automatically once the run finishes.

@github-actions

Copy link
Copy Markdown

Label test:e2e-gpu applied for 360f6d5. Open the existing run and click Re-run all jobs to execute with the label set. The run will execute GPU E2E after building the required supervisor image once. The matching required CI gate status on this PR will flip green automatically once the run finishes.

@elezar
elezar requested review from SDAChess and alangou October 15, 2026 14:31
Signed-off-by: Evan Lezar <elezar@nvidia.com>
@elezar
elezar force-pushed the codex/cdi-name-parser branch from 360f6d5 to 01b0b55 Compare October 15, 2026 15:01

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

test:e2e Requires end-to-end coverage test:e2e-gpu Requires GPU end-to-end coverage

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant