From 4720deb8f7ce84b8af9be1e275d9d0980ecee983 Mon Sep 17 00:00:00 2001 From: Michalina Kotwica Date: Tue, 14 Jun 2022 13:28:00 +0200 Subject: [PATCH] getTask should accept taskrun, not task name --- pkg/pod/status.go | 16 ++++++++++------ pkg/reconciler/taskrun/taskrun.go | 5 +++-- 2 files changed, 13 insertions(+), 8 deletions(-) diff --git a/pkg/pod/status.go b/pkg/pod/status.go index e6c255da587..bd069f1377e 100644 --- a/pkg/pod/status.go +++ b/pkg/pod/status.go @@ -18,6 +18,7 @@ package pod import ( "encoding/json" + "errors" "fmt" "strconv" "strings" @@ -99,14 +100,17 @@ func SidecarsReady(podStatus corev1.PodStatus) bool { return true } -type GetTaskFromName func(taskName string) (v1beta1.TaskObject, error) +type GetTaskSpecFromTaskRun func(tr *v1beta1.TaskRun) (*v1beta1.TaskSpec, error) -func EmptyGetTaskFromName(taskName string) (v1beta1.TaskObject, error) { - return &v1beta1.Task{}, nil +func EmptyGetTaskFromName(tr *v1beta1.TaskRun) (*v1beta1.TaskSpec, error) { + if tr.Spec.TaskSpec != nil { + return tr.Spec.TaskSpec, nil + } + return nil, errors.New("TaskSpec not found when no source of TaskRef specified") } // MakeTaskRunStatus returns a TaskRunStatus based on the Pod's status. -func MakeTaskRunStatus(logger *zap.SugaredLogger, tr v1beta1.TaskRun, pod *corev1.Pod, getTaskFunc GetTaskFromName) (v1beta1.TaskRunStatus, error) { +func MakeTaskRunStatus(logger *zap.SugaredLogger, tr v1beta1.TaskRun, pod *corev1.Pod, getTaskFunc GetTaskSpecFromTaskRun) (v1beta1.TaskRunStatus, error) { trs := &tr.Status if trs.GetCondition(apis.ConditionSucceeded) == nil || trs.GetCondition(apis.ConditionSucceeded).Status == corev1.ConditionUnknown { // If the taskRunStatus doesn't exist yet, it's because we just started running @@ -149,7 +153,7 @@ func MakeTaskRunStatus(logger *zap.SugaredLogger, tr v1beta1.TaskRun, pod *corev return *trs, merr.ErrorOrNil() } -func setTaskRunStatusBasedOnStepStatus(logger *zap.SugaredLogger, stepStatuses []corev1.ContainerStatus, tr *v1beta1.TaskRun, getTaskFunc GetTaskFromName) *multierror.Error { +func setTaskRunStatusBasedOnStepStatus(logger *zap.SugaredLogger, stepStatuses []corev1.ContainerStatus, tr *v1beta1.TaskRun, getTaskFunc GetTaskSpecFromTaskRun) *multierror.Error { trs := &tr.Status var merr *multierror.Error @@ -226,7 +230,7 @@ func createMessageFromResults(results []v1beta1.PipelineResourceResult) (string, return string(bytes), nil } -func filterResultsAndResources(results []v1beta1.PipelineResourceResult, tr *v1beta1.TaskRun, getTask GetTaskFromName) ([]v1beta1.TaskRunResult, []v1beta1.PipelineResourceResult, []v1beta1.PipelineResourceResult) { +func filterResultsAndResources(results []v1beta1.PipelineResourceResult, tr *v1beta1.TaskRun, getTask GetTaskSpecFromTaskRun) ([]v1beta1.TaskRunResult, []v1beta1.PipelineResourceResult, []v1beta1.PipelineResourceResult) { var taskResults []v1beta1.TaskRunResult var pipelineResourceResults []v1beta1.PipelineResourceResult var filteredResults []v1beta1.PipelineResourceResult diff --git a/pkg/reconciler/taskrun/taskrun.go b/pkg/reconciler/taskrun/taskrun.go index df2567c80d5..31c5000f687 100644 --- a/pkg/reconciler/taskrun/taskrun.go +++ b/pkg/reconciler/taskrun/taskrun.go @@ -488,8 +488,9 @@ func (c *Reconciler) reconcile(ctx context.Context, tr *v1beta1.TaskRun, rtr *re return err } - getTask := func(taskName string) (v1beta1.TaskObject, error) { - return getTaskFromCtx(ctx, taskName) + getTask := func(tr *v1beta1.TaskRun) (*v1beta1.TaskSpec, error) { + _, spec, err := resources.GetTaskData(ctx, tr, getTaskFromCtx) + return spec, err } // Convert the Pod's status to the equivalent TaskRun Status.