Skip to content

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 running export and import 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 of theia0, theia1 and PBS just like in slaprunner.
  • broken slapos node format after standalone restart: restarting Theia's standalone service was breaking the slapformat configuration and causing slapos node format to fail, which caused the import script to fail.
Edited by Xavier Thompson

Merge request reports