Ignition runs during provision-to-disk, and then also tries to run again during
sytsemd. This commit adds a sentinel file during the initial provision-to-disk
that is detected by systemd to prevent re-running ignition partitioning /
formatting.
- Fixes: #1981
Signed-off-by: Jonathon Anderson <janderson@ciq.com>
- Updated `already_formatted()` to use `blkid` plus safe read-only mount for accurate filesystem detection.
- Added conditional `-f` flag to `mkfs` only when `overwrite: true` is set.
- Removed `continue` statements from the shell script to prevent runtime errors.
- Updated Go overlay snapshot tests to reflect new template rendering.
- Ensures disks with leftover signatures but no valid filesystem are properly reformatted during node provisioning.
Rather than deriving the identity of template variables by string parsing the
name, identify its relationship to the underlying struct using reflection.
Signed-off-by: Jonathon Anderson <janderson@ciq.com>
When I first split the debian interfaces support from wwinit, I was unable to
figure out what it was called. I used the inelegant name "debian.interfaces" to
identify it; but I have since learned that it is called "ifupdown." I have
since learned that there is even a variant implementation, ifupdown-ng, that is
used by Alpine Linux.
This PR renames the overlay to ifupdown, but retains a copy of it at
debian.interfaces for backwards compatibility.
Signed-off-by: Jonathon Anderson <janderson@ciq.com>
* Upadate dev container to use EL10
* Update CI to use EL10
* Update spec file for EL10
* Add `make rpm` target for building RPMs
* Use `mktemp` for `make dist` to use devcontainer filesystem
* Set default dhcpd and tftpd to dnsmasq for EL10
* Fix dnsmasq template tftp paths to use basename
Signed-off-by: Timothy Middelkoop <tmiddelkoop@internet2.edu>
- sfdisk - partitions the disk
- mkfs - formats partitions
- mkswap - formats partitions for swap
- systemd.mount - explicit creation of systemd mount units
- systemd.swap - explicit creation of systemd swap units
Signed-off-by: Jonathon Anderson <janderson@ciq.com>
- Control root device using the node/profile root field
- Add support for `/warewulf/wwinit.d` to run scripts during first stage
- Move first-stage ignition support to `/warewulf/wwinit.d/`
- Add `wwctl <node|profile> set --parttype`
- Add overlay template functions `SystemdEscape` and `SystemdEscapePath`
- Support configuring ignition with resources
Signed-off-by: Jonathon Anderson <janderson@ciq.com>
- If `init` is not specified, wwinit looks for /sbin/init, /etc/init,
and /bin/init, matching dracut behavior.
- assume ipxe template=default if not set
- Display a warning during overlay build if an overlay list is empty
Issues:
- Closes: #1808
- Closes: #1813
Signed-off-by: Jonathon Anderson <janderson@ciq.com>