-
Bug
-
Resolution: Fixed
-
Minor
-
None
Getting test failures sometimes on KubernetesPipelineTest#terminatedPod
The pod status is not being displayed, because the thread attempting to retrieve last logs is failing because the pod has been terminated already.
It should handle this case properly.
37.372 [id=930] WARNING o.c.j.p.k.pod.retention.Reaper#lambda$eventReceived$2: Listener org.csanchez.jenkins.plugins.kubernetes.pod.retention.Reaper$TerminateAgentOnPodFailed@20c7c82e failed for kubernetes-plugin-test/terminatedpod-xp85w-hsq8hio.fabric8.kubernetes.client.KubernetesClientException: Failure executing: GET at: https://127.0.0.1:33875/api/v1/namespaces/kubernetes-plugin-test/pods/terminatedpod-xp85w-hsq8h/log?pretty=false&container=busybox&tailLines=30. Message: container "busybox" in pod "terminatedpod-xp85w-hsq8h" is terminated. Received status: Status(apiVersion=v1, code=400, details=null, kind=Status, message=container "busybox" in pod "terminatedpod-xp85w-hsq8h" is terminated, metadata=ListMeta(_continue=null, remainingItemCount=null, resourceVersion=null, selfLink=null, additionalProperties={}), reason=BadRequest, status=Failure, additionalProperties={}). at io.fabric8.kubernetes.client.dsl.base.OperationSupport.requestFailure(OperationSupport.java:639) at io.fabric8.kubernetes.client.dsl.base.OperationSupport.assertResponseCode(OperationSupport.java:578) at io.fabric8.kubernetes.client.dsl.internal.core.v1.PodOperationsImpl.doGetLog(PodOperationsImpl.java:189) at io.fabric8.kubernetes.client.dsl.internal.core.v1.PodOperationsImpl.getLog(PodOperationsImpl.java:198) at org.csanchez.jenkins.plugins.kubernetes.PodUtils.logLastLines(PodUtils.java:142) at org.csanchez.jenkins.plugins.kubernetes.pod.retention.Reaper$TerminateAgentOnPodFailed.onEvent(Reaper.java:252) at org.csanchez.jenkins.plugins.kubernetes.pod.retention.Reaper.lambda$eventReceived$2(Reaper.java:157) at java.lang.Iterable.forEach(Iterable.java:75) at org.csanchez.jenkins.plugins.kubernetes.pod.retention.Reaper.eventReceived(Reaper.java:155) at org.csanchez.jenkins.plugins.kubernetes.pod.retention.Reaper.eventReceived(Reaper.java:64) at io.fabric8.kubernetes.client.utils.WatcherToggle.eventReceived(WatcherToggle.java:49) at io.fabric8.kubernetes.client.dsl.internal.AbstractWatchManager.eventReceived(AbstractWatchManager.java:145) at io.fabric8.kubernetes.client.dsl.internal.WatchConnectionManager$TypedWatcherWebSocketListener.onMessage(WatchConnectionManager.java:83) at okhttp3.internal.ws.RealWebSocket.onReadMessage(RealWebSocket.java:322) at okhttp3.internal.ws.WebSocketReader.readMessageFrame(WebSocketReader.java:219) at okhttp3.internal.ws.WebSocketReader.processNextFrame(WebSocketReader.java:105) at okhttp3.internal.ws.RealWebSocket.loopReader(RealWebSocket.java:273) at okhttp3.internal.ws.RealWebSocket$1.onResponse(RealWebSocket.java:209) at okhttp3.RealCall$AsyncCall.execute(RealCall.java:174) at okhttp3.internal.NamedRunnable.run(NamedRunnable.java:32) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) at java.lang.Thread.run(Thread.java:748)
- links to