Hello community,
here is the log from the commit of package ignition-dracut for openSUSE:Factory
checked in at 2019-09-18 13:13:33
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/ignition-dracut (Old)
and /work/SRC/openSUSE:Factory/.ignition-dracut.new.7948 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "ignition-dracut"
Wed Sep 18 13:13:33 2019 rev:2 rq:731571 version:0.0+git20190916.cbac371
Changes:
--------
--- /work/SRC/openSUSE:Factory/ignition-dracut/ignition-dracut.changes
2019-08-20 10:59:39.272652971 +0200
+++
/work/SRC/openSUSE:Factory/.ignition-dracut.new.7948/ignition-dracut.changes
2019-09-18 13:15:07.972643287 +0200
@@ -1,0 +2,21 @@
+Tue Sep 17 16:06:44 UTC 2019 - [email protected]
+
+- Update to version 0.0+git20190916.cbac371:
+ * systemd: don't try to mark live boots complete
+ * 30ignition: conditionally enable units requiring a boot disk
+ * README.md: fix download link
+ * update-bootengine: drop file
+ * dracut/30ignition: localize some variables
+ * ignition: fix correct device path when randomizing UUID
+- Fix path to rm binary in firstboot flag cleanup
+- Reorder $ignition_firstboot and ignition.platform.id in GRUB's
+ kernel parameter line to be able to overwrite the later with
+ values read from the flag file
+- Significantly decrease timeout for waiting for a device with
+ the 'ignition' UUID (storing an eventual user config)
+ [boo#1151083]
+- Merge ignition-umount-initrd-fstab.service with
+ ignition-mount-initrd-fstab.service, using the same stop
+ mechanism as ignition-mount.service
+
+-------------------------------------------------------------------
Old:
----
ignition-dracut-0.0+git20190806.343b886.tar.xz
ignition-umount-initrd-fstab.service
New:
----
ignition-dracut-0.0+git20190916.cbac371.tar.xz
ignition-userconfig-timeout.conf
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ ignition-dracut.spec ++++++
--- /var/tmp/diff_new_pack.NOtb3Y/_old 2019-09-18 13:15:08.600643155 +0200
+++ /var/tmp/diff_new_pack.NOtb3Y/_new 2019-09-18 13:15:08.608643154 +0200
@@ -1,7 +1,7 @@
#
# spec file for package ignition-dracut
#
-# Copyright (c) 2018 SUSE LINUX GmbH, Nuernberg, Germany.
+# Copyright (c) 2019 SUSE LINUX GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -17,7 +17,7 @@
Name: ignition-dracut
-Version: 0.0+git20190806.343b886
+Version: 0.0+git20190916.cbac371
Release: 0
Summary: Dracut scripts for ignition
License: BSD-2-Clause
@@ -26,7 +26,7 @@
URL: https://github.com/dustymabe/ignition-dracut
Source: %{name}-%{version}.tar.xz
Source1: ignition-mount-initrd-fstab.service
-Source2: ignition-umount-initrd-fstab.service
+Source2: ignition-userconfig-timeout.conf
Source3: ignition-suse-generator
Source4: module-setup.sh
Source5: 01_suse_set_ignition
@@ -40,11 +40,10 @@
PreReq: sed
PreReq: grub2
PreReq: virt-what
-Requires: ignition
Requires: gptfdisk
+Requires: ignition
%{update_bootloader_requires}
-
%description
Ignition is an utility to manipulate disks and configuration files during
the initramfs. This includes partitioning disks, formatting partitions,
@@ -99,7 +98,7 @@
*kvm*|*qemu*) platform="qemu" ;;
*) platform="metal" ;;
esac
- sed -i 's/^\(GRUB_CMDLINE_LINUX_DEFAULT="\)\(.*\)/\1\\$ignition_firstboot
ignition.platform.id='${platform}' \2/' %{_sysconfdir}/default/grub
+ sed -i
's/^\(GRUB_CMDLINE_LINUX_DEFAULT="\)\(.*\)/\1ignition.platform.id='${platform}'
\\$ignition_firstboot \2/' %{_sysconfdir}/default/grub
%{?update_bootloader_refresh_post}
# Trigger setting firstboot flag (in posttrans) only on new installations
mkdir -p %{_rundir}/ignition-dracut/
++++++ 0003-Disable-resetting-UUID.patch ++++++
--- /var/tmp/diff_new_pack.NOtb3Y/_old 2019-09-18 13:15:08.632643149 +0200
+++ /var/tmp/diff_new_pack.NOtb3Y/_new 2019-09-18 13:15:08.636643148 +0200
@@ -1,12 +1,12 @@
diff --git a/dracut/30ignition/module-setup.sh
b/dracut/30ignition/module-setup.sh
-index ef7fad1..7c76889 100755
+index e654455..dbbf358 100755
--- a/dracut/30ignition/module-setup.sh
+++ b/dracut/30ignition/module-setup.sh
-@@ -57,7 +57,6 @@ install() {
- mkdir -p
"$initdir/$systemdsystemunitdir/ignition-complete.target.requires"
+@@ -65,7 +65,6 @@ install() {
+
+ # units only started when we have a boot disk
+ # path generated by systemd-escape --path /dev/disk/by-label/root
+- install_ignition_unit [email protected]
ignition-diskful.target 'coreos-gpt-setup@dev-disk-by\x2dlabel-root.service'
+ install_ignition_unit ignition-setup-user.service
ignition-diskful.target
+ install_ignition_unit ignition-remount-sysroot.service
ignition-diskful.target
- # path generated by systemd-escape --path /dev/disk/by-partlabel/root
-- install_ignition_unit [email protected]
'coreos-gpt-setup@dev-disk-by\x2dpartlabel-root.service'
- install_ignition_unit ignition-setup-base.service
- install_ignition_unit ignition-setup-user.service
- install_ignition_unit ignition-disks.service
++++++ README.SUSE ++++++
--- /var/tmp/diff_new_pack.NOtb3Y/_old 2019-09-18 13:15:08.664643142 +0200
+++ /var/tmp/diff_new_pack.NOtb3Y/_new 2019-09-18 13:15:08.664643142 +0200
@@ -1,7 +1,6 @@
Changes for openSUSE / SLE:
-* ignition-mount-initrd-fstab.service / ignition-umount-initrd-fstab.service /
- ignition-suse-generator:
+* ignition-mount-initrd-fstab.service / ignition-suse-generator:
Ignition has very limited file system support, e.g. it doesn't support
btrfs subvolumes (used in any default installation) or overlayfs mounts
(Used by MicroOS for mounting /etc). For this reason Ignition's "mount"
++++++ _servicedata ++++++
--- /var/tmp/diff_new_pack.NOtb3Y/_old 2019-09-18 13:15:08.696643135 +0200
+++ /var/tmp/diff_new_pack.NOtb3Y/_new 2019-09-18 13:15:08.696643135 +0200
@@ -1,6 +1,6 @@
<servicedata>
<service name="tar_scm">
<param name="url">git://github.com/coreos/ignition-dracut.git</param>
- <param
name="changesrevision">8b7f1a21ae8b6b16ce6d77b437a1b10100da232b</param>
+ <param
name="changesrevision">cbac371d9c4f884f3d4c08a484de928c01f0743c</param>
</service>
</servicedata>
\ No newline at end of file
++++++ change-ignition-firstboot-path.conf ++++++
--- /var/tmp/diff_new_pack.NOtb3Y/_old 2019-09-18 13:15:08.712643132 +0200
+++ /var/tmp/diff_new_pack.NOtb3Y/_new 2019-09-18 13:15:08.712643132 +0200
@@ -1,3 +1,3 @@
[Service]
ExecStart=
-ExecStart=rm /boot/writable/ignition.firstboot
+ExecStart=/usr/bin/rm /boot/writable/ignition.firstboot
++++++ ignition-dracut-0.0+git20190806.343b886.tar.xz ->
ignition-dracut-0.0+git20190916.cbac371.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/ignition-dracut-0.0+git20190806.343b886/README.md
new/ignition-dracut-0.0+git20190916.cbac371/README.md
--- old/ignition-dracut-0.0+git20190806.343b886/README.md 2019-08-07
00:30:16.000000000 +0200
+++ new/ignition-dracut-0.0+git20190916.cbac371/README.md 2019-09-16
21:48:10.000000000 +0200
@@ -11,7 +11,7 @@
The easiest way to test it out is to pick up the latest
Fedora CoreOS preview artifact from:
-http://artifacts.ci.centos.org/fedora-coreos/prod/builds/latest/
+https://getfedora.org/coreos/download/
You can see an example of how to pass a config
on qemu at least in coreos-assembler:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/ignition-dracut-0.0+git20190806.343b886/dracut/30ignition/ignition-diskful.target
new/ignition-dracut-0.0+git20190916.cbac371/dracut/30ignition/ignition-diskful.target
---
old/ignition-dracut-0.0+git20190806.343b886/dracut/30ignition/ignition-diskful.target
1970-01-01 01:00:00.000000000 +0100
+++
new/ignition-dracut-0.0+git20190916.cbac371/dracut/30ignition/ignition-diskful.target
2019-09-16 21:48:10.000000000 +0200
@@ -0,0 +1,16 @@
+# This target contains Ignition units that should only run when we have a
+# boot disk, i.e. when we're not running diskless from a live image in RAM.
+# Like ignition-complete.target, it only runs on first boot.
+[Unit]
+Description=Ignition Boot Disk Setup
+Before=initrd.target
+
+# Make sure if any ExecStart= fail, the boot fails. This normally would
+# already be guaranteed by `initrd.target` failing, but that doesn't seem to be
+# enough: https://bugzilla.redhat.com/show_bug.cgi?id=1696796
+OnFailure=emergency.target
+OnFailureJobMode=isolate
+
+# Make sure we stop all the units before switching root
+Conflicts=initrd-switch-root.target umount.target
+Conflicts=dracut-emergency.service emergency.service emergency.target
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/ignition-dracut-0.0+git20190806.343b886/dracut/30ignition/ignition-generator
new/ignition-dracut-0.0+git20190916.cbac371/dracut/30ignition/ignition-generator
---
old/ignition-dracut-0.0+git20190806.343b886/dracut/30ignition/ignition-generator
2019-08-07 00:30:16.000000000 +0200
+++
new/ignition-dracut-0.0+git20190916.cbac371/dracut/30ignition/ignition-generator
2019-09-16 21:48:10.000000000 +0200
@@ -37,6 +37,12 @@
# boot.
if $(cmdline_bool 'ignition.firstboot' 0); then
add_requires ignition-complete.target
+
+ # Invoke distro hook for detecting whether we're booted from a live image,
+ # and therefore won't have a root disk.
+ if ! command -v is-live-image >/dev/null || ! is-live-image; then
+ add_requires ignition-diskful.target
+ fi
fi
echo "PLATFORM_ID=$(cmdline_arg ignition.platform.id)" > /run/ignition.env
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/ignition-dracut-0.0+git20190806.343b886/dracut/30ignition/module-setup.sh
new/ignition-dracut-0.0+git20190916.cbac371/dracut/30ignition/module-setup.sh
---
old/ignition-dracut-0.0+git20190806.343b886/dracut/30ignition/module-setup.sh
2019-08-07 00:30:16.000000000 +0200
+++
new/ignition-dracut-0.0+git20190916.cbac371/dracut/30ignition/module-setup.sh
2019-09-16 21:48:10.000000000 +0200
@@ -6,12 +6,13 @@
echo qemu systemd url-lib network
}
-# target is optional, used for instantiated units
install_ignition_unit() {
- unit=$1; shift
- target="${1:-$unit}"
+ local unit="$1"; shift
+ local target="${1:-ignition-complete.target}"; shift
+ local instantiated="${1:-$unit}"; shift
inst_simple "$moddir/$unit" "$systemdsystemunitdir/$unit"
- ln_r "../$unit"
"$systemdsystemunitdir/ignition-complete.target.requires/$target"
+ mkdir -p "$initdir/$systemdsystemunitdir/$target.requires"
+ ln_r "../$unit" "$systemdsystemunitdir/$target.requires/$instantiated"
}
install() {
@@ -54,16 +55,19 @@
inst_simple "$moddir/ignition-complete.target" \
"$systemdsystemunitdir/ignition-complete.target"
- mkdir -p "$initdir/$systemdsystemunitdir/ignition-complete.target.requires"
+ inst_simple "$moddir/ignition-diskful.target" \
+ "$systemdsystemunitdir/ignition-diskful.target"
- # path generated by systemd-escape --path /dev/disk/by-partlabel/root
- install_ignition_unit [email protected]
'coreos-gpt-setup@dev-disk-by\x2dpartlabel-root.service'
install_ignition_unit ignition-setup-base.service
- install_ignition_unit ignition-setup-user.service
install_ignition_unit ignition-disks.service
install_ignition_unit ignition-mount.service
install_ignition_unit ignition-files.service
- install_ignition_unit ignition-remount-sysroot.service
+
+ # units only started when we have a boot disk
+ # path generated by systemd-escape --path /dev/disk/by-label/root
+ install_ignition_unit [email protected]
ignition-diskful.target 'coreos-gpt-setup@dev-disk-by\x2dlabel-root.service'
+ install_ignition_unit ignition-setup-user.service
ignition-diskful.target
+ install_ignition_unit ignition-remount-sysroot.service
ignition-diskful.target
# needed for openstack config drive support
inst_rules 60-cdrom_id.rules
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/ignition-dracut-0.0+git20190806.343b886/systemd/ignition-firstboot-complete.service
new/ignition-dracut-0.0+git20190916.cbac371/systemd/ignition-firstboot-complete.service
---
old/ignition-dracut-0.0+git20190806.343b886/systemd/ignition-firstboot-complete.service
2019-08-07 00:30:16.000000000 +0200
+++
new/ignition-dracut-0.0+git20190916.cbac371/systemd/ignition-firstboot-complete.service
2019-09-16 21:48:10.000000000 +0200
@@ -2,6 +2,7 @@
Description=Mark boot complete
Documentation=https://github.com/coreos/ignition
ConditionKernelCommandLine=ignition.firstboot
+ConditionPathExists=!/run/ostree-live
RequiresMountsFor=/boot
[Service]
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/ignition-dracut-0.0+git20190806.343b886/update-bootengine
new/ignition-dracut-0.0+git20190916.cbac371/update-bootengine
--- old/ignition-dracut-0.0+git20190806.343b886/update-bootengine
2019-08-07 00:30:16.000000000 +0200
+++ new/ignition-dracut-0.0+git20190916.cbac371/update-bootengine
1970-01-01 01:00:00.000000000 +0100
@@ -1,114 +0,0 @@
-#!/bin/bash
-
-# Copyright (c) 2013 The CoreOS Authors. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-set -e
-
-USAGE="Usage: $0 [-k 4.6.0] [-m] [-c /build/amd64-usr] [-o bootengine.cpio]
-Options:
- -k VERSION Kernel version of modules to include
- -m Setup mounts for /dev /proc /sys and /run
- -c CHROOT Chroot into the given directory
- -o OUT.cpio Alternate path to write the initrd
-
-This tool uses dracut to update /usr/share/bootengine/bootengine.cpio
-
-Since dracut assumes it is always run on the target system we need to support
-wrapping it in a way that fools it into using the files from the target image.
-This is all kinds of terrible and only works because the target arch is the
-same as the host arch.
-
-After many terrible experiences from this procedure this script will create a
-new filesystem namespace when operating inside the chroot, that way anything
-bad that happens will be less likely to hurt the host system. But no promises!
-"
-
-DRACUT_ARGS=(
- --force
- --no-hostonly
- --no-compress
- --omit i18n
- --omit lvm
- --omit multipath
- --omit network
- )
-
-SETUP_MOUNTS=
-USE_CHROOT=
-CPIO_PATH="/usr/share/bootengine/bootengine.cpio"
-KERNEL=
-while getopts "hmc:k:o:" OPTION
-do
- case $OPTION in
- c) USE_CHROOT="$OPTARG";;
- k) KERNEL="$OPTARG";;
- m) SETUP_MOUNTS=1;;
- o) CPIO_PATH="$OPTARG";;
- h) echo "$USAGE"; exit;;
- *) exit 1;;
- esac
-done
-
-if [[ -n "$USE_CHROOT" && ! -d "$USE_CHROOT" ]]; then
- echo "$0: chroot $USE_CHROOT does not exist!" >&2
- exit 1
-fi
-
-if [[ -z "$USE_CHROOT" && "$SETUP_MOUNTS" -eq 1 ]]; then
- echo "$0: -c chrootpath option is required with the -m option" >&2
- exit 1
-fi
-
-if [[ $(id -u) -ne 0 ]]; then
- echo "$0: this script must be run as root!" >&2
- exit 1
-fi
-
-# Alternative to mount --make-rprivate /
-# Doing it the ugly way is required because if this is run inside a chroot
-# such as the CoreOS SDK / is unlikely to be a mount point.
-mount_private() {
- awk '$7 ~ /^shared:/{print $5}' /proc/self/mountinfo \
- | xargs -r -n1 mount --make-private
-}
-
-if [[ "$SETUP_MOUNTS" -eq 1 ]]; then
- # To ensure we don't break the rest of the system re-run ourselves in
- # a new namespace, that way no one else sees our mounts.
- if cmp -s /proc/self/mountinfo /proc/${PPID}/mountinfo; then
- echo "Creating new filesystem namespace"
- exec unshare --mount -- "$0" "$@"
- exit 1
- fi
-
- if cmp -s /proc/self/mountinfo /proc/${PPID}/mountinfo; then
- echo "Creating a new filesystem namespace seems to have failed!" >&2
- exit 1
- fi
-
- echo "Mounting virtual filesystems"
- mount_private
- mount -n -t proc proc "${USE_CHROOT}/proc"
- mount -n --bind /dev "${USE_CHROOT}/dev"
- mount -n --bind /sys "${USE_CHROOT}/sys"
- mount -n --bind /run "${USE_CHROOT}/run"
-fi
-
-if [[ -n "$KERNEL" ]]; then
- DRACUT_ARGS+=( "--kver" "$KERNEL" )
-else
- DRACUT_ARGS+=( "--no-kernel" )
-fi
-
-mkdir -p "${USE_CHROOT}$(dirname "$CPIO_PATH")"
-if [[ -n "$USE_CHROOT" ]]; then
- echo "Running dracut in $USE_CHROOT"
- LC_ALL=C chroot "$USE_CHROOT" ldconfig -X
- LC_ALL=C chroot "$USE_CHROOT" dracut "${DRACUT_ARGS[@]}" "$CPIO_PATH"
-else
- echo "Running dracut in root"
- LC_ALL=C dracut "${DRACUT_ARGS[@]}" "$CPIO_PATH"
-fi
-chmod 644 "${USE_CHROOT}${CPIO_PATH}"
++++++ ignition-mount-initrd-fstab.service ++++++
--- /var/tmp/diff_new_pack.NOtb3Y/_old 2019-09-18 13:15:08.784643117 +0200
+++ /var/tmp/diff_new_pack.NOtb3Y/_new 2019-09-18 13:15:08.784643117 +0200
@@ -1,10 +1,20 @@
[Unit]
Description=Mount initrd fstab entries for Ignition
DefaultDependencies=false
+Before=ignition-complete.target
+
+# Make sure ExecStop= runs before we switch root
+Before=initrd-switch-root.target
+
After=initrd-root-fs.target
After=ignition-remount-sysroot.service
-Before=ignition-files.service
+
+# Allow Ignition to overwrite automatic mounts
+Requires=ignition-mount.service
+Before=ignition-mount.service
[Service]
Type=oneshot
+RemainAfterExit=yes
ExecStart=/bin/sh -c 'eval $(awk '"'"'$4 ~ /x-initrd.mount/ {print "mount -t "
$3 " -o " $4 " " $1 " /sysroot" $2 "; sleep 5; " }'"'"' /sysroot/etc/fstab)'
+ExecStop=/usr/bin/umount -a -O "x-initrd.mount"
++++++ ignition-suse-generator ++++++
--- /var/tmp/diff_new_pack.NOtb3Y/_old 2019-09-18 13:15:08.796643114 +0200
+++ /var/tmp/diff_new_pack.NOtb3Y/_new 2019-09-18 13:15:08.796643114 +0200
@@ -14,4 +14,3 @@
}
add_requires ignition-mount-initrd-fstab.service
-add_requires ignition-umount-initrd-fstab.service
++++++ ignition-userconfig-timeout.conf ++++++
[Unit]
JobTimeoutSec=10
++++++ module-setup.sh ++++++
--- /var/tmp/diff_new_pack.NOtb3Y/_old 2019-09-18 13:15:08.824643109 +0200
+++ /var/tmp/diff_new_pack.NOtb3Y/_new 2019-09-18 13:15:08.828643108 +0200
@@ -9,8 +9,8 @@
install() {
inst_simple "$moddir/ignition-mount-initrd-fstab.service" \
"$systemdsystemunitdir/ignition-mount-initrd-fstab.service"
- inst_simple "$moddir/ignition-umount-initrd-fstab.service" \
- "$systemdsystemunitdir/ignition-umount-initrd-fstab.service"
+ inst_simple "$moddir/ignition-userconfig-timeout.conf" \
+
"$systemdsystemunitdir/dev-disk-by\x2dlabel-ignition.device.d/ignition-userconfig-timeout.conf"
inst_simple "$moddir/ignition-suse-generator" \
"$systemdutildir/system-generators/ignition-suse-generator"
}