Skip to content
Snippets Groups Projects

manager: inverted process tree with supervisord

Merged Vaclav Sraier requested to merge manager-supervisord-inversion-of-control into manager
All threads resolved!

Process tree before this MR:

manager
  |
supervisord
  |       |
kresd    gc

After this MR:

supervisord -------
 |     |          |
kresd  gc     manager

Why?

Because when manager stops without this, everything is taken down in Docker and in systemd. If we invert the process tree, that does not happen.

What does this change bring?

  • it's more complicated
  • manager can be upgraded without stopping anything else
  • ...

Is it really worth it?

I am not sure at the moment. Depends, whether we want to pursue zero-downtime restarts for everything. If it's ok that a failure of manager will bring down everything else on most deployments, than this MR is probably pointless. If we want to prevent that, we really need it.

What needs to be solved to make this useful?

  • when manager enters FATAL state, supervisord must exit with non-zero exit code
  • logging is a mess
Edited by Vaclav Sraier

Merge request reports

Loading
Loading

Activity

Filter activity
  • Approvals
  • Assignees & reviewers
  • Comments (from bots)
  • Comments (from users)
  • Commits & branches
  • Edits
  • Labels
  • Lock status
  • Mentions
  • Merge request status
  • Tracking
Please register or sign in to reply
Loading