testcontainers / testcontainers/testcontainers-java
Docker compose with Citus images fails to start
Dieses Issue hat noch niemand übernommen.
- Vorherrschende Sprache
- Java
- Sterne
- 8.7k
- Forks
- 1.9k
- Ø Merge
- 2 T. 17 Std.
- Gemergte PRs (30 T.)
- 9
Beschreibung
I run integration tests within a Spring Boot and have a defined docker-compose file: https://github.com/citusdata/docker/blob/master/docker-compose.yml
The DockerComposeContainer config:
final var container = new DockerComposeContainer(dockerComposeFile)
.withLocalCompose(true)
.withExposedService("master", 5432, Wait.forListeningPort())
.withExposedService("manager", 5432, Wait.forLogMessage(STARTUP_MESSAGE_FROM_CONTAINER, 1))
.withExposedService("worker", 5432, Wait.forListeningPort());
container.start();
return container;
So the problem is that after 3-4 test classes starting and shutting down the compose file(the tests execute successfully and everything is fine), I get this error on the next test class.
t.test.mock.mockito.ResetMocksTestExecutionListener@4cd0e037, org.spockframework.spring.SpringMockTestExecutionListener@72af31b2]
2020-08-31 22:34:19.423 INFO 5088 --- [ Test worker] o.t.containers.DockerComposeContainer : Preemptively checking local images for 'citusdata/membership-manager:0.3.0', referenced via a compose file or transitive Dockerfile. If not available, it will be pulled.
2020-08-31 22:34:19.432 INFO 5088 --- [ Test worker] o.t.containers.DockerComposeContainer : Preemptively checking local images for 'citusdata/citus:9.4.0', referenced via a compose file or transitive Dockerfile. If not available, it will be pulled.
2020-08-31 22:34:19.442 INFO 5088 --- [ Test worker] 🐳 [docker-compose] : Local Docker Compose is running command: up -d
2020-08-31 22:34:19.593 INFO 5088 --- [ Thread-13] 🐳 [docker-compose] : Creating network "cbx9ms68ba5j_default" with the default driver
2020-08-31 22:34:19.686 INFO 5088 --- [ Thread-13] 🐳 [docker-compose] : Creating volume "cbx9ms68ba5j_healthcheck-volume" with default driver
2020-08-31 22:34:20.162 INFO 5088 --- [ Thread-13] 🐳 [docker-compose] : Creating cbx9ms68ba5j_master_1 ... done
2020-08-31 22:34:20.164 INFO 5088 --- [ Thread-13] 🐳 [docker-compose] :
2020-08-31 22:34:20.677 INFO 5088 --- [ Thread-13] 🐳 [docker-compose] : Creating cbx9ms68ba5j_manager_1 ... done
2020-08-31 22:34:20.679 INFO 5088 --- [ Thread-13] 🐳 [docker-compose] :
2020-08-31 22:34:21.284 INFO 5088 --- [ Thread-13] 🐳 [docker-compose] : Creating cbx9ms68ba5j_worker_1 ... done
2020-08-31 22:34:21.304 INFO 5088 --- [ Test worker] 🐳 [docker-compose] :
> :users:integrationTest > Executing test com.users.UsersQueryResolverTest
2020-08-31 22:34:21.305 INFO 5088 --- [ Test worker] 🐳 [docker-compose] : Docker Compose has finished running
2020-08-31 22:34:21.305 INFO 5088 --- [ Test worker] 🐳 [alpine/socat:latest] : Creating container for image: alpine/socat:latest
2020-08-31 22:34:21.312 ERROR 5088 --- [ Test worker] 🐳 [alpine/socat:latest] : Could not start container
org.testcontainers.containers.ContainerLaunchException: Aborting attempt to link to container cbx9mskvyfm7_master_1 as it is not running
2020-08-31 22:34:21.313 INFO 5088 --- [ Test worker] 🐳 [docker-compose] : Local Docker Compose is running command: down -v
2020-08-31 22:34:31.914 INFO 5088 --- [ Thread-15] 🐳 [docker-compose] : Stopping cbx9ms68ba5j_worker_1 ... done
2020-08-31 22:34:32.368 INFO 5088 --- [ Thread-15] 🐳 [docker-compose] :
2020-08-31 22:34:32.368 INFO 5088 --- [ Thread-15] 🐳 [docker-compose] : Stopping cbx9ms68ba5j_manager_1 ... done
2020-08-31 22:34:32.848 INFO 5088 --- [ Thread-15] 🐳 [docker-compose] :
2020-08-31 22:34:32.858 INFO 5088 --- [ Thread-15] 🐳 [docker-compose] :
2020-08-31 22:34:32.891 INFO 5088 --- [ Thread-15] 🐳 [docker-compose] : Removing cbx9ms68ba5j_worker_1 ... done
2020-08-31 22:34:32.911 INFO 5088 --- [ Thread-15] 🐳 [docker-compose] : Removing cbx9ms68ba5j_master_1 ... done
2020-08-31 22:34:32.911 INFO 5088 --- [ Thread-15] 🐳 [docker-compose] : Removing network cbx9ms68ba5j_default
2020-08-31 22:34:33.188 INFO 5088 --- [ Thread-15] 🐳 [docker-compose] : Removing volume cbx9ms68ba5j_healthcheck-volume
2020-08-31 22:34:33.213 INFO 5088 --- [ Test worker] 🐳 [docker-compose] : Docker Compose has finished running
com.users.UsersQueryResolverTest > classMethod FAILED
org.testcontainers.containers.ContainerLaunchException at GenericContainer.java:330
Caused by: org.rnorth.ducttape.RetryCountExceededException at Unreliables.java:88
Any ideas what might be the cause?
Thanks.
Beitragsleitfaden
Erste Schritte
- Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
- Forke das Repository und arbeite in einem Branch.
- Öffne einen Pull Request, der die Issue-Nummer nennt.
Rechercherichtung
Beginne mit DockerComposeContainer und der verknüpften docker-compose.yml und reproduziere anschließend den Fehler, indem du die Integrationstestklassen wiederholt ausführst. Verfolge den Übergang vom Compose-Start zum Linking-Fehler von GenericContainer und untersuche den protokollierten Lebenszyklus des Containers. Als erledigt gilt die Aufgabe, wenn die Ursache identifiziert und ein Regressionstest hinzugefügt wurde, der den wiederholten Compose-Start und das Herunterfahren abdeckt.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Bewertung
- Tech-Stack
- docker, docker-compose, java, spring-boot
- Bereich
- devops, testing
- Issue-Typ
- Bug
- Schwierigkeit
- 4/5
- Geschätzter Aufwand
- 3-5 Tage
- Aktivitätsstatus
- Veraltet
- Klarheit
- Muss geklärt werden
- Anfängerfreundlichkeit
- 25/100