Hello community,
here is the log from the commit of package ignition-dracut for openSUSE:Factory
checked in at 2019-10-02 14:55:50
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/ignition-dracut (Old)
and /work/SRC/openSUSE:Factory/.ignition-dracut.new.2352 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "ignition-dracut"
Wed Oct 2 14:55:50 2019 rev:3 rq:734555 version:0.0+git20191001.cefb71c
Changes:
--------
--- /work/SRC/openSUSE:Factory/ignition-dracut/ignition-dracut.changes
2019-09-18 13:15:07.972643287 +0200
+++
/work/SRC/openSUSE:Factory/.ignition-dracut.new.2352/ignition-dracut.changes
2019-10-02 14:55:51.911291188 +0200
@@ -1,0 +2,25 @@
+Wed Oct 02 09:49:43 UTC 2019 - [email protected]
+
+- Update to version 0.0+git20191001.cefb71c:
+ * Run ignition-disks earlier to avoid race condition
+ * 30ignition: update ignition-complete.target OnFailure comment
+ * 30ignition: drop OnFailure handler from ignition-diskful.target
+ * 30ignition: fix sequencing of target dependencies
+- Don't error out in ignition-setup-user-suse.sh if Ignition device
+ is not present
+
+-------------------------------------------------------------------
+Fri Sep 27 11:24:20 UTC 2019 - [email protected]
+
+- Update to version 0.0+git20190924.aada644:
+ * dracut: Add an ignition-fetch.service
+ * Add RemainAfterExit=yes to systemd units of Type=oneshot
+ * Makefile: New file implementing `make install`
+ * 30ignition: move coreos-gpt-setup RemainAfterExit to correct section
+ * 30ignition: on live images, read config.ign from custom initrd
+ * 30ignition: make ignition-diskful a dependency of ignition-complete
+ * 30ignition: fix double slash in ignition-setup-* dest paths
+- Drop 0001-Read-user-config.patch: Migrated to systemd drop-in files now that
+ ignition-diskful is a separate target
+
+-------------------------------------------------------------------
Old:
----
0001-Read-user-config.patch
ignition-dracut-0.0+git20190916.cbac371.tar.xz
New:
----
ignition-dracut-0.0+git20191001.cefb71c.tar.xz
ignition-setup-user-suse.sh
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ ignition-dracut.spec ++++++
--- /var/tmp/diff_new_pack.PKvqM4/_old 2019-10-02 14:55:53.299287547 +0200
+++ /var/tmp/diff_new_pack.PKvqM4/_new 2019-10-02 14:55:53.303287536 +0200
@@ -17,7 +17,7 @@
Name: ignition-dracut
-Version: 0.0+git20190916.cbac371
+Version: 0.0+git20191001.cefb71c
Release: 0
Summary: Dracut scripts for ignition
License: BSD-2-Clause
@@ -32,7 +32,7 @@
Source5: 01_suse_set_ignition
Source6: change-ignition-firstboot-path.conf
Source7: README.SUSE
-Patch1: 0001-Read-user-config.patch
+Source8: ignition-setup-user-suse.sh
Patch2: 0002-Support-different-flagfile-location.patch
Patch3: 0003-Disable-resetting-UUID.patch
BuildRequires: suse-module-tools
@@ -55,12 +55,11 @@
%prep
%setup -q
-%patch1 -p1
%patch2 -p1
%patch3 -p1
mkdir dracut/30ignition-microos
chmod +x %{SOURCE3} %{SOURCE4}
-cp %{SOURCE1} %{SOURCE2} %{SOURCE3} %{SOURCE4} dracut/30ignition-microos/
+cp %{SOURCE1} %{SOURCE2} %{SOURCE3} %{SOURCE4} %{SOURCE8}
dracut/30ignition-microos/
cp %{SOURCE5} grub/
cp %{SOURCE6} systemd/
cp %{SOURCE7} .
++++++ 0003-Disable-resetting-UUID.patch ++++++
--- /var/tmp/diff_new_pack.PKvqM4/_old 2019-10-02 14:55:53.339287441 +0200
+++ /var/tmp/diff_new_pack.PKvqM4/_new 2019-10-02 14:55:53.343287431 +0200
@@ -1,12 +1,12 @@
diff --git a/dracut/30ignition/module-setup.sh
b/dracut/30ignition/module-setup.sh
-index e654455..dbbf358 100755
+index 94d0d65..abeb1e5 100755
--- a/dracut/30ignition/module-setup.sh
+++ b/dracut/30ignition/module-setup.sh
-@@ -65,7 +65,6 @@ install() {
+@@ -67,7 +67,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
+ # needed for openstack config drive support
++++++ README.SUSE ++++++
--- /var/tmp/diff_new_pack.PKvqM4/_old 2019-10-02 14:55:53.383287326 +0200
+++ /var/tmp/diff_new_pack.PKvqM4/_new 2019-10-02 14:55:53.383287326 +0200
@@ -9,7 +9,8 @@
To work around this limitation in addition to Ignition's own mount / umount
stage all files systems tagged for being mounted in the initrd
("x-initrd.mount mount flag) will be mounted / umounted.
-* The user configuration can be stored on a device with the label "ignition"
+* ignition-setup-user-suse.sh / ignition-userconfig-timeout.conf:
+ The user configuration can be stored on a device with the label "ignition"
(e.g. by attaching a USB flash drive with that name) instead of putting the
file onto the root partition
* change-ignition-firstboot-path.conf / 01_suse_set_ignition:
++++++ _servicedata ++++++
--- /var/tmp/diff_new_pack.PKvqM4/_old 2019-10-02 14:55:53.419287231 +0200
+++ /var/tmp/diff_new_pack.PKvqM4/_new 2019-10-02 14:55:53.419287231 +0200
@@ -1,6 +1,6 @@
<servicedata>
<service name="tar_scm">
<param name="url">git://github.com/coreos/ignition-dracut.git</param>
- <param
name="changesrevision">cbac371d9c4f884f3d4c08a484de928c01f0743c</param>
+ <param
name="changesrevision">4cdd02487aea163fe2541861ea0eab9383287114</param>
</service>
</servicedata>
\ No newline at end of file
++++++ ignition-dracut-0.0+git20190916.cbac371.tar.xz ->
ignition-dracut-0.0+git20191001.cefb71c.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/ignition-dracut-0.0+git20190916.cbac371/Makefile
new/ignition-dracut-0.0+git20191001.cefb71c/Makefile
--- old/ignition-dracut-0.0+git20190916.cbac371/Makefile 1970-01-01
01:00:00.000000000 +0100
+++ new/ignition-dracut-0.0+git20191001.cefb71c/Makefile 2019-10-01
22:09:25.000000000 +0200
@@ -0,0 +1,12 @@
+.PHONY: all
+all:
+ @echo "(No build step)"
+
+.PHONY: install
+install: all
+ for x in dracut/*; do \
+ bn=$$(basename $$x); \
+ install -D -t $(DESTDIR)/usr/lib/dracut/modules.d/$${bn} $$x/*; \
+ done
+ install -D -t $(DESTDIR)/usr/lib/systemd/system systemd/*
+ install -D -t $(DESTDIR)/etc/grub.d grub/*
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/ignition-dracut-0.0+git20190916.cbac371/dracut/30ignition/[email protected]
new/ignition-dracut-0.0+git20191001.cefb71c/dracut/30ignition/[email protected]
---
old/ignition-dracut-0.0+git20190916.cbac371/dracut/30ignition/[email protected]
2019-09-16 21:48:10.000000000 +0200
+++
new/ignition-dracut-0.0+git20191001.cefb71c/dracut/30ignition/[email protected]
2019-10-01 22:09:25.000000000 +0200
@@ -2,6 +2,7 @@
Description=Generate new UUID for disk GPT %I
DefaultDependencies=no
Before=local-fs-pre.target systemd-fsck-root.service
+Before=ignition-diskful.target
Wants=systemd-udevd.service
After=systemd-udevd.service
Requires=%i.device
@@ -9,8 +10,8 @@
# Run before services that use device nodes, preventing them from racing
# with udev activity generated by sgdisk
Before=ignition-setup-base.service ignition-setup-user.service
ignition-disks.service
-RemainAfterExit=yes
[Service]
Type=oneshot
+RemainAfterExit=yes
ExecStart=/usr/sbin/coreos-gpt-setup %I
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/ignition-dracut-0.0+git20190916.cbac371/dracut/30ignition/ignition-complete.target
new/ignition-dracut-0.0+git20191001.cefb71c/dracut/30ignition/ignition-complete.target
---
old/ignition-dracut-0.0+git20190916.cbac371/dracut/30ignition/ignition-complete.target
2019-09-16 21:48:10.000000000 +0200
+++
new/ignition-dracut-0.0+git20191001.cefb71c/dracut/30ignition/ignition-complete.target
2019-10-01 22:09:25.000000000 +0200
@@ -7,9 +7,10 @@
Description=Ignition Complete
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
+# initrd.target has OnFailureJobMode=replace-irreversibly, which seems to
+# cause unit restart loops in the initramfs if one of our units fails. Thus
+# we intercept Ignition unit failures here and isolate to emergency.target.
+# https://github.com/coreos/ignition-dracut/issues/115
OnFailure=emergency.target
OnFailureJobMode=isolate
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/ignition-dracut-0.0+git20190916.cbac371/dracut/30ignition/ignition-diskful.target
new/ignition-dracut-0.0+git20191001.cefb71c/dracut/30ignition/ignition-diskful.target
---
old/ignition-dracut-0.0+git20190916.cbac371/dracut/30ignition/ignition-diskful.target
2019-09-16 21:48:10.000000000 +0200
+++
new/ignition-dracut-0.0+git20191001.cefb71c/dracut/30ignition/ignition-diskful.target
2019-10-01 22:09:25.000000000 +0200
@@ -3,13 +3,7 @@
# 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
+Before=ignition-complete.target
# Make sure we stop all the units before switching root
Conflicts=initrd-switch-root.target umount.target
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/ignition-dracut-0.0+git20190916.cbac371/dracut/30ignition/ignition-disks.service
new/ignition-dracut-0.0+git20191001.cefb71c/dracut/30ignition/ignition-disks.service
---
old/ignition-dracut-0.0+git20190916.cbac371/dracut/30ignition/ignition-disks.service
2019-09-16 21:48:10.000000000 +0200
+++
new/ignition-dracut-0.0+git20191001.cefb71c/dracut/30ignition/ignition-disks.service
2019-10-01 22:09:25.000000000 +0200
@@ -2,30 +2,26 @@
Description=Ignition (disks)
DefaultDependencies=false
Before=ignition-complete.target
+After=ignition-fetch.service
-# This stage runs between `basic.target` and `initrd-root-fs.target`,
+# This stage runs between `basic.target` and `initrd-root-device.target`,
# see https://www.freedesktop.org/software/systemd/man/bootup.html
+# Make sure to run before the file system checks, as sgdisk will trigger
+# udev events, potentially resulting in race conditions due to disappearing
+# devices.
# Note that CL runs this before `local-fs-pre.target` to allow for configs that
# completely wipe the rootfs. Though we're not there yet. But we still run
# before `sysroot.mount` on principle.
-After=basic.target
-Before=initrd-root-fs.target
+Before=initrd-root-device.target
Before=sysroot.mount
-# Run after ignition-setup has run because ignition-setup
-# may copy in new/different ignition configs for us to consume.
-After=ignition-setup-base.service
-After=ignition-setup-user.service
-
-# Network may be used to fetch userdata content.
-After=network.target
-
# This stage requires udevd to detect disk partitioning changes.
Requires=systemd-udevd.service
After=systemd-udevd.service
[Service]
Type=oneshot
+RemainAfterExit=yes
EnvironmentFile=/run/ignition.env
ExecStart=/usr/bin/ignition --root=/sysroot --platform=${PLATFORM_ID}
--stage=disks
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/ignition-dracut-0.0+git20190916.cbac371/dracut/30ignition/ignition-fetch.service
new/ignition-dracut-0.0+git20191001.cefb71c/dracut/30ignition/ignition-fetch.service
---
old/ignition-dracut-0.0+git20190916.cbac371/dracut/30ignition/ignition-fetch.service
1970-01-01 01:00:00.000000000 +0100
+++
new/ignition-dracut-0.0+git20191001.cefb71c/dracut/30ignition/ignition-fetch.service
2019-10-01 22:09:25.000000000 +0200
@@ -0,0 +1,19 @@
+[Unit]
+Description=Ignition (fetch)
+DefaultDependencies=false
+Before=ignition-complete.target
+After=basic.target
+
+# Run after ignition-setup has run because ignition-setup
+# may copy in new/different ignition configs for us to consume.
+After=ignition-setup-base.service
+After=ignition-setup-user.service
+
+# Network may be used to fetch userdata content.
+After=network.target
+
+[Service]
+Type=oneshot
+RemainAfterExit=yes
+EnvironmentFile=/run/ignition.env
+ExecStart=/usr/bin/ignition --root=/sysroot --platform=${PLATFORM_ID}
--stage=fetch
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/ignition-dracut-0.0+git20190916.cbac371/dracut/30ignition/ignition-files.service
new/ignition-dracut-0.0+git20191001.cefb71c/dracut/30ignition/ignition-files.service
---
old/ignition-dracut-0.0+git20190916.cbac371/dracut/30ignition/ignition-files.service
2019-09-16 21:48:10.000000000 +0200
+++
new/ignition-dracut-0.0+git20191001.cefb71c/dracut/30ignition/ignition-files.service
2019-10-01 22:09:25.000000000 +0200
@@ -12,5 +12,6 @@
[Service]
Type=oneshot
+RemainAfterExit=yes
EnvironmentFile=/run/ignition.env
ExecStart=/usr/bin/ignition --root=/sysroot --platform=${PLATFORM_ID}
--stage=files --log-to-stdout
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/ignition-dracut-0.0+git20190916.cbac371/dracut/30ignition/ignition-generator
new/ignition-dracut-0.0+git20191001.cefb71c/dracut/30ignition/ignition-generator
---
old/ignition-dracut-0.0+git20190916.cbac371/dracut/30ignition/ignition-generator
2019-09-16 21:48:10.000000000 +0200
+++
new/ignition-dracut-0.0+git20191001.cefb71c/dracut/30ignition/ignition-generator
2019-10-01 22:09:25.000000000 +0200
@@ -27,7 +27,8 @@
add_requires() {
local name="$1"; shift
- local requires_dir="${UNIT_DIR}/initrd.target.requires"
+ local target="$1"; shift
+ local requires_dir="${UNIT_DIR}/${target}.requires"
mkdir -p "${requires_dir}"
ln -sf "../${name}" "${requires_dir}/${name}"
}
@@ -36,12 +37,21 @@
# starts the unit's dependencies. We want to start networking only on first
# boot.
if $(cmdline_bool 'ignition.firstboot' 0); then
- add_requires ignition-complete.target
+ add_requires ignition-complete.target initrd.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
+ add_requires ignition-diskful.target ignition-complete.target
+
+ # ignition-setup-user.service should depend on the boot device node
+ # only on diskful boots
+ mkdir -p "${UNIT_DIR}/ignition-setup-user.service.d"
+ cat > "${UNIT_DIR}/ignition-setup-user.service.d/diskful.conf" <<EOF
+[Unit]
+Requires=dev-disk-by\x2dlabel-boot.device
+After=dev-disk-by\x2dlabel-boot.device
+EOF
fi
fi
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/ignition-dracut-0.0+git20190916.cbac371/dracut/30ignition/ignition-remount-sysroot.service
new/ignition-dracut-0.0+git20191001.cefb71c/dracut/30ignition/ignition-remount-sysroot.service
---
old/ignition-dracut-0.0+git20190916.cbac371/dracut/30ignition/ignition-remount-sysroot.service
2019-09-16 21:48:10.000000000 +0200
+++
new/ignition-dracut-0.0+git20191001.cefb71c/dracut/30ignition/ignition-remount-sysroot.service
2019-10-01 22:09:25.000000000 +0200
@@ -4,7 +4,7 @@
# commandline and thus mount the root filesystem ro by default. In
# this case, remount /sysroot to rw (issue #37)
DefaultDependencies=no
-Before=ignition-complete.target
+Before=ignition-diskful.target
After=sysroot.mount
ConditionPathIsReadWrite=!/sysroot
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/ignition-dracut-0.0+git20190916.cbac371/dracut/30ignition/ignition-setup-base.sh
new/ignition-dracut-0.0+git20191001.cefb71c/dracut/30ignition/ignition-setup-base.sh
---
old/ignition-dracut-0.0+git20190916.cbac371/dracut/30ignition/ignition-setup-base.sh
2019-09-16 21:48:10.000000000 +0200
+++
new/ignition-dracut-0.0+git20191001.cefb71c/dracut/30ignition/ignition-setup-base.sh
2019-10-01 22:09:25.000000000 +0200
@@ -11,7 +11,7 @@
fi
}
-destination=/usr/lib/ignition/
+destination=/usr/lib/ignition
mkdir -p $destination
# We will support grabbing a platform specific base.ign config
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/ignition-dracut-0.0+git20190916.cbac371/dracut/30ignition/ignition-setup-user.service
new/ignition-dracut-0.0+git20191001.cefb71c/dracut/30ignition/ignition-setup-user.service
---
old/ignition-dracut-0.0+git20190916.cbac371/dracut/30ignition/ignition-setup-user.service
2019-09-16 21:48:10.000000000 +0200
+++
new/ignition-dracut-0.0+git20191001.cefb71c/dracut/30ignition/ignition-setup-user.service
2019-10-01 22:09:25.000000000 +0200
@@ -7,8 +7,8 @@
Before=ignition-disks.service
Before=ignition-files.service
-Requires=dev-disk-by\x2dlabel-boot.device
-After=dev-disk-by\x2dlabel-boot.device
+# On diskful boots, ignition-generator adds Requires/After on
+# dev-disk-by\x2dlabel-boot.device.
[Service]
Type=oneshot
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/ignition-dracut-0.0+git20190916.cbac371/dracut/30ignition/ignition-setup-user.sh
new/ignition-dracut-0.0+git20191001.cefb71c/dracut/30ignition/ignition-setup-user.sh
---
old/ignition-dracut-0.0+git20190916.cbac371/dracut/30ignition/ignition-setup-user.sh
2019-09-16 21:48:10.000000000 +0200
+++
new/ignition-dracut-0.0+git20191001.cefb71c/dracut/30ignition/ignition-setup-user.sh
2019-10-01 22:09:25.000000000 +0200
@@ -11,14 +11,20 @@
fi
}
-destination=/usr/lib/ignition/
+destination=/usr/lib/ignition
mkdir -p $destination
-# We will support a user embedded config in the boot partition
-# under $bootmnt/ignition/config.ign. Note that we mount /boot
-# but we don't unmount boot because we are run in a systemd unit
-# with MountFlags=slave so it is unmounted for us.
-bootmnt=/mnt/boot_partition
-mkdir -p $bootmnt
-mount /dev/disk/by-label/boot $bootmnt
-copy_file_if_exists "${bootmnt}/ignition/config.ign" "${destination}/user.ign"
+if command -v is-live-image >/dev/null && is-live-image; then
+ # Live image. If the user has supplied a config.ign via an appended
+ # initrd, put it in the right place.
+ copy_file_if_exists "/config.ign" "${destination}/user.ign"
+else
+ # We will support a user embedded config in the boot partition
+ # under $bootmnt/ignition/config.ign. Note that we mount /boot
+ # but we don't unmount boot because we are run in a systemd unit
+ # with MountFlags=slave so it is unmounted for us.
+ bootmnt=/mnt/boot_partition
+ mkdir -p $bootmnt
+ mount /dev/disk/by-label/boot $bootmnt
+ copy_file_if_exists "${bootmnt}/ignition/config.ign"
"${destination}/user.ign"
+fi
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/ignition-dracut-0.0+git20190916.cbac371/dracut/30ignition/module-setup.sh
new/ignition-dracut-0.0+git20191001.cefb71c/dracut/30ignition/module-setup.sh
---
old/ignition-dracut-0.0+git20190916.cbac371/dracut/30ignition/module-setup.sh
2019-09-16 21:48:10.000000000 +0200
+++
new/ignition-dracut-0.0+git20191001.cefb71c/dracut/30ignition/module-setup.sh
2019-10-01 22:09:25.000000000 +0200
@@ -59,6 +59,8 @@
"$systemdsystemunitdir/ignition-diskful.target"
install_ignition_unit ignition-setup-base.service
+ install_ignition_unit ignition-setup-user.service
+ install_ignition_unit ignition-fetch.service
install_ignition_unit ignition-disks.service
install_ignition_unit ignition-mount.service
install_ignition_unit ignition-files.service
@@ -66,7 +68,6 @@
# 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
++++++ ignition-setup-user-suse.sh ++++++
#!/bin/bash
set -euo pipefail
copy_file_if_exists() {
src="${1}"; dst="${2}"
if [ -f "${src}" ]; then
echo "Copying ${src} to ${dst}"
cp "${src}" "${dst}"
else
echo "File ${src} does not exist.. Skipping copy"
fi
}
destination=/usr/lib/ignition
mkdir -p $destination
if command -v is-live-image >/dev/null && is-live-image; then
# Live image. If the user has supplied a config.ign via an appended
# initrd, put it in the right place.
copy_file_if_exists "/config.ign" "${destination}/user.ign"
else
# We will support a user embedded config in the boot partition
# under $bootmnt/ignition/config.ign. Note that we mount /boot
# but we don't unmount boot because we are run in a systemd unit
# with MountFlags=slave so it is unmounted for us.
bootmnt=/mnt/boot_partition
mkdir -p $bootmnt
if [ -e /dev/disk/by-label/ignition ]; then
mount /dev/disk/by-label/ignition $bootmnt
fi
copy_file_if_exists "${bootmnt}/ignition/config.ign"
"${destination}/user.ign"
fi
++++++ ignition-suse-generator ++++++
--- /var/tmp/diff_new_pack.PKvqM4/_old 2019-10-02 14:55:53.599286759 +0200
+++ /var/tmp/diff_new_pack.PKvqM4/_new 2019-10-02 14:55:53.603286749 +0200
@@ -14,3 +14,19 @@
}
add_requires ignition-mount-initrd-fstab.service
+
+# Overwrite static /boot dependency by upstream igniton-dracut with a more
+# generic "ignition" device to fetch the user configuration; can not be put
+# into UNIT_DIR, as systemd generators are running simultaneously, so use a
+# directory with a higher priority. May still be overwritten by the admin by
+# putting the same file into /etc.
+mkdir -p "/run/systemd/system/ignition-setup-user.service.d"
+cat > "/run/systemd/system/ignition-setup-user.service.d/diskful.conf" <<EOF
+[Unit]
+Wants=dev-disk-by\x2dlabel-ignition.device
+After=dev-disk-by\x2dlabel-ignition.device
+
+[Service]
+ExecStart=
+ExecStart=/usr/sbin/ignition-setup-user-suse
+EOF
++++++ module-setup.sh ++++++
--- /var/tmp/diff_new_pack.PKvqM4/_old 2019-10-02 14:55:53.647286633 +0200
+++ /var/tmp/diff_new_pack.PKvqM4/_new 2019-10-02 14:55:53.647286633 +0200
@@ -13,6 +13,8 @@
"$systemdsystemunitdir/dev-disk-by\x2dlabel-ignition.device.d/ignition-userconfig-timeout.conf"
inst_simple "$moddir/ignition-suse-generator" \
"$systemdutildir/system-generators/ignition-suse-generator"
+ inst_script "$moddir/ignition-setup-user-suse.sh" \
+ "/usr/sbin/ignition-setup-user-suse"
}
installkernel() {