Skip to content
New issue

Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? # to your account

only check volume mounts for updated config #12386

Merged
merged 1 commit into from
Dec 16, 2024

Conversation

ndeloof
Copy link
Contributor

@ndeloof ndeloof commented Dec 16, 2024

What I did
Compose uses a config hash to detect service need to be recreated, but as compose file uses reference names for volumes (which may be != volume name), we have to check if service volume is actually used to mount the desired volume.
This only has to apply to volume mounts, where this reference ambiguity exisrts - otherwise we detect a false positive and recreate container while it's up-to-date.

Related issue
fixes #12383

(not mandatory) A picture of a cute animal, if possible in relation to what you did
468959073_1221260192696349_5555675514319708470_n

Signed-off-by: Nicolas De Loof <nicolas.deloof@gmail.com>
@ndeloof ndeloof requested review from a team and glours and removed request for a team December 16, 2024 08:00
Copy link
Contributor

@glours glours left a comment

Choose a reason for hiding this comment

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

LGTM

@ndeloof ndeloof merged commit 038c81f into docker:main Dec 16, 2024
28 checks passed
@ndeloof ndeloof deleted the recreate_volume_regression branch December 16, 2024 10:23
tmeijn pushed a commit to tmeijn/dotfiles that referenced this pull request Dec 20, 2024
This MR contains the following updates:

| Package | Update | Change |
|---|---|---|
| [docker/compose](https://github.com/docker/compose) | minor | `v2.31.0` -> `v2.32.1` |

MR created with the help of [el-capitano/tools/renovate-bot](https://gitlab.com/el-capitano/tools/renovate-bot).

**Proposed changes to behavior should be submitted there as MRs.**

---

### Release Notes

<details>
<summary>docker/compose (docker/compose)</summary>

### [`v2.32.1`](https://github.com/docker/compose/releases/tag/v2.32.1)

[Compare Source](docker/compose@v2.32.0...v2.32.1)

#### What's Changed

##### 🐛 Fixes

-   only check volume mounts for updated config by [@&#8203;ndeloof](https://github.com/ndeloof) in docker/compose#12386
-   e2e test to prevent future regression by [@&#8203;ndeloof](https://github.com/ndeloof) in docker/compose#12389

**Full Changelog**: docker/compose@v2.32.0...v2.32.1

### [`v2.32.0`](https://github.com/docker/compose/releases/tag/v2.32.0)

[Compare Source](docker/compose@v2.31.0...v2.32.0)

#### What's Changed

##### ✨ Improvements

-   build with bake by [@&#8203;ndeloof](https://github.com/ndeloof) in docker/compose#12344
-   introduce watch restart action by [@&#8203;ndeloof](https://github.com/ndeloof) in docker/compose#12375
-   introduce sync+exec watch action by [@&#8203;ndeloof](https://github.com/ndeloof) in docker/compose#12330
-   Recreate container on volume configuration change by [@&#8203;ndeloof](https://github.com/ndeloof) in docker/compose#12363

##### 🐛 Fixes

-   fix support for service.mac_address by [@&#8203;ndeloof](https://github.com/ndeloof) in docker/compose#12371
-   pull --quiet should not drop status message, only progress by [@&#8203;ndeloof](https://github.com/ndeloof) in docker/compose#12358
-   do not require a build section but for `rebuild` action by [@&#8203;ndeloof](https://github.com/ndeloof) in docker/compose#12343
-   log configuration error as a watch log event by [@&#8203;ndeloof](https://github.com/ndeloof) in docker/compose#12359

##### 🔧  Internal

-   disable failing TestBuildSSH test by [@&#8203;ndeloof](https://github.com/ndeloof) in docker/compose#12349
-   Make e2e tests pass locally by [@&#8203;glours](https://github.com/glours) in docker/compose#12348

##### ⚙️ Dependencies

-   bump docker + buildx to latest release by [@&#8203;ndeloof](https://github.com/ndeloof) in docker/compose#12372
-   bump otel dependencies to v1.28.0 and v0.53.0 to align with buildx, buildkit and engine versions by [@&#8203;glours](https://github.com/glours) in docker/compose#12338
-   build(deps): bump golang.org/x/sys from 0.27.0 to 0.28.0 by [@&#8203;dependabot](https://github.com/dependabot) in docker/compose#12378
-   build(deps): bump golang.org/x/crypto from 0.27.0 to 0.31.0 by [@&#8203;dependabot](https://github.com/dependabot) in docker/compose#12377
-   build(deps): bump google.golang.org/grpc from 1.68.0 to 1.68.1 by [@&#8203;dependabot](https://github.com/dependabot) in docker/compose#12353
-   build(deps): bump golang.org/x/sync from 0.9.0 to 0.10.0 by [@&#8203;dependabot](https://github.com/dependabot) in docker/compose#12352
-   update xx to v1.6.1 for compatibility with alpine 3.21 and file 5.46+ by [@&#8203;thaJeztah](https://github.com/thaJeztah) in docker/compose#12366

**Full Changelog**: docker/compose@v2.31.0...v2.32.0

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.

♻ **Rebasing**: Whenever MR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 **Ignore**: Close this MR and you won't be reminded about this update again.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this MR, check this box

---

This MR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOS42NC4wIiwidXBkYXRlZEluVmVyIjoiMzkuNjkuMyIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOlsiUmVub3ZhdGUgQm90Il19-->
# for free to join this conversation on GitHub. Already have an account? # to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

[BUG] 2.32.0 unnecessarily recreates containers and loses volumes
2 participants