software/theia: Fix resiliency
Fix 4 bugs in theia resiliency:
-
overwritten
~/etc: Previous implementation was mistakenly overwriting whole~/etcin the clone instead of just updating some select files, resulting in~/etc/servicesbeing 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 runningexportandimporttwice). - 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-urlthat aggregates the monitoring oftheia0,theia1andPBSjust like inslaprunner. -
broken
slapos node formatafter standalone restart: restarting Theia's standalone service was breaking theslapformatconfiguration and causingslapos node formatto fail, which caused theimportscript to fail.