system-upgrade-controller
system-upgrade-controller copied to clipboard
[Quesiton] What if upgrade failed
I see system-upgrade-controller is used for upgrading operating system as well. And curious what if OS upgrade failed, how it fallback to older version?
I see system-upgrade-controller is used for upgrading operating system as well. And curious what if OS upgrade failed, how it fallback to older version?
Because SUC is general purpose it provides no semantics around state management (other than what is recorded in k8s on successful application of a Plan). It is merely a declarative node mutation engine as an extension to k8s. Fallback logic is the responsibility of the upgrade image/container to manage. One can imagine an upgrade process that integrates with grub fallback boot by configuring the fallback as the prior default (coreos did/does something like this iirc). But that only deals with one class of "failed" OS upgrade. For other cases one assumes that the upgrade job would fail and therefore be re-run. It is important in such cases to remember that SUC assumes idempotency in application of Plans.