Open
Description
Description
Installing boto3/botocore breaks the salt-minion due to urllib3 version incompatibility
Setup
Running in a KVM VM on CentOS 8
Steps to Reproduce the behavior
Install salt-minion as normal
Install boto3 like normal - python3 -m pip install boto3
Restart salt-minion and get the following error
[root@dev00 ~]# systemctl restart salt-minion.service
Job for salt-minion.service failed because the control process exited with error code.
See "systemctl status salt-minion.service" and "journalctl -xe" for details.
[root@dev00 ~]# systemctl status salt-minion.service
● salt-minion.service - The Salt Minion
Loaded: loaded (/usr/lib/systemd/system/salt-minion.service; enabled; vendor preset: disabled)
Active: failed (Result: exit-code) since Sat 2021-08-28 16:09:16 CDT; 2s ago
Docs: man:salt-minion(1)
file:///usr/share/doc/salt/html/contents.html
https://docs.saltstack.com/en/latest/contents.html
Process: 7935 ExecStart=/usr/bin/salt-minion (code=exited, status=1/FAILURE)
Main PID: 7935 (code=exited, status=1/FAILURE)
Aug 28 16:09:16 dev00.alias454.local salt-minion[7935]: File "/usr/local/lib/python3.6/site-packages/pkg_resources/__init__.py", line 570, in _build_master
Aug 28 16:09:16 dev00.alias454.local salt-minion[7935]: return cls._build_from_requirements(__requires__)
Aug 28 16:09:16 dev00.alias454.local salt-minion[7935]: File "/usr/local/lib/python3.6/site-packages/pkg_resources/__init__.py", line 583, in _build_from_requi>
Aug 28 16:09:16 dev00.alias454.local salt-minion[7935]: dists = ws.resolve(reqs, Environment())
Aug 28 16:09:16 dev00.alias454.local salt-minion[7935]: File "/usr/local/lib/python3.6/site-packages/pkg_resources/__init__.py", line 772, in resolve
Aug 28 16:09:16 dev00.alias454.local salt-minion[7935]: raise DistributionNotFound(req, requirers)
Aug 28 16:09:16 dev00.alias454.local salt-minion[7935]: pkg_resources.DistributionNotFound: The 'urllib3<1.25,>=1.21.1' distribution was not found and is require>
Aug 28 16:09:16 dev00.alias454.local systemd[1]: salt-minion.service: Main process exited, code=exited, status=1/FAILURE
Aug 28 16:09:16 dev00.alias454.local systemd[1]: salt-minion.service: Failed with result 'exit-code'.
Aug 28 16:09:16 dev00.alias454.local systemd[1]: Failed to start The Salt Minion.
Versions Report
salt --versions-report
(Provided by running salt --versions-report. Please also mention any differences in master/minion versions.)salt-minion --versions
Salt Version:
Salt: 3003.2
Dependency Versions:
cffi: 1.11.5
cherrypy: Not Installed
dateutil: 2.8.2
docker-py: Not Installed
gitdb: Not Installed
gitpython: Not Installed
Jinja2: 2.10.1
libgit2: Not Installed
M2Crypto: 0.35.2
Mako: Not Installed
msgpack: 0.6.2
msgpack-pure: Not Installed
mysql-python: Not Installed
pycparser: 2.14
pycrypto: Not Installed
pycryptodome: Not Installed
pygit2: Not Installed
Python: 3.6.8 (default, Mar 19 2021, 05:13:41)
python-gnupg: Not Installed
PyYAML: 3.12
PyZMQ: 19.0.0
smmap: Not Installed
timelib: Not Installed
Tornado: 4.5.3
ZMQ: 4.3.4
System Versions:
dist: centos 8
locale: UTF-8
machine: x86_64
release: 4.18.0-305.12.1.el8_4.x86_64
system: Linux
version: CentOS Linux 8
Additional context
Downgrading urllib to a lower supported version allows the minion to start and operate as normal.
[root@dev00 ~]# python3 -m pip install urllib3==1.24.3
Collecting urllib3==1.24.3
Using cached urllib3-1.24.3-py2.py3-none-any.whl (118 kB)
Installing collected packages: urllib3
Attempting uninstall: urllib3
Found existing installation: urllib3 1.26.6
Uninstalling urllib3-1.26.6:
Successfully uninstalled urllib3-1.26.6
ERROR: pip's dependency resolver does not currently take into account all the packages that are installed. This behaviour is the source of the following dependency conflicts.
botocore 1.21.31 requires urllib3<1.27,>=1.25.4, but you have urllib3 1.24.3 which is incompatible.
Successfully installed urllib3-1.24.3
[root@dev00 ~]# systemctl restart salt-minion.service
[root@dev00 ~]# systemctl status salt-minion.service
● salt-minion.service - The Salt Minion
Loaded: loaded (/usr/lib/systemd/system/salt-minion.service; enabled; vendor preset: disabled)
Active: active (running) since Sat 2021-08-28 16:27:08 CDT; 2s ago
Docs: man:salt-minion(1)
file:///usr/share/doc/salt/html/contents.html
https://docs.saltstack.com/en/latest/contents.html
Main PID: 8942 (salt-minion)
Tasks: 6 (limit: 11415)
Memory: 75.6M
CGroup: /system.slice/salt-minion.service
├─8942 /usr/bin/python3.6 /usr/bin/salt-minion
├─8947 /usr/bin/python3.6 /usr/bin/salt-minion
└─8954 /usr/bin/python3.6 /usr/bin/salt-minion
Aug 28 16:27:07 dev00.alias454.local systemd[1]: Starting The Salt Minion...
Aug 28 16:27:08 dev00.alias454.local systemd[1]: Started The Salt Minion.
Thanks