Merge forward 3006.x into 3007.x#68758
Merged
dwoz merged 61 commits intosaltstack:3007.xfrom Mar 13, 2026
Merged
Conversation
The `re_unescape` function's docstring contained a bare `\d` which Python 3.12+ treats as an invalid escape sequence, producing: SyntaxWarning: invalid escape sequence '\d' Convert the docstring to a raw string (r"""...""") to prevent the warning while preserving the docstring content. Fixes saltstack#68568
- x509 test fixes - ugrade test fixes - fix wheel file ignore
twangboy
previously approved these changes
Feb 22, 2026
Let's embrace the AI revolution.
Resolved conflicts in: - .pre-commit-config.yaml - pkg/debian/changelog - pkg/rpm/salt.spec - pkg/windows/msi/Product.wxs - pkg/windows/nsis/installer/Salt-Minion-Setup.nsi - requirements/base.txt - requirements/constraints.txt - requirements/static/ci/cloud.in - requirements/static/ci/common.in - requirements/static/ci/darwin.in - tests/pytests/pkg/upgrade/test_salt_upgrade.py - tests/pytests/unit/beacons/test_telegram_bot_msg.py - tests/pytests/unit/proxy/test_junos.py - tests/unit/utils/test_vmware.py - tools/pkg/build.py
The CI build was failing because pymssql==2.3.13 doesn't exist on PyPI. This version was failing on x86 Windows builds due to missing binary wheels. Changed base.txt to pin pymssql==2.3.11 which is the latest available version. Pre-commit hooks automatically regenerated all compiled requirements files.
twangboy
previously approved these changes
Feb 27, 2026
Use a single lock for both job_queue and state_queue to avoid race conditions
**1. Concurrent `check_prior_running_states` Access**
Problem: Function read queue directories without locks, causing inconsistent reads.
Fix: Added lock protection to check_prior_running_states() in salt/utils/state.py:
def check_prior_running_states(opts, jid, active_jobs):
# ...
with acquire_queue_lock(opts): # ← Added lock protection
for queue_name in ("state_queue", "job_queue"):
# Safe to read both directories
**2. Process Count Check Timing**
Problem: Process count checked once under lock, but became stale during batch processing.
Fix: Re-check process count before each individual job in salt/minion.py:
for fn in files[:slots_available]:
# Re-check process count before processing each job
current_process_count = len([p for p in self.subprocess_list.processes if p.is_alive()])
if current_process_count >= current_process_count_max:
break # Stop processing if count changed
**3. Orphaned `running_` Files Cleanup**
Problem: Minion crashes could leave running_ files that block future jobs.
Fix: Added startup cleanup in salt/minion.py:
def _cleanup_orphaned_queue_files(self):
"""Clean up running_ files older than 5 minutes"""
for fn in os.listdir(queue_dir):
if fn.startswith("running_"):
age_seconds = time.time() - os.stat(path).st_mtime
if age_seconds > 300: # 5 minutes
os.remove(path)
twangboy
previously approved these changes
Mar 12, 2026
- Update tools/testsuite/ci_failure.py with job pagination and improved parsing. - Fix performance test to handle legacy build environments and skip pull if image exists. - Move timelib and linode-python out of core requirements to platform-specific package requirements. - Regenerate all static requirement lockfiles.
twangboy
approved these changes
Mar 13, 2026
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.
Merging 3006.x into 3007.x.