Uploaded image for project: 'OpenShift Pipelines'
  1. OpenShift Pipelines
  2. SRVKP-7747

Upgrade to 1.19 night failues due to TektonPruner conflict

XMLWordPrintable

      Description of problem:

      If the 1.19 nightly release is deployed to a cluster with an existing TektonConfig, or if the TektonConfig has its tektonpruner settings removed, the default value of spec.tektonpruner.disabled is false.This causes the installation to fail, as both pruner and tektonpruner will be enabled at the same time. It appears that the tektonpruner setting is only disabled by default when the TektonConfig is created, but when it is patched the default is enabled.

      See this log from the tekton-operator-webhook pod after I removed the pruner and tektonpruner settings on my TektonConfig:

       

       

      Workaround

      There is a workaround; simply set spec.tektonpruner.disabled: true in the TektonConfig at the same time or immediately after the update, and ensure that you leave spec.pruner.disabled: false as well.

      Prerequisites (if any, like setup, operators/versions):

      Install the latest version of the operator into a kind or openshift cluster and observe that the tektonpruner is disabled and the pruner is enabled.

      Steps to Reproduce

       - Edit your tektonconfig to remove the tektonpruner (or apply a tektonconfig which was compatbile with a previous version and did not include the tektonpruner setting)

      • View the tektonconfig

        Actual results:

      Observe that the tektonpruner is now enabled in the tektonconfig alongside the pruner, and that the operator is logging that this is an invalid setting

      Expected results:

      The tektonpruner setting will be readded but the default disabled setting will remain true.

      Reproducibility (Always/Intermittent/Only Once):

      Always

      Acceptance criteria: 

      The TektonConfig's `tektonpruner` setting should never be inserted as `disabled: false` at this version, regardless of when in the Tektonconfig lifecycle the patch is applied.

      Definition of Done:

      Build Details:

      Additional info (Such as Logs, Screenshots, etc):

      {"level":"info","timestamp":"2025-06-06T00:55:08.734Z","logger":"tekton-operator-webhook","caller":"defaulting/defaulting.go:161","msg":"Kind: \"operator.tekton.dev/v1alpha1, Kind=TektonConfig\" PatchBytes: [{\"op\":\"add\",\"path\":\"/spec/pruner\",\"value\":{\"disabled\":false}},{\"op\":\"add\",\"path\":\"/spec/tektonpruner\",\"value\":{\"disabled\":false,\"options\":{}}},{\"op\":\"add\",\"path\":\"/spec/pruner/resources\",\"value\":[\"pipelinerun\"]},{\"op\":\"add\",\"path\":\"/spec/pruner/keep\",\"value\":100}]","commit":"d04cee176c17e6d4c88a7175db9595ddde767d63","knative.dev/kind":"operator.tekton.dev/v1alpha1, Kind=TektonConfig","knative.dev/namespace":"","knative.dev/name":"config","knative.dev/operation":"UPDATE","knative.dev/resource":"operator.tekton.dev/v1alpha1, Resource=tektonconfigs","knative.dev/subresource":"","knative.dev/userinfo":"cluster-admin"}
      {"level":"info","timestamp":"2025-06-06T00:55:08.734Z","logger":"tekton-operator-webhook","caller":"webhook/admission.go:151","msg":"remote admission controller audit annotations=map[string]string(nil)","commit":"d04cee176c17e6d4c88a7175db9595ddde767d63","knative.dev/kind":"operator.tekton.dev/v1alpha1, Kind=TektonConfig","knative.dev/namespace":"","knative.dev/name":"config","knative.dev/operation":"UPDATE","knative.dev/resource":"operator.tekton.dev/v1alpha1, Resource=tektonconfigs","knative.dev/subresource":"","knative.dev/userinfo":"cluster-admin","admissionreview/uid":"c5c14b4f-b342-4099-b660-f00d9b11beea","admissionreview/allowed":true,"admissionreview/result":"nil"} 

              rh-ee-prbindal Pramod Bindal
              rh-ee-athorp Andrew Thorp
              Votes:
              0 Vote for this issue
              Watchers:
              4 Start watching this issue

                Created:
                Updated:
                Resolved: