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

OpenShift Pipelines failing to resolve remote task annotations

    XMLWordPrintable

Details

    • Pipelines Sprint 256, Pipelines Sprint 257, Pipelines Sprint 258, Pipelines Sprint 259

    Description

      Description of problem:
       

       Client is facing issue which is stopping them from having multiple PipelineRun objects for the same repo, which limits their ability to customize their pipelines installation and is stopping  from rolling out a pipeline.

      Workaround:

      As a workaround client needs to add every remote task import to every pipelinerun for every task required by every pipelinerun.

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

      Openshift Pipelines operator: 1.13
      OCP: 4.12.34

      Steps to Reproduce: 

      Minimal reproducer steps are been shared by the client. Attached to the drive link. 

      Actual results:

      When client create a github PR from the branch `new-pipeline`, the pipelinerun `pipelinerun-a` should run with no issues with the result being that `task-a` runs to completion in a TaskRun that is associated with `pipelinerun-a` `pipelinerun-b` should not run.
      Instead of the pipelinerun object being created on the cluster, the controller returns the following error message in the github pull request:

      ```
      There was an issue validating the commit: "cannot find referenced task task-b. if it's a remote task make sure to add it in the annotations"
      ```

      What is happening is that during pipeline as code resolution when `pipelinerun-a` is being resolved into a embedded pipelinerun, the pipelines as code controller also tries to resolve all dependencies for `pipelinerun-b`, but it doesn't have the annotations for pipelinerun-b. The solution is to add every remote task import to every pipelinerun for every task required by every pipelinerun. This quickly gets tedious, and makes it harder to keep track of which dependencies are needed for each pipelinerun.

      Expected results:

      When client create a github PR from the branch `new-pipeline`, the pipelinerun `pipelinerun-a` should run with no issues with the result being that `task-a` runs to completion in a TaskRun that is associated with `pipelinerun-a`. 
      `pipelinerun-b` should not run.

      Attachments

        Activity

          People

            piyushgarg001 Piyush Garg
            rhn-support-dtambat Darshan Tambat
            Votes:
            0 Vote for this issue
            Watchers:
            6 Start watching this issue

            Dates

              Created:
              Updated: