-
Notifications
You must be signed in to change notification settings - Fork 5.6k
Open
Labels
Description
What happened?
Since 3007.10 pkg.version is no longer working on salt-ssh calls when rendering the jinja2 templates for the states. In 3007.9 and earlier, this is working fine. I suspect this is a regression caused by #68496.
For example, if you take this state:
{% set saltcurrent = salt['pkg.version']('salt','salt-api','salt-master','salt-minion','salt-ssh') %}
lock-salt-versions:
pkg.installed:
- pkgs:
- salt: {{ saltcurrent['salt'] }}
- salt-api: {{ saltcurrent['salt-api'] }}
- salt-master: {{ saltcurrent['salt-master'] }}
- salt-minion: {{ saltcurrent['salt-minion'] }}
- salt-ssh: {{ saltcurrent['salt-ssh'] }}
- ignore_epoch: True
- hold: True
- update_holds: True
- aggregate: False
You get this error when trying to apply it via salt-ssh:
2025-12-28 22:24:24,789 [salt.utils.vt.Terminal.PID-79981.STDERR:595 ][TRACE ][79688] 'pkg.version' is not available.
2025-12-28 22:24:25,250 [salt.client.ssh :32 ][TRACE ][79688] STDOUT 10.254.216.155
/bin/scp
_edbc7885e4f9aac9b83b35999b68d015148caf467b78fa39c05f669c0ff89878
2025-12-28 22:24:25,251 [salt.client.ssh :32 ][TRACE ][79688] STDERR 10.254.216.155
Authorized uses only. All activity may be monitored and reported.
SALT_ARGV: ['/opt/saltstack/salt/bin/python3', '/srv/thindir/salt-call', '--retcode-passthrough', '--local', '--metadata', '--out', 'json', '-l', 'quiet', '-c', '/srv/thindir', '--', 'pkg.version', '"salt"', '"salt-api"', '"salt-master"', '"salt-minion"', '"salt-ssh"']
_edbc7885e4f9aac9b83b35999b68d015148caf467b78fa39c05f669c0ff89878
'pkg.version' is not available.
2025-12-28 22:24:25,251 [salt.client.ssh :1561][DEBUG ][79688] RETCODE 10.254.216.155: 255
2025-12-28 22:24:25,252 [salt.utils.templates:223 ][ERROR ][79688] Rendering exception occurred
Traceback (most recent call last):
File "/opt/saltstack/salt/lib/python3.10/site-packages/salt/utils/templates.py", line 469, in render_jinja_tmpl
output = template.render(**decoded_context)
File "/opt/saltstack/salt/lib/python3.10/site-packages/jinja2/environment.py", line 1295, in render
self.environment.handle_exception()
File "/opt/saltstack/salt/lib/python3.10/site-packages/jinja2/environment.py", line 942, in handle_exception
raise rewrite_traceback_stack(source=source)
File "<template>", line 4, in top-level template code
File "/opt/saltstack/salt/lib/python3.10/site-packages/jinja2/sandbox.py", line 401, in call
return __context.call(__obj, *args, **kwargs)
File "/opt/saltstack/salt/lib/python3.10/site-packages/salt/client/ssh/wrapper/__init__.py", line 258, in caller
return parse_ret(stdout, stderr, retcode, result_only=True)
File "/opt/saltstack/salt/lib/python3.10/site-packages/salt/client/ssh/wrapper/__init__.py", line 389, in parse_ret
raise error(
salt.client.ssh.wrapper.SSHCommandExecutionError: The command resulted in a non-zero exit code: 'pkg.version' is not available.
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/opt/saltstack/salt/lib/python3.10/site-packages/salt/utils/templates.py", line 210, in render_tmpl
output = render_str(tmplstr, context, tmplpath)
File "/opt/saltstack/salt/lib/python3.10/site-packages/salt/utils/templates.py", line 491, in render_jinja_tmpl
raise SaltRenderError(
salt.exceptions.SaltRenderError: Problem running salt function in Jinja template: The command resulted in a non-zero exit code: 'pkg.version' is not available.; line 4
---
# -*- coding: utf-8 -*-
# vim: ft=yaml ts=2 sw=2 expandtab
{% set saltcurrent = salt['pkg.version']('salt','salt-api','salt-master','salt-minion','salt-ssh') %} <======================
lock-salt-versions:
pkg.installed:
- pkgs:
- salt: {{ saltcurrent['salt'] }}
[...]
---
Type of salt install
Official rpm
Major version
3007.x
What supported OS are you seeing the problem on? Can select multiple. (If bug appears on an unsupported OS, please open a GitHub Discussion instead)
almalinux-9
salt --versions-report output
Salt Version:
Salt: 3007.10
Python Version:
Python: 3.10.19 (main, Dec 16 2025, 10:12:17) [GCC 11.2.0]
Dependency Versions:
cffi: 2.0.0
cherrypy: unknown
cryptography: 42.0.5
dateutil: 2.8.2
docker-py: 7.1.0
gitdb: Not Installed
gitpython: Not Installed
Jinja2: 3.1.6
libgit2: Not Installed
looseversion: 1.3.0
M2Crypto: Not Installed
Mako: Not Installed
msgpack: 1.0.7
msgpack-pure: Not Installed
mysql-python: Not Installed
packaging: 24.0
pycparser: 2.21
pycrypto: Not Installed
pycryptodome: 3.19.1
pygit2: Not Installed
python-gnupg: 0.5.5
PyYAML: 6.0.1
PyZMQ: 25.1.2
relenv: 0.22.1
smmap: Not Installed
timelib: 0.3.0
Tornado: 6.5.2
ZMQ: 4.3.4
Salt Package Information:
Package Type: onedir
System Versions:
dist: almalinux 9.7 Moss Jungle Cat
locale: utf-8
machine: x86_64
release: 5.14.0-611.13.1.el9_7.x86_64
system: Linux
version: AlmaLinux 9.7 Moss Jungle Cat