-
Notifications
You must be signed in to change notification settings - Fork 100
Description
Problem Description
Critical syntax error affecting all Tekton pipeline files with additional-tags
parameter
All 32 pipeline files in the .tekton/
directory that use the additional-tags
parameter are incorrectly declaring array parameters with the singular value:
key instead of the required plural values:
key. This causes the Tekton controller to reject these PipelineRun objects due to YAML parsing failures.
Root Cause Analysis
Tekton treats array parameters differently from scalar parameters. According to the Tekton specification, array parameters must use values:
(plural) rather than value:
(singular).
Current Problematic Code Pattern
- name: additional-tags
value: # ❌ INCORRECT - should be 'values:'
- '$$OUTPUT_IMAGE_TAG$$'
Correct Syntax
- name: additional-tags
values: # ✅ CORRECT - plural form for arrays
- '$$OUTPUT_IMAGE_TAG$$'
Impact Assessment
Severity: CRITICAL 🚨
- All 32 affected pipeline files will fail to parse
- Build pipeline execution completely broken
- Both Python 3.11 and Python 3.12 pipelines affected
- Affects all image types: workbench, runtime, CPU, CUDA, ROCm variants
Affected Files (32 total)
Python 3.11 pipeline files (16):
odh-pipeline-runtime-datascience-cpu-py311-ubi9-push.yaml
odh-pipeline-runtime-minimal-cpu-py311-ubi9-push.yaml
odh-pipeline-runtime-pytorch-cuda-py311-ubi9-push.yaml
odh-pipeline-runtime-pytorch-rocm-py311-ubi9-push.yaml
odh-pipeline-runtime-tensorflow-cuda-py311-ubi9-push.yaml
odh-pipeline-runtime-tensorflow-rocm-py311-ubi9-push.yaml
odh-workbench-codeserver-datascience-cpu-py311-ubi9-push.yaml
odh-workbench-jupyter-datascience-cpu-py311-ubi9-push.yaml
odh-workbench-jupyter-minimal-cpu-py311-ubi9-push.yaml
odh-workbench-jupyter-minimal-cuda-py311-ubi9-push.yaml
odh-workbench-jupyter-minimal-rocm-py311-ubi9-push.yaml
odh-workbench-jupyter-pytorch-cuda-py311-ubi9-push.yaml
odh-workbench-jupyter-pytorch-rocm-py311-ubi9-push.yaml
odh-workbench-jupyter-tensorflow-cuda-py311-ubi9-push.yaml
odh-workbench-jupyter-tensorflow-rocm-py311-ubi9-push.yaml
odh-workbench-jupyter-trustyai-cpu-py311-ubi9-push.yaml
Python 3.12 pipeline files (16):
odh-pipeline-runtime-datascience-cpu-py312-ubi9-push.yaml
odh-pipeline-runtime-minimal-cpu-py312-ubi9-push.yaml
odh-pipeline-runtime-pytorch-cuda-py312-ubi9-push.yaml
odh-pipeline-runtime-pytorch-rocm-py312-ubi9-push.yaml
odh-pipeline-runtime-tensorflow-cuda-py312-ubi9-push.yaml
odh-pipeline-runtime-tensorflow-rocm-py312-ubi9-push.yaml
odh-workbench-codeserver-datascience-cpu-py312-ubi9-push.yaml
odh-workbench-jupyter-datascience-cpu-py312-ubi9-push.yaml
odh-workbench-jupyter-minimal-cpu-py312-ubi9-push.yaml
odh-workbench-jupyter-minimal-cuda-py312-ubi9-push.yaml
odh-workbench-jupyter-minimal-rocm-py312-ubi9-push.yaml
odh-workbench-jupyter-pytorch-cuda-py312-ubi9-push.yaml
odh-workbench-jupyter-pytorch-rocm-py312-ubi9-push.yaml
odh-workbench-jupyter-tensorflow-cuda-py312-ubi9-push.yaml
odh-workbench-jupyter-tensorflow-rocm-py312-ubi9-push.yaml
odh-workbench-jupyter-trustyai-cpu-py312-ubi9-push.yaml
Solution
Required Changes
Replace all instances of value:
with values:
for the additional-tags
parameter across all affected files.
Implementation Command
# Fix all pipeline files with incorrect array parameter syntax
sed -i 's/^ - name: additional-tags$/&\'$'\n'' values:/' .tekton/*py31*.yaml
sed -i '/^ - name: additional-tags$/,/^ value:$/{s/^ value:$/ values:/}' .tekton/*py31*.yaml
Or manually edit each file to change:
- name: additional-tags
- value:
+ values:
- '$$OUTPUT_IMAGE_TAG$$'
Acceptance Criteria
- All 32 affected pipeline files use
values:
instead ofvalue:
foradditional-tags
parameter - Python 3.11 pipeline files (16) are corrected
- Python 3.12 pipeline files (16) are corrected
- Both workbench and runtime pipeline types are fixed
- All image variants (CPU, CUDA, ROCm) are addressed
- PipelineRun objects parse successfully in Tekton controller
- Build pipelines execute without parsing errors
- No other array parameters have similar syntax issues
Implementation Notes
- Systematic Issue: This appears to be a copy-paste error propagated across all pipeline files
- Validation: Test PipelineRun parsing with
kubectl apply --dry-run=client
after fixes - Prevention: Consider adding linting checks to prevent similar syntax errors
- Documentation: Update any pipeline generation scripts or templates to use correct syntax
Priority
IMMEDIATE ACTION REQUIRED - This blocks all pipeline execution
Context:
- Discovered in PR RHOAIENG-28512: add py312 .tekton push pipelines #1379 review: RHOAIENG-28512: add py312 .tekton push pipelines #1379 (comment)
- Reporter: @jiridanek
- All 32 pipeline files affected systematically
Metadata
Metadata
Assignees
Labels
Type
Projects
Status