Use the spec2x branch of ignition-dracut upstream

Since ignition-dracut master has moved to supported ignition
spec 3.x we are applying fixes 2.x related fixes to the spec2x
branch in the ignition-dracut repo.

Summary of backports: https://github.com/coreos/ignition-dracut/pull/58
This commit is contained in:
Dusty Mabe 2019-03-18 17:27:28 -04:00
parent e797537371
commit 8f7558a405
No known key found for this signature in database
GPG Key ID: 3302DBD73952E671
6 changed files with 12 additions and 102 deletions

1
.gitignore vendored
View File

@ -15,3 +15,4 @@
/ignition-dracut-fa7131b.tar.gz
/ignition-dracut-2c69925.tar.gz
/ignition-f59a653.tar.gz
/ignition-dracut-0d09097.tar.gz

View File

@ -1,28 +0,0 @@
From c62a108c79db49cecb9f323d6567d33a86fa6dc7 Mon Sep 17 00:00:00 2001
From: Colin Walters <walters@verbum.org>
Date: Mon, 18 Mar 2019 13:54:56 +0000
Subject: [PATCH] 02_ignition_firstboot: Enable networking if Ignition will run
Today coreos-assembler is hardcoding the initramfs networking kargs to
do DHCP; this is problematic for e.g. bare metal where one often wants
to configure static networking.
Let's only enable initramfs networking if we're doing Ignition.
---
grub/02_ignition_firstboot | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/grub/02_ignition_firstboot b/grub/02_ignition_firstboot
index a154918..b4e926d 100755
--- a/grub/02_ignition_firstboot
+++ b/grub/02_ignition_firstboot
@@ -9,5 +9,5 @@ search --set=bootpart --label boot
# to be used later on the kernel command line.
set ignition_firstboot=""
if [ -f "(${bootpart})/ignition.firstboot" ]; then
- set ignition_firstboot="ignition.firstboot"
+ set ignition_firstboot="ignition.firstboot rd.neednet=1 ip=dhcp"
fi
--
2.20.1

View File

@ -1,38 +0,0 @@
From 552edb5c959bb4a99be6cba15423bf357d016aa8 Mon Sep 17 00:00:00 2001
From: Dusty Mabe <dusty@dustymabe.com>
Date: Mon, 4 Mar 2019 16:42:28 -0500
Subject: [PATCH] grub: find boot partition and use it directly
On UEFI systems the grub $root might be the /boot/efi/
partition and not the /boot/ partition so let's search
for the partition with the `boot` label and then detect
the file directly.
Fixes #51
---
grub/02_ignition_firstboot | 10 ++++++++--
1 file changed, 8 insertions(+), 2 deletions(-)
diff --git a/grub/02_ignition_firstboot b/grub/02_ignition_firstboot
index 9ceca5d..a154918 100755
--- a/grub/02_ignition_firstboot
+++ b/grub/02_ignition_firstboot
@@ -1,7 +1,13 @@
#!/bin/sh
exec tail -n +3 $0
+# We store the file on the /boot/ partition so find the
+# boot partition. On UEFI this may different than the grub
+# $root so we search for it here.
+# https://github.com/coreos/ignition-dracut/issues/51
+search --set=bootpart --label boot
+# Determine if this is a first boot and set the variable
+# to be used later on the kernel command line.
set ignition_firstboot=""
-# Determine if this is a first boot.
-if [ -f "/ignition.firstboot" ]; then
+if [ -f "(${bootpart})/ignition.firstboot" ]; then
set ignition_firstboot="ignition.firstboot"
fi
--
2.20.1

View File

@ -1,24 +0,0 @@
diff --git a/dracut/30ignition/module-setup.sh b/dracut/30ignition/module-setup.sh
index 4b1c1aa..211da77 100755
--- a/dracut/30ignition/module-setup.sh
+++ b/dracut/30ignition/module-setup.sh
@@ -11,7 +11,6 @@ install() {
chroot \
groupadd \
id \
- ignition \
mkfs.ext4 \
mkfs.vfat \
mkfs.xfs \
@@ -32,6 +31,11 @@ install() {
# inst_script "$moddir/retry-umount.sh" \
# "/usr/sbin/retry-umount"
+ # Distro packaging is expected to install the ignition binary into the
+ # module directory.
+ inst_simple "$moddir/ignition" \
+ "/usr/bin/ignition"
+
inst_simple "$moddir/ignition-generator" \
"$systemdutildir/system-generators/ignition-generator"

View File

@ -64,27 +64,22 @@
%global dracutprovider_tld com
%global dracutproject coreos
%global dracutrepo ignition-dracut
# https://github.com/coreos/ignition-dracut
# https://github.com/coreos/ignition-dracut spec2x branch
%global dracutprovider_prefix %{dracutprovider}.%{dracutprovider_tld}/%{dracutproject}/%{dracutrepo}
%global dracutimport_path %{dracutprovider_prefix}
%global dracutcommit 2c699252247fd4eb786b66db30a30b777dcd8468
%global dracutcommit 0d09097f8bf9f3b0118d629f85c8f06f1becdc1f
%global dracutshortcommit %(c=%{dracutcommit}; echo ${c:0:7})
Name: ignition
Version: 0.31.0
Release: 4.git%{shortcommit}%{?dist}
Release: 5.git%{shortcommit}%{?dist}
Summary: First boot installer and configuration tool
License: ASL 2.0 and BSD
URL: https://%{provider_prefix}
Source0: https://%{provider_prefix}/archive/%{commit}/%{repo}-%{shortcommit}.tar.gz
Source1: https://%{dracutprovider_prefix}/archive/%{dracutcommit}/%{dracutrepo}-%{dracutshortcommit}.tar.gz
Patch0: 0001-grub-find-boot-partition-and-use-it-directly.patch
Patch1: 0001-02_ignition_firstboot-Enable-networking-if-Ignition-.patch
# https://github.com/coreos/ignition-dracut/pull/56
Patch2: dracut-ignition-not-in-path.patch
# For RHEL7 we'll want to specify gopath and list of arches since there is no
# gopath or go_arches macro. We'll also want to make sure we pull in golang
# 1.10 require golang >= 1.10
@ -343,9 +338,6 @@ This package contains a tool for validating Ignition configurations.
# unpack source1 (dracut modules)
%setup -T -D -a 1 -q -n %{repo}-%{commit}
cd %{dracutrepo}-%{dracutcommit}
%patch0 -p1
%patch1 -p1
%patch2 -p1
mv LICENSE ../LICENSE.dracut
@ -501,6 +493,13 @@ export GOPATH=%{buildroot}/%{gopath}:$(pwd)/vendor:%{gopath}
%endif
%changelog
* Mon Mar 18 2019 Dusty Mabe <dusty@dustymabe.com> - 0.31.0-5.gitf59a653
- Use the spec2x branch of ignition-dracut upstream
- * Since ignition-dracut master has moved to supporting ignition
spec 3.x we are applying 2.x related fixes to the spec2x
branch in the ignition-dracut repo.
* Summary of backports: https://github.com/coreos/ignition-dracut/pull/58
* Mon Mar 18 2019 Benjamin Gilbert <bgilbert@backtick.net> - 0.31.0-4.gitf59a653
- Move dracut modules into main ignition package
- Move ignition binary out of the PATH

View File

@ -1,2 +1,2 @@
SHA512 (ignition-f59a653.tar.gz) = fd198a24536c037c27ab99546e94027b08c3634724324b972828ee48f8ab9e1ba4ec1bd49d6aba6337381754cb30025c5311ab85da17c645eb7503b62e9529ff
SHA512 (ignition-dracut-2c69925.tar.gz) = 4df397a6b19cc8482353c4b38e4cee25690addd1713b66b8fc70c08858c5dbeb6ec4d0b1164f95f4a8a603889430967481c01632b8caf07cd56137901c1e18eb
SHA512 (ignition-dracut-0d09097.tar.gz) = 83723c46c147172aa56a08a169814e0f3afd5c244609c8104d72d3999a8a28c6a536584ffaea3522400ef094ca38a559fea986e81f565f4e0b2a258bbe829ff2