Replace SYSRQ commands

This patch is modifying the shutdown.sh script to not use SYSRQ when
performing power actions. SYSRQ has a similar effect to a hardware reset
button/power switch, which can be problematic after copying an image to
the disk (data loss) therefore, this patch is changing the script to use
soft power action via the poweroff and reboot commands.

SYSRQ was required before because the ironic-python-agent service was
running inside a docker container, but since we've moved it to run into
a chroot (when built with coreos) or on the ramdisk's OS (when built
with DIB) the SYSRQ actions are not needed anymore.

In many parts of Ironic we were considering the standby.{power_off,
reboot} methods of IPA to be soft actions, which they are not at
present. This patch is also fixing that assumption.

Change-Id: Ibe3a3f61a4a0e98b2c2501ad95154839933b4d7a
Closes-Bug: #1557450
This commit is contained in:
Lucas Alvares Gomes 2016-03-15 11:15:59 +00:00
parent dcd1c8f19b
commit cbd90c1c14
2 changed files with 11 additions and 7 deletions

View File

@ -14,16 +14,13 @@
# See the License for the specific language governing permissions and
# limitations under the License.
# This script reboots by echoing into /proc/sysrq_trigger.
set -e
# Make sure all functions of sysrq is enabled.
echo "1" > /proc/sys/kernel/sysrq
# flush file system buffers
sync
echo "s" > /proc/sysrq-trigger
if [[ $1 = '-h' ]]; then
echo "o" > /proc/sysrq-trigger
poweroff
elif [[ $1 = '-r' ]]; then
echo "b" > /proc/sysrq-trigger
reboot
fi

View File

@ -0,0 +1,7 @@
---
fixes:
- Stop using SYSRQ when performing the in-band reboot or power off
because it has a similar effect to a hardware reset button/power
switch and can be problematic on some hardware types. Instead,
reboot/power off the node via the "poweroff" and "reboot" commands
(soft power action).