mirror of
https://github.com/flatcar/scripts.git
synced 2025-08-16 01:16:59 +02:00
Merge pull request #53 from philips/add-reboot-manager
feat(update_engine): add reboot manager experiment
This commit is contained in:
commit
1c0586ad10
@ -0,0 +1,10 @@
|
|||||||
|
[Unit]
|
||||||
|
Description=Update Engine
|
||||||
|
ConditionVirtualization=!container
|
||||||
|
|
||||||
|
[Service]
|
||||||
|
ExecStart=/usr/sbin/update_engine_reboot_manager
|
||||||
|
Restart=always
|
||||||
|
|
||||||
|
[Install]
|
||||||
|
WantedBy=multi-user.target
|
23
sdk_container/src/third_party/coreos-overlay/coreos-base/update_engine/files/update_engine_reboot_manager
vendored
Executable file
23
sdk_container/src/third_party/coreos-overlay/coreos-base/update_engine/files/update_engine_reboot_manager
vendored
Executable file
@ -0,0 +1,23 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
# Copyright (c) 2013 The CoreOS Authors. All rights reserved.
|
||||||
|
# Use of this source code is governed by a BSD-style license that can be
|
||||||
|
# found in the LICENSE file.
|
||||||
|
|
||||||
|
# TODO: Make this a service in Go that coordinates between a host group
|
||||||
|
|
||||||
|
interface=org.chromium.UpdateEngineInterface
|
||||||
|
member=StatusUpdate
|
||||||
|
|
||||||
|
reboot_tasks() {
|
||||||
|
sync
|
||||||
|
echo "$0 rebooting machine after update" > /dev/kmsg
|
||||||
|
shutdown -r -t 60
|
||||||
|
}
|
||||||
|
|
||||||
|
filter="type=signal,interface='$interface',member='$member'"
|
||||||
|
|
||||||
|
dbus-monitor --system ${filter} |
|
||||||
|
while read -r line; do
|
||||||
|
echo $line | grep -q "UPDATE_STATUS_UPDATED_NEED_REBOOT" && reboot_tasks
|
||||||
|
done
|
@ -76,6 +76,10 @@ src_test() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
src_install() {
|
src_install() {
|
||||||
|
dosbin "${FILESDIR}"/update_engine_reboot_manager
|
||||||
|
systemd_dounit "${FILESDIR}"/update-engine-reboot-manager.service
|
||||||
|
systemd_enable_service multi-user.target update-engine-reboot-manager.service
|
||||||
|
|
||||||
dosbin update_engine
|
dosbin update_engine
|
||||||
dobin update_engine_client
|
dobin update_engine_client
|
||||||
|
|
||||||
|
@ -75,6 +75,10 @@ src_test() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
src_install() {
|
src_install() {
|
||||||
|
dosbin "${FILESDIR}"/update_engine_reboot_manager
|
||||||
|
systemd_dounit "${FILESDIR}"/update-engine-reboot-manager.service
|
||||||
|
systemd_enable_service multi-user.target update-engine-reboot-manager.service
|
||||||
|
|
||||||
dosbin update_engine
|
dosbin update_engine
|
||||||
dobin update_engine_client
|
dobin update_engine_client
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user