Skip to content

[1.4 backport] Configure docker to NOT use containerd-snapshotter#3963

Merged
joaoantoniocardoso merged 1 commit into
bluerobotics:1.4-devfrom
Williangalvani:fix_1.4_pi5
Jun 23, 2026
Merged

[1.4 backport] Configure docker to NOT use containerd-snapshotter#3963
joaoantoniocardoso merged 1 commit into
bluerobotics:1.4-devfrom
Williangalvani:fix_1.4_pi5

Conversation

@Williangalvani

@Williangalvani Williangalvani commented Jun 19, 2026

Copy link
Copy Markdown
Member

That caused incompatibilities with DinD and increased disk usage

Backport of #3951

Summary by Sourcery

Bug Fixes:

  • Disable Docker’s containerd snapshotter feature to fix runtime visibility of images baked into the system image and avoid related DinD incompatibilities and disk usage issues.

That caused incompatibilities with DinD and increased disk usage
@Williangalvani Williangalvani changed the title [1.4 backport] Fix 1.4 pi5 [1.4 backport] Configure docker to NOT use containerd-snapshotter Jun 19, 2026

@sourcery-ai sourcery-ai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hey - I've left some high level feedback:

  • The script unconditionally overwrites /etc/docker/daemon.json, which may clobber existing Docker daemon configuration; consider merging this setting into an existing file or only creating it when it doesn't already exist.
  • Since this workaround targets Docker 29+ behavior, you might want to guard it with a Docker version check so that older versions are not unnecessarily configured with containerd-snapshotter: false.
Prompt for AI Agents
Please address the comments from this code review:

## Overall Comments
- The script unconditionally overwrites `/etc/docker/daemon.json`, which may clobber existing Docker daemon configuration; consider merging this setting into an existing file or only creating it when it doesn't already exist.
- Since this workaround targets Docker 29+ behavior, you might want to guard it with a Docker version check so that older versions are not unnecessarily configured with `containerd-snapshotter: false`.

Sourcery is free for open source - if you like our reviews please consider sharing them ✨
Help me be more useful! Please click 👍 or 👎 on each comment and I'll use the feedback to improve your reviews.

@github-actions

Copy link
Copy Markdown

Automated PR Review

0. Summary

  • Verdict: MINOR SUGGESTIONS ✏️

Backports the master fix (commit c03a8e4) to 1.4-dev: install/install.sh now writes /etc/docker/daemon.json with features.containerd-snapshotter: false so Docker 29+ stays on the legacy image store and images baked into the BlueOS image are visible at runtime.

1. Correctness & Implementation Bugs

  • 1.1 [minor] install/install.sh:171 — the heredoc unconditionally overwrites /etc/docker/daemon.json. On a fresh image that's fine, but if a user re-runs install.sh on a live system any custom keys they had under features or elsewhere in daemon.json get clobbered silently. For a one-line key in an installer this is usually acceptable, but worth confirming this is the intended behavior on the 1.4 line. If preserving user overrides matters, merging with jq (or only writing the file when it does not exist) would be safer.
  • 1.2 [minor] install/install.sh:164-177systemctl enable docker runs immediately before the new daemon.json is written, and there is no systemctl restart docker afterwards. In the image-build flow this is harmless because dockerd is started later/from a fresh boot, but if install.sh is ever re-run on a device where dockerd is already running, the new setting only takes effect on the next reboot. Worth a one-line comment noting that, or an explicit systemctl restart docker guarded by a "docker is active" check.

8. Documentation

  • 8.1 [nit] install/install.sh:166-169 — the explanatory comment ends with a trailing semicolon (…invisible at runtime;) which reads like a dropped clause. Either finish the sentence (e.g. "…invisible at runtime, so we keep the legacy overlay2 store.") or end it with a period.

Generated by PR Review Bot. This is advisory, a human reviewer must still approve.

@joaoantoniocardoso joaoantoniocardoso self-requested a review June 19, 2026 15:06
@joaoantoniocardoso joaoantoniocardoso merged commit e965405 into bluerobotics:1.4-dev Jun 23, 2026
8 checks passed
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.

2 participants