vmware-archive / salt-pack

Salt Package Builder
Apache License 2.0
55 stars 23 forks source link

salt-minion requires python-futures package which is not in dependencies #598

Closed petja-laitila closed 4 years ago

petja-laitila commented 5 years ago

I just upgraded to Ubuntu 16.04 from 14.04. Added latest repo and installed salt-minion from there.

Minion is complaining: ImportError: No module named concurrent

And cannot connect to master

apt-cache policy salt-minion salt-minion: Installed: 2018.3.3+ds-1 Candidate: 2018.3.3+ds-1 Version table: *** 2018.3.3+ds-1 500 500 http://repo.saltstack.com/apt/ubuntu/16.04/amd64/latest xenial/main amd64 Packages 500 http://repo.saltstack.com/apt/ubuntu/16.04/amd64/latest xenial/main i386 Packages 100 /var/lib/dpkg/status 2015.8.8+ds-1 500 500 http://mirrors.linode.com/ubuntu xenial/universe amd64 Packages 500 http://mirrors.linode.com/ubuntu xenial/universe i386 Packages

More info about system salt-minion --versions-report Salt Version: Salt: 2018.3.3

Dependency Versions: cffi: Not Installed cherrypy: Not Installed dateutil: 2.4.2 docker-py: Not Installed gitdb: Not Installed gitpython: Not Installed ioflo: Not Installed Jinja2: 2.8 libgit2: Not Installed libnacl: Not Installed M2Crypto: Not Installed Mako: 1.0.3 msgpack-pure: Not Installed msgpack-python: 0.4.6 mysql-python: 1.3.7 pycparser: Not Installed pycrypto: 2.6.1 pycryptodome: Not Installed pygit2: Not Installed Python: 2.7.12 (default, Dec 4 2017, 14:50:18) python-gnupg: Not Installed PyYAML: 3.11 PyZMQ: 15.2.0 RAET: Not Installed smmap: Not Installed timelib: Not Installed Tornado: 4.2.1 ZMQ: 4.1.4

System Versions: dist: Ubuntu 16.04 xenial locale: UTF-8 machine: x86_64 release: 4.18.8-x86_64-linode117 system: Linux version: Ubuntu 16.04 xenial

dmurphy18 commented 5 years ago

@petja-laitila Which version of python-tornado are you using. I have checked Ubuntu 16.04 and 14.04 fully up to date with apt-get upgrade to check that the version of python-tornado supplied is still from SaltStack on this platform. The version of python-tornado from SaltStack has a dependency on concurrent.futures and hence it should be loaded when python-tornado is loaded.

see https://github.com/saltstack/salt-pack/issues/593#issuecomment-434625581

Can you preform apt-cache policy python-tornado and apt-cache depends python-tornado and show the results.

petja-laitila commented 5 years ago

I allready manually installed python-futures to the system so these might not give the whole picture i had after the upgrade, but here you go anyway...

apt-cache policy python-tornado python-tornado: Installed: 4.2.1-1ubuntu3 Candidate: 4.2.1-2~ds+1 Version table: 4.2.1-2~ds+1 500 500 http://repo.saltstack.com/apt/ubuntu/16.04/amd64/latest xenial/main amd64 Packages *** 4.2.1-1ubuntu3 500 500 http://mirrors.linode.com/ubuntu xenial/universe amd64 Packages 100 /var/lib/dpkg/status

apt-cache depends python-tornado python-tornado Depends: ca-certificates Depends: python Depends: python-pycurl Depends: python-concurrent.futures Depends: python Recommends: python-pymysql

I will update this for you if i do this again and run into same problem.

dmurphy18 commented 5 years ago

From your information: Depends: python-concurrent.futures

which should have loaded python-concurrent.futures for you regardless of the version of python-tornado v4.2.1 used. The problem seen on Debian 9 and Ubuntu 18.04 is due to python-concurrent.futures being changed in the control file from Depends to Recommends and then users using exclude recommends.

The SaltStack version of python-tornado v4.2.1 for Ubuntu 14.04 also has a dependency on python-concurrent.futures and there is a version of python-concurrent.futures from SaltStack, hence that should have been there.

I will try the upgrade from 14.04 to 16.04 (may be a couple of days), but on a clean install onto 16.04 with apt-get upgrade to ensure latest packages, it showed that the SaltStack python-tornado was installed as the latest available package.

Do you have any packages pinned which could be affecting this ?

petja-laitila commented 5 years ago

I have no pinned packages.

dmurphy18 commented 5 years ago

@petja-laitila Ubuntu released 4.2.1-1ubuntu3 for xenial, the version released for trusty is 3.1.1-1ubuntu, as per https://packages.ubuntu.com/search?keywords=python-tornado&searchon=names

On xenial the version of python-tornado from SaltStack is preferred, which has a dependency on python-concurrent.futures, similar to the version of python-tornado from SaltStack for trusty.

root@david-VirtualBox:/home/david# apt-cache policy python-tornado python-tornado: Installed: (none) Candidate: 4.2.1-2~ds+1 Version table: 4.2.1-2~ds+1 500 500 http://repo.saltstack.com/staging/py3/ubuntu/16.04/amd64/latest xenial/main amd64 Packages 4.2.1-1ubuntu3 500 500 http://us.archive.ubuntu.com/ubuntu xenial/universe amd64 Packages root@david-VirtualBox:/home/david# lsb_release -a No LSB modules are available. Distributor ID: Ubuntu Description: Ubuntu 16.04.5 LTS Release: 16.04 Codename: xenial root@david-VirtualBox:/home/david# apt-cache depends python-tornado python-tornado Depends: ca-certificates Depends: python Depends: python-pycurl Depends: python-concurrent.futures Depends: python Recommends: python-pymysql root@david-VirtualBox:/home/david#

root@dgm-test-u1404:~# apt-cache policy python-tornado python-tornado: Installed: 4.2.1-1~ds+1 Candidate: 4.2.1-1~ds+1 Version table: *** 4.2.1-1~ds+1 0 500 http://repo.saltstack.com/staging/apt/ubuntu/14.04/amd64/latest/ trusty/main amd64 Packages 100 /var/lib/dpkg/status 3.1.1-1ubuntu2 0 500 http://us.archive.ubuntu.com/ubuntu/ trusty/main amd64 Packages root@dgm-test-u1404:~# lsb_release -a No LSB modules are available. Distributor ID: Ubuntu Description: Ubuntu 14.04.5 LTS Release: 14.04 Codename: trusty root@dgm-test-u1404:~# apt-cache depends python-tornado python-tornado Depends: ca-certificates Depends: python Depends: python-concurrent.futures Depends: python-pycurl Depends: python Depends: python:i386 python Recommends: python-mysqldb root@dgm-test-u1404:~#

I suggest that you utilize the version of python-tornado from SaltStack, appropriate for Trusty and for Xenial

dmurphy18 commented 5 years ago

@petja-laitila Can you confirm that with the point release of Salt 2018.3.4 and 2019.2.0 that your issue is resolved.

dmurphy18 commented 4 years ago

Closing this since fixed in releases almost a year ago. Please reopen if the issue reoccurs