vzevent-stop: workaround for F17 that doesn't call reboot()

The problem is systemd from Fedora 17 doesn't invoke reboot()
syscall at all, so kernel doesn't know if CT is rebooted and send us
stop event instead of reboot event.

The workaround has two parts

1 vzdummy-systemd-f17 package installed inside an F17-based container
  have /usr/lib/systemd/system/vzreboot.service file (and a symlink
  to it from /lib/systemd/system/reboot.target.wants/) which does this:

	[Unit]
	Description=Tell that Container is rebooted
	ConditionPathExists=/proc/vz
	ConditionPathExists=!/proc/bc
	Before=reboot.service
	DefaultDependencies=no

	[Service]
	Type=forking
	ExecStart=/bin/touch /reboot
	TimeoutSec=0
	RemainAfterExit=no

2 This patch, that checks existence of $VE_ROOT/reboot file and
  execs vzctl start.

So, container will be restarted even if it doesn't do reboot()

We do sourcing vz.conf and $veid.conf in a subshell to not clog
the current shell with lots of environment variables.

Signed-off-by: Kir Kolyshkin <kir@openvz.org>
1 file changed