in sdw_updater/Updater.py [0:0]
def should_launch_updater(interval):
status = read_dom0_update_flag_from_disk(with_timestamp=True)
if _valid_status(status):
if _interval_expired(interval, status):
sdlog.info("Update interval expired: launching updater.")
return True
if status["status"] == UpdateStatus.UPDATES_OK.value:
sdlog.info("Updates OK and interval not expired, launching client.")
return False
if status["status"] == UpdateStatus.REBOOT_REQUIRED.value:
if last_required_reboot_performed():
sdlog.info("Required reboot performed, updating status and launching client.")
_write_updates_status_flag_to_disk(UpdateStatus.UPDATES_OK)
return False
sdlog.info("Required reboot pending, launching updater")
return True
if status["status"] == UpdateStatus.UPDATES_REQUIRED.value:
sdlog.info("Updates are required, launching updater.")
return True
if status["status"] == UpdateStatus.UPDATES_FAILED.value:
sdlog.info("Preceding update failed, launching updater.")
return True
sdlog.info("Update status is unknown, launching updater.")
return True
sdlog.info("Update status not available, launching updater.")
return True