Skip to content

fix(cntr): trust Compose image convergence - #321

Merged
ice-black-tea merged 3 commits into
masterfrom
fix/cntr-compose-startup
Nov 15, 2026
Merged

ice-black-tea merged 3 commits into
masterfrom
fix/cntr-compose-startup

Conversation

@ice-black-tea

@ice-black-tea ice-black-tea commented Nov 15, 2026 •

Copy link
Copy Markdown
Collaborator

Problem

On an ARM64 Docker image store, Compose can start a container using the selected platform manifest while tag inspection reports the enclosing index and container inspection reports a different image identity. Comparing those IDs makes a successful up fail and can force recreation of an untouched container.

Fix

  • Let native Compose reconcile image changes. Check replica count/start state after detached up, while retaining the image-reference drift guard before deployment.
  • Use observed container IDs and start timestamps for dependency actions. After a partial failure, preserve untouched original running replicas and do not record a previous successful one-shot exit as completion of this batch.
  • Verify that the original immutable image reference resolves locally before attempting to recreate for recovery; do not fall back to a mutable tag.

Verification

  • manage.py check linktools-cntr (focused on batch application, deployment recovery, lifecycle, runtime inspection, image snapshots, readiness and generated-input consumers): 352 passed. Ruff and Python 3.6 static compatibility passed.
  • Regression cases cover different image ID layers, actual replacement, same-container restart dependencies, partial replica replacement/loss, an untouched completed job in both up and restart and an unavailable original image.
  • The prior head failed eight CLI/running-state tests because their shared test fixture omitted inspection identity fields. The follow-up uses the real inspection data type; all eight reproduced before the change and pass with original assertions unchanged. Production code is unchanged by the follow-up.
  • Real macOS Docker not rerun; latest natural CI pending.

@ice-black-tea
ice-black-tea marked this pull request as ready for review November 15, 2026 04:34
@ice-black-tea
ice-black-tea merged commit a6c0a68 into master Nov 15, 2026
15 checks passed
@ice-black-tea
ice-black-tea deleted the fix/cntr-compose-startup branch November 15, 2026 05:12
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