Skip to content

Commit

Permalink
overlay/15fcos: strip extraneous version field from aleph file
Browse files Browse the repository at this point in the history
This causes bootupctl to fails while parsing the file.
The extra field was introduced in coreos/coreos-assembler@c2d37f4
then quickly reverted in coreos/coreos-assembler#3686

Still, a couple of builds (39.20231204.1.0 and 39.20231204.2.1) went out with the change.
Fixing this will allow bootupctl to function properly on nodes deployed with this version.
This jq filter is idempotent so it's safe to run on all nodes.

This should be removed after the next barrier release.

Fixes coreos/fedora-coreos-tracker#1724
  • Loading branch information
jbtrystram committed Jun 27, 2024
1 parent dfb0b16 commit 6d566d5
Show file tree
Hide file tree
Showing 3 changed files with 41 additions and 0 deletions.
3 changes: 3 additions & 0 deletions overlay.d/15fcos/usr/lib/systemd/system-preset/45-fcos.preset
Original file line number Diff line number Diff line change
Expand Up @@ -6,3 +6,6 @@ enable fwupd-refresh.timer
# Check if wifi firmwares are missing when NetworkManager-wifi is installed
# https://github.com/coreos/fedora-coreos-tracker/issues/1575
enable coreos-check-wireless-firmwares.service
# Strip extraneous field in aleph files to avoid bootupctl failing
# https://github.com/coreos/fedora-coreos-tracker/issues/1724
enable coreos-fix-aleph-file.service
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
# Remove after the next barrier release
# https://github.com/coreos/fedora-coreos-tracker/issues/1724

[Unit]
Description=Remove extra attribute from aleph file

[Service]
Type=oneshot
ExecStart=/usr/libexec/coreos-fix-aleph-file
RemainAfterExit=yes
MountFlags=slave

[Install]
WantedBy=multi-user.target
24 changes: 24 additions & 0 deletions overlay.d/15fcos/usr/libexec/coreos-fix-aleph-file
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
#!/usr/bin/bash

# This script removes the extra `version` field
# which was shipped in a couple of builds
# To be removed after the next barrier release.
# see https://github.com/coreos/fedora-coreos-tracker/issues/1724 for more details

set -euo pipefail

ALEPH_FILE=/sysroot/.coreos-aleph-version.json

if ! $(jq 'has("build")' ${ALEPH_FILE}); then
# nothing to fix
exit 0
fi

# remount /sysroot as writable
mount -o rw,remount /sysroot

# remove field "build"
fixed_aleph=$(jq 'del(.build)' ${ALEPH_FILE})

# write back updated file with jq pretty-print
echo $fixed_aleph | jq > ${ALEPH_FILE}

0 comments on commit 6d566d5

Please sign in to comment.