Ensure python-tornado builds from SaltStack have a dependency on concurrent-futures #593
Comments
We ran into this issue today as well, when we updated our salt-minions to 2017.7.8+ds-1 on debian stretch. Highstates resulted in an exception:
Manually installing |
Also seen on debian 9 |
@sblaisot To offer a fuller explanation, SaltStack builds python-tornado for Python 2.7 which utilizes concurrent.futures (python-futures in salt-pack) for the following OS's: for other OS's the version of python-tornado (and its dependencies/recommends on concurrent.futures) is utilized. Also if one of the above OS's provides a version of python-tornado later then v4.2.1, then it is usual to utilize the later version provided by the OS. Python 3 support for python-tornado is usually provided by the OS since SaltStack has a minimum requirement of python-tornado v4.2.1, and Python 3 implementations are typically using a later version. Hope this clears the issue for Debian/Ubuntu OS's. Python-tornado v4.2.1 is also built for RHEL 7 and 6, and Amazon Linux 1. There is a not a firm dependency for python-futures there, and unit test checks shall be conducted to see if it is required. Noting that EPEL is recently updated with a later version of python-tornado than that supplied by SaltStack. |
Updating Debian 9 and Ubuntu 18.04 packages to require concurrent-futures to alleviate this issue. Other platforms should be unaffected. |
@dmurphy18 I had CentOS boxes affected on fresh installs of 2018.3.3 and 2017.7.8 A manual install of python2-futures was required to get them running. These were minimal CentOS builds with salt installed by the salt bootstrap script. salt.utils.thin imports concurrent, which is imported by saltutil, so the python-futrues (or whatever package provides "concurrent" for a PY2 based distribution) is required to run the saltutil module #50220 has my comments on this with debug logs/etc |
@Iomeroe After the Debian/Ubuntu issue with python-tornado only now recommending concurrent.futures, I checked the spec file for the Redhat / Centos builds and python-futures is a Requires:, so the packaging is correct. Installing by the bootstrap should have utilized the requirements file which also includes futures. I shall take a closer look however and unit test to see if I can duplicate your issue, since I had thought the Redhat family should have been unaffected by this. In the past, I have seen issues with minimal CentOS builds where even sudo was not part of the minimal version of CentOS (RHEL 6), and the packages available in minimal installs changed between minor versions, for example: RHEL 6.1, 6.2, 6.3. Hence the problem may be due to the minimal version of CentOS not containing all of the required packages for Salt to function rather than a script or packaging error. Can you provide the version of minimal CentOS that you are using, or confirm that it is CentOS Linux 7.5.1804 Core (from #50220) |
@Iomeroe After installing CentOS 7.5 minimal, I found that python-futures is listed as a dependency for salt: [root@localhost ~]# yum list python*-futures
[root@localhost ~]# cat /etc/redhat-release Installing salt-ssh also install python-futures Dependency Installed: |
The updated Debian 9 and Ubuntu 18.04 packages for 2017.7.8-2 and 2018.3.3-2 have been delivered to test. |
@Iomeroe If the problem persists on Redhat, please open another issue and assign it to dmurphy18 and I shall look into it further. Want a different issue since this is dealing with Ubuntu/Debian. Thanks |
The fixes are now live on repo.saltstack.com |
Hi, This problem exist on CentOS 7 as well but it does not seems this has been addressed? At least not for 2017.7.8 @dmurphy18, did you have another case for CentOS? |
@jryberg A better place to comment would be salt-pack #598 since it is open and this issue is closed. root@localhost:~# yum deplist salt
|
Not sure why this is closed, but I think it also applies to the Ubuntu 16.04 repo, which as of today, does not contain +ds-2 and does not have the correct dependencies set. |
Check Ubuntu 16.04 esp.
The text was updated successfully, but these errors were encountered: