FS#74244 - [salt] python-jinja 3.x upgrade breaks salt

Attached to Project: Community Packages
Opened by Dennis Schubert (DenSchub) - Friday, 25 March 2022, 23:25 GMT
Last edited by Evangelos Foutras (foutrelis) - Saturday, 26 March 2022, 10:59 GMT
Task Type Bug Report
Category Packages
Status Closed
Assigned To Johannes Löthberg (demize)
Morten Linderud (Foxboron)
Architecture All
Severity High
Priority Normal
Reported Version
Due in Version Undecided
Due Date Undecided
Percent Complete 100%
Votes 0
Private No

Details

Description:

The package python-jinja was upgraded to 3.1, but Salt expects and needs jinja2. This breaks all Salt applications, including salt-master and salt-minion.

Crash trace:

salt-master[247]: Traceback (most recent call last):
salt-master[247]: File "/usr/bin/salt-master", line 33, in <module>
salt-master[247]: sys.exit(load_entry_point('salt==3004', 'console_scripts', 'salt-master')())
salt-master[247]: File "/usr/lib/python3.10/site-packages/salt/scripts.py", line 79, in salt_master
salt-master[247]: import salt.cli.daemons
salt-master[247]: File "/usr/lib/python3.10/site-packages/salt/cli/daemons.py", line 50, in <module>
salt-master[247]: import salt.utils.parsers
salt-master[247]: File "/usr/lib/python3.10/site-packages/salt/utils/parsers.py", line 24, in <module>
salt-master[247]: import salt.config as config
salt-master[247]: File "/usr/lib/python3.10/site-packages/salt/config/__init__.py", line 101, in <module>
salt-master[247]: _DFLT_IPC_WBUFFER = _gather_buffer_space() * 0.5
salt-master[247]: File "/usr/lib/python3.10/site-packages/salt/config/__init__.py", line 89, in _gather_buffer_space
salt-master[247]: import salt.grains.core
salt-master[247]: File "/usr/lib/python3.10/site-packages/salt/grains/core.py", line 32, in <module>
salt-master[247]: import salt.modules.cmdmod
salt-master[247]: File "/usr/lib/python3.10/site-packages/salt/modules/cmdmod.py", line 31, in <module>
salt-master[247]: import salt.utils.templates
salt-master[247]: File "/usr/lib/python3.10/site-packages/salt/utils/templates.py", line 20, in <module>
salt-master[247]: import salt.utils.jinja
salt-master[247]: File "/usr/lib/python3.10/site-packages/salt/utils/jinja.py", line 28, in <module>
salt-master[247]: from jinja2 import BaseLoader, Markup, TemplateNotFound, nodes
salt-master[247]: ImportError: cannot import name 'Markup' from 'jinja2' (/usr/lib/python3.10/site-packages/jinja2/__init__.py)
This task depends upon

Closed by  Evangelos Foutras (foutrelis)
Saturday, 26 March 2022, 10:59 GMT
Reason for closing:  Fixed
Additional comments about closing:  Downgraded python-jinja to 1:3.0.3-1; to be re-upgraded more carefully in the future.
Comment by Dennis Schubert (DenSchub) - Friday, 25 March 2022, 23:29 GMT
Actually, this is probably a breaking change from Jinja 3.1.0, https://jinja.palletsprojects.com/en/3.1.x/changes/#version-3-1-0

> Markup and escape should be imported from MarkupSafe.
Comment by Iru Dog (mytbk) - Saturday, 26 March 2022, 09:40 GMT
Jinja 3.1.0 also breaks matrix-synapse: https://github.com/matrix-org/synapse/pull/12297

Loading...