Description
The current Ubuntu 20.04 image appears to be using v2.19.1 of docker-compose-plugin. Unfortunately, this version has a debilitating regression which causes containers to often only connect to one of their networks. This causes flaky failures in docker compose setups that require multiple networks to function properly.
Please update the docker-compose-plugin version to v2.20.0 to bring in the fix.
Platforms affected
Runner images affected
Image version and build link
Sample run: https://github.com/letsencrypt/boulder/actions/runs/5545851751/jobs/10125357707
Runner image version: 20230710.1.0
Is it regression?
Yes, 20230702.1.0, https://github.com/letsencrypt/boulder/actions/runs/5520825838/jobs/10068018921
Expected behavior
Containers should come up and connect to all of their networks.
Actual behavior
Containers sometimes connect to only one of their networks, making various services unreachable and causing tests to fail.
Repro steps
- Have a docker-compose.yml which creates containers that connect to multiple networks
example: https://github.com/letsencrypt/boulder/blob/main/docker-compose.yml
- Have a github actions job which runs on Ubuntu 20.04 and uses docker-compose-plugin to start the containers
example: https://github.com/letsencrypt/boulder/blob/main/.github/workflows/boulder-ci.yml
- Run the workflow on a recent build of the ubuntu 20.04 image
Description
The current Ubuntu 20.04 image appears to be using v2.19.1 of docker-compose-plugin. Unfortunately, this version has a debilitating regression which causes containers to often only connect to one of their networks. This causes flaky failures in docker compose setups that require multiple networks to function properly.
Please update the docker-compose-plugin version to v2.20.0 to bring in the fix.
Platforms affected
Runner images affected
Image version and build link
Sample run: https://github.com/letsencrypt/boulder/actions/runs/5545851751/jobs/10125357707
Runner image version: 20230710.1.0
Is it regression?
Yes, 20230702.1.0, https://github.com/letsencrypt/boulder/actions/runs/5520825838/jobs/10068018921
Expected behavior
Containers should come up and connect to all of their networks.
Actual behavior
Containers sometimes connect to only one of their networks, making various services unreachable and causing tests to fail.
Repro steps
example: https://github.com/letsencrypt/boulder/blob/main/docker-compose.yml
example: https://github.com/letsencrypt/boulder/blob/main/.github/workflows/boulder-ci.yml