Skip to content

Fix #30971: Handle requisites correctly for empty SLS files - #68534

Merged
dwoz merged 2 commits into
saltstack:3006.xfrom
dwoz:issue/30971/3006.x
Jun 15, 2026
Merged

dwoz merged 2 commits into
saltstack:3006.xfrom
dwoz:issue/30971/3006.x

Conversation

@dwoz

@dwoz dwoz commented Dec 14, 2025

Copy link
Copy Markdown
Contributor

Empty SLS files were not being tracked properly for requisite checking, causing 'requisite not found' errors. This fix ensures empty SLS files are processed and tracked correctly for requisite dependencies.

  • Added _processed_sls_files set to track processed SLS files
  • Track SLS files in compile_high_data even if they produce no chunks
  • Check _processed_sls_files when validating SLS requisites
  • Handle empty SLS requisites in call_chunk execution
  • Track SLS files in render_state and get_highstate
  • Added test case to test_require.py to verify the fix

Fixes #30971

Comment thread salt/state.py Resolved
@twangboy

Copy link
Copy Markdown
Contributor

Changelog

@twangboy twangboy added this to the Sulfur v3006.18 milestone Dec 16, 2025
Comment thread salt/state.py Resolved
Comment thread salt/state.py Resolved

@twangboy twangboy left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Changelog

@twangboy twangboy added this to the Sulpher v3006.24 milestone Feb 24, 2026
@dwoz
dwoz force-pushed the issue/30971/3006.x branch from 4d116c4 to dc46637 Compare June 7, 2026 22:22
dwoz and others added 2 commits June 14, 2026 22:41
Empty SLS files were not being tracked properly for requisite checking,
causing 'requisite not found' errors. This fix ensures empty SLS files
are processed and tracked correctly for requisite dependencies.

- Added _processed_sls_files set to track processed SLS files
- Track SLS files in compile_high_data even if they produce no chunks
- Check _processed_sls_files when validating SLS requisites
- Handle empty SLS requisites in call_chunk execution
- Track SLS files in render_state and get_highstate
- Added test case to test_require.py to verify the fix
- Keep import from salt.utils.datastructures (odict is deprecated)
- Restore str-to-list conversion for check_cmd that was inadvertently removed
- Remove unused local processed_sls_files in compile_high_data; track on
  self._processed_sls_files instead
- Replace the duplicated empty-SLS handling in call_chunk with a single
  post-loop check in check_requisite and the lost-requisite builder
- Drop redundant tracking in render_highstate and include processing; the
  render_state path already records the SLS in _processed_sls_files
- Add changelog entry

This branch was previously deployed

1 inactive deployment
ci — b601a95a Deployed Jun 15, 2026 by dwoz via Build Onedir Packages / macOS (arm64) #24104
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

test:full Run the full test suite

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants