Skip to content
New issue

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

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

Already on GitHub? Sign in 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-->
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.

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