Community Packages

Please read this before reporting a bug:

Do NOT report bugs when a package is just outdated, or it is in Unsupported. Use the 'flag out of date' link on the package page, or the Mailing List.

REPEAT: Do NOT report bugs for outdated packages!

FS#61129 - [salt] provide salt package based on py3

Attached to Project: Community Packages
Opened by Chris Drexler (CKolumbus) - Wednesday, 19 December 2018, 08:59 GMT
Last edited by Johannes Löthberg (demize) - Monday, 22 June 2020, 16:36 GMT
Task Type Feature Request
Category Packages
Status Assigned
Assigned To Johannes Löthberg (demize)
Architecture All
Severity Low
Priority Normal
Reported Version
Due in Version Undecided
Due Date Undecided
Percent Complete 0%
Votes 11
Private No


Maintainer edit: Please do not bother commenting on this unless it is related to Salt upstream either actively working on, or having fully implemented, Tornado >5 with Python 3.


salt package is built against python2. I do have minions (windows, c.f. chocolatey default package switch to to py3 as well that are py3 based and master & minion have to match.

Is it possible/reasonable to switch the salt package to be based on python3 or provide and additional package (salt-py3) that is?

I see more and more minion installation switch to py3, so a matching master on arch might become more important in the future IMHO.

Thanks for your support!
This task depends upon

Comment by Chris Drexler (CKolumbus) - Tuesday, 08 January 2019, 19:42 GMT
Update: the different major python versions are only a problem for salt-ssh connections, e.g. `salt-ssh` to a raspberry pi with python3 from an ArchLinux host with salt-py2. salt-master(py2) to salt-minion(py3) are ok (e.g. `salt 'winhost''`) . So the problem is not that urgent as I thought. Sorry for communicating the wrong assumptions in the initial request.
Comment by Akmod (akmod) - Monday, 25 March 2019, 19:54 GMT
In their 2019.2.0 release, SaltStack included a deprecation notice for Python2. In light of that, we should open up the conversation about moving this package to python3 again.

Python 2.7 Deprecation

In light of Python 2.7 reaching its End of Life (EOL) on Jan 1st 2020, Python 2 will be deprecated from SaltStack no earlier than the Sodium release, that is either the Sodium release or a later release. This decision is pending further community discussion.
Comment by Johannes Löthberg (demize) - Monday, 25 March 2019, 20:34 GMT
Salt doesn't support Python 3 + Tornado 5. Nothing will be done untill that changes.
Comment by Akmod (akmod) - Monday, 25 March 2019, 20:50 GMT
That makes sense. This is the issue# on github for python3 + Tornado 5 compatibility. It seems to be actively worked on.
Comment by Nigel Kukard (nkukard) - Monday, 11 November 2019, 07:16 GMT
It looks like Ubuntu is currently building SaltStack against Python3 (and looks like Tornado 4).

Is there some functionality we need that is being excluded by their build?

Comment by Johannes Löthberg (demize) - Wednesday, 25 December 2019, 19:53 GMT
Probably not, but I'm not going to package Tornado 4 just for Salt.
Comment by Kirill Goncharov (xuhcc) - Wednesday, 22 January 2020, 16:06 GMT
salt-py3 package was added to AUR:
Comment by loqs (loqs) - Wednesday, 29 January 2020, 03:21 GMT
salt is switching to vendoring tornado version 4 for the neon release [1]

Comment by arx (arx) - Monday, 23 March 2020, 14:33 GMT
As of release 3000 (last month), tornado has been vendorized and shouldn't pose an issue with the version shipped with archlinux.
Comment by Nigel Kukard (nkukard) - Monday, 23 March 2020, 14:36 GMT
Can't wait, I'm more than welcome to test
Comment by loqs (loqs) - Monday, 23 March 2020, 17:01 GMT is an issue for py3 with python-msgpack 1.0.0-1 in testing
Comment by Eli Schwartz (eschwartz) - Tuesday, 24 March 2020, 17:06 GMT
> As of release 3000 (last month), tornado has been vendorized and shouldn't pose an issue with the version shipped with archlinux.

Vendoring stuff is explicitly not a solution:

<demize> shibumi: Myeah, and salt 3k has vendored an old tornado version to "solve" it, so I've been putting off updating it because I don't have the time to work on devendor it. .__.
<demize> shibumi: Because, you know, it's easier to vendor a 2 year old tornado version and hoping that no one finds any
<demize> security vulnerabilities in it than getting one of your employees to work on updating salt to support the new tornado versions.

So no, this is not going to happen, don't bother waiting.
Comment by Eli Schwartz (eschwartz) - Tuesday, 24 March 2020, 17:08 GMT

"Please note that running Salt with Python 3.8 is currently not supported. It is recommended to not use a version higher than 3.7."
Comment by tqre (tqre) - Monday, 22 June 2020, 10:55 GMT
According to AUR's salt-py3 discussion, Salt works now with python-msgpack >=1.0.0 -
I have used AUR's salt-py3 without any problems, didn't test it with latest msgpack though...

Is tornado vendoring the only issue hindering this upgrade?

Comment by Terry Cinello (cinterry) - Friday, 10 July 2020, 21:14 GMT
The bug tracking Tornado 5.0 support is marked as being finished and included in release 3001 (Released June 17th).
Presumably it should be good to go now?
Comment by loqs (loqs) - Friday, 10 July 2020, 21:39 GMT
3001 embeds tornado 4.5.3 [1] there is a pull request titled tornado 5 [2] although the embedded tornado version is not updated by the pull request.