func()

in runner/group/handler.go [83:111]


func (h *Handler) Info(ctx context.Context) *types.RunnerGroup {
	rg := &types.RunnerGroup{
		Name: h.name,
		Spec: h.spec,
		Status: &types.RunnerGroupStatus{
			State: types.RunnerGroupStatusStateUnknown,
		},
	}

	cli := h.clientset.BatchV1().Jobs(h.namespace)
	job, err := cli.Get(ctx, h.name, metav1.GetOptions{})
	if err != nil {
		klog.V(2).ErrorS(err, "failed to job for runner group", "job", h.name)
		return rg
	}

	state := types.RunnerGroupStatusStateRunning
	if jobFinished(job) {
		state = types.RunnerGroupStatusStateFinished
	} else if job.Status.StartTime == nil {
		state = types.RunnerGroupStatusStateUnknown
	}

	rg.Status.State = state
	rg.Status.StartTime = job.Status.StartTime
	rg.Status.Succeeded = job.Status.Succeeded
	rg.Status.Failed = job.Status.Failed
	return rg
}