From a6d4b4c17a549c1d4c6cd0507b86d2f9df3e65ca Mon Sep 17 00:00:00 2001 From: Colin Walters Date: Wed, 2 Sep 2020 20:23:18 +0000 Subject: [PATCH] manifest: Add bootupd for x86_64|aarch64 (socket disabled) This converts the EFI update directory from (rpm-)ostree specific layout to bootupd layout. Required for both initial provisioning with bootupd as well as later updates. For now the `bootupd.socket` is disabled by default to further discourage users from trying it until we've fully productized it. This will be used by: https://github.com/coreos/coreos-assembler/pull/1695 --- manifest-lock.x86_64.json | 3 +++ manifests/bootupd.yaml | 11 +++++++++++ manifests/fedora-coreos-base.yaml | 5 +++++ .../lib/systemd/system-preset/40-coreos.preset | 2 ++ tests/kola/misc-ro | 15 +++++++++++++++ 5 files changed, 36 insertions(+) create mode 100644 manifests/bootupd.yaml diff --git a/manifest-lock.x86_64.json b/manifest-lock.x86_64.json index 120d0f83fe..9b793b35ed 100644 --- a/manifest-lock.x86_64.json +++ b/manifest-lock.x86_64.json @@ -57,6 +57,9 @@ "bind-utils": { "evra": "32:9.11.22-1.fc32.x86_64" }, + "bootupd": { + "evra": "0.1.1-1.fc32.x86_64" + }, "bsdtar": { "evra": "3.4.3-1.fc32.x86_64" }, diff --git a/manifests/bootupd.yaml b/manifests/bootupd.yaml new file mode 100644 index 0000000000..6d338d8cb1 --- /dev/null +++ b/manifests/bootupd.yaml @@ -0,0 +1,11 @@ +# Integration with https://github.com/coreos/bootupd +# xref https://github.com/coreos/fedora-coreos-tracker/issues/510 +packages: + - bootupd + +postprocess: + - | + #!/bin/bash + set -xeuo pipefail + # Transforms /usr/lib/ostree-boot into a bootupd-compatible update payload + /usr/bin/bootupctl backend generate-update-metadata / diff --git a/manifests/fedora-coreos-base.yaml b/manifests/fedora-coreos-base.yaml index f61ff0bc42..9c612a17ca 100644 --- a/manifests/fedora-coreos-base.yaml +++ b/manifests/fedora-coreos-base.yaml @@ -172,3 +172,8 @@ packages-ppc64le: - irqbalance packages-aarch64: - irqbalance + +# See https://github.com/coreos/bootupd +arch-include: + x86_64: bootupd.yaml + aarch64: bootupd.yaml 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 e3fc25b24d..d4c6fbd071 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 @@ -18,3 +18,5 @@ enable afterburn-sshkeys@.service enable zincati.service # Testing aid enable coreos-liveiso-success.service +# See bootupd.yaml - not enabled by default right now +# enable bootupd.socket diff --git a/tests/kola/misc-ro b/tests/kola/misc-ro index 7efb939b30..9ee98ba3cb 100755 --- a/tests/kola/misc-ro +++ b/tests/kola/misc-ro @@ -55,6 +55,21 @@ ok conditional initrd networking if ! test -f /usr/share/licenses/fedora-coreos-config/LICENSE; then fatal missing LICENSE fi +ok LICENSE + +case "$(arch)" in + x86_64|aarch64) + if systemctl is-enabled bootupd.socket; then + fatal "Not expecting bootupd.socket to be enabled" + fi + # This is just a basic sanity check; at some point we + # will implement "project-owned tests run in the pipeline" + # and be able to run the existing bootupd tests. + systemctl start bootupd.socket + bootupctl status + ok bootupctl + ;; +esac # check that no files are unlabeled unlabeled=$(find /var /etc -context '*:unlabeled_t:*')