-
-
Notifications
You must be signed in to change notification settings - Fork 165
Open
Labels
Description
Problem
I tried to install StackStorm on Docker using this repository's guide without any changes done to the files.
After executing docker-compose, every service that depends on the mongo service, and tries to connect to its database throws the exception ServerSelectionTimeoutError:
st2timersengine_1 | 2022-03-22 18:19:08,934 ERROR [-] Failed to connect to database "st2" @ "mongo:27017" as user "None": No servers found yet, Timeout: 3.0s, Topology Description: <TopologyDescrip
tion id: 623a13191966d2953888ab75, topology_type: Single, servers: [<ServerDescription ('mongo', 27017) server_type: Unknown, rtt: None>]>
st2timersengine_1 | 2022-03-22 18:19:08,934 ERROR [-] (PID=1) TimerEngine quit due to exception.
st2timersengine_1 | Traceback (most recent call last):
st2timersengine_1 | File "/opt/stackstorm/st2/lib/python3.6/site-packages/st2reactor/cmd/timersengine.py", line 93, in main
st2timersengine_1 | _setup()
st2timersengine_1 | File "/opt/stackstorm/st2/lib/python3.6/site-packages/st2reactor/cmd/timersengine.py", line 50, in _setup
st2timersengine_1 | capabilities=capabilities,
st2timersengine_1 | File "/opt/stackstorm/st2/lib/python3.6/site-packages/st2common/service_setup.py", line 249, in setup
st2timersengine_1 | db_setup()
st2timersengine_1 | File "/opt/stackstorm/st2/lib/python3.6/site-packages/st2common/database_setup.py", line 55, in db_setup
st2timersengine_1 | connection = db_init.db_setup_with_retry(**db_cfg)
st2timersengine_1 | File "/opt/stackstorm/st2/lib/python3.6/site-packages/st2common/persistence/db_init.py", line 93, in db_setup_with_retry
st2timersengine_1 | ssl_match_hostname=ssl_match_hostname,
st2timersengine_1 | File "/opt/stackstorm/st2/lib/python3.6/site-packages/st2common/persistence/db_init.py", line 58, in db_func_with_retry
st2timersengine_1 | return retrying_obj.call(db_func, *args, **kwargs)
st2timersengine_1 | File "/opt/stackstorm/st2/lib/python3.6/site-packages/retrying.py", line 206, in call
st2timersengine_1 | return attempt.get(self._wrap_exception)
st2timersengine_1 | File "/opt/stackstorm/st2/lib/python3.6/site-packages/retrying.py", line 247, in get
st2timersengine_1 | six.reraise(self.value[0], self.value[1], self.value[2])
st2timersengine_1 | File "/opt/stackstorm/st2/lib/python3.6/site-packages/six.py", line 696, in reraise
st2timersengine_1 | raise value
st2timersengine_1 | File "/opt/stackstorm/st2/lib/python3.6/site-packages/retrying.py", line 200, in call
st2timersengine_1 | attempt = Attempt(fn(*args, **kwargs), attempt_number, False)
st2timersengine_1 | File "/opt/stackstorm/st2/lib/python3.6/site-packages/st2common/models/db/__init__.py", line 251, in db_setup
st2timersengine_1 | ssl_match_hostname=ssl_match_hostname,
st2timersengine_1 | File "/opt/stackstorm/st2/lib/python3.6/site-packages/st2common/models/db/__init__.py", line 213, in _db_connect
st2timersengine_1 | raise e
st2timersengine_1 | File "/opt/stackstorm/st2/lib/python3.6/site-packages/st2common/models/db/__init__.py", line 204, in _db_connect
st2timersengine_1 | connection.admin.command("ping")
st2timersengine_1 | File "/opt/stackstorm/st2/lib/python3.6/site-packages/pymongo/database.py", line 737, in command
st2timersengine_1 | read_preference, session) as (sock_info, slave_ok):
st2timersengine_1 | File "/usr/lib/python3.6/contextlib.py", line 81, in __enter__
st2timersengine_1 | return next(self.gen)
st2timersengine_1 | File "/opt/stackstorm/st2/lib/python3.6/site-packages/pymongo/mongo_client.py", line 1325, in _socket_for_reads
st2timersengine_1 | server = self._select_server(read_preference, session)
st2timersengine_1 | File "/opt/stackstorm/st2/lib/python3.6/site-packages/pymongo/mongo_client.py", line 1278, in _select_server
st2timersengine_1 | server = topology.select_server(server_selector)
st2timersengine_1 | File "/opt/stackstorm/st2/lib/python3.6/site-packages/pymongo/topology.py", line 243, in select_server
st2timersengine_1 | address))
st2timersengine_1 | File "/opt/stackstorm/st2/lib/python3.6/site-packages/pymongo/topology.py", line 200, in select_servers
st2timersengine_1 | selector, server_timeout, address) st2timersengine_1 | File "/opt/stackstorm/st2/lib/python3.6/site-packages/pymongo/topology.py", line 217, in _select_servers_loop
st2timersengine_1 | (self._error_message(selector), timeout, self.description))
st2timersengine_1 | pymongo.errors.ServerSelectionTimeoutError: No servers found yet, Timeout: 3.0s, Topology Description: <TopologyDescription id: 623a13191966d2953888ab75, topology_type: Single,
servers: [<ServerDescription ('mongo', 27017) server_type: Unknown, rtt: None>]>
After doing some digging, the source of this issue the exception ServerSelectionTimeoutError is caught in line 205 of this file https://github.com/StackStorm/st2/blob/master/st2common/st2common/models/db/init.py.
Some services keep restarting indefinitely due to the restart: on-failure option and only st2-docker_st2web_1 and st2-docker_st2client_1 stay up, but they are unusable.
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
5cab2898f2c9 stackstorm/st2actionrunner:latest "/st2client-startup.…" 15 minutes ago Up 2 minutes st2-docker_st2client_1
a265df0d2466 stackstorm/st2chatops:latest "/st2chatops-startup…" 15 minutes ago Exited (0) 2 minutes ago st2-docker_st2chatops_1
299d5ab21193 stackstorm/st2web:latest "/bin/bash -c 'if [ …" 15 minutes ago Up 2 minutes (unhealthy) 127.0.0.1:80->80/tcp, 443/tcp st2-docker_st2web_1
b47e4c381ba9 stackstorm/st2timersengine:latest "/opt/stackstorm/st2…" 15 minutes ago Up 5 seconds st2-docker_st2timersengine_1
f424783795a7 stackstorm/st2actionrunner:latest "/opt/stackstorm/st2…" 15 minutes ago Restarting (1) 5 seconds ago st2-docker_st2actionrunner_1
e584a6a1dee6 stackstorm/st2stream:latest "/opt/stackstorm/st2…" 15 minutes ago Up 1 second 9102/tcp st2-docker_st2stream_1
75ae17a1eabf stackstorm/st2auth:latest "/opt/stackstorm/st2…" 15 minutes ago Up 9 seconds 9100/tcp st2-docker_st2auth_1
fe556f0a4bd6 stackstorm/st2workflowengine:latest "/opt/stackstorm/st2…" 15 minutes ago Restarting (1) 4 seconds ago st2-docker_st2workflowengine_1
e0e6f4ad0aa9 stackstorm/st2sensorcontainer:latest "/opt/stackstorm/st2…" 15 minutes ago Up 7 seconds st2-docker_st2sensorcontainer_1
0676f3a3b7c1 stackstorm/st2garbagecollector:latest "/opt/stackstorm/st2…" 15 minutes ago Restarting (1) 4 seconds ago st2-docker_st2garbagecollector_1
fec487dd323b stackstorm/st2scheduler:latest "/opt/stackstorm/st2…" 15 minutes ago Up 12 seconds st2-docker_st2scheduler_1
ece3af683ef5 stackstorm/st2notifier:latest "/opt/stackstorm/st2…" 15 minutes ago Up 20 seconds st2-docker_st2notifier_1
2e523c091513 stackstorm/st2rulesengine:latest "/opt/stackstorm/st2…" 15 minutes ago Up 22 seconds st2-docker_st2rulesengine_1
ad9b149797e6 stackstorm/st2api:latest "/opt/stackstorm/st2…" 15 minutes ago Up 5 seconds 9101/tcp st2-docker_st2api_1
97329d112d76 stackstorm/st2actionrunner:latest "/makesecrets.sh" 15 minutes ago Exited (0) 2 minutes ago st2-docker_st2makesecrets_1
01453a00d51b mongo:4.0 "docker-entrypoint.s…" 15 minutes ago Up 2 minutes 27017/tcp st2-docker_mongo_1
a971e05ba16d rabbitmq:3.8 "docker-entrypoint.s…" 15 minutes ago Up 2 minutes 4369/tcp, 5671-5672/tcp, 15691-15692/tcp, 25672/tcp st2-docker_rabbitmq_1
a8a72c873785 redis:6.2 "docker-entrypoint.s…" 15 minutes ago Up 2 minutes 6379/tcp st2-docker_redis_1
Anyone else encountered this error?
Versions
- Host OS: Debian GNU/Linux 11 (bullseye)
- docker: 20.10.5+dfsg1
- docker-compose: 1.25.0
- stackstorm version: v3.6.0
How to reproduce
Follow the README of this repository.