• Jiaying Zhang's avatar
    Extends deviceplugin to gracefully handle full device plugin lifecycle. · 1eb4e794
    Jiaying Zhang authored
    - Instead of using cm.capacity field to communicate device plugin resource
    capacity, this PR changes to use an explicit cm.GetDevicePluginResourceCapacity()
    function that returns device plugin resource capacity as well as any inactive
    device plugin resource. Kubelet syncNodeStatus call this function during its
    periodic run to update node status capacity and allocatable. After this call,
    device plugin can remove the inactive device plugin resource from its allDevices
    field as the update is already pushed to API server.
    - Extends device plugin checkpoint data to record registered resources
    so that we can finish resource removing even upon kubelet restarts.
    - Passes sourcesReady from kubelet to device plugin to avoid removing
    inactive pods during grace period of kubelet restart.
    1eb4e794
container_manager_windows.go 1.47 KB