blabla1337 / skf-flask

Security Knowledge Framework (SKF) Python Flask / Angular project
https://www.securityknowledgeframework.org
Apache License 2.0
806 stars 308 forks source link

RabbitMQ container automatically quits #830

Open cptfixit opened 12 months ago

cptfixit commented 12 months ago

While starting the SKF stack with docker-compose I noticed that the RabbitMQ container will automatically quit with exitcode 0. i.e. this suggests that the job is done and Rabbit is no longer needed.

This coincides with errors from the SKF-API container.

skf-api_container | Traceback (most recent call last):
skf-api_container |   File "skf/rabbit_mq_workers/deletion-worker.py", line 51, in <module>
skf-api_container |     channel.start_consuming()
skf-api_container |   File "/home/user_api/.local/lib/python3.7/site-packages/pika/adapters/blocking_connection.py", line 1866, in start_consuming
skf-api_container |     self._process_data_events(time_limit=None)
skf-api_container |   File "/home/user_api/.local/lib/python3.7/site-packages/pika/adapters/blocking_connection.py", line 2027, in _process_data_events
skf-api_container |     self.connection.process_data_events(time_limit=time_limit)
skf-api_container |   File "/home/user_api/.local/lib/python3.7/site-packages/pika/adapters/blocking_connection.py", line 825, in process_data_events
skf-api_container |     self._flush_output(common_terminator)
skf-api_container |   File "/home/user_api/.local/lib/python3.7/site-packages/pika/adapters/blocking_connection.py", line 522, in _flush_output
skf-api_container |     raise self._closed_result.value.error
skf-api_container | pika.exceptions.StreamLostError: Stream connection lost: ConnectionResetError(104, 'Connection reset by peer')
skf-api_container | Traceback (most recent call last):
skf-api_container |   File "skf/rabbit_mq_workers/deployment-worker.py", line 207, in <module>
skf-api_container |     channel.start_consuming()
skf-api_container |   File "/home/user_api/.local/lib/python3.7/site-packages/pika/adapters/blocking_connection.py", line 1866, in start_consuming
skf-api_container |     self._process_data_events(time_limit=None)
skf-api_container |   File "/home/user_api/.local/lib/python3.7/site-packages/pika/adapters/blocking_connection.py", line 2027, in _process_data_events
skf-api_container |     self.connection.process_data_events(time_limit=time_limit)
skf-api_container |   File "/home/user_api/.local/lib/python3.7/site-packages/pika/adapters/blocking_connection.py", line 825, in process_data_events
skf-api_container |     self._flush_output(common_terminator)
skf-api_container |   File "/home/user_api/.local/lib/python3.7/site-packages/pika/adapters/blocking_connection.py", line 522, in _flush_output
skf-api_container |     raise self._closed_result.value.error
skf-api_container | pika.exceptions.StreamLostError: Stream connection lost: ConnectionResetError(104, 'Connection reset by peer')
skf-api_container |  [x] Awaiting RPC requests
skf-api_container | Port deploy using http://localhost:<port>
skf-api_container |  [x] Awaiting RPC requests

skf-rabbitmq_container exited with code 0

Docker will show that the container indeed quit.

$ sudo docker ps
CONTAINER ID   IMAGE                          COMMAND                  CREATED         STATUS         PORTS                               NAMES
c094758c9f55   blabla1337/skf-angular:4.0.2   "/home/user_angular/…"   4 minutes ago   Up 4 minutes   80/tcp, 8788/tcp                    skf-angular_container
2d4c33d7d2cd   blabla1337/skf-api:4.0.4       "/home/user_api/entr…"   4 minutes ago   Up 4 minutes   8888/tcp                            skf-api_container
e475a27bb9b6   nginx                          "/docker-entrypoint.…"   4 minutes ago   Up 4 minutes   0.0.0.0:80->80/tcp, :::80->80/tcp   skf-nginx_container
06c8f7b91555   blabla1337/mysql               "/scripts/run.sh"        4 minutes ago   Up 4 minutes   127.0.0.1:3306->3306/tcp            skf-mysql_container

$ sudo docker ps -a
CONTAINER ID   IMAGE                          COMMAND                  CREATED         STATUS                     PORTS                               NAMES
c094758c9f55   blabla1337/skf-angular:4.0.2   "/home/user_angular/…"   4 minutes ago   Up 4 minutes               80/tcp, 8788/tcp                    skf-angular_container
2d4c33d7d2cd   blabla1337/skf-api:4.0.4       "/home/user_api/entr…"   4 minutes ago   Up 4 minutes               8888/tcp                            skf-api_container
b5b7ea59c8f8   rabbitmq:3.8.19                "docker-entrypoint.s…"   4 minutes ago   Exited (0) 3 minutes ago                                       skf-rabbitmq_container
e475a27bb9b6   nginx                          "/docker-entrypoint.…"   4 minutes ago   Up 4 minutes               0.0.0.0:80->80/tcp, :::80->80/tcp   skf-nginx_container
06c8f7b91555   blabla1337/mysql               "/scripts/run.sh"        4 minutes ago   Up 4 minutes               127.0.0.1:3306->3306/tcp            skf-mysql_container

The logs from RabbitMQ show nothing noteworthy:

2023-07-11 07:36:12.673 [info] <0.273.0> Running boot step cluster_name defined by app rabbit
2023-07-11 07:36:12.673 [info] <0.273.0> Initialising internal cluster ID to 'rabbitmq-cluster-id-JAmsx9lzI7bYFeYIJFumBA'
2023-07-11 07:36:12.676 [info] <0.273.0> Running boot step direct_client defined by app rabbit
2023-07-11 07:36:12.676 [info] <0.720.0> Resetting node maintenance status
2023-07-11 07:36:12.676 [info] <0.44.0> Application cowlib started on node rabbit@b5b7ea59c8f8
2023-07-11 07:36:12.677 [info] <0.44.0> Application cowboy started on node rabbit@b5b7ea59c8f8
2023-07-11 07:36:12.678 [info] <0.44.0> Application rabbit started on node rabbit@b5b7ea59c8f8
2023-07-11 07:36:12.683 [info] <0.44.0> Application rabbitmq_management_agent started on node rabbit@b5b7ea59c8f8
2023-07-11 07:36:12.700 [info] <0.44.0> Application prometheus started on node rabbit@b5b7ea59c8f8
2023-07-11 07:36:12.704 [info] <0.44.0> Application rabbitmq_web_dispatch started on node rabbit@b5b7ea59c8f8
2023-07-11 07:36:12.719 [info] <0.746.0> Prometheus metrics: HTTP (non-TLS) listener started on port 15692
2023-07-11 07:36:12.719 [info] <0.44.0> Application rabbitmq_prometheus started on node rabbit@b5b7ea59c8f8
2023-07-11 07:36:12.719 [info] <0.720.0> Ready to start client connection listeners
2023-07-11 07:36:12.720 [info] <0.790.0> started TCP listener on [::]:5672
2023-07-11 07:36:13.007 [info] <0.720.0> Server startup complete; 3 plugins started.
 * rabbitmq_prometheus
 * rabbitmq_web_dispatch
 * rabbitmq_management_agent
 completed with 3 plugins.
2023-07-11 07:36:13.008 [info] <0.720.0> Resetting node maintenance status
2023-07-11 07:36:43.450 [info] <0.799.0> accepting AMQP connection <0.799.0> (172.27.5.5:43910 -> 172.27.5.4:5672)
2023-07-11 07:36:43.452 [info] <0.802.0> accepting AMQP connection <0.802.0> (172.27.5.5:43912 -> 172.27.5.4:5672)
2023-07-11 07:36:43.453 [info] <0.799.0> connection <0.799.0> (172.27.5.5:43910 -> 172.27.5.4:5672): user 'admin' authenticated and granted access to vhost '/'
2023-07-11 07:36:43.456 [info] <0.802.0> connection <0.802.0> (172.27.5.5:43912 -> 172.27.5.4:5672): user 'admin' authenticated and granted access to vhost '/'