fix: Short-circuit adapter discovery when a native resource type has no matching version#1532
Open
Gijsreyn wants to merge 4 commits into
Open
Conversation
…no matching version
Contributor
There was a problem hiding this comment.
Pull request overview
Note
Copilot was unable to run its full agentic suite in this review.
Optimizes command-based resource discovery by avoiding adapter enumeration in cases where remaining unsatisfied filters correspond to natively-registered resource types (and no adapter is explicitly required), and adds trace logging + test coverage for the new behavior.
Changes:
- Add pre-filtering step to only perform adapter discovery for filters that actually require it.
- Add a trace message when adapter discovery is skipped for a natively-registered type due to version mismatch.
- Add a PowerShell test ensuring adapter discovery is skipped in the native-type version mismatch case.
Reviewed changes
Copilot reviewed 3 out of 3 changed files in this pull request and generated 3 comments.
| File | Description |
|---|---|
| lib/dsc-lib/src/discovery/command_discovery.rs | Introduces adapter candidate filtering and early-return to skip adapter discovery in native-type mismatch scenarios. |
| lib/dsc-lib/locales/en-us.toml | Adds localized trace message for the adapter-skip scenario. |
| dsc/tests/dsc_config_version.tests.ps1 | Adds regression test asserting adapter discovery is not invoked when native type version constraints can’t be met. |
…no matching version
a6345ce to
ab4ab4e
Compare
…ttps://github.com/Gijsreyn/operation-methods into PowerShellgh-1531/main/fix-discovery-requireversion
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
PR Summary
This pull request makes discovery fail fast in a scenario when a configuration document pins a resource with
requireVersion,and the requested type is a known native command-based DSC resource, but no installed version satisfies the requirement.When a user adds the
requireAdapterin the configuration document, a sweep still runs, so that behavior is unchanged. It is mainly on native type + version mismatch + norequireAdapter.PR Context
Fixes #1531