![]() Automatic merge from submit-queue (batch tested with PRs 45382, 45384, 44781, 45333, 45543) Ensure desired state of world populator runs before volume reconstructor If the kubelet's volumemanager reconstructor for actual state of world runs before the desired state of world has been populated, the pods in the actual state of world will have some incorrect volume information: namely outerVolumeSpecName, which if incorrect leads to part of the issue here https://github.com/kubernetes/kubernetes/issues/43515, because WaitForVolumeAttachAndMount searches the actual state of world with the correct outerVolumeSpecName and won't find it so reports 'timeout waiting....', etc. forever for existing pods. The comments acknowledge that this is a known issue The all sources ready check doesn't work because the sources being ready doesn't necessarily mean the desired state of world populator added pods from the sources. So instead let's put the all sources ready check in the *populator*, and when the sources are ready, it will be able to populate the desired state of world and make "HasAddedPods()" return true. THEN, the reconstructor may run. @jingxu97 PTAL, you wrote all of the reconstruction stuff ```release-note NONE ``` |
||
---|---|---|
.. | ||
cache | ||
populator | ||
reconciler | ||
BUILD | ||
OWNERS | ||
volume_manager_test.go | ||
volume_manager.go |