-
Notifications
You must be signed in to change notification settings - Fork 462
Bug 1927731: Revert "pkg/daemon: Add IgnitionVersion to Daemon" #2431
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
b823087 introduced code to obtain the version of the Ignition binary shipped in the OS root filesystem. That commit contemplated that the version would be used more widely in the MCD, but that hasn't occurred, so its only current use is to log the Ignition version at MCD startup. On balance, I think that code path introduces more risk than value, so this PR backs it out. My reasoning is: 1. By the time this code is invoked, Ignition will never run again, so its version is useful for forensics and not much else. In particular, the version of the Ignition binary in machine-os-content probably doesn't match the one in the bootimage. 2. MCD is invoking the Ignition binary via a private (non-contractual) path in the root filesystem, but Ignition is designed and tested only for use in the initramfs. In practice, `ignition --version` _should_ be harmless since it exits very early in Ignition startup, but see below. 3. If the MCD fails to run the binary, say because the path to Ignition has changed, MCD considers that a fatal error. 4. And indeed, we now have a bug (https://bugzilla.redhat.com/show_bug.cgi?id=1927731) where an `ignition --version` segfault is apparently blocking an upgrade from 4.5 to 4.6, on exactly one customer node. From the stack trace (https://bugzilla.redhat.com/show_bug.cgi?id=1927731#c7), the problem could be in Ignition itself, in the initialization code of a vendored library, or in the Go runtime. As a practical matter, the crash is unlikely to be root-caused. This reverts commit b823087.
|
@bgilbert and I have spoken at length on this. However, I support the removal of this check based solely on the reason 3 -- the check is a fatal error for purely informational purposes at this point. The MCD team spoke quite a bit about simplifying and making the code safe; this PR accomplishes that goal. |
|
Would love for ci to finish running but on an initial pass, it seems like this isn't providing much value but causing problems (via reason 3 above). |
|
/retest |
|
Tests are a mess today... will check back in later. /retest |
|
/retest |
sinnykumari
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.
Agree with reasoning provided here. In future if we need to know and utilize ignition version, we can revisit and discuss with ignition team to do it in safer way.
|
/retest |
kikisdeliveryservice
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.
seems like we have agreement this is good so
/lgtm
|
That umm didnt work.. /lgtm |
|
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: bgilbert, kikisdeliveryservice, LorbusChris, sinnykumari The full list of commands accepted by this bot can be found here. The pull request process is described here DetailsNeeds approval from an approver in each of these files:
Approvers can indicate their approval by writing |
|
@bgilbert do we want to/how far should we backport this? |
|
It looks like the code was introduced in 4.6. Since RHBZ 1927731 reports a failure in a 4.6 upgrade, I'd be inclined to backport to both 4.6 and 4.7. |
|
@bgilbert: This pull request references Bugzilla bug 1927731, which is valid. 3 validation(s) were run on this bug
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. |
|
/bugzilla refresh |
|
@bgilbert: This pull request references Bugzilla bug 1927731, which is valid. 3 validation(s) were run on this bug
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. |
|
/cherrypick release-4.6 |
|
@bgilbert: once the present PR merges, I will cherry-pick it on top of release-4.6 in a new PR and assign it to you. 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. |
|
/cherrypick release-4.7 |
|
@kikisdeliveryservice: once the present PR merges, I will cherry-pick it on top of release-4.7 in a new PR and assign it to you. 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. |
|
/retest |
|
@bgilbert: 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. |
|
@bgilbert: All pull requests linked via external trackers have merged: Bugzilla bug 1927731 has been moved to the MODIFIED state. 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. |
|
@bgilbert: #2431 failed to apply on top of branch "release-4.6": 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. |
|
/cherrypick release-4.7 |
|
@bgilbert: new pull request created: #2438 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. |
|
4.6 cherry-pick in #2439. |
#1729 introduced code to obtain the version of the Ignition binary shipped in the OS root filesystem. That PR contemplated that the version would be used more widely in the MCD, but that hasn't occurred, so its only current use is to log the Ignition version at MCD startup. On balance, I think that code path introduces more risk than value, so this PR backs it out. My reasoning is:
ignition --versionshould be harmless since it exits very early in Ignition startup, but see below.ignition --versionsegfault is apparently blocking an upgrade from 4.5 to 4.6, on exactly one customer node. From the stack trace, the problem could be in Ignition itself, in the initialization code of a vendored library, or in the Go runtime. As a practical matter, the crash is unlikely to be root-caused.cc @LorbusChris @sinnykumari @ashcrow from the original PR.