testcontainers / testcontainers/testcontainers-java

[Bug]: Cant run tests on K8s 1.24 without docker CR

Aperta
#7,086 1 commento 0 reazioni 0 assegnatari Vedi su GitHub

Nessuno ha ancora preso questa issue.

type/bug
Lingua principale
Java
Stelle
8.7k
Fork
1.9k
Merge medio
2g 17h
PR unite (30g)
9

Descrizione

Module

Core

Testcontainers version

1.18.2

Using the latest Testcontainers version?

Yes

Host OS

Ubuntu

Host Arch

x86

Docker version
Not using docker daemon, using containerd as K8s has stopped supported Docker as Container Runtime in 1.22
What happened?

We are using Jenkins on K8s and build our Java spring applications, now when we updated our K8s cluster to 1.24, and from 1.24 AWS EKS has stopped providing Docker as the container runtime rather supporting CRI. The issue is the pipelines stopped working when we updated it, as testcontainers was trying to use docker to create containers. I have also tried mounting /run/containerd/containerd.sock

Relevant log output
MyTest > my test FAILED
    java.lang.IllegalStateException at DefaultCacheAwareContextLoaderDelegate.java:98
        Caused by: org.springframework.beans.factory.UnsatisfiedDependencyException at ConstructorResolver.java:800
            Caused by: org.springframework.beans.factory.BeanCreationException at ConstructorResolver.java:658
                Caused by: org.springframework.beans.BeanInstantiationException at SimpleInstantiationStrategy.java:185
                    Caused by: java.lang.IllegalStateException at DockerClientProviderStrategy.java:231
Additional Information

No response

Guida per i contributori

Apri la guida per i contributori

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Direzione di ricerca

Inizia da DockerClientProviderStrategy.java:231 e riproduci il malfunzionamento in un ambiente Jenkins in esecuzione su Kubernetes 1.24 con containerd e senza un daemon Docker. Analizza la connessione disponibile al runtime dei container descritta nella issue, quindi definisci e verifica quale supporto permetterebbe ai test Java di creare container senza Docker; la issue non indica alcun file di test da eseguire.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Valutazione

Stack tecnologico
docker, java, kubernetes, spring
Ambito
devops, infrastructure, testing
Tipo di issue
Bug
Difficoltà
5/5
Tempo stimato
Più di una settimana
Stato di attività
Ferma
Chiarezza
Da chiarire
Idoneità per principianti
20/100

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.