M-Welsch / backup-server

Backup Server (BaSe)
Apache License 2.0
3 stars 1 forks source link

date readback from pcu can fail #21

Closed M-Welsch closed 8 months ago

M-Welsch commented 8 months ago

Description

log tail from journalctl -u base

Jan 09 09:26:58 raspberrypi python3[1489]: 2024-01-09 09:26:58,773 INFO: __main__: Programming PCU. Setting current time and time for next wakeup
Jan 09 09:27:01 raspberrypi python3[1489]: 2024-01-09 09:27:01,822 DEBUG: __main__: read current time from pcu: 2024-09-01 09:38:50
Jan 09 09:27:04 raspberrypi python3[1489]: Traceback (most recent call last):
Jan 09 09:27:04 raspberrypi python3[1489]:   File "/usr/lib/python3.9/runpy.py", line 197, in _run_module_as_main
Jan 09 09:27:04 raspberrypi python3[1489]:     return _run_code(code, main_globals, None,
Jan 09 09:27:04 raspberrypi python3[1489]:   File "/usr/lib/python3.9/runpy.py", line 87, in _run_code
Jan 09 09:27:04 raspberrypi python3[1489]:     exec(code, run_globals)
Jan 09 09:27:04 raspberrypi python3[1489]:   File "/home/base/backup-server/software/bcu/__main__.py", line 135, in <module>
Jan 09 09:27:04 raspberrypi python3[1489]:     asyncio.run(main())
Jan 09 09:27:04 raspberrypi python3[1489]:   File "/usr/lib/python3.9/asyncio/runners.py", line 44, in run
Jan 09 09:27:04 raspberrypi python3[1489]:     return loop.run_until_complete(main)
Jan 09 09:27:04 raspberrypi python3[1489]:   File "/usr/lib/python3.9/asyncio/base_events.py", line 642, in run_until_complete
Jan 09 09:27:04 raspberrypi python3[1489]:     return future.result()
Jan 09 09:27:04 raspberrypi python3[1489]:   File "/home/base/backup-server/software/bcu/__main__.py", line 129, in main
Jan 09 09:27:04 raspberrypi python3[1489]:     await set_wakeup_time()
Jan 09 09:27:04 raspberrypi python3[1489]:   File "/home/base/backup-server/software/bcu/__main__.py", line 108, in set_wakeup_time
Jan 09 09:27:04 raspberrypi python3[1489]:     LOG.debug(f"read wakeup time from pcu: {await pcu.get.date.wakeup()}")
Jan 09 09:27:04 raspberrypi python3[1489]:   File "/home/base/backup-server/software/bcu/pcu.py", line 103, in wakeup
Jan 09 09:27:04 raspberrypi python3[1489]:     return await _get_date(date_kind=DateKind.wakeup)
Jan 09 09:27:04 raspberrypi python3[1489]:   File "/home/base/backup-server/software/bcu/pcu.py", line 324, in _get_date
Jan 09 09:27:04 raspberrypi python3[1489]:     return _pcu_timestring_to_datetime(datestr)
Jan 09 09:27:04 raspberrypi python3[1489]:   File "/home/base/backup-server/software/bcu/pcu.py", line 313, in _pcu_timestring_to_datetime
Jan 09 09:27:04 raspberrypi python3[1489]:     return datetime.strptime(pcu_output, "%H:%M:%S - %d-%m-%Y")
Jan 09 09:27:04 raspberrypi python3[1489]:   File "/usr/lib/python3.9/_strptime.py", line 568, in _strptime_datetime
Jan 09 09:27:04 raspberrypi python3[1489]:     tt, fraction, gmtoff_fraction = _strptime(data_string, format)
Jan 09 09:27:04 raspberrypi python3[1489]:   File "/usr/lib/python3.9/_strptime.py", line 349, in _strptime
Jan 09 09:27:04 raspberrypi python3[1489]:     raise ValueError("time data %r does not match format %r" %
Jan 09 09:27:04 raspberrypi python3[1489]: ValueError: time data '08:33:00 - 00-09-1980' does not match format '%H:%M:%S - %d-%m-%Y'

08:33:00 - 00-09-1980 is wrong in multiple ways

What happens if we don't do it (aka Why is it important)?

it currently prevents the system to continue

Definition of Ready

no prequisites

Key Tasks

Acceptance Criteria

M-Welsch commented 8 months ago

implement a catch and retry for this and test again

M-Welsch commented 8 months ago

was probably due to the following:

fixed in: 53643eacb36c25e24c037f8a507f167dc9bea332