diff --git a/ironic_python_agent/shell/shutdown.sh b/ironic_python_agent/shell/shutdown.sh index 3c7738c77..b685d28f7 100644 --- a/ironic_python_agent/shell/shutdown.sh +++ b/ironic_python_agent/shell/shutdown.sh @@ -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 diff --git a/releasenotes/notes/remove-sysrq-2c2804930180f408.yaml b/releasenotes/notes/remove-sysrq-2c2804930180f408.yaml new file mode 100644 index 000000000..f2dc2a5c2 --- /dev/null +++ b/releasenotes/notes/remove-sysrq-2c2804930180f408.yaml @@ -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).