Use sidekiq-cluster by default (opt-out) for Omnibus
With #171 (closed) we'll be supporting Sidekiq Cluster for existing and new Omnibus installations (through a sidekiq['cluster'] = true
config). The plan is then testing it until the 13.0, when we plan to enable it by default (this issue).
In the 13.0 the sidekiq['cluster']
won't be required and will be set to true
by default - still, customers that do want to fallback (if there's any ongoing issue) will be able to do so by setting sidekiq['cluster'] = false
.
Additionally, we'll want to bump the sidekiq['shutdown_timeout']
from 4
to 25
, as that's a default being used by sidekiq-cluster
under the hood (it takes the default from Sidekiq).
Plan
Pre-13.0
-
sidekiq['cluster']
is nottrue
by default. - If
sidekiq['cluster]
is set totrue
-
sidekiq_cluster[*]
has no effect - The service spawned is still
sidekiq
, but it will runsidekiq-cluster
under the hood. It is managed bygitlab-ctl
commands tosidekiq
- The logs go to
/var/log/gitlab/sidekiq
.
-
- If
sidekiq_cluster[*]
is set- The service spawned is still
sidekiq-cluster
and will runsidekiq-cluster
under the hood. It is managed bygitlab-ctl
commands tosidekiq-cluster
- The logs go to
/var/log/gitlab/sidekiq-cluster
.
- The service spawned is still
In 13.0
-
sidekiq['enable'] = true
(which is the default) will setsidekiq['cluster']
totrue
by default.- The service spawned is still
sidekiq
, but it will runsidekiq-cluster
under the hood. It is managed bygitlab-ctl
commands tosidekiq
- The service spawned is still
- If
sidekiq['cluster]
is set tofalse
- The service spawned is
sidekiq
, but it will runbundle exec sidekiq
under the hood. It is managed bygitlab-ctl
commands tosidekiq
- The logs go to
/var/log/gitlab/sidekiq
.
- The logs go to
- User can set
sidekiq_cluster[*]
settings and go back to their pre-12.9 configuration.- The service spawned is
sidekiq-cluster
and will runsidekiq-cluster
under the hood. It is managed bygitlab-ctl
commands tosidekiq-cluster
- The logs go to
/var/log/gitlab/sidekiq-cluster
.
- The service spawned is
- The service spawned is
In 14.0
-
sidekiq_cluster[*]
is no longer a thing. - We stop using
bundle exec sidekiq
altogether. - Everything related to sidekiq is set using
sidekiq[*]
.sidekiq['enable']
decides if there is a sidekiq service or not - we don't even needsidekiq['cluster']
. - The service spawned is
sidekiq
, but it will runsidekiq-cluster
under the hood. It is managed bygitlab-ctl
commands tosidekiq
- The logs go to
/var/log/gitlab/sidekiq
.
Edited by Rachel Nienaber