-
Notifications
You must be signed in to change notification settings - Fork 24
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
requires system-wide runit
on Debian
#53
Comments
cc @srenatus |
@matthiasr Thanks for reporting this! The files in
If you are seeing those files as scripts, would you mind sharing:
There must be another piece to this puzzle. |
The
It's possible we did / are doing something wrong while upgrading between Chef Server versions … |
The test server I'm investigating on is on package version 12.7.0-1, on Debian Jessie. I'm upgrading it to 12.13 now. I'll also try with a fresh install. |
Upgrading from 12.7 to 12.13 using the proper procedure (stop, upgrade, start, cleanup) doesn't change anything about these files. |
… and if I move aside one of the init scripts, then a |
This seems to come from here. I understand why that is, we use an old hacked-up version of the runit cookbook ourselves and Debian is very unhappy about symlinks to binaries in so, this is only a problem on Debian, but it is a problem on Debian. |
Is there a reason omnibus-ctl needs to execute |
We are currently on this version of the runit cookbook in chef-server, where the path to runit is hardcoded: https://github.com/chef-cookbooks/runit/blob/v1.6.0/templates/debian/init.d.erb#L16 However, on newer versions, this appears to be configurable: https://github.com/chef-cookbooks/runit/blob/master/templates/debian/init.d.erb#L16 So one option might be to upgrade the version of runit we are using.
As long as we provide compatible output (as to not break any monitoring), I don't see a reason we couldn't use |
In the sort term, maybe the easiest thing is to have omnibus-ctl set SVDIR to the "correct" value |
I'm pretty sure with the symlink Yes, setting SVDIR "correctly" would work, but it still relies on the system runit actually being sane then. It probably will be, but it's still leaking in. |
sv
leaks insv
leaks into chef-server on Debian
As expected from the |
I'm wondering, but have no quick way to check, whether this works at all on Debian unless a system-wide |
@matthiasr My assumption from the code is that it does not work on debian currently without runit installed on the system (outside of the chef-server package) |
Quickly testing this in a minimal VM supports this. I think changing this to use the internal |
Done now: #54 |
We've merged #55 which will hopefully keep debian working provided you have runit available on the system. I'm going to leave this open, however, since we still depend on system-installed runit. |
sv
leaks into chef-server on Debianrunit
on Debian
I updated the title to reflect that the leaking in is what makes it work in the first place. |
Break-out from #52.
We use system-wide runit for various other daemons on our nodes.
chef-server-ctl reconfigure
works correctly, but to usechef-server-ctl restart
orchef-server-ctl status
we need to explicitly set SVDIR (which #52 will prevent).This is on Chef server 12.7 and 12.13 (same effect on both).
Digging into the code, the shell-out happens here. It does not call the
embedded/bin/sv
binary but wrapper scripts ininit/
, and these containRUNIT=/usr/bin/sv
which is the global binary, looking for the services in/etc/service
.I don't know why these wrapper scripts are necessary, how they are created, or whether they should be used at all?
The text was updated successfully, but these errors were encountered: