Skip to content

[1.4] Recover extensions when Kraken settings are empty - #4340

Draft
joaoantoniocardoso wants to merge 7 commits into
bluerobotics:1.4-devfrom
joaoantoniocardoso:fixes/1.4/kraken-empty-settings
Draft

[1.4] Recover extensions when Kraken settings are empty#4340
joaoantoniocardoso wants to merge 7 commits into
bluerobotics:1.4-devfrom
joaoantoniocardoso:fixes/1.4/kraken-empty-settings

Conversation

@joaoantoniocardoso

@joaoantoniocardoso joaoantoniocardoso commented Aug 27, 2026

Copy link
Copy Markdown
Member

Summary

  • An empty or truncated Kraken settings file (SD-card corruption, zero-byte JSON) was treated as valid "no extensions" and the dangling-container cleaner then stopped running extension containers.
  • Kraken now recovers installed extensions from extension-* containers before the cleaner runs, stamps identity labels on start for later recovery, and skips dangling cleanup while the settings list is empty.

Fixes #3574

Test plan

  • Reproduced on DUT 192.168.0.177 (1.4-dev): writing {"VERSION": 2} and restarting blueos-core listed 0 extensions and left blueos.major_tom stopped, with no error in Kraken logs.
  • After overlay: the same empty file recovers blueos.major_tom:2026-02-11 into settings, keeps the container running, and preserves the factory catalog. Zero-byte settings also recovers, with a WARNING on the invalid JSON.
  • python core/services/kraken/recovery_check.pyok
  • journey_http --extension-lifecycle --allow-mutating on the patched DUT: vehicle bluerobotics.power-switch-calibration:v1.0.0, 168 passed / 1 skipped / 1 leftover FAIL (too-big → 400 incompatible on this board, not 507). Baseline restored to blueos.major_tom only.

@joaoantoniocardoso
joaoantoniocardoso force-pushed the fixes/1.4/kraken-empty-settings branch from 1d6d921 to 9c42483 Compare August 27, 2026 16:27
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant