Skip to content

[BUG] Installing boto3/botocore breaks the salt-minion due to urllib3 version incompatibility #60805

Open
@alias454

Description

@alias454

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

Metadata

Metadata

Assignees

Labels

Bugbroken, incorrect, or confusing behaviorCorerelates to code central or existential to SaltbotoAWS wrapper modulesdependencyunderlying Salt dependency issueseverity-medium3rd level, incorrect or bad functionality, confusing and lacks a work around

Type

No type

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions