-
Notifications
You must be signed in to change notification settings - Fork 47
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
bootstrapper: wipe disk and reboot on non-recoverable error #2971
Merged
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
✅ Deploy Preview for constellation-docs ready!
To edit notification comments on pull requests, go to your Netlify site configuration. |
e28aab8
to
29d25d8
Compare
Signed-off-by: Daniel Weiße <dw@edgeless.systems>
Signed-off-by: Daniel Weiße <dw@edgeless.systems>
Signed-off-by: Daniel Weiße <dw@edgeless.systems>
Signed-off-by: Daniel Weiße <dw@edgeless.systems>
Signed-off-by: Daniel Weiße <dw@edgeless.systems>
Signed-off-by: Daniel Weiße <dw@edgeless.systems>
Signed-off-by: Daniel Weiße <dw@edgeless.systems>
Signed-off-by: Daniel Weiße <dw@edgeless.systems>
fa61e82
to
b3eff1b
Compare
Signed-off-by: Daniel Weiße <dw@edgeless.systems>
3u13r
approved these changes
Mar 7, 2024
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
Signed-off-by: Daniel Weiße <dw@edgeless.systems>
Signed-off-by: Daniel Weiße <dw@edgeless.systems>
burgerdev
approved these changes
Mar 11, 2024
Signed-off-by: Daniel Weiße <dw@edgeless.systems>
Coverage report
|
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Context
Constellation's bootstrapper may fail at multiple stages.
Some of these failures are transient, like joining an existing cluster using
kubeadm
and may be retried.Others are not recoverable, meaning one can no longer re-run
constellation apply
on the same node, or the node can no longer retry joining an existing cluster.To "fix" a VM that is in this failed state, the VM needs to be rebooted, and the state-disk wiped.
Proposed change(s)
joinClient
andinitServer
are runrun()
, the VM is rebootedjoinClient
to more easily differentiate between transient and non recoverable errorsjoinClient
andinitServer
, mark the state disk as not initialized if a non recoverable error occurs (any error after the VM was marked as initialized)JoinClient.Start()
andJoinClient.Stop()
idempotentlyRelated issue
Additional info
systemd
native ways to restart the VM whenconstelllation-bootstrapper.service
fails?cdbg
. This makes using debug images impossible[drop]
that returns an error in thejoinClient
which causes a fatal error and causes the VM to reboot. The state disk should then be marked as non initialized and be wiped again on start.Checklist