US 11,055,133 B2
Node-local-unscheduler for scheduling remediation
Jay Vyas, Concord, MA (US); and Huamin Chen, Westborough, MA (US)
Assigned to Red Hat, Inc., Raleigh, NC (US)
Filed by Red Hat, Inc., Raleigh, NC (US)
Filed on May 26, 2017, as Appl. No. 15/606,697.
Prior Publication US 2018/0341519 A1, Nov. 29, 2018
Int. Cl. G06F 9/46 (2006.01); G06F 9/48 (2006.01); G06F 9/50 (2006.01)
CPC G06F 9/4856 (2013.01) [G06F 9/5072 (2013.01)] 18 Claims
OG exemplary drawing
 
1. A system comprising:
a memory;
at least one processor in communication with the memory;
a container scheduled on a first node;
a scheduler executing on the at least one processor, the scheduler having a watch module;
wherein the scheduler is configured to implement scheduling on one or more containers prior to validation when the one or more containers are in a pending state; and
a node-local-unscheduler (NLU) executing on the at least one processor, wherein the NLU executes on the at least one processor to:
determine a status of the container as failing validation because the container and the first node have conflicting scheduling policies, wherein the NLU has access to the scheduling policies corresponding to the container and the first node, and the scheduling policies are one of affinity scheduling and anti-affinity scheduling,
responsive to determining the status of the container as failing validation, annotate the container, and
stop execution of the container, and
wherein the watch module executes on the at least one processor to:
detect an annotation associated with the containe;
responsive to detecting the annotation, reschedule the container to a second node, wherein the watch module reschedules annotated containers in a higher priority queue; and
responsive to rescheduling the container, remove the annotation associated with the container.