Problems when running run_service.sh on Linux running desktop-linux context
gabrielfior opened this issue · comments
I tried following the instructions from the README but had problems when autonomy
tried to interact with my (running) Docker service.
Please find the error messages below and some configurations of the system.
Error message
(gnosis310) gabrielfior@gabrielfior-ThinkPad-E14-Gen-2:~/code/gnosis/trader-quickstart$ bash run_service.sh
---------------
Trader runner
---------------
This script will assist you in setting up and running the Trader service (https://github.com/valory-xyz/trader.git).
Python version 3.10.13 is compatible
Your key files are not protected with a password.
Checking the provided RCP...
RPC checks passed.
------------------------------
Setting up 'trader' repository
------------------------------
Installing dependencies from lock file
No dependencies to install or update
Installing the current project: trader (0.1.0)
[2024-03-17 17:36:07,180][INFO] Performing sync @ /home/gabrielfior/code/gnosis/trader-quickstart/trader/packages
[2024-03-17 17:36:07,180][INFO] Checking third party packages.
[2024-03-17 17:36:07,206][INFO] No package was updated.
_ _____ _
/ \ | ____| / \
/ _ \ | _| / _ \
/ ___ \ | |___ / ___ \
/_/ \_\|_____|/_/ \_\
v1.48.0.post1
AEA configurations successfully initialized: {'author': 'valory'}
The following packages are already present in the pyproject.toml and will be skipped:
• tqdm
If you want to update it to the latest compatible version, you can use `poetry update package`.
If you prefer to upgrade it to the latest available version, you can use `poetry add package@latest`.
Nothing to add.
-----------------------------------------
Checking Autonolas Protocol service state
-----------------------------------------
Updated 'AGENT_ID=14' in ../.trader_runner/.env
Ensuring on-chain service 338 is in DEPLOYED state...
Waiting for RPC to report Service 338 in DEPLOYED state... OK
Finished checking Autonolas Protocol service 338 state.
------------------------------
Starting the trader service...
------------------------------
Your agent instance's address: 0x7dADa0b0ed3B8444Bb4f3f9fA6482b18c42c0474
Your service's Safe address: 0xC53E44dc5A36CAcb558c663886cA48bfd9847BA6
Checking balance of agent instance's address (minimum required 0.0500 DAI):
- Address: 0x7dADa0b0ed3B8444Bb4f3f9fA6482b18c42c0474
- Balance: 0.0500 DAI
OK.
Checking balance of service Safe's address (minimum required 0.5000 DAI):
- Address: 0xC53E44dc5A36CAcb558c663886cA48bfd9847BA6
- Balance: 0.5500 DAI
OK.
Setting up the service...
WARNING: `dependencies` parameter not defined in the service
Building image with agent: valory/trader:0.1.0:bafybeideq5os6xfnvip3ycssba3zm77jbrqaehdcjljiqn3vukskl6l52a
Traceback (most recent call last):
File "/home/gabrielfior/miniconda3/envs/gnosis310/lib/python3.10/site-packages/urllib3/connectionpool.py", line 714, in urlopen
httplib_response = self._make_request(
File "/home/gabrielfior/miniconda3/envs/gnosis310/lib/python3.10/site-packages/urllib3/connectionpool.py", line 415, in _make_request
conn.request(method, url, **httplib_request_kw)
File "/home/gabrielfior/miniconda3/envs/gnosis310/lib/python3.10/site-packages/urllib3/connection.py", line 244, in request
super(HTTPConnection, self).request(method, url, body=body, headers=headers)
File "/home/gabrielfior/miniconda3/envs/gnosis310/lib/python3.10/http/client.py", line 1283, in request
self._send_request(method, url, body, headers, encode_chunked)
File "/home/gabrielfior/miniconda3/envs/gnosis310/lib/python3.10/http/client.py", line 1329, in _send_request
self.endheaders(body, encode_chunked=encode_chunked)
File "/home/gabrielfior/miniconda3/envs/gnosis310/lib/python3.10/http/client.py", line 1278, in endheaders
self._send_output(message_body, encode_chunked=encode_chunked)
File "/home/gabrielfior/miniconda3/envs/gnosis310/lib/python3.10/http/client.py", line 1038, in _send_output
self.send(msg)
File "/home/gabrielfior/miniconda3/envs/gnosis310/lib/python3.10/http/client.py", line 976, in send
self.connect()
File "/home/gabrielfior/miniconda3/envs/gnosis310/lib/python3.10/site-packages/docker/transport/unixconn.py", line 27, 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 "/home/gabrielfior/miniconda3/envs/gnosis310/lib/python3.10/site-packages/requests/adapters.py", line 489, in send
resp = conn.urlopen(
File "/home/gabrielfior/miniconda3/envs/gnosis310/lib/python3.10/site-packages/urllib3/connectionpool.py", line 798, in urlopen
retries = retries.increment(
File "/home/gabrielfior/miniconda3/envs/gnosis310/lib/python3.10/site-packages/urllib3/util/retry.py", line 550, in increment
raise six.reraise(type(error), error, _stacktrace)
File "/home/gabrielfior/miniconda3/envs/gnosis310/lib/python3.10/site-packages/urllib3/packages/six.py", line 769, in reraise
raise value.with_traceback(tb)
File "/home/gabrielfior/miniconda3/envs/gnosis310/lib/python3.10/site-packages/urllib3/connectionpool.py", line 714, in urlopen
httplib_response = self._make_request(
File "/home/gabrielfior/miniconda3/envs/gnosis310/lib/python3.10/site-packages/urllib3/connectionpool.py", line 415, in _make_request
conn.request(method, url, **httplib_request_kw)
File "/home/gabrielfior/miniconda3/envs/gnosis310/lib/python3.10/site-packages/urllib3/connection.py", line 244, in request
super(HTTPConnection, self).request(method, url, body=body, headers=headers)
File "/home/gabrielfior/miniconda3/envs/gnosis310/lib/python3.10/http/client.py", line 1283, in request
self._send_request(method, url, body, headers, encode_chunked)
File "/home/gabrielfior/miniconda3/envs/gnosis310/lib/python3.10/http/client.py", line 1329, in _send_request
self.endheaders(body, encode_chunked=encode_chunked)
File "/home/gabrielfior/miniconda3/envs/gnosis310/lib/python3.10/http/client.py", line 1278, in endheaders
self._send_output(message_body, encode_chunked=encode_chunked)
File "/home/gabrielfior/miniconda3/envs/gnosis310/lib/python3.10/http/client.py", line 1038, in _send_output
self.send(msg)
File "/home/gabrielfior/miniconda3/envs/gnosis310/lib/python3.10/http/client.py", line 976, in send
self.connect()
File "/home/gabrielfior/miniconda3/envs/gnosis310/lib/python3.10/site-packages/docker/transport/unixconn.py", line 27, 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 "/home/gabrielfior/miniconda3/envs/gnosis310/lib/python3.10/site-packages/docker/api/client.py", line 214, in _retrieve_server_version
return self.version(api_version=False)["ApiVersion"]
File "/home/gabrielfior/miniconda3/envs/gnosis310/lib/python3.10/site-packages/docker/api/daemon.py", line 181, in version
return self._result(self._get(url), json=True)
File "/home/gabrielfior/miniconda3/envs/gnosis310/lib/python3.10/site-packages/docker/utils/decorators.py", line 46, in inner
return f(self, *args, **kwargs)
File "/home/gabrielfior/miniconda3/envs/gnosis310/lib/python3.10/site-packages/docker/api/client.py", line 237, in _get
return self.get(url, **self._set_request_timeout(kwargs))
File "/home/gabrielfior/miniconda3/envs/gnosis310/lib/python3.10/site-packages/requests/sessions.py", line 600, in get
return self.request("GET", url, **kwargs)
File "/home/gabrielfior/miniconda3/envs/gnosis310/lib/python3.10/site-packages/requests/sessions.py", line 587, in request
resp = self.send(prep, **send_kwargs)
File "/home/gabrielfior/miniconda3/envs/gnosis310/lib/python3.10/site-packages/requests/sessions.py", line 701, in send
r = adapter.send(request, **kwargs)
File "/home/gabrielfior/miniconda3/envs/gnosis310/lib/python3.10/site-packages/requests/adapters.py", line 547, 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 "/home/gabrielfior/miniconda3/envs/gnosis310/bin/autonomy", line 8, in <module>
sys.exit(cli())
File "/home/gabrielfior/miniconda3/envs/gnosis310/lib/python3.10/site-packages/click/core.py", line 1126, in __call__
return self.main(*args, **kwargs)
File "/home/gabrielfior/miniconda3/envs/gnosis310/lib/python3.10/site-packages/click/core.py", line 1051, in main
rv = self.invoke(ctx)
File "/home/gabrielfior/miniconda3/envs/gnosis310/lib/python3.10/site-packages/click/core.py", line 1657, in invoke
return _process_result(sub_ctx.command.invoke(sub_ctx))
File "/home/gabrielfior/miniconda3/envs/gnosis310/lib/python3.10/site-packages/click/core.py", line 1393, in invoke
return ctx.invoke(self.callback, **ctx.params)
File "/home/gabrielfior/miniconda3/envs/gnosis310/lib/python3.10/site-packages/click/core.py", line 752, in invoke
return __callback(*args, **kwargs)
File "/home/gabrielfior/miniconda3/envs/gnosis310/lib/python3.10/site-packages/autonomy/cli/build_images.py", line 84, in build_image
_build_image(
File "/home/gabrielfior/miniconda3/envs/gnosis310/lib/python3.10/site-packages/autonomy/cli/helpers/image.py", line 51, in build_image
_build_image(
File "/home/gabrielfior/miniconda3/envs/gnosis310/lib/python3.10/site-packages/autonomy/deploy/image.py", line 74, in build_image
docker_client = from_env()
File "/home/gabrielfior/miniconda3/envs/gnosis310/lib/python3.10/site-packages/docker/client.py", line 96, in from_env
return cls(
File "/home/gabrielfior/miniconda3/envs/gnosis310/lib/python3.10/site-packages/docker/client.py", line 45, in __init__
self.api = APIClient(*args, **kwargs)
File "/home/gabrielfior/miniconda3/envs/gnosis310/lib/python3.10/site-packages/docker/api/client.py", line 197, in __init__
self._version = self._retrieve_server_version()
File "/home/gabrielfior/miniconda3/envs/gnosis310/lib/python3.10/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'))
My guess is that autonomy
is not targeting the correct docker context (in my case, desktop-linux
). Below I illustrate this with my usage of the Python docker client .
import docker
docker.from_env()
# docker.errors.DockerException: Error while fetching server API version: ('Connection aborted.', FileNotFoundError(2, 'No such file or directory'))
c = docker.DockerClient(base_url='unix:///home/gabrielfior/.docker/desktop/docker.sock')
c.containers.list()
# works
@gabrielfior We will try and fix this with the next release, Until then can you try export DOCKER_HOST='unix:///home/gabrielfior/.docker/desktop/docker.sock'
this might fix the from_env
issue.
@gabrielfior We will try and fix this with the next release, Until then can you try
export DOCKER_HOST='unix:///home/gabrielfior/.docker/desktop/docker.sock'
this might fix thefrom_env
issue.
Thanks, this works from my side and I'm able to start the trader agent.