When editing an overlay, the temporary file was created within the
overlay directory structure. This could lead to the temporary file
being included in the overlay if not cleaned up properly.
This change modifies the behavior to create the temporary file in the
system's default temporary directory, avoiding any potential issues
with the overlay itself.
Not using this change the temporary file can be seen in the overlay:
DEBUG : Using temporary file /usr/share/warewulf/overlays/host/ww-overlay-edit-2879742493
DEBUG : Checking if path exists as a file: /usr/share/warewulf/overlays/host/rootfs/etc/hosts.ww
DEBUG : ExecInteractive(tee, [/usr/share/warewulf/overlays/host/ww-overlay-edit-2879742493])
# find /srv | grep ww-overlay
/srv/warewulf/overlays/host/ww-overlay-edit-2879742493
With this patch applied:
DEBUG : Using temporary file /tmp/ww-overlay-edit-266752840
DEBUG : Checking if path exists as a file: /usr/share/warewulf/overlays/host/rootfs/etc/hosts.ww
DEBUG : ExecInteractive(tee, [/tmp/ww-overlay-edit-266752840])
# find /srv | grep ww-overlay
Assisted-by: Gemini 2.5 Pro
Signed-off-by: Adrian Reber <areber@redhat.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>
The development branch has been replaced with the main branch in GitHub.
Replaces references to development in docs, commands, configuration, and
workflows.
Signed-off-by: Jonathon Anderson <janderson@ciq.com>
The recent `overlay edit` command reimplementation included some
incorrect ordering that led to spurious error messages for files that
did not yet exist. This reimplementation reorders operations to avoid
such error messages and clarifies the implementation by editing in a
temporary file and using mtime to discern whether an edit has occurred.
Signed-off-by: Jonathon Anderson <janderson@ciq.com>
I noticed that some wwlog calls included a trailing newline, but others
did not. I tested both in isolation and discovered that the behavior was
consistent regardless of whether a trailing newline was included. I
further confirmed in code that wwlog appends a trailing newline
automatically if it is not present; so a trailing newline is unnecessary
in individual calls.
This commit removes trailing newlines from all calls to make them
consistent. It also replaces two calls to wwlog.Printf. (see #534)
Signed-off-by: Jonathon Anderson <janderson@ciq.co>
wwlog provides named loggers for each level, which requires
less code and is clearer than wwlog.Printf. The code has
included a mix of both, but this commit consolidates existing
code on the per-level functions.
Signed-off-by: Jonathon Anderson <janderson@ciq.co>