nokia / CPU-Pooler

A Device Plugin for Kubernetes, which exposes the CPU cores as consumable Devices to the Kubernetes scheduler.
BSD 3-Clause "New" or "Revised" License
92 stars 22 forks source link

CPU-Pooler breaks with K8s 1.21 and onward #65

Closed Levovar closed 3 years ago

Levovar commented 3 years ago

Issue 1: https://github.com/kubernetes/kubernetes/commit/a8b8995ef241e93e9486d475126450f33f24ef4e changed the type of DeviceIDs parameter to be NUMA aware. this is on one-hand nice, on the other hand is a backward incompatible change because this means the structure of the checkpoint file also changes Unmarshalling is not possible anymore, and as the whole CPU setter functionality is contingent on that it means Pooler is kinda unusable with latest K8s version until this is fixed

Issue 2: for some reason annotation/label of an existing Pod object cannot be changed anymore? this is currently only required because we needed to keep track of which Pods have been already changed by the setter. however, once https://github.com/nokia/CPU-Pooler/pull/62 is completed we don't need to store this information anymore, so label/annotation setting could be just removed

Levovar commented 3 years ago

fixed by #72 and #66