in pkg/common/si_helper.go [33:66]
func CreateTagsForTask(pod *v1.Pod) map[string]string {
metaPrefix := common.DomainK8s + common.GroupMeta
tags := map[string]string{
metaPrefix + common.KeyNamespace: pod.Namespace,
metaPrefix + common.KeyPodName: pod.Name,
}
owners := pod.GetOwnerReferences()
if len(owners) > 0 {
for _, value := range owners {
if value.Kind == constants.DaemonSetType {
if pod.Spec.Affinity == nil || pod.Spec.Affinity.NodeAffinity == nil ||
pod.Spec.Affinity.NodeAffinity.RequiredDuringSchedulingIgnoredDuringExecution == nil {
log.Log(log.ShimUtils).Debug("DaemonSet pod's Affinity, NodeAffinity, RequiredDuringSchedulingIgnoredDuringExecution might empty")
continue
}
nodeSelectorTerms := pod.Spec.Affinity.NodeAffinity.RequiredDuringSchedulingIgnoredDuringExecution.NodeSelectorTerms
for _, term := range nodeSelectorTerms {
for _, match := range term.MatchFields {
if match.Key == "metadata.name" {
tags[common.DomainYuniKorn+common.KeyRequiredNode] = match.Values[0]
}
}
}
}
}
}
// add Pod labels to Task tags
labelPrefix := common.DomainK8s + common.GroupLabel
for k, v := range pod.Labels {
tags[labelPrefix+k] = v
}
return tags
}