jenkinsci / templating-engine-plugin

create tool-agnostic, templated pipelines to be shared by multiple teams
https://jenkinsci.github.io/templating-engine-plugin/latest/
Apache License 2.0
171 stars 59 forks source link

Problems trying to make my pipelines works on a Kubernetes cluster #310

Closed carlosgv87 closed 1 year ago

carlosgv87 commented 1 year ago

Jenkins Version

2.361.2

JTE Version

2.5.2

Bug Description

First of all, thank you very much for your help with this issue #221

After that, I could make all my pipelines work locally, but when I have tried to make them work on a Kubernetes cluster I'm facing some problems that I'm not being able neither to debug nor to solve because the pods isn't starting.

Related plugins:

Relevant log output

2022-11-08 11:24:20  Started by user admin
2022-11-08 11:24:21 [2022-11-08T10:24:21.574Z] [JTE] Obtained Pipeline Configuration File (show)
2022-11-08 11:24:21 [2022-11-08T10:24:21.646Z] [JTE] Pipeline Configuration Modifications (show)
2022-11-08 11:24:22 [2022-11-08T10:24:22.196Z] [JTE] Obtained Pipeline Configuration File (show)
2022-11-08 11:24:22 [2022-11-08T10:24:22.381Z] [JTE] Pipeline Configuration Modifications (show)
2022-11-08 11:24:22 [2022-11-08T10:24:22.912Z] [JTE] Obtained Template Configuration File (show)
2022-11-08 11:24:23 [2022-11-08T10:24:23.371Z] [JTE] Obtained Repository Jenkinsfile (show)
2022-11-08 11:24:24 [2022-11-08T10:24:24.121Z] [JTE] Obtained Template (show)
2022-11-08 11:24:34 [2022-11-08T10:24:34.912Z] [JTE] Loading Library bitbucket_cloud (show)
2022-11-08 11:24:35 [2022-11-08T10:24:35.992Z] [JTE] Loading Library commons (show)
2022-11-08 11:24:37 [2022-11-08T10:24:37.053Z] [JTE] Loading Library jenkins (show)
2022-11-08 11:24:38 [2022-11-08T10:24:38.071Z] [JTE] Loading Library jira_cloud (show)
2022-11-08 11:24:39 [2022-11-08T10:24:39.029Z] [JTE] Loading Library office365 (show)
2022-11-08 11:24:40 [2022-11-08T10:24:40.026Z] [JTE] Loading Library default_pod (show)
2022-11-08 11:24:40 [2022-11-08T10:24:40.999Z] [JTE] Loading Library docker (show)
2022-11-08 11:24:50  [Pipeline] Start of Pipeline
2022-11-08 11:24:51  [JTE][Step - default_pod/pod.call(CpsClosure2)]
2022-11-08 11:24:51  [Pipeline] podTemplate
2022-11-08 11:24:52  [Pipeline] {
2022-11-08 11:24:53  [Pipeline] node
2022-11-08 11:24:55  Created Pod: kubernetes devops-dta/java-base-image-master-2-k9lcb-xh4l0-84hkh
2022-11-08 11:24:58  devops-dta/java-base-image-master-2-k9lcb-xh4l0-84hkh Container dind was terminated (Exit Code: 0, Reason: Completed)
2022-11-08 11:24:58  
2022-11-08 11:24:58  - dind -- terminated (0)
2022-11-08 11:24:58  -----Logs-------------
2022-11-08 11:24:58  
2022-11-08 11:24:58  
2022-11-08 11:24:58  - jnlp -- running
2022-11-08 11:24:58  -----Logs-------------
2022-11-08 11:24:58  
2022-11-08 11:24:58  [Pipeline] // node
2022-11-08 11:24:58  [Pipeline] }
2022-11-08 11:24:59  [Pipeline] // podTemplate
2022-11-08 11:24:59  [Pipeline] End of Pipeline
2022-11-08 11:24:59  hudson.remoting.ProxyException: org.jenkinsci.plugins.workflow.steps.FlowInterruptedException
2022-11-08 11:24:59     at org.jenkinsci.plugins.workflow.support.steps.ExecutorStepExecution$CancelledItemListener.onLeft(ExecutorStepExecution.java:240)
2022-11-08 11:24:59     at hudson.model.Queue$LeftItem.lambda$enter$0(Queue.java:2796)
2022-11-08 11:24:59     at jenkins.util.Listeners.lambda$notify$0(Listeners.java:59)
2022-11-08 11:24:59     at jenkins.util.Listeners.notify(Listeners.java:67)
2022-11-08 11:24:59     at hudson.model.Queue$LeftItem.enter(Queue.java:2796)
2022-11-08 11:24:59     at hudson.model.Queue$Item.cancel(Queue.java:2427)
2022-11-08 11:24:59     at hudson.model.Queue.cancel(Queue.java:734)
2022-11-08 11:24:59     at org.csanchez.jenkins.plugins.kubernetes.PodUtils.cancelQueueItemFor(PodUtils.java:99)
2022-11-08 11:24:59     at org.csanchez.jenkins.plugins.kubernetes.pod.retention.Reaper$TerminateAgentOnContainerTerminated.onEvent(Reaper.java:420)
2022-11-08 11:24:59     at org.csanchez.jenkins.plugins.kubernetes.pod.retention.Reaper$CloudPodWatcher.lambda$eventReceived$0(Reaper.java:318)
2022-11-08 11:24:59     at java.base/java.lang.Iterable.forEach(Unknown Source)
2022-11-08 11:24:59     at org.csanchez.jenkins.plugins.kubernetes.pod.retention.Reaper$CloudPodWatcher.eventReceived(Reaper.java:316)
2022-11-08 11:24:59     at org.csanchez.jenkins.plugins.kubernetes.pod.retention.Reaper$CloudPodWatcher.eventReceived(Reaper.java:276)
2022-11-08 11:24:59     at io.fabric8.kubernetes.client.utils.WatcherToggle.eventReceived(WatcherToggle.java:49)
2022-11-08 11:24:59     at io.fabric8.kubernetes.client.dsl.internal.AbstractWatchManager.eventReceived(AbstractWatchManager.java:203)
2022-11-08 11:24:59     at io.fabric8.kubernetes.client.dsl.internal.AbstractWatchManager.onMessage(AbstractWatchManager.java:306)
2022-11-08 11:24:59     at io.fabric8.kubernetes.client.dsl.internal.WatcherWebSocketListener.onMessage(WatcherWebSocketListener.java:68)
2022-11-08 11:24:59     at io.fabric8.kubernetes.client.okhttp.OkHttpWebSocketImpl$BuilderImpl$1.onMessage(OkHttpWebSocketImpl.java:97)
2022-11-08 11:24:59     at okhttp3.internal.ws.RealWebSocket.onReadMessage(RealWebSocket.java:323)
2022-11-08 11:24:59     at okhttp3.internal.ws.WebSocketReader.readMessageFrame(WebSocketReader.java:219)
2022-11-08 11:24:59     at okhttp3.internal.ws.WebSocketReader.processNextFrame(WebSocketReader.java:105)
2022-11-08 11:24:59     at okhttp3.internal.ws.RealWebSocket.loopReader(RealWebSocket.java:274)
2022-11-08 11:24:59     at okhttp3.internal.ws.RealWebSocket$2.onResponse(RealWebSocket.java:214)
2022-11-08 11:24:59     at okhttp3.RealCall$AsyncCall.execute(RealCall.java:203)
2022-11-08 11:24:59     at okhttp3.internal.NamedRunnable.run(NamedRunnable.java:32)
2022-11-08 11:24:59  Caused: hudson.remoting.ProxyException: org.codehaus.groovy.runtime.InvokerInvocationException: org.jenkinsci.plugins.workflow.steps.FlowInterruptedException
2022-11-08 11:24:59     at org.boozallen.plugins.jte.init.primitives.injectors.StepWrapperCPS.methodMissing(script1667903091184216937907.groovy:62)
2022-11-08 11:24:59     at WorkflowScript.run(WorkflowScript:1)
2022-11-08 11:24:59     at ___cps.transform___(Native Method)
2022-11-08 11:24:59     at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
2022-11-08 11:24:59     at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
2022-11-08 11:24:59     at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
2022-11-08 11:24:59     at java.base/java.lang.reflect.Constructor.newInstance(Unknown Source)
2022-11-08 11:24:59     at org.codehaus.groovy.reflection.CachedConstructor.invoke(CachedConstructor.java:83)
2022-11-08 11:24:59     at org.codehaus.groovy.runtime.callsite.ConstructorSite$ConstructorSiteNoUnwrapNoCoerce.callConstructor(ConstructorSite.java:105)
2022-11-08 11:24:59     at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCallConstructor(CallSiteArray.java:59)
2022-11-08 11:24:59     at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callConstructor(AbstractCallSite.java:238)
2022-11-08 11:24:59     at com.cloudbees.groovy.cps.sandbox.DefaultInvoker.constructorCall(DefaultInvoker.java:25)
2022-11-08 11:24:59     at com.cloudbees.groovy.cps.impl.FunctionCallBlock$ContinuationImpl.dispatchOrArg(FunctionCallBlock.java:97)
2022-11-08 11:24:59     at com.cloudbees.groovy.cps.impl.FunctionCallBlock$ContinuationImpl.fixArg(FunctionCallBlock.java:83)
2022-11-08 11:24:59     at jdk.internal.reflect.GeneratedMethodAccessor456.invoke(Unknown Source)
2022-11-08 11:24:59     at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
2022-11-08 11:24:59     at java.base/java.lang.reflect.Method.invoke(Unknown Source)
2022-11-08 11:24:59     at com.cloudbees.groovy.cps.impl.ContinuationPtr$ContinuationImpl.receive(ContinuationPtr.java:72)
2022-11-08 11:24:59     at com.cloudbees.groovy.cps.impl.LocalVariableBlock$LocalVariable.get(LocalVariableBlock.java:38)
2022-11-08 11:24:59     at com.cloudbees.groovy.cps.LValueBlock$GetAdapter.receive(LValueBlock.java:30)
2022-11-08 11:24:59     at com.cloudbees.groovy.cps.impl.LocalVariableBlock.evalLValue(LocalVariableBlock.java:27)
2022-11-08 11:24:59     at com.cloudbees.groovy.cps.LValueBlock$BlockImpl.eval(LValueBlock.java:55)
2022-11-08 11:24:59     at com.cloudbees.groovy.cps.LValueBlock.eval(LValueBlock.java:16)
2022-11-08 11:24:59     at com.cloudbees.groovy.cps.Next.step(Next.java:83)
2022-11-08 11:24:59     at com.cloudbees.groovy.cps.Continuable$1.call(Continuable.java:177)
2022-11-08 11:24:59     at com.cloudbees.groovy.cps.Continuable$1.call(Continuable.java:166)
2022-11-08 11:24:59     at org.codehaus.groovy.runtime.GroovyCategorySupport$ThreadCategoryInfo.use(GroovyCategorySupport.java:136)
2022-11-08 11:24:59     at org.codehaus.groovy.runtime.GroovyCategorySupport.use(GroovyCategorySupport.java:275)
2022-11-08 11:24:59     at com.cloudbees.groovy.cps.Continuable.run0(Continuable.java:166)
2022-11-08 11:24:59     at org.jenkinsci.plugins.workflow.cps.SandboxContinuable.access$001(SandboxContinuable.java:18)
2022-11-08 11:24:59     at org.jenkinsci.plugins.workflow.cps.SandboxContinuable.run0(SandboxContinuable.java:51)
2022-11-08 11:24:59     at org.jenkinsci.plugins.workflow.cps.CpsThread.runNextChunk(CpsThread.java:187)
2022-11-08 11:24:59     at org.jenkinsci.plugins.workflow.cps.CpsThreadGroup.run(CpsThreadGroup.java:420)
2022-11-08 11:24:59     at org.jenkinsci.plugins.workflow.cps.CpsThreadGroup.access$400(CpsThreadGroup.java:95)
2022-11-08 11:24:59     at org.jenkinsci.plugins.workflow.cps.CpsThreadGroup$2.call(CpsThreadGroup.java:330)
2022-11-08 11:24:59     at org.jenkinsci.plugins.workflow.cps.CpsThreadGroup$2.call(CpsThreadGroup.java:294)
2022-11-08 11:24:59     at org.jenkinsci.plugins.workflow.cps.CpsVmExecutorService$2.call(CpsVmExecutorService.java:67)
2022-11-08 11:24:59     at java.base/java.util.concurrent.FutureTask.run(Unknown Source)
2022-11-08 11:24:59     at hudson.remoting.SingleLaneExecutorService$1.run(SingleLaneExecutorService.java:139)
2022-11-08 11:24:59     at jenkins.util.ContextResettingExecutorService$1.run(ContextResettingExecutorService.java:30)
2022-11-08 11:24:59     at jenkins.security.ImpersonatingExecutorService$1.run(ImpersonatingExecutorService.java:70)
2022-11-08 11:24:59     at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source)
2022-11-08 11:24:59     at java.base/java.util.concurrent.FutureTask.run(Unknown Source)
2022-11-08 11:24:59     at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
2022-11-08 11:24:59     at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
2022-11-08 11:24:59     at java.base/java.lang.Thread.run(Unknown Source)
2022-11-08 11:24:59  Finished: FAILURE

Steps to Reproduce

These are 2 repositories (https://github.com/carlosgv87/jte-pipeline-governance-tier and https://github.com/carlosgv87/jte-pipeline-library) with an example of several pipelines and the libraries used by these pipelines. docker-image-build-k8s is the one which isn't working.

In order to reproduce this error you need to follow these steps:

  1. Replicate this Jenkins global configuration related to Templating Engine plugin:

jenkins-global-jte-config_pipeline-configuration

jenkins-global-jte-config_library-resources

  1. Create a Multibranch Pipeline job with this configuration:

docker-dck-image-config_sources

docker-dck-image-config_build-configurartion

docker-dck-image-config_jte-pipeline-configuration

docker-dck-image-config_jte-library-sources

  1. Run job for main branch.
carlosgv87 commented 1 year ago

We have found that the problem is related with Kubernetes plugin version that we are using instead of with JTE plugin integrations