mirror of
https://git.proxmox.com/git/mirror_lxc
synced 2025-07-25 07:41:19 +00:00
Additional logic for dealing with container shutdown / reboot
Additional logic for dealing with container shutdown / reboot Fix a problem with CentOS containers and legacy Fedora (<16) containers not shutting down or rebooting properly. Copy /etc/init.d/halt to /etc/init.d/lxc-halt, deleting everything from the "hwclock save" and all after and append a force halt or reboot at the end of the new script, to prevent reexecing init. Link that script in as S00lxc-halt in rc0.d and S00lxc-reboot in rc6.d to intercept the shutdown process before it gets to S01halt / S01reboot causing the hang. Fixed some typos in the CentOS template that were introduced in the previous patch for hwaddr settings and missed in regression testing. Cleaned up some instruction typos and tabs from previous patch. Signed-off-by: Michael H. Warfield <mhw@WittsEnd.com> Signed-off-by: Serge Hallyn <serge.hallyn@ubuntu.com>
This commit is contained in:
parent
0b98289ef9
commit
99c2fb07d7
@ -177,7 +177,35 @@ configure_centos()
|
||||
)
|
||||
fi
|
||||
|
||||
# configure the network using the dhcp
|
||||
# Deal with some dain bramage in the /etc/init.d/halt script.
|
||||
# Trim it and make it our own and link it in before the default
|
||||
# halt script so we can intercept it. This also preventions package
|
||||
# updates from interferring with our interferring with it.
|
||||
#
|
||||
# There's generally not much in the halt script that useful but what's
|
||||
# in there from resetting the hardware clock down is generally very bad.
|
||||
# So we just eliminate the whole bottom half of that script in making
|
||||
# ourselves a copy. That way a major update to the init scripts won't
|
||||
# trash what we've set up.
|
||||
if [ -f ${rootfs_path}/etc/init.d/halt ]
|
||||
then
|
||||
sed -e '/hwclock/,$d' \
|
||||
< ${rootfs_path}/etc/init.d/halt \
|
||||
> ${rootfs_path}/etc/init.d/lxc-halt
|
||||
|
||||
echo '$command -f' >> ${rootfs_path}/etc/init.d/lxc-halt
|
||||
chmod 755 ${rootfs_path}/etc/init.d/lxc-halt
|
||||
|
||||
# Link them into the rc directories...
|
||||
(
|
||||
cd ${rootfs_path}/etc/rc.d/rc0.d
|
||||
ln -s ../init.d/lxc-halt S00lxc-halt
|
||||
cd ${rootfs_path}/etc/rc.d/rc6.d
|
||||
ln -s ../init.d/lxc-halt S00lxc-reboot
|
||||
)
|
||||
fi
|
||||
|
||||
# configure the network using the dhcp
|
||||
cat <<EOF > ${rootfs_path}/etc/sysconfig/network-scripts/ifcfg-eth0
|
||||
DEVICE=eth0
|
||||
BOOTPROTO=dhcp
|
||||
|
@ -143,6 +143,37 @@ configure_fedora()
|
||||
)
|
||||
fi
|
||||
|
||||
# Deal with some dain bramage in the /etc/init.d/halt script.
|
||||
# Trim it and make it our own and link it in before the default
|
||||
# halt script so we can intercept it. This also preventions package
|
||||
# updates from interferring with our interferring with it.
|
||||
#
|
||||
# There's generally not much in the halt script that useful but what's
|
||||
# in there from resetting the hardware clock down is generally very bad.
|
||||
# So we just eliminate the whole bottom half of that script in making
|
||||
# ourselves a copy. That way a major update to the init scripts won't
|
||||
# trash what we've set up.
|
||||
#
|
||||
# This is mostly for legacy distros since any modern systemd Fedora
|
||||
# release will not have this script so we won't try to intercept it.
|
||||
if [ -f ${rootfs_path}/etc/init.d/halt ]
|
||||
then
|
||||
sed -e '/hwclock/,$d' \
|
||||
< ${rootfs_path}/etc/init.d/halt \
|
||||
> ${rootfs_path}/etc/init.d/lxc-halt
|
||||
|
||||
echo '$command -f' >> ${rootfs_path}/etc/init.d/lxc-halt
|
||||
chmod 755 ${rootfs_path}/etc/init.d/lxc-halt
|
||||
|
||||
# Link them into the rc directories...
|
||||
(
|
||||
cd ${rootfs_path}/etc/rc.d/rc0.d
|
||||
ln -s ../init.d/lxc-halt S00lxc-halt
|
||||
cd ${rootfs_path}/etc/rc.d/rc6.d
|
||||
ln -s ../init.d/lxc-halt S00lxc-reboot
|
||||
)
|
||||
fi
|
||||
|
||||
# configure the network using the dhcp
|
||||
cat <<EOF > ${rootfs_path}/etc/sysconfig/network-scripts/ifcfg-eth0
|
||||
DEVICE=eth0
|
||||
|
Loading…
Reference in New Issue
Block a user