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 - kukuk@suse.de
+
+- 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 - kukuk@suse.de
+
+- 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 coreos-gpt-setup@.service 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/coreos-gpt-setup@.service new/ignition-dracut-0.0+git20191001.cefb71c/dracut/30ignition/coreos-gpt-setup@.service
--- old/ignition-dracut-0.0+git20190916.cbac371/dracut/30ignition/coreos-gpt-setup@.service 2019-09-16 21:48:10.000000000 +0200
+++ new/ignition-dracut-0.0+git20191001.cefb71c/dracut/30ignition/coreos-gpt-setup@.service 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" <