Wilfred Spiegelenburg created YUNIKORN-3317:
-----------------------------------------------

             Summary: Foreign allocations not tracked in core
                 Key: YUNIKORN-3317
                 URL: https://issues.apache.org/jira/browse/YUNIKORN-3317
             Project: Apache YuniKorn
          Issue Type: Bug
    Affects Versions: 1.8.0, 1.7.0, 1.9.0
            Reporter: Wilfred Spiegelenburg
            Assignee: Wilfred Spiegelenburg


Foreign allocations are pods managed by either the node (static pods) or by a 
different scheduler in the cluster (not YuniKorn). The pods can show up in the 
informer as an update without a create event. This breaks foreign pod tracking 
in the core:
{code:java}
 
{"stream":"stdout","log":"2026-07-08T11:08:44.202Z\tDEBUG\tshim.cache.external\texternal/scheduler_cache.go:672\tScheduler
 cache state (UpdatePod.Pre)\t{\"nodes\": 10, \"pods\": 217, \"assumed\": 45, 
\"pendingAllocs\": 0, \"inProgressAllocs\": 0, \"podsAssigned\": 179, 
\"schedulingTasks\": 38, \"phases\": {\"Pending\":64,\"Running\":153}}"}
{"stream":"stdout","log":"2026-07-08T11:08:44.202Z\tDEBUG\tshim.cache.external\texternal/scheduler_cache.go:467\tPutting
 pod in cache\t{\"podName\": \"calico-node-b46nq\", \"podKey\": 
\"ac73ed90-8216-418c-b312-ec16c747f2c8\"}"}
{"stream":"stdout","log":"2026-07-08T11:08:44.202Z\tDEBUG\tshim.cache.external\texternal/scheduler_cache.go:672\tScheduler
 cache state (UpdatePod.Post)\t{\"nodes\": 10, \"pods\": 218, \"assumed\": 45, 
\"pendingAllocs\": 0, \"inProgressAllocs\": 0, \"podsAssigned\": 180, 
\"schedulingTasks\": 38, \"phases\": {\"Pending\":65,\"Running\":153}}"}
{"stream":"stdout","log":"2026-07-08T11:08:44.202Z\tDEBUG\tshim.context\tcache/context.go:405\tpod
 is assigned to a node, trigger foreign resource update\t{\"namespace\": 
\"kube-system\", \"podName\": \"calico-node-b46nq\", \"podStatusBefore\": 
\"Pending\", \"podStatusCurrent\": \"Pending\"}"}
{{code}
 

The log shows:
 * adding a new pod to the cache: 217 to218
 * already assigned: 179 to 180
 * podStatusBefore is {{Pending}} which means we have an “old” and “new” pod 
which only happens for an update event.

That means we see a new pod but it came in as an update from the informer.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to