conan-io / conan

Conan - The open-source C and C++ package manager
https://conan.io
MIT License
7.96k stars 952 forks source link

[bug] Docker runner issues with Docker Rancher #16461

Closed AbrilRBS closed 2 days ago

AbrilRBS commented 3 weeks ago

Describe the bug

The only thing that changed between now and back when this worked is not using Docker desktop but Docker Rancher. I had to go back to python 3.9, and downgrade requests to 2.31 to get it to fail at this point, else it fails with something else

How to reproduce it

$ conan create . --version=2.30.3 -b=missing -pr:a=linux_gcc -pr:a=docker_runner_gcc -vvv

======== Exporting recipe to the cache ========
sdl/2.30.3: Exporting package recipe: /Users/ruben/coding/conan-center-index/recipes/sdl/all/conanfile.py
sdl/2.30.3: exports: File 'conandata.yml' found. Exporting it...
sdl/2.30.3: copy(pattern=conandata.yml) copied 1 files
  from /Users/ruben/coding/conan-center-index/recipes/sdl/all/
  to /Users/ruben/.conan2/p/t/sdl40165d27f9955/e
  Files:
    conandata.yml
sdl/2.30.3: Calling export_sources()
sdl/2.30.3: Copied 1 '.py' file: conanfile.py
sdl/2.30.3: Copied 1 '.yml' file: conandata.yml
sdl/2.30.3: Exported to cache folder: /Users/ruben/.conan2/p/sdlf064b5b7df7d1/e
sdl/2.30.3: Exported: sdl/2.30.3#dd9ffaf96105fb30c4f4d7c7c2af5302 (2024-06-11 10:53:01 UTC)

======== Input profiles ========
Profile host:
[settings]
arch=armv8
build_type=Release
compiler=gcc
compiler.cppstd=gnu17
compiler.libcxx=libstdc++11
compiler.version=11
os=Linux
[conf]

Profile build:
[settings]
arch=armv8
build_type=Release
compiler=gcc
compiler.cppstd=gnu17
compiler.libcxx=libstdc++11
compiler.version=11
os=Linux
[conf]

Traceback (most recent call last):
  File "/Users/ruben/coding/conan-center-index/venv3.9/lib/python3.9/site-packages/urllib3/connectionpool.py", line 715, in urlopen
    httplib_response = self._make_request(
  File "/Users/ruben/coding/conan-center-index/venv3.9/lib/python3.9/site-packages/urllib3/connectionpool.py", line 416, in _make_request
    conn.request(method, url, **httplib_request_kw)
  File "/opt/homebrew/Cellar/python@3.9/3.9.19/Frameworks/Python.framework/Versions/3.9/lib/python3.9/http/client.py", line 1285, in request
    self._send_request(method, url, body, headers, encode_chunked)
  File "/opt/homebrew/Cellar/python@3.9/3.9.19/Frameworks/Python.framework/Versions/3.9/lib/python3.9/http/client.py", line 1331, in _send_request
    self.endheaders(body, encode_chunked=encode_chunked)
  File "/opt/homebrew/Cellar/python@3.9/3.9.19/Frameworks/Python.framework/Versions/3.9/lib/python3.9/http/client.py", line 1280, in endheaders
    self._send_output(message_body, encode_chunked=encode_chunked)
  File "/opt/homebrew/Cellar/python@3.9/3.9.19/Frameworks/Python.framework/Versions/3.9/lib/python3.9/http/client.py", line 1040, in _send_output
    self.send(msg)
  File "/opt/homebrew/Cellar/python@3.9/3.9.19/Frameworks/Python.framework/Versions/3.9/lib/python3.9/http/client.py", line 980, in send
    self.connect()
  File "/Users/ruben/coding/conan-center-index/venv3.9/lib/python3.9/site-packages/docker/transport/unixconn.py", line 43, in connect
    sock.connect(self.unix_socket)
FileNotFoundError: [Errno 2] No such file or directory

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/Users/ruben/coding/conan-center-index/venv3.9/lib/python3.9/site-packages/requests/adapters.py", line 486, in send
    resp = conn.urlopen(
  File "/Users/ruben/coding/conan-center-index/venv3.9/lib/python3.9/site-packages/urllib3/connectionpool.py", line 799, in urlopen
    retries = retries.increment(
  File "/Users/ruben/coding/conan-center-index/venv3.9/lib/python3.9/site-packages/urllib3/util/retry.py", line 550, in increment
    raise six.reraise(type(error), error, _stacktrace)
  File "/Users/ruben/coding/conan-center-index/venv3.9/lib/python3.9/site-packages/urllib3/packages/six.py", line 769, in reraise
    raise value.with_traceback(tb)
  File "/Users/ruben/coding/conan-center-index/venv3.9/lib/python3.9/site-packages/urllib3/connectionpool.py", line 715, in urlopen
    httplib_response = self._make_request(
  File "/Users/ruben/coding/conan-center-index/venv3.9/lib/python3.9/site-packages/urllib3/connectionpool.py", line 416, in _make_request
    conn.request(method, url, **httplib_request_kw)
  File "/opt/homebrew/Cellar/python@3.9/3.9.19/Frameworks/Python.framework/Versions/3.9/lib/python3.9/http/client.py", line 1285, in request
    self._send_request(method, url, body, headers, encode_chunked)
  File "/opt/homebrew/Cellar/python@3.9/3.9.19/Frameworks/Python.framework/Versions/3.9/lib/python3.9/http/client.py", line 1331, in _send_request
    self.endheaders(body, encode_chunked=encode_chunked)
  File "/opt/homebrew/Cellar/python@3.9/3.9.19/Frameworks/Python.framework/Versions/3.9/lib/python3.9/http/client.py", line 1280, in endheaders
    self._send_output(message_body, encode_chunked=encode_chunked)
  File "/opt/homebrew/Cellar/python@3.9/3.9.19/Frameworks/Python.framework/Versions/3.9/lib/python3.9/http/client.py", line 1040, in _send_output
    self.send(msg)
  File "/opt/homebrew/Cellar/python@3.9/3.9.19/Frameworks/Python.framework/Versions/3.9/lib/python3.9/http/client.py", line 980, in send
    self.connect()
  File "/Users/ruben/coding/conan-center-index/venv3.9/lib/python3.9/site-packages/docker/transport/unixconn.py", line 43, in connect
    sock.connect(self.unix_socket)
urllib3.exceptions.ProtocolError: ('Connection aborted.', FileNotFoundError(2, 'No such file or directory'))

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/Users/ruben/coding/conan-center-index/venv3.9/lib/python3.9/site-packages/docker/api/client.py", line 214, in _retrieve_server_version
    return self.version(api_version=False)["ApiVersion"]
  File "/Users/ruben/coding/conan-center-index/venv3.9/lib/python3.9/site-packages/docker/api/daemon.py", line 181, in version
    return self._result(self._get(url), json=True)
  File "/Users/ruben/coding/conan-center-index/venv3.9/lib/python3.9/site-packages/docker/utils/decorators.py", line 46, in inner
    return f(self, *args, **kwargs)
  File "/Users/ruben/coding/conan-center-index/venv3.9/lib/python3.9/site-packages/docker/api/client.py", line 237, in _get
    return self.get(url, **self._set_request_timeout(kwargs))
  File "/Users/ruben/coding/conan-center-index/venv3.9/lib/python3.9/site-packages/requests/sessions.py", line 602, in get
    return self.request("GET", url, **kwargs)
  File "/Users/ruben/coding/conan-center-index/venv3.9/lib/python3.9/site-packages/requests/sessions.py", line 589, in request
    resp = self.send(prep, **send_kwargs)
  File "/Users/ruben/coding/conan-center-index/venv3.9/lib/python3.9/site-packages/requests/sessions.py", line 703, in send
    r = adapter.send(request, **kwargs)
  File "/Users/ruben/coding/conan-center-index/venv3.9/lib/python3.9/site-packages/requests/adapters.py", line 501, in send
    raise ConnectionError(err, request=request)
requests.exceptions.ConnectionError: ('Connection aborted.', FileNotFoundError(2, 'No such file or directory'))

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/Users/ruben/coding/conan/conan/internal/runner/docker.py", line 67, in __init__
    self.docker_client = docker.from_env()
  File "/Users/ruben/coding/conan-center-index/venv3.9/lib/python3.9/site-packages/docker/client.py", line 96, in from_env
    return cls(
  File "/Users/ruben/coding/conan-center-index/venv3.9/lib/python3.9/site-packages/docker/client.py", line 45, in __init__
    self.api = APIClient(*args, **kwargs)
  File "/Users/ruben/coding/conan-center-index/venv3.9/lib/python3.9/site-packages/docker/api/client.py", line 197, in __init__
    self._version = self._retrieve_server_version()
  File "/Users/ruben/coding/conan-center-index/venv3.9/lib/python3.9/site-packages/docker/api/client.py", line 221, in _retrieve_server_version
    raise DockerException(
docker.errors.DockerException: Error while fetching server API version: ('Connection aborted.', FileNotFoundError(2, 'No such file or directory'))

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/Users/ruben/coding/conan/conan/cli/cli.py", line 193, in run
    command.run(self._conan_api, args[0][1:])
  File "/Users/ruben/coding/conan/conan/cli/command.py", line 165, in run
    info = self._method(conan_api, parser, *args)
  File "/Users/ruben/coding/conan/conan/cli/commands/create.py", line 83, in create
    return runner_instance(conan_api, 'create', profile_host, profile_build, args, raw_args).run()
  File "/Users/ruben/coding/conan/conan/internal/runner/docker.py", line 71, in __init__
    raise ConanException("Docker Client failed to initialize."
conans.errors.ConanException: Docker Client failed to initialize.
 - Check if docker is installed and running
 - Run 'pip install pip install conan[runners]'

ERROR: Docker Client failed to initialize.
 - Check if docker is installed and running
 - Run 'pip install pip install conan[runners]'
(venv3.9) ~/c/c/r/s/all (master|✔) $ pip3 freeze
certifi==2024.6.2
charset-normalizer==3.3.2
colorama==0.4.6
-e git+ssh://git@github.com/RubenRBS/conan.git@bc160f7f6a66caeb64e32a9b96c9d91b608bc994#egg=conan
docker==5.0.0
fasteners==0.19
idna==3.7
Jinja2==3.1.4
MarkupSafe==2.1.5
patch-ng==1.17.4
python-dateutil==2.9.0.post0
PyYAML==6.0.1
requests==2.31.0
six==1.16.0
urllib3==1.26.18
websocket-client==1.8.0