After update syslog-ng in a vserver guest system to version 1.6.11-r1 (from ?) the vserver didn't start anymore. The error was: --------------------------------------------------------------------------- Error opening file /proc/kmsg for reading (Operation not permitted) Error initializing configuration, exiting. * Failed to start syslog-ng [ !! ] * ERROR: syslog-ng failed to start * Starting local ... [ ok ] vshelper.init: can not determine xid of vserver 'web407'; returned value was '' An error occured after executing the vserver startup sequence. This means that some processes may exist in the created context and the manual execution of /usr/sbin/vserver '/etc/vservers/web407' stop is recommended to fix this. --------------------------------------------------------------------------- After copy of a older syslog-ng.conf back in the vm this vm starts again. Diff: 17c17 < source src { unix-stream("/dev/log"); internal(); pipe("/proc/kmsg"); }; --- > source src { unix-stream("/dev/log"); internal(); }; 22c22 < destination console_all { file("/dev/tty12"); }; --- > #destination console_all { file("/dev/tty12"); }; 29c29 < log { source(src); destination(console_all); }; --- > #log { source(src); destination(console_all); }; -------------------------------------------------------------------------- sys-kernel/vserver-sources-2.3.0.9 sys-cluster/util-vserver-0.30.212-r2 Reproducible: Always
Sounds like you just need to use a custom config for your setup. That's not terribly surprising. What's the bug that you think you're seeing?
First I forgot to say I'm using a stage-archiv based on baselayout 1.13.0_alpha12 for the guest systems because this works out of the box for such a system. Everything else (except baselayout dependency) is stable x86 from portage on the guests. In the host only vserver-sources and util-vserver are from ~x86. For me it's no problem to use a custom config. But I think it's a bug because a 'default' setup isn't running. I know that my baselayout isn't stable - but when it will be stable it's a default setup. ;-) Now, on second thoughts, I think the problem is that util-vservers doesn't handle /proc/kmsg in a right way. But perhaps util-vservers is not able to do this. In my opinion this would be a bug somewhere else - for example in syslog-ng's config file. Anyway... baselayout-vserver is dead and also an extra set of stages for a guest-system. Because of this a normal system setup should run as a guest-system under vserver (and openvz). But it doesn't do this for now. Further information also in the post from Benedikt Boehm -> http://planet.gentoo.org/developers/hollow/2006/11/03/baselayout_vserver_is_dead
personally i think the default syslog-ng is fine ... if vserver doesnt like it, well vserver should stop complaining ... too many hacks are in place to account for its deficient architecture that said, is there any other case which would justify not reading /proc/kmsg ?
I think reading /proc/kmsg is the expected behavior for the default install of syslog-ng. If vserver can't be made to work with the default config, a warning should be added so people know how to configure their syslogger locally. Marking WONTFIX.