diff --git a/templates/lxc-centos.in b/templates/lxc-centos.in index f11a98cc3..6d9e512a2 100644 --- a/templates/lxc-centos.in +++ b/templates/lxc-centos.in @@ -363,6 +363,18 @@ configure_centos_init() chroot ${rootfs_path} chkconfig udev-post off fi chroot ${rootfs_path} chkconfig network on + + if [ -d ${rootfs_path}/etc/init ] + then + # This is to make upstart honor SIGPWR + cat <${rootfs_path}/etc/init/power-status-changed.conf +# power-status-changed - shutdown on SIGPWR +# +start on power-status-changed + +exec /sbin/shutdown -h now "SIGPWR received" +EOF + fi } download_centos() diff --git a/templates/lxc-fedora.in b/templates/lxc-fedora.in index f32ca5343..16f0c55e1 100644 --- a/templates/lxc-fedora.in +++ b/templates/lxc-fedora.in @@ -339,6 +339,19 @@ configure_fedora_init() sed -i 's/^.*dev.pts.*$/#\0/' ${rootfs_path}/etc/rc.d/rc.sysinit chroot ${rootfs_path} chkconfig udev-post off chroot ${rootfs_path} chkconfig network on + + if [ -d ${rootfs_path}/etc/init ] + then + # This is to make upstart honor SIGPWR. Should do no harm + # on systemd systems and some systems may have both. + cat <${rootfs_path}/etc/init/power-status-changed.conf +# power-status-changed - shutdown on SIGPWR +# +start on power-status-changed + +exec /sbin/shutdown -h now "SIGPWR received" +EOF + fi } configure_fedora_systemd() @@ -348,6 +361,8 @@ configure_fedora_systemd() chroot ${rootfs_path} ln -s /dev/null /etc/systemd/system/udev.service chroot ${rootfs_path} ln -s /dev/null /etc/systemd/system/systemd-journald.service chroot ${rootfs_path} ln -s /lib/systemd/system/multi-user.target /etc/systemd/system/default.target + # Make systemd honor SIGPWR + chroot ${rootfs_path} ln -s /usr/lib/systemd/system/halt.target /etc/systemd/system/ #dependency on a device unit fails it specially that we disabled udev # sed -i 's/After=dev-%i.device/After=/' ${rootfs_path}/lib/systemd/system/getty\@.service #