Skip to content

17.06.116

Pre-release
Pre-release

Choose a tag to compare

@olljanat olljanat released this 24 Oct 10:28
· 3 commits to master since this release
4c50c2d

System Docker for BurmillaOS 3.0.x

Follow-up to 17.06.115. This release ships amd64 only: the build system can now cross compile for arm64, loong64 and riscv64, but those builds still fail inside the release Dockerfile (missing target libc development files) and will ship once that is fixed.

Breaking changes

  • Minimum accepted Docker API version is 1.24 (was 1.23), following upstream moby. ros is unaffected: it sends unversioned requests, which System Docker serves as API 1.31, and system-docker negotiates the version with the daemon. The 17.06.115 note saying ros uses API 1.23 was inaccurate.
  • --live-restore and the live-restore config key no longer do anything. They are still accepted so existing cloud-configs keep booting; the config key logs a warning.

Change log:

  • Removed live-restore. ros starts System Docker once at boot and never restarts it with containers running, so the code that re-attached to running containers across a daemon restart was never exercised. A container found running when the daemon starts is stopped, as before with live-restore off burmilla/docker#8 burmilla/docker-cli#4
  • Minimum API version raised to 1.24 and the pre-1.24 POST /containers/{id}/start body handling removed burmilla/docker#6
  • containerd builds without cgo (pure Go console handling), so it cross compiles like dockerd and the CLI burmilla/containerd#5
  • Build system: make ARCH=<arch> binary cross compiles dockerd, containerd, crun and the CLI for arm64, loong64 and riscv64 from any host; vendored golang.org/x/sys v0.49.0, boltdb/bolt, netns and libnetwork bridge gained per-arch constants, and klauspost/compress uses the stdlib math package burmilla/docker#7 burmilla/docker-cli#3 burmilla/docker-ce-packaging#2 #6
  • detect_arch knows loongarch64 and riscv64 burmilla/docker-ce-packaging#2

Verified on amd64 with build, vet and unit tests, plus runtime smoke tests under cgroup v2 covering the operations ros performs, a clean daemon restart, and a hard-killed daemon restart that stops the leftover container. Not verified on a booted BurmillaOS yet, so this is a pre-release.