diff --git a/overlay.d/05core/usr/lib/systemd/system-preset/40-coreos.preset b/overlay.d/05core/usr/lib/systemd/system-preset/40-coreos.preset index 13963ef789..818affa161 100644 --- a/overlay.d/05core/usr/lib/systemd/system-preset/40-coreos.preset +++ b/overlay.d/05core/usr/lib/systemd/system-preset/40-coreos.preset @@ -23,5 +23,5 @@ enable bootupd.socket # Ideally it should have been added as part of base Fedora - but since it was arch specific, it was not added: https://bugzilla.redhat.com/show_bug.cgi?id=1433859 enable rtas_errd.service enable clevis-luks-askpass.path -# Provide information if no ignition is provided -enable coreos-check-ignition-config.service +# Provide status information about the Ignition run +enable coreos-ignition-write-issues.service diff --git a/overlay.d/05core/usr/lib/systemd/system/coreos-check-ignition-config.service b/overlay.d/05core/usr/lib/systemd/system/coreos-check-ignition-config.service deleted file mode 100644 index 569de69eee..0000000000 --- a/overlay.d/05core/usr/lib/systemd/system/coreos-check-ignition-config.service +++ /dev/null @@ -1,14 +0,0 @@ -# This service is used for printing a message if -# no Ignition config is provided. -[Unit] -Description=Check if Ignition config is provided -Before=systemd-user-sessions.service -ConditionPathExists=/etc/.ignition-result.json - -[Service] -Type=oneshot -ExecStart=/usr/libexec/coreos-check-ignition-config -RemainAfterExit=yes - -[Install] -WantedBy=multi-user.target diff --git a/overlay.d/05core/usr/lib/systemd/system/coreos-ignition-write-issues.service b/overlay.d/05core/usr/lib/systemd/system/coreos-ignition-write-issues.service new file mode 100644 index 0000000000..048c9f798f --- /dev/null +++ b/overlay.d/05core/usr/lib/systemd/system/coreos-ignition-write-issues.service @@ -0,0 +1,16 @@ +# This service writes issue files describing status +# information about the Ignition run, which includes +# Ignition warnings and information if no Ignition +# config is provided. +[Unit] +Description=Create Ignition Status Issue Files +Before=systemd-user-sessions.service +ConditionPathExists=/etc/.ignition-result.json + +[Service] +Type=oneshot +ExecStart=/usr/libexec/coreos-ignition-write-issues +RemainAfterExit=yes + +[Install] +WantedBy=multi-user.target diff --git a/overlay.d/05core/usr/libexec/coreos-check-ignition-config b/overlay.d/05core/usr/libexec/coreos-ignition-write-issues similarity index 87% rename from overlay.d/05core/usr/libexec/coreos-check-ignition-config rename to overlay.d/05core/usr/libexec/coreos-ignition-write-issues index 794efe974e..6a46935ac7 100755 --- a/overlay.d/05core/usr/libexec/coreos-check-ignition-config +++ b/overlay.d/05core/usr/libexec/coreos-ignition-write-issues @@ -27,6 +27,11 @@ behavior may occur. Ignition is not designed to run more than once per system. ${RESET} EOF fi + # This is for displaying Ignition warnings on the console + # TODO: find a way to query journal entries recorded before the system switches to real root + journalctl -t ignition -o cat -p warning | while read line; do + echo "Ignition: $line" >> /etc/issue.d/30_coreos_ignition_warnings.issue + done else nreboots=$(($(journalctl --list-boots | wc -l) - 1)) [ "${nreboots}" -eq 1 ] && boot="boot" || boot="boots"