HTTP PUT is supposed to be idempotent, so PUT for an existing node or
profile should replace the node or profile, not throw an error.
Generating an error on duplicate can now be requested using the
If-None-Match header with a `*` value.
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>
- Updated `wwctl upgrade` to handle updates
- Maintained `.Container` and `.ContainerName` in tstruct
- Added `ContainerName()` methods to node and profile objects
- Added `--container`, `-C` aliases to wwctl commands (`<node|profile> <add|set>`)
- Added `wwctl container` alias
- Added support for `container_exit.sh` if `image_exit.sh` is not found
Signed-off-by: Jonathon Anderson <janderson@ciq.com>
- Benchmarks overlay build in an environment with 1000 nodes
- Updates testenv to support both benchmarks and tests
To execute:
```
go test github.com/warewulf/warewulf/internal/app/wwctl/overlay/build -bench Benchmark_Overlay_Build
```
Signed-off-by: Jonathon Anderson <janderson@ciq.com>
Rendering overlay templates requires fetching and populating / merging all
other nodes, because overlay templates have access to all cluster node info.
This was previously being done for each template render, but is not being done
once for each render operation and re-used for each template render.
Signed-off-by: Jonathon Anderson <janderson@ciq.com>
site overlays are place in sysconfdir/overlays and take
precedence over distribution overlays with the same name.
Every `wwctl overlay` command changing overlays will create
an site overlay. distribution overlays can't be deleted or
modified with wwctl.
Signed-off-by: Christian Goll <cgoll@suse.com>
- Remove kernel imports and kmods images
- Repurpose KernelOverride as container path
- Support Kernel.Version as version prefix for kernel selection
- Compare initramfs by version
Signed-off-by: Jonathon Anderson <janderson@ciq.com>
Supports leaving booleans unspecified in YAML.
Boolean methods allow the templates to continue using previous names for
boolean values.
Signed-off-by: Jonathon Anderson <janderson@ciq.com>
- Always run in the foreground
- Always log to stdout/err (unless syslog is requested)
- Update systemd to reload with a direct signal
- Omit any pidfile for "warewulfd"
Signed-off-by: Jonathon Anderson <janderson@ciq.com>
- make sure spec sets new cache dir
- move clean out of api
- capture warewulfconf.Paths.Cachedir+"/warewulf" in once place
- split Clean() into multiple functions
- remove WriteFileAbs
Signed-off-by: Jonathon Anderson <janderson@ciq.com>