Move shutdown/reboot handling to manager (#22882)

* Move shutdown/reboot handling to manager

* more logging

* check enagaged

* Apply suggestions from code review

Co-authored-by: Adeeb Shihadeh <adeebshihadeh@gmail.com>
old-commit-hash: 07ff72472636237d7c47addfce4d8bbbda98e9d2
This commit is contained in:
Willem Melching
2021-11-12 18:10:34 +01:00
committed by GitHub
parent bf03231af5
commit bb8d0aa76d
3 changed files with 36 additions and 8 deletions
+16 -4
View File
@@ -158,9 +158,14 @@ def manager_thread():
msg.managerState.processes = [p.get_process_state_msg() for p in managed_processes.values()]
pm.send('managerState', msg)
# TODO: let UI handle this
# Exit main loop when uninstall is needed
if params.get_bool("DoUninstall"):
# Exit main loop when uninstall/shutdown/reboot is needed
shutdown = False
for param in ("DoUninstall", "DoShutdown", "DoReboot"):
if params.get_bool(param):
cloudlog.warning(f"Shutting down manager - {param} set")
shutdown = True
if shutdown:
break
@@ -189,9 +194,16 @@ def main():
finally:
manager_cleanup()
if Params().get_bool("DoUninstall"):
params = Params()
if params.get_bool("DoUninstall"):
cloudlog.warning("uninstalling")
HARDWARE.uninstall()
elif params.get_bool("DoReboot"):
cloudlog.warning("reboot")
HARDWARE.reboot()
elif params.get_bool("DoShutdown"):
cloudlog.warning("shutdown")
HARDWARE.shutdown()
if __name__ == "__main__":