diff --git a/control-operator/api/v1alpha1/environment_types.go b/control-operator/api/v1alpha1/environment_types.go index 0abb6ffb..7fa67fdb 100644 --- a/control-operator/api/v1alpha1/environment_types.go +++ b/control-operator/api/v1alpha1/environment_types.go @@ -80,6 +80,7 @@ type EnvironmentStatus struct { type TaskReference struct { Name string `json:"name"` + TaskID string `json:"taskID,omitempty"` Env []v1.EnvVar `json:"env"` ArgsCLI []string `json:"argsCLI"` ArgsTransition map[string]string `json:"argsTransition"` diff --git a/control-operator/config/crd/bases/aliecs.alice.cern_environments.yaml b/control-operator/config/crd/bases/aliecs.alice.cern_environments.yaml index d32e0059..0df33f7e 100644 --- a/control-operator/config/crd/bases/aliecs.alice.cern_environments.yaml +++ b/control-operator/config/crd/bases/aliecs.alice.cern_environments.yaml @@ -4100,6 +4100,8 @@ spec: type: array name: type: string + taskID: + type: string required: - argsCLI - argsTransition diff --git a/control-operator/internal/controller/environment_controller.go b/control-operator/internal/controller/environment_controller.go index d1159bcd..42396917 100644 --- a/control-operator/internal/controller/environment_controller.go +++ b/control-operator/internal/controller/environment_controller.go @@ -110,6 +110,9 @@ func (r *EnvironmentReconciler) runTasksFromReferenceOnNode(ctx context.Context, task.Spec.State = environment.Spec.State task.Labels = labels(environment, nodename) + if taskReference.TaskID != "" { + task.Labels["taskID"] = taskReference.TaskID + } if err := controllerutil.SetControllerReference(environment, task, r.Scheme); err != nil { log.Error(err, "failed to set controller reference", "task", task.Name)