Skip to content

fix: override 60m TaskRun default and raise build CPU/memory limits - #1167

Merged
verseghy-prow[bot] merged 1 commit into
masterfrom
fix-taskrun-timeout-and-build-resources
Aug 29, 2026
Merged

verseghy-prow[bot] merged 1 commit into
masterfrom
fix-taskrun-timeout-and-build-resources

Conversation

@TwoDCube

Copy link
Copy Markdown
Member

Follow-up to #1166, whose first build (build-frontend-kztcg / frontend-pac-2sthz, 2026-08-28) failed and revealed two deeper limits the timeout bump couldn't fix:

What actually happened

  1. The pipeline task died at exactly 1h — TaskRunTimeout: failed to finish within "1h0m0s". That's Tekton's cluster-wide default TaskRun timeout; raising timeouts.pipeline (as fix: tag PAC-built image with commit SHA and raise build timeout to 2h #1166 did) does not lift the per-TaskRun default. The June failures at 1h were partly this too.
  2. The BuildRun kept running and hit its own 2h wall anyway. The buildah ClusterBuildStrategy caps the build-and-push step at 1 CPU / 2Gi. Observed live during the build: CPU pinned at 1003m and memory parked at 2046Mi (the ceiling) with zero log output for 90+ minutes — the webpack build was GC-thrashing at the memory limit, not progressing.

Fixes

  • Explicit timeout: 2h20m0s on the pipeline task, keeping every layer larger than the one inside it: 2h build < 130m oc wait < 2h20m task < 2h30m pipeline.
  • stepResources override on the BuildRun raising build-and-push to 4 CPU / 6Gi (requests 1 CPU / 2Gi) — scoped to this build only, no change to the shared ClusterBuildStrategy. Nodes have 31.5 CPU / 62Gi allocatable, so no contention risk.

The modified BuildRun JSON was validated against the live cluster API with oc create --dry-run=server — the override survives admission (an earlier draft had it at the wrong nesting level and was silently pruned, which is exactly why this PR states where it was verified).

With 4 CPUs and real memory headroom the build should finish far inside the budget; if it still times out at 2h, the build is genuinely hung and needs its log investigated rather than more resources.

🤖 Generated with Claude Code

The previous timeout fix (#1166) was insufficient — its first build
revealed two deeper limits:

1. Tekton's cluster default TaskRun timeout (60m) killed the pipeline
   task at exactly 1h despite the 2h30m pipeline timeout; raising
   timeouts.pipeline does not lift the per-TaskRun default. Give the
   task an explicit 2h20m timeout (build 2h < wait 130m < task 2h20m
   < pipeline 2h30m).

2. The buildah ClusterBuildStrategy caps build-and-push at 1 CPU / 2Gi.
   The webpack build pinned that CPU and sat at the 2Gi ceiling for 90+
   minutes with no output (GC thrash), then hit the BuildRun's own 2h
   timeout. Override via strategy stepResources to 4 CPU / 6Gi for this
   build only (nodes have 31.5 CPU / 62Gi allocatable).

The BuildRun JSON with the override was validated against the live API
with oc create --dry-run=server; the field survives admission.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@verseghy-prow
verseghy-prow Bot requested a review from smrtrfszm August 29, 2026 01:38
@verseghy-prow

verseghy-prow Bot commented Aug 29, 2026

Copy link
Copy Markdown

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: TwoDCube

The full list of commands accepted by this bot can be found here.

The pull request process is described here

Details Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@verseghy-prow verseghy-prow Bot added the approved Indicates a PR has been approved by an approver from all required OWNERS files. label Aug 29, 2026
@TwoDCube TwoDCube added the lgtm Indicates that a PR is ready to be merged. label Aug 29, 2026
@verseghy-prow
verseghy-prow Bot merged commit 7ed639c into master Aug 29, 2026
2 checks passed
@verseghy-prow
verseghy-prow Bot deleted the fix-taskrun-timeout-and-build-resources branch August 29, 2026 01:39
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

approved Indicates a PR has been approved by an approver from all required OWNERS files. lgtm Indicates that a PR is ready to be merged.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant