[DRE-maint] Bug#877778: gitlab: systemd configuration of unicorn tears down gitlab service on reload

Patrik Hagedorn patrik.hagedorn at profitbricks.com
Thu Oct 5 14:11:57 UTC 2017


Package: gitlab
Version: 8.13.11+dfsg1-8
Severity: normal
Tags: patch

Dear Maintainer,

gitlab-unicorn.service is capable of reloads but systemd is unable to
keep track of the changing PID in its current gitlab-unicorn.service configuration.

If gitlab-unicorn.service gets a reload it forks a new master process
and labels the old master process as (old). The PID of the new master
process gets written to /run/gitlab/unicorn.pid (default) as configured by the
gitlab_pid_path in gitlab-debian.conf. The new master process waits
until the worker processes are ready and then reaps the old master and
its worker just to spawn the new workers from the new master. But unfortunately
systemd doesn't know of this new PID and the location of the PIDFile and
thinks that the process was shut down and as it is a dependency of
gitlab it also shuts down gitlab.service and dependend services.

To avoid that the gitlab-unicorn.service tears down the whole
gitlab.service on reload and to actually enable the unicorn reload as
designed, it is necessary to configure the PIDFile used by unicorn in
systemd. This results in the old and new master processes replacing eachother
in systemd and the unicorn service remains up and running and won't shut down gitlab.

I will provide a patch and attach it here.

Best
-- 
Patrik Hagedorn
System Developer - Data Center Automation

ProfitBricks GmbH
Greifswalder Str. 207
D - 10405 Berlin

Email: patrik.hagedorn at profitbricks.com
URL:   https://www.profitbricks.de

Sitz der Gesellschaft: Berlin
Registergericht: Amtsgericht Charlottenburg, HRB 125506 B
Geschäftsführer: Achim Weiss, Matthias Steinberg


More information about the Pkg-ruby-extras-maintainers mailing list