-
Notifications
You must be signed in to change notification settings - Fork 462
Prepare for rebooting to be an optional part of applying updates #1953
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
Conversation
|
[APPROVALNOTIFIER] This PR is NOT APPROVED This pull-request has been approved by: beekhof The full list of commands accepted by this bot can be found here. DetailsNeeds approval from an approver in each of these files:Approvers can indicate their approval by writing |
Drain and cordon is always performed Currently the only exception is /etc/containers/registry.conf Treat skipped systemd actions as errors and remove support for unused actions Switch to more generic config arrangement Fix formatting and remove dead code Draining is unconditional, no need to do it twice Add basic unit tests Improved unit tests Convert actionResult to a public interface so that we can compare them Add additional unit tests for applying file based changes Removed unneeded test inputs Reduce the cyclomatic complexity of update() in pkg/daemon Remove unnecessary use of Daemon from ActionResult Log each action description in ActionResult tests Prevent use-of-nil when finalizing MachineConfig updates Add an e2e test for registry changes Rename the interface for config update actions Refactor MCD bootstrap finalize so that it can be reused for the non-reboots flow Remove all strategies that do not invole reboots Signed-off-by: Andrew Beekhof <andrew@beekhof.net>
c82e8c9 to
dd77098
Compare
|
I can also go one further and strip out the inert systemd struct and code |
|
/retest |
|
@beekhof: PR needs rebase. DetailsInstructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. |
cgwalters
left a comment
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.
Looks like this is on the right track at a high level.
Needs a rebase 🏄
|
|
||
| func calculateActions(stripPrefix string, oldConfig, newConfig *mcfgv1.MachineConfig, diff *machineConfigDiff) []ConfigUpdateAction { | ||
|
|
||
| if diff.osUpdate || diff.kargs || diff.fips || diff.kernelType { |
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.
Perhaps diff.isFilesystemOnly()?
|
|
||
| // Check for any changes not already excluded by Reconcilable() | ||
| // Alternatively, fold this code into that function | ||
| if !reflect.DeepEqual(oldIgnConfig.Ignition, newIgnConfig.Ignition) { |
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.
We could also compute these in machineConfigDiff.
|
@beekhof: The following tests failed, say
Full PR test history. Your PR dashboard. DetailsInstructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here. |
|
@beekhof: The following tests failed, say
Full PR test history. Your PR dashboard. DetailsInstructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here. |
|
Issues go stale after 90d of inactivity. Mark the issue as fresh by commenting If this issue is safe to close now please do so with /lifecycle stale |
|
Stale issues rot after 30d of inactivity. Mark the issue as fresh by commenting If this issue is safe to close now please do so with /lifecycle rotten |
|
Rotten issues close after 30d of inactivity. Reopen the issue by commenting /close |
|
@openshift-bot: Closed this PR. DetailsIn response to this:
Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. |
- What I did
Cleaned up the PoC code for openshift/enhancements#159, replaces PR #1626 and most of PR #1922
Prepares the way for config changes that do not require reboots to be applied.
- How to verify it
Exsiting e2e tests and additional unit tests
- Description for the changelog
Refactoring to support future alternatives to node reboots in the specific cases that we know it is safe to do so.