From 624631a4d5247f41454a11bdc8927c82d7c73f31 Mon Sep 17 00:00:00 2001 From: Jonathon Anderson Date: Fri, 5 Jul 2024 12:12:49 -0600 Subject: [PATCH] Use the wwinit uri built by iPXE during dracut Signed-off-by: Jonathon Anderson --- dracut/modules.d/90wwinit/module-setup.sh | 2 +- dracut/modules.d/90wwinit/parse-wwinit.sh | 2 +- etc/ipxe/dracut.ipxe | 2 +- warewulf.spec.in | 3 +-- 4 files changed, 4 insertions(+), 5 deletions(-) diff --git a/dracut/modules.d/90wwinit/module-setup.sh b/dracut/modules.d/90wwinit/module-setup.sh index d1fd62e5..454562ad 100755 --- a/dracut/modules.d/90wwinit/module-setup.sh +++ b/dracut/modules.d/90wwinit/module-setup.sh @@ -14,7 +14,7 @@ depends() { } install() { - inst_multiple cpio curl dmidecode + inst_multiple cpio curl inst_hook cmdline 30 "$moddir/parse-wwinit.sh" inst_hook pre-mount 30 "$moddir/load-wwinit.sh" } diff --git a/dracut/modules.d/90wwinit/parse-wwinit.sh b/dracut/modules.d/90wwinit/parse-wwinit.sh index 322364e6..d2feadff 100755 --- a/dracut/modules.d/90wwinit/parse-wwinit.sh +++ b/dracut/modules.d/90wwinit/parse-wwinit.sh @@ -6,7 +6,7 @@ if [ "${root}" = "wwinit" ] then info "root=${root}" - export wwinit_uri="http://$(getarg wwinit.uri)/provision/$(getarg wwid)?assetkey=$(dmidecode -s chassis-asset-tag)&uuid=$(dmidecode -s system-uuid)&stage=" + wwinit_uri="$(getarg wwinit.uri)" export wwinit_container="${wwinit_uri}container&compress=gz"; info "wwinit.container=${wwinit_container}" export wwinit_system="${wwinit_uri}system&compress=gz"; info "wwinit.system=${wwinit_system}" export wwinit_runtime="${wwinit_uri}runtime&compress=gz"; info "wwinit.runtime=${wwinit_runtime}" diff --git a/etc/ipxe/dracut.ipxe b/etc/ipxe/dracut.ipxe index 9da62bb2..ca76c0bb 100644 --- a/etc/ipxe/dracut.ipxe +++ b/etc/ipxe/dracut.ipxe @@ -29,7 +29,7 @@ echo Downloading initramfs initrd --name initramfs ${uri}&stage=initramfs || goto reboot set dracut_net rd.neednet=1 {{range $devname, $netdev := .NetDevs}}{{if and $netdev.Hwaddr $netdev.Device}} ifname={{$netdev.Device}}:{{$netdev.Hwaddr}} {{end}}{{end}} -set dracut_wwinit root=wwinit wwinit_uri={{.Ipaddr}}:{{.Port}} {{if ne .KernelOverride ""}}wwinit.KernelOverride={{ .KernelOverride }}{{end}} init=/init +set dracut_wwinit root=wwinit wwinit.uri=${uri} {{if ne .KernelOverride ""}}wwinit.KernelOverride={{ .KernelOverride }}{{end}} init=/init echo Booting initramfs #echo Network KernelArgs: ${dracut_net} diff --git a/warewulf.spec.in b/warewulf.spec.in index d1cb5f53..e0ac1202 100644 --- a/warewulf.spec.in +++ b/warewulf.spec.in @@ -95,7 +95,6 @@ Requires: dracut-network %endif Requires: curl Requires: cpio -Requires: dmidecode %description dracut Warewulf is a stateless and diskless container operating system provisioning @@ -221,7 +220,7 @@ getent group %{wwgroup} >/dev/null || groupadd -r %{wwgroup} %changelog * Tue Jun 18 2024 Josh Burks -- Add curl, cpio, dmidecode as requires for warewulf-dracut +- Add curl, cpio as requires for warewulf-dracut * Thu Apr 18 2024 Jonathon Anderson - New warewulf-dracut subpackage