software/theia: Fix resiliency
Fix 4 bugs in theia resiliency:
-
overwritten
~/etc
: Previous implementation was mistakenly overwriting whole~/etc
in the clone instead of just updating some select files, resulting in~/etc/services
being deleted. This killed all services in the clone, including the ones meant to trigger subsequent restorations from backup. The tests have been improved to catch this case (by runningexport
andimport
twice). - signature checking: the clone checks the signatures of the backup'd files before restoring them, but embedded instances can provide scripts to customise this check. In that case, the embedded instance needs to be processed first because otherwise the script doesn't exist, and the signatures of the files contained in it are only checked at the end.
-
aggregated monitoring: the resilient instance now returns a
monitor-setup-url
that aggregates the monitoring oftheia0
,theia1
andPBS
just like inslaprunner
. -
broken
slapos node format
after standalone restart: restarting Theia's standalone service was breaking theslapformat
configuration and causingslapos node format
to fail, which caused theimport
script to fail.