Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
agent: eliminate potential races while rebooting
The agent had a few conditions under which it can enter the MonitoringUpdate state before it successfully uncordons the node: * Brupop updates its state into Rebooted before the reboot terminates the process * After rebooting, an error ocurrs after updating the state but before performing the uncordon. We avoid this conditions by: * Exiting the agent process in cases where the desired state is Rebooted but we are not yet running the new version. * Always uncordoning the node before marking that we have successfully transitioned into the Rebooted state. * Defensively uncordoning the node once again when we enter the Monitoring state.
- Loading branch information