mirror of
https://github.com/zulip/zulip.git
synced 2025-11-02 13:03:29 +00:00
The production CI image starts `rabbitmq-server` but does not stop it, which leaves a stale `/var/run/rabbitmq/pid` file in the image. `rabbitmqctl wait --timeout 600 /var/run/rabbitmq/pid`, which is run after starting the rabbitmq node, reads the PID file and waits for the PID to be running, and for rabbitmq's port to be responding to pings. If it reads an old PID file before the new PID is written, it aborts (all but the first and last lines are output from `rabbitmqctl wait` that is hidden by `/etc/init.d/rabbitmq-server`): ``` * Starting RabbitMQ Messaging Server rabbitmq-server Waiting for pid file '/var/run/rabbitmq/pid' to appear pid is 341 Waiting for erlang distribution on node 'rabbit@fc8f64d6acdb' while OS process '341' is running Error: process_not_running * FAILED - check /var/log/rabbitmq/startup_\{log, _err\} ``` If it failed, the `production-upgrade` script tried to start `rabbitmq` again -- despite it already still starting in the background. These two attempts conflicted, and often one or both failed. Stop `rabbitmq-server` when building the image, which removes the stale PID file.
This directory contains scripts that are used in building, managing,
testing, and other forms of work in a Zulip development environment.
Note that tools that are also useful in production belong in
scripts/
or should be Django management commands.
For more details, see https://zulip.readthedocs.io/en/latest/overview/directory-structure.html.