testcontainers / testcontainers/testcontainers-java

[Bug]: Giving SSLHandshakeException while executing PATCH command

Abierto
#9,197 1 comentario 0 reacciones 0 asignados Ver en GitHub

Nadie ha tomado este issue todavía.

type/bug
Lenguaje dominante
Java
Estrellas
8.7k
Forks
1.9k
Merge medio
2 d 17 h
PR fusionados (30 d)
9

Descripción

Module

K3S

Testcontainers version

1.20.1

Using the latest Testcontainers version?

Yes

Host OS

Windows

Host Arch

x86

Docker version
Client:
 Cloud integration: v1.0.29
 Version:           20.10.20
 API version:       1.41
 Go version:        go1.18.7
 Git commit:        9fdeb9c
 Built:             Tue Oct 18 18:28:44 2022
 OS/Arch:           windows/amd64
 Context:           default
 Experimental:      true

Server: Docker Desktop 4.13.1 (90346)
 Engine:
  Version:          20.10.20
  API version:      1.41 (minimum version 1.12)
  Go version:       go1.18.7
  Git commit:       03df974
  Built:            Tue Oct 18 18:18:35 2022
  OS/Arch:          linux/amd64
  Experimental:     false
 containerd:
  Version:          1.6.8
  GitCommit:        9cd3357b7fd7218e4aec3eae239db1f68a5a6ec6
 runc:
  Version:          1.1.4
  GitCommit:        v1.1.4-0-g5fd4c4d
 docker-init:
  Version:          0.19.0
  GitCommit:        de40ad0
What happened?

My K3S test container is up and I am able to create namespace, services etc. in it.

            V1Service service = new V1Service()
            .metadata(new V1ObjectMeta().name(serviceName).annotations(annotations))
            .spec(new V1ServiceSpec()
                    .addPortsItem(new V1ServicePort()
                            .port(80)
                            .targetPort(new IntOrString(8080)))
                    .selector(Collections.singletonMap("app", "my-app"))
                    .type("ClusterIP"));

    api.createNamespacedService(LHTestConstants.NAMESPACE, service).execute();

But when I try to run a PATCH command using the below code it gives a SSLHandshake error:

           V1Patch patch = new V1Patch(patchJson);
           V1Service patchedService = PatchUtils.patch(
                    V1Service.class,
                    () ->
                            coreV1Api.patchNamespacedService(
                                            serviceName,
                                            namespace,
                                            patch)
                                    .buildCall(null),
                    V1Patch.PATCH_FORMAT_JSON_PATCH);

Error: javax.net.ssl.SSLHandshakeException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target

Relevant log output
javax.net.ssl.SSLHandshakeException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
Additional Information

No response

Guía de contribución

Abrir la guía de contribución

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Línea de trabajo

Empieza reproduciendo la solicitud PATCH en la configuración de pruebas de K3S y compárala con las llamadas exitosas a namespace y service mostradas en el issue. Rastrea el manejo de SSL y certificados utilizado por coreV1Api.patchNamespacedService y PatchUtils.patch; se considera terminado cuando el comando PATCH se ejecuta correctamente sin la PKIX SSLHandshakeException.

Escrito por el modelo de indexación a partir del texto del issue.

Evaluación

Stack tecnológico
docker, java, kubernetes
Área
api, infrastructure, testing
Tipo de issue
Error
Dificultad
4/5
Tiempo estimado
3-5 días
Estado de actividad
Estancado
Claridad
Bastante claro
Aptitud para principiantes
25/100

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.