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

Support Running Status Reporting of PipelineRuns Managed by Kueue Plugin

XMLWordPrintable

    • Pipelines Sprint Crookshank 30, Pipelines Sprint Crookshank 31

      Story (Required)

      When Kueue plugin will change the status of PipelineRun to running, PaC must report the appropriate status on GitHub. 

      Background (Required)

      Kueue is Kubernetes' native job-queuing system, scheduling workloads like Tekton PipelineRuns based on available resource quotas. Konflux team has built a plugin for Kueue that effectively manages the lifecycle of PipelineRuns within the cluster updating their status to Pending, Running, or Completed.

      But as PaC is not managing the lifecycle of PipelineRun git providers are not aware of the status of the PipelineRun but PaC remains essential for bridging this gap. PaC monitors the status of the PipelineRun objects in the cluster and reports these updates back to the Git provider, ensuring developers receive timely feedback on their pull requests through comments and status checks.

      Out of scope

      • Any behavior changes in PaC's own concurrency feature.
      • Any changes in watcher for reporting status of the completed PipelineRun not being managed by Kueue.
      • Any changes in how PaC starts PipelineRuns from controller.

      Approach (Required)

      PaC utilizes a watcher to monitor PipelineRun resources for specification changes. When the Kueue plugin alters a PipelineRun's state, such as transitioning it from pending to running, this modification triggers PaC's ReconcileKind function. Within this reconciliation loop, the updated status of the PipelineRun is read, and if the status indicates it is now running, PaC proceeds to update the corresponding status check on the Git provider.

      Dependencies

      <Describes what this story depends on. Dependent Stories and EPICs should be linked to the story.>

      Acceptance Criteria (Mandatory)

      • Unit tests are written for newly added functions.
      • No existing E2E is failing due to new changes in watcher.

      INVEST Checklist

      Dependencies identified

      Blockers noted and expected delivery timelines set

      Design is implementable

      Acceptance criteria agreed upon

      Story estimated

      Legend

      Unknown

      Verified

      Unsatisfied

      Done Checklist

      • Code is completed, reviewed, documented and checked in
      • Unit and integration test automation have been delivered and running cleanly in continuous integration/staging/canary environment
      • Continuous Delivery pipeline(s) is able to proceed with new code included
      • Customer facing documentation, API docs etc. are produced/updated, reviewed and published
      • Acceptance criteria are met

              rh-ee-zashaikh Zaki Shaikh
              rh-ee-zashaikh Zaki Shaikh
              Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

                Created:
                Updated:
                Resolved: