-
Notifications
You must be signed in to change notification settings - Fork 247
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
Add MOTD warning if Ignition is run more than once #1214
Comments
Some users sometimes may not realize that they're using a pre-booted version of a CoreOS image. This makes things confusing because they then don't understand why the Ignition config wasn't applied. There's no way to consistently detect this, but at least we can print an informational message about how many times the nodes has been booted to help there. Related: https://bugzilla.redhat.com/show_bug.cgi?id=1977949 Related: coreos/ignition#1214
Some users sometimes may not realize that they're using a pre-booted version of a CoreOS image. This makes things confusing because they then don't understand why the Ignition config wasn't applied. There's no way to consistently detect this, but at least we can print an informational message about how many times the nodes has been booted to help there. Related: https://bugzilla.redhat.com/show_bug.cgi?id=1977949 Related: coreos/ignition#1214
Some users sometimes may not realize that they're using a pre-booted version of a CoreOS image. This makes things confusing because they then don't understand why the Ignition config wasn't applied. There's no way to consistently detect this, but at least we can print an informational message about (1) when Ignition ran, and (2) how many boots ago that was. This enhances the Ignition issue we already write for whether a user config was provided rather than creating a separate one. Related: bugzilla.redhat.com/show_bug.cgi?id=1977949 Related: coreos/ignition#1214
Some users sometimes may not realize that they're using a pre-booted version of a CoreOS image. This makes things confusing because they then don't understand why the Ignition config wasn't applied. There's no way to consistently detect this, but at least we can print an informational message about (1) when Ignition ran, and (2) how many boots ago that was. This enhances the Ignition issue we already write for whether a user config was provided rather than creating a separate one. Related: bugzilla.redhat.com/show_bug.cgi?id=1977949 Related: coreos/ignition#1214
Some users sometimes may not realize that they're using a pre-booted version of a CoreOS image. This makes things confusing because they then don't understand why the Ignition config wasn't applied. There's no way to consistently detect this, but at least we can print an informational message about (1) when Ignition ran, and (2) how many boots ago that was. This enhances the Ignition issue we already write for whether a user config was provided rather than creating a separate one. Related: https://bugzilla.redhat.com/show_bug.cgi?id=1977949 Related: coreos/ignition#1214
Some users sometimes may not realize that they're using a pre-booted version of a CoreOS image. This makes things confusing because they then don't understand why the Ignition config wasn't applied. There's no way to consistently detect this, but at least we can print an informational message about (1) when Ignition ran, and (2) how many boots ago that was. This enhances the Ignition issue we already write for whether a user config was provided rather than creating a separate one. Related: https://bugzilla.redhat.com/show_bug.cgi?id=1977949 Related: coreos/ignition#1214
Some users sometimes may not realize that they're using a pre-booted version of a CoreOS image. This makes things confusing because they then don't understand why the Ignition config wasn't applied. There's no way to consistently detect this, but at least we can print an informational message about (1) when Ignition ran, and (2) how many boots ago that was. This enhances the Ignition issue we already write for whether a user config was provided rather than creating a separate one. Related: https://bugzilla.redhat.com/show_bug.cgi?id=1977949 Related: coreos/ignition#1214
It seems to me there's two approaches here. First is to simply skip this check if we're running in a live system, which would need to be something like the But, I think a stronger version is to write something like |
Actually though thinking about this more, the original suggestion above of checking for |
Some users sometimes may not realize that they're using a pre-booted version of a CoreOS image. This makes things confusing because they then don't understand why the Ignition config wasn't applied. There's no way to consistently detect this, but at least we can print an informational message about (1) when Ignition ran, and (2) how many boots ago that was. This enhances the Ignition issue we already write for whether a user config was provided rather than creating a separate one. Related: https://bugzilla.redhat.com/show_bug.cgi?id=1977949 Related: coreos/ignition#1214
I don't think we need to define a new state file just for this check, but I also don't think we should limit ourselves to |
There are tradeoffs between doing this in the initrd or the real root, though. The initrd has |
Some users sometimes may not realize that they're using a pre-booted version of a CoreOS image. This makes things confusing because they then don't understand why the Ignition config wasn't applied. There's no way to consistently detect this, but at least we can print an informational message about (1) when Ignition ran, and (2) how many boots ago that was. This enhances the Ignition issue we already write for whether a user config was provided rather than creating a separate one. Related: https://bugzilla.redhat.com/show_bug.cgi?id=1977949 Related: coreos/ignition#1214
Meh... IMO just checking |
Yeah, I was being sloppy by saying "the user" above. The problem isn't so much individual users, but tools. If an intermediate tool is running Ignition twice, end users of that tool may not realize that there are downstream consequences that affect them. So it'd be good for the warning to have a decent chance of reaching the end user unless the tool intentionally blocks it; in the latter case it's clear that the tool authors know about the problem and are taking responsibility for it. There's already a technical reason for a tool to remove |
Actually I think this would be trivial to add on top of coreos/fedora-coreos-config#1086 now that we have |
I think it seems like a good idea. |
From OOB discussion with @jlebon: let's land #1250 or equivalent, then add a unit to the Dracut module that runs after mount stage and before files stage, checks whether the result file already exists, and writes the MOTD fragment if so. By making that decision using a file specific to Ignition, we avoid false negatives where some tool removes the file for unrelated reasons. |
This change notices if a report already exists and accordingly nest the report in previousReport. related to coreos#1214
This change notices if a report already exists and accordingly nest the report in previousReport. related to coreos#1214
This change notices if a report already exists and accordingly nest the report in previousReport. related to coreos#1214
This change notices if a report already exists and accordingly nest the report in previousReport. related to coreos#1214
This change notices if a report already exists and accordingly nest the report in previousReport. related to coreos#1214
This change notices if a report already exists and accordingly nest the report in previousReport. related to coreos#1214
This change notices if a report already exists and accordingly nest the report in previousReport. related to coreos#1214
This change notices if a report already exists and accordingly nest the report in previousReport. related to coreos#1214
This change notices if a report already exists and accordingly nest the report in previousReport. related to coreos#1214
This change adds a warning on the serial console if Ignition is run more than once. This is related to coreos/ignition#1214
Closing this issue as both PRs #1254 and coreos/fedora-coreos-config#1148 (which addresses this issue) got merged. |
Some users sometimes may not realize that they're using a pre-booted version of a CoreOS image. This makes things confusing because they then don't understand why the Ignition config wasn't applied. There's no way to consistently detect this, but at least we can print an informational message about (1) when Ignition ran, and (2) how many boots ago that was. This enhances the Ignition issue we already write for whether a user config was provided rather than creating a separate one. Related: https://bugzilla.redhat.com/show_bug.cgi?id=1977949 Related: coreos/ignition#1214
This change adds a warning on the serial console if Ignition is run more than once. This is related to coreos/ignition#1214
Some users sometimes may not realize that they're using a pre-booted version of a CoreOS image. This makes things confusing because they then don't understand why the Ignition config wasn't applied. There's no way to consistently detect this, but at least we can print an informational message about (1) when Ignition ran, and (2) how many boots ago that was. This enhances the Ignition issue we already write for whether a user config was provided rather than creating a separate one. Related: https://bugzilla.redhat.com/show_bug.cgi?id=1977949 Related: coreos/ignition#1214
This change adds a warning on the serial console if Ignition is run more than once. This is related to coreos/ignition#1214
Feature Request
Environment
Any
Desired Feature
Add a systemd service to the Dracut module that runs on "first boot" but checks for evidence that this is not actually the first boot, such as
/etc/machine-id
or journal entries from previous boots. If it finds any, create an/etc/issue.d
or MOTD fragment saying that rerunning Ignition is not supported and may not work correctly.Other Information
The check will need to avoid false positives if Ignition is running in a live system with persistent state (e.g. persistent
/var
).The text was updated successfully, but these errors were encountered: