<p>I have a problem where i need to trigger multiple Pipelinerun's at same time where the runs will take longer the 1 hour. The global timeout for the PipelineRun is 1 hours by default so it fails. The team managing the Openshift cluster does not want to change the global timeout so I have to override it in some way.</p>
<p>The resources I am using is an EventListener, TriggerBinding, TriggerTemplate, Pipeline and PipelineRun.</p>
<p>I have tried to set a timeout on the Pipeline tasks like:</p>
<pre><code>      runAfter:
        - fetch-repository
      taskRef:
        kind: ClusterTask
        name: buildah
      timeout: &quot;3h0m0s&quot;
</code></pre>
<p>but the PipelineRun timeout seems to have precedence so it does not work.</p>
<ul>
<li>Openshift version: 4.9.35</li>
<li>K8s version: v1.22.8</li>
<li>Tekton seems to be
installed with Openshift and cannot find which version but probably
very new.</li>
</ul>
<p>Any ideas?</p>

linkebon
<p>This is a known issue with OpenShift, I have a feature request filed with redhat support about this ... been over a year now ...</p>
<p>Although you mentioned using EventListeners: in that case, you should be able to force your own pipelinerun timeout, setting up your TriggerTemplate.</p>
<p>Try this:</p>
<pre><code>apiVersion: triggers.tekton.dev/v1beta1
kind: TriggerTemplate
metadata:
  name: foo
spec:
  [...]
  resourcetemplates:
  - apiVersion: tekton.dev/v1beta1
    kind: PipelineRun
    metadata:
      generateName: foo-
    spec:
      timeout: 2h30m0s
      [...]
</code></pre>
<p>The only issue with this, is that you can't use them from OpenShift console. You would need to make sure your EventListener is used, starting that pipeline (eg: with curl, an oc plugin, ...), enforcing proper timeout configuration.</p>
