From 36403d1891c6fa8f3e8e18900ce56ec6994a9ed7 Mon Sep 17 00:00:00 2001 From: Dusty Mabe Date: Wed, 24 May 2023 23:20:00 -0400 Subject: [PATCH 1/4] manifests/fedora-coreos-base: drop dracut nvmf workaround Mostly a revert of e49baba. This was fixed in dracut some time ago [1] and this is now dead code since we are on F38. [1] https://github.com/dracutdevs/dracut/pull/1777 --- manifests/fedora-coreos-base.yaml | 14 -------------- 1 file changed, 14 deletions(-) diff --git a/manifests/fedora-coreos-base.yaml b/manifests/fedora-coreos-base.yaml index 33038d9286..495439f49c 100644 --- a/manifests/fedora-coreos-base.yaml +++ b/manifests/fedora-coreos-base.yaml @@ -63,20 +63,6 @@ postprocess: #!/usr/bin/env bash systemctl mask dnsmasq.service - # Fedora 37 adds the nvmf dracut module to the initrd, causing - # ext.config.files.dracut-executable to notice that the module puts a - # non-executable file in /usr/sbin. Dracut has been updated to fix the - # missing permission, and hopefully this can be removed for Fedora 38. - # https://github.com/coreos/fedora-coreos-tracker/issues/1155 - # https://github.com/dracutdevs/dracut/pull/1777 - - | - #!/usr/bin/env bash - set -xeuo pipefail - source /etc/os-release - if [ ${VERSION_ID} -le 37 ]; then - chmod +x /usr/lib/dracut/modules.d/95nvmf/nvmf-autoconnect.sh - fi - # Default to iptables-nft. Otherwise, legacy wins. We can drop this once/if we # remove iptables-legacy. This is needed because alternatives don't work # https://github.com/coreos/fedora-coreos-tracker/issues/677 From cea21b319ebd2ef7d71225eb13b37991e9b86d88 Mon Sep 17 00:00:00 2001 From: Dusty Mabe Date: Wed, 24 May 2023 23:11:35 -0400 Subject: [PATCH 2/4] manifests: enable OSTree autopruning for ppc64le The ppc64le arch has been blocked [1] from being fully released because of size limitations in /boot not being able to hold 3 copies of kernel+initramfs because the kernel on ppc64le isn't compressed [2]. Now that OSTree Autopruning [3] has landed let's enable it on ppc64le to unblock ourselves. [1] https://github.com/coreos/fedora-coreos-tracker/issues/987#issuecomment-1281123396 [2] https://github.com/coreos/fedora-coreos-tracker/issues/1247#issuecomment-1355314761 [3] https://github.com/coreos/fedora-coreos-tracker/issues/1495 --- manifests/fedora-coreos.yaml | 6 ++++++ manifests/ostree-autoprune.yaml | 11 +++++++++++ 2 files changed, 17 insertions(+) create mode 100644 manifests/ostree-autoprune.yaml diff --git a/manifests/fedora-coreos.yaml b/manifests/fedora-coreos.yaml index 0af4eb6bf2..40c8e0ea91 100644 --- a/manifests/fedora-coreos.yaml +++ b/manifests/fedora-coreos.yaml @@ -23,6 +23,12 @@ conditional-include: - if: basearch != "s390x" # And remove some cruft from grub2 include: grub2-removals.yaml + - if: basearch == "ppc64le" + # Need OSTree autopruning on ppc64le (because kernels aren't compressed) + # until we increase the size of /boot. + # https://github.com/coreos/fedora-coreos-tracker/issues/1247#issuecomment-1355314761 + # https://github.com/coreos/fedora-coreos-tracker/issues/1495#issuecomment-1561765705 + include: ostree-autoprune.yaml ostree-layers: - overlay/15fcos diff --git a/manifests/ostree-autoprune.yaml b/manifests/ostree-autoprune.yaml new file mode 100644 index 0000000000..44f3b4d370 --- /dev/null +++ b/manifests/ostree-autoprune.yaml @@ -0,0 +1,11 @@ +# Enable OSTree autopruning to help with /boot size constraints +# https://github.com/coreos/fedora-coreos-tracker/issues/1495 +postprocess: + - | + #!/usr/bin/env bash + mkdir -p /usr/lib/systemd/system/ostree-finalize-staged.service.d + cat <<'EOF' > /usr/lib/systemd/system/ostree-finalize-staged.service.d/ostree-autoprune.conf + [Service] + # https://github.com/coreos/fedora-coreos-tracker/issues/1495 + Environment=OSTREE_SYSROOT_OPTS=early-prune + EOF From 2ec0aa9e6e9921b315b409fd491ddfae37388259 Mon Sep 17 00:00:00 2001 From: Dusty Mabe Date: Wed, 24 May 2023 23:16:13 -0400 Subject: [PATCH 3/4] manifests: enable autoprune, re-add qcom dtbs on aarch64 in F39+ Now that we have autopruning ability we can re-add the qcom dtbs on aarch64 that were dropped in https://github.com/coreos/fedora-coreos-tracker/issues/1464 Fixes https://github.com/coreos/fedora-coreos-tracker/issues/1467 --- manifests/aarch64-drop-qcom-dtb-files.yaml | 8 ++++++++ manifests/fedora-coreos-base.yaml | 7 ------- manifests/fedora-coreos.yaml | 12 ++++++++++++ 3 files changed, 20 insertions(+), 7 deletions(-) create mode 100644 manifests/aarch64-drop-qcom-dtb-files.yaml diff --git a/manifests/aarch64-drop-qcom-dtb-files.yaml b/manifests/aarch64-drop-qcom-dtb-files.yaml new file mode 100644 index 0000000000..0b21df21ed --- /dev/null +++ b/manifests/aarch64-drop-qcom-dtb-files.yaml @@ -0,0 +1,8 @@ +# Short term hack to avoid running out of space on aarch64. This should +# save us about 14M. https://github.com/coreos/fedora-coreos-tracker/issues/1464 +# This can be removed once we are on F39+. +postprocess: + - | + #!/usr/bin/env bash + set -xeuo pipefail + rm -vrf /usr/lib/modules/*aarch64/dtb/qcom/ diff --git a/manifests/fedora-coreos-base.yaml b/manifests/fedora-coreos-base.yaml index 495439f49c..bf917f0d14 100644 --- a/manifests/fedora-coreos-base.yaml +++ b/manifests/fedora-coreos-base.yaml @@ -77,13 +77,6 @@ postprocess: ln -sf /usr/sbin/iptables-nft-restore /etc/alternatives/iptables-restore ln -sf /usr/sbin/iptables-nft-save /etc/alternatives/iptables-save - # Short term hack to avoid running out of space on aarch64. This should - # save us about 14M. https://github.com/coreos/fedora-coreos-tracker/issues/1464 - - | - #!/usr/bin/env bash - set -xeuo pipefail - rm -vrf /usr/lib/modules/*aarch64/dtb/qcom/ - # Force the ssh-host-keys-migration to happen on every boot # to handle cases where someone did a upgrade->rollback->upgrade # See https://github.com/coreos/fedora-coreos-tracker/issues/1473 diff --git a/manifests/fedora-coreos.yaml b/manifests/fedora-coreos.yaml index 40c8e0ea91..a6c8971999 100644 --- a/manifests/fedora-coreos.yaml +++ b/manifests/fedora-coreos.yaml @@ -29,6 +29,18 @@ conditional-include: # https://github.com/coreos/fedora-coreos-tracker/issues/1247#issuecomment-1355314761 # https://github.com/coreos/fedora-coreos-tracker/issues/1495#issuecomment-1561765705 include: ostree-autoprune.yaml + - if: + - basearch == "aarch64" + - releasever >= 39 + # In F39+ we will stop removing the qcom dtb files and thus we'll leverage OSTree autopruning + # so that we don't run into https://github.com/coreos/fedora-coreos-tracker/issues/1464 + # again. OSTree autopruning is new so we're selectively enabling it before making it the default. + include: ostree-autoprune.yaml + - if: + - basearch == "aarch64" + - releasever == 38 + # Remove qcom dtb on F38 files since autopruning isn't in place yet + include: aarch64-drop-qcom-dtb-files.yaml ostree-layers: - overlay/15fcos From 017917b83e0d2a162a5c105706a7b7f7c18c23a5 Mon Sep 17 00:00:00 2001 From: Dusty Mabe Date: Wed, 31 May 2023 11:39:30 -0400 Subject: [PATCH 4/4] overrides: fast-track ostree-2023.3-2.fc38 It has a fix for an autopruning corner case. https://github.com/ostreedev/ostree/pull/2866 --- manifest-lock.overrides.aarch64.yaml | 23 ++++++++++++++++++++++ manifest-lock.overrides.ppc64le.yaml | 29 ++++++++++++++++++++++++++++ manifest-lock.overrides.s390x.yaml | 23 ++++++++++++++++++++++ manifest-lock.overrides.x86_64.yaml | 23 ++++++++++++++++++++++ 4 files changed, 98 insertions(+) create mode 100644 manifest-lock.overrides.aarch64.yaml create mode 100644 manifest-lock.overrides.ppc64le.yaml create mode 100644 manifest-lock.overrides.s390x.yaml create mode 100644 manifest-lock.overrides.x86_64.yaml diff --git a/manifest-lock.overrides.aarch64.yaml b/manifest-lock.overrides.aarch64.yaml new file mode 100644 index 0000000000..416aacdaf7 --- /dev/null +++ b/manifest-lock.overrides.aarch64.yaml @@ -0,0 +1,23 @@ +# This lockfile should be used to pin to a package version (`type: pin`) or to +# fast-track packages ahead of Bodhi (`type: fast-track`). Fast-tracked +# packages will automatically be removed once they are in the stable repos. +# +# IMPORTANT: YAML comments *will not* be preserved. All `pin` overrides *must* +# include a URL in the `metadata.reason` key. Overrides of type `fast-track` +# *should* include a Bodhi update URL in the `metadata.bodhi` key and a URL +# in the `metadata.reason` key, though it's acceptable to omit a `reason` +# for FCOS-specific packages (ignition, afterburn, etc.). + +packages: + ostree: + evra: 2023.3-2.fc38.aarch64 + metadata: + bodhi: https://bodhi.fedoraproject.org/updates/FEDORA-2023-971df1fe12 + reason: https://github.com/ostreedev/ostree/pull/2866 + type: fast-track + ostree-libs: + evra: 2023.3-2.fc38.aarch64 + metadata: + bodhi: https://bodhi.fedoraproject.org/updates/FEDORA-2023-971df1fe12 + reason: https://github.com/ostreedev/ostree/pull/2866 + type: fast-track diff --git a/manifest-lock.overrides.ppc64le.yaml b/manifest-lock.overrides.ppc64le.yaml new file mode 100644 index 0000000000..ae383bd297 --- /dev/null +++ b/manifest-lock.overrides.ppc64le.yaml @@ -0,0 +1,29 @@ +# This lockfile should be used to pin to a package version (`type: pin`) or to +# fast-track packages ahead of Bodhi (`type: fast-track`). Fast-tracked +# packages will automatically be removed once they are in the stable repos. +# +# IMPORTANT: YAML comments *will not* be preserved. All `pin` overrides *must* +# include a URL in the `metadata.reason` key. Overrides of type `fast-track` +# *should* include a Bodhi update URL in the `metadata.bodhi` key and a URL +# in the `metadata.reason` key, though it's acceptable to omit a `reason` +# for FCOS-specific packages (ignition, afterburn, etc.). + +packages: + ostree: + evra: 2023.3-2.fc38.ppc64le + metadata: + bodhi: https://bodhi.fedoraproject.org/updates/FEDORA-2023-971df1fe12 + reason: https://github.com/ostreedev/ostree/pull/2866 + type: fast-track + ostree-libs: + evra: 2023.3-2.fc38.ppc64le + metadata: + bodhi: https://bodhi.fedoraproject.org/updates/FEDORA-2023-971df1fe12 + reason: https://github.com/ostreedev/ostree/pull/2866 + type: fast-track + ostree-grub2: + evra: 2023.3-2.fc38.ppc64le + metadata: + bodhi: https://bodhi.fedoraproject.org/updates/FEDORA-2023-971df1fe12 + reason: https://github.com/ostreedev/ostree/pull/2866 + type: fast-track diff --git a/manifest-lock.overrides.s390x.yaml b/manifest-lock.overrides.s390x.yaml new file mode 100644 index 0000000000..c3c2b6b59e --- /dev/null +++ b/manifest-lock.overrides.s390x.yaml @@ -0,0 +1,23 @@ +# This lockfile should be used to pin to a package version (`type: pin`) or to +# fast-track packages ahead of Bodhi (`type: fast-track`). Fast-tracked +# packages will automatically be removed once they are in the stable repos. +# +# IMPORTANT: YAML comments *will not* be preserved. All `pin` overrides *must* +# include a URL in the `metadata.reason` key. Overrides of type `fast-track` +# *should* include a Bodhi update URL in the `metadata.bodhi` key and a URL +# in the `metadata.reason` key, though it's acceptable to omit a `reason` +# for FCOS-specific packages (ignition, afterburn, etc.). + +packages: + ostree: + evra: 2023.3-2.fc38.s390x + metadata: + bodhi: https://bodhi.fedoraproject.org/updates/FEDORA-2023-971df1fe12 + reason: https://github.com/ostreedev/ostree/pull/2866 + type: fast-track + ostree-libs: + evra: 2023.3-2.fc38.s390x + metadata: + bodhi: https://bodhi.fedoraproject.org/updates/FEDORA-2023-971df1fe12 + reason: https://github.com/ostreedev/ostree/pull/2866 + type: fast-track diff --git a/manifest-lock.overrides.x86_64.yaml b/manifest-lock.overrides.x86_64.yaml new file mode 100644 index 0000000000..d660c104ca --- /dev/null +++ b/manifest-lock.overrides.x86_64.yaml @@ -0,0 +1,23 @@ +# This lockfile should be used to pin to a package version (`type: pin`) or to +# fast-track packages ahead of Bodhi (`type: fast-track`). Fast-tracked +# packages will automatically be removed once they are in the stable repos. +# +# IMPORTANT: YAML comments *will not* be preserved. All `pin` overrides *must* +# include a URL in the `metadata.reason` key. Overrides of type `fast-track` +# *should* include a Bodhi update URL in the `metadata.bodhi` key and a URL +# in the `metadata.reason` key, though it's acceptable to omit a `reason` +# for FCOS-specific packages (ignition, afterburn, etc.). + +packages: + ostree: + evra: 2023.3-2.fc38.x86_64 + metadata: + bodhi: https://bodhi.fedoraproject.org/updates/FEDORA-2023-971df1fe12 + reason: https://github.com/ostreedev/ostree/pull/2866 + type: fast-track + ostree-libs: + evra: 2023.3-2.fc38.x86_64 + metadata: + bodhi: https://bodhi.fedoraproject.org/updates/FEDORA-2023-971df1fe12 + reason: https://github.com/ostreedev/ostree/pull/2866 + type: fast-track