spotify / heroic

The Heroic Time Series Database
https://spotify.github.io/heroic/
Apache License 2.0
848 stars 109 forks source link

integrationTests requires "hidden" quay.io/testcontainers/ryuk docker image #764

Open Pierrotws opened 3 years ago

Pierrotws commented 3 years ago

Hi,

testing to build heroic for the first time, integrationTests failed. Due to a missing docker image.

com.spotify.heroic.PubSubConsumerIT > consumeOneMessage FAILED
    org.testcontainers.containers.ContainerLaunchException: Container startup failed
        Caused by:
        org.testcontainers.containers.ContainerFetchException: Can't get Docker image: RemoteDockerImage(imageNameFuture=java.util.concurrent.CompletableFuture@5f9adb66[Completed normally], imagePullPolicy=DefaultPullPolicy(), dockerClient=LazyDockerClient.INSTANCE)

            Caused by:
            com.github.dockerjava.api.exception.NotFoundException: {"message":"No such image: quay.io/testcontainers/ryuk:0.2.3"}

This image is not specified in the code so I guess this is a requirement of a dependency. Other docker images that are explicitly mentioned in the code as bigtruedata/gcloud-pubsub-emulator were automatically pulled as seen in the test just before the failing one:

com.spotify.heroic.PubSubConsumerIT > consumeOneMessage STANDARD_OUT
    14:29:02.761 [Test worker] INFO  org.testcontainers.DockerClientFactory - Docker host IP address is localhost
    14:29:02.777 [Test worker] INFO  org.testcontainers.DockerClientFactory - Connected to docker:
      Server Version: 20.10.5
      API Version: 1.41
      Operating System: Arch Linux
      Total Memory: 15641 MB
    14:29:02.783 [Test worker] INFO  🐳 [bigtruedata/gcloud-pubsub-emulator:latest] - Pulling docker image: bigtruedata/gcloud-pubsub-emulator:latest. Please be patient; this may take some time but only needs to be done once.
    14:29:02.783 [Test worker] INFO  org.testcontainers.DockerClientFactory - Docker host IP address is localhost
    14:29:02.799 [Test worker] INFO  org.testcontainers.DockerClientFactory - Connected to docker:
      Server Version: 20.10.5
      API Version: 1.41
      Operating System: Arch Linux
      Total Memory: 15641 MB

Build works fine just after manual pulling of image quay.io/testcontainers/ryuk:0.2.3

bsideup commented 3 years ago

@Pierrotws there was a regression caused by the recent Docker release, and it is recommended to update Testcontainers to the latest version to fix the pulling issue. I hope this information helps the maintainers :)