in pkg/apis/frameworkcontroller/v1/funcs.go [667:716]
func (f *Framework) MockTask(taskRoleName string, taskIndex int32, taskDeleting bool) *Task {
taskSpec := f.GetTaskSpec(taskRoleName)
taskRoleStatus := f.TaskRoleStatus(taskRoleName)
taskStatus := f.TaskStatus(taskRoleName, taskIndex)
taskIndexStr := fmt.Sprint(taskIndex)
frameworkUIDStr := string(f.UID)
frameworkAttemptIDStr := fmt.Sprint(f.FrameworkAttemptID())
frameworkAttemptInstanceUIDStr := string(*f.FrameworkAttemptInstanceUID())
configMapUIDStr := string(*f.ConfigMapUID())
taskRoleUIDStr := string(taskRoleStatus.InstanceUID)
task := &Task{
TypeMeta: meta.TypeMeta{},
ObjectMeta: meta.ObjectMeta{},
Spec: taskSpec,
Status: taskStatus,
}
// Mock Task
task.SetGroupVersionKind(TaskGroupVersionKind)
task.Name = GetTaskName(f.Name, taskRoleName, taskIndex)
task.Namespace = f.Namespace
task.UID = taskStatus.InstanceUID
task.ResourceVersion = f.ResourceVersion
task.Generation = f.Generation
task.CreationTimestamp = taskStatus.StartTime
if taskDeleting {
task.DeletionTimestamp = common.PtrNow()
task.DeletionGracePeriodSeconds = common.PtrInt64(0)
}
task.Annotations = map[string]string{}
task.Annotations[AnnotationKeyFrameworkNamespace] = f.Namespace
task.Annotations[AnnotationKeyFrameworkName] = f.Name
task.Annotations[AnnotationKeyTaskRoleName] = taskRoleName
task.Annotations[AnnotationKeyTaskIndex] = taskIndexStr
task.Annotations[AnnotationKeyConfigMapName] = f.ConfigMapName()
task.Annotations[AnnotationKeyFrameworkUID] = frameworkUIDStr
task.Annotations[AnnotationKeyFrameworkAttemptID] = frameworkAttemptIDStr
task.Annotations[AnnotationKeyFrameworkAttemptInstanceUID] = frameworkAttemptInstanceUIDStr
task.Annotations[AnnotationKeyConfigMapUID] = configMapUIDStr
task.Annotations[AnnotationKeyTaskRoleUID] = taskRoleUIDStr
task.Labels = map[string]string{}
task.Labels[LabelKeyFrameworkName] = f.Name
task.Labels[LabelKeyTaskRoleName] = taskRoleName
task.Labels[LabelKeyTaskIndex] = taskIndexStr
return task
}