In progress PR: #385
Even with the delay from #303
we've still been seeing races;
#337
is a further band-aid but obviously not a complete solution.
Currently the template controller generates 3 fragments (base, ssh, kubelet) and my osimage work is about to extend that to 4.
The render controller can see any from 1 to 3 (or 4 post-osimageurl) MCs.
One approach is for the template controller to only generate 00-{master,worker}. That gives us atomicity. We could easily do this by just appending the Ignition internally.
This is primarily an issue on initial cluster bringup; hopefully the work that landed to have the controller only render MCs from its own version addresses upgrade issues.
Another solution would be for the render sub-controller to wait until the template sub-controller has signaled that it's done an initial complete generation.
In progress PR: #385
Even with the delay from #303
we've still been seeing races;
#337
is a further band-aid but obviously not a complete solution.
Currently the template controller generates 3 fragments (base, ssh, kubelet) and my osimage work is about to extend that to 4.
The render controller can see any from 1 to 3 (or 4 post-osimageurl) MCs.
One approach is for the template controller to only generate 00-{master,worker}. That gives us atomicity. We could easily do this by just appending the Ignition internally.
This is primarily an issue on initial cluster bringup; hopefully the work that landed to have the controller only render MCs from its own version addresses upgrade issues.
Another solution would be for the render sub-controller to wait until the template sub-controller has signaled that it's done an initial complete generation.