Commit Graph

683 Commits

Author SHA1 Message Date
Tobias Ribizel
c6b6caeb0b fix lint warnings
Signed-off-by: Tobias Ribizel <mail@ribizel.de>
2024-09-16 12:55:27 +02:00
Tobias Ribizel
7692babd76 Return error code if overlay build fails
Signed-off-by: Tobias Ribizel <mail@ribizel.de>
2024-09-15 01:43:53 +02:00
Jonathon Anderson
5860334a89 Improve error handling during container file copy removal
Based on feedback at #1365

Signed-off-by: Jonathon Anderson <janderson@ciq.com>
2024-09-09 11:09:10 +02:00
Jonathon Anderson
9e91b1c19a Rename :cow to :copy
Signed-off-by: Jonathon Anderson <janderson@ciq.com>
2024-09-09 11:09:10 +02:00
Jonathon Anderson
3a36016707 Refactor of new copy-on-write feature
Signed-off-by: Jonathon Anderson <janderson@ciq.com>
2024-09-09 11:09:09 +02:00
Jonathon Anderson
173546348f Edited documentation for new copy-on-write feature
Signed-off-by: Jonathon Anderson <janderson@ciq.com>
2024-09-09 11:09:09 +02:00
Christian Goll
dc263425e2 Added cow option to bind
The option cow can now be set for files which are then
mounted during exec, but copied into the image and removed
if not modified.

Signed-off-by: Christian Goll <cgoll@suse.com>
2024-09-09 11:09:04 +02:00
Jonathon Anderson
f39972f917 Prevent overlays from being improperly used as format strings
`wwctl overlay show --render` shows the rendered overlay with
`wwlog.Info`, but that caused it to be processed as a format string.
This passes an explicit format string first, and then includes the
rendered overlay as a variable to the formatter.

- Fixes #1363

Signed-off-by: Jonathon Anderson <janderson@ciq.com>
2024-09-06 15:01:49 +02:00
Jonathon Anderson
4a5c1cad12 Simplified slice ordering fix and extended for runtime overlay
- Extends #1357
- Fixes #1259

Signed-off-by: Jonathon Anderson <janderson@ciq.com>
2024-09-04 19:59:59 -06:00
xu yang
bfa6ad6be8 add test case
Signed-off-by: xu yang <xyang@ciq.com>
2024-09-04 17:10:50 -06:00
Jonathon Anderson
9e0f255fe3 Use wwctl container import --password by default
Retains support for --passwd as a hidden flag targeting the same
variable.

Signed-off-by: Jonathon Anderson <janderson@ciq.com>
2024-09-04 16:52:16 -06:00
Christian Goll
13349bbf66 adding WAREWULF_OCI vars to wwctl
Signed-off-by: Christian Goll <cgoll@suse.com>
2024-09-04 20:52:43 +02:00
Jonathon Anderson
73c70da4ef Refactor url build in wwclient with url.URL
Signed-off-by: Jonathon Anderson <janderson@ciq.com>
2024-09-04 14:06:56 +02:00
Jonathon Anderson
f02af9f242 Container list shows size if any size option specified
Signed-off-by: Jonathon Anderson <janderson@ciq.com>
2024-08-02 16:36:15 -06:00
Christian Goll
553e401fe0 enhanced container list
Container list has now options for full, kernel and size listing. Without any
arguments only available containers are listed. Size is no more fine granular
showing also size of the image, chroot and compressed image

Signed-off-by: Christian Goll <cgoll@suse.com>
2024-08-02 16:34:54 -06:00
Christian Goll
c9c38542f4 added completion to overlay chmod/chown/delete/edit
Signed-off-by: Christian Goll <cgoll@suse.com>
2024-08-02 13:55:56 -06:00
Jonathon Anderson
6028a6eb58 Minor adjustments to exitEval and msgStr
For grammar clarity, and consistency.

Signed-off-by: Jonathon Anderson <janderson@ciq.com>
2024-08-02 13:29:59 -06:00
Christian Goll
9d2853ad64 Show pending container build status during container exec, shell
Signed-off-by: Christian Goll <cgoll@suse.com>
2024-08-02 11:43:05 -06:00
Jonathon Anderson
212b57f095 Merge pull request #1309 from griznog/sanitize-wwclient-url-data
sanitize wwclient url data
2024-08-02 10:50:26 -06:00
griznog
103852df78 Sanitize/escape asset tag strings from dmidecode. 2024-08-02 09:13:47 -06:00
Tobias Poschwatta
971d9e2118 Add option for wwclient port number
With this change, you can specify a port number for wwclient.
If

  wwclient:
    port: NUMBER

is specified in warewulf.conf, wwclient will bind to the specified local
port NUMBER. If no port is specified, wwclient will use any available
port, or port 987 if secure is true.

Port 987 is in the default port range used by the Linux NFS client
(665-1023, see linux/include/linux/sunrpc/xprtsock.h). Changing
the port can avoid failures when port 987 is already in use.

Signed-off-by: Tobias Poschwatta <poschwatta@zib.de>
2024-08-02 11:09:16 +02:00
xu yang
cec903aeeb resovle the comments
Signed-off-by: xu yang <xyang@ciq.com>
2024-07-25 06:42:16 +00:00
xu yang
62d9b5f71d fix the failure when updating overlay files existing on different partitions
Signed-off-by: xu yang <xyang@ciq.com>
2024-07-25 02:29:29 +00:00
Christian Goll
4a4fcc97d4 wwctl overlay list completes existing overlays
Signed-off-by: Christian Goll <cgoll@suse.com>
2024-07-05 15:17:23 -06:00
Christian Goll
cfacb4d520 mount /sys and /run during container exec
Also unify mounting of sys, run, proc, and dev as occuring within the
chroot and without bind mounts from the host.

Signed-off-by: Jonathon Anderson <janderson@ciq.com>
2024-07-04 07:54:55 +02:00
xu yang
371e4d63a6 Fix multiple issues in wwctl overlay edit
- Fixes #1236
- Fixes #1235

Signed-off-by: xu yang <xyang@ciq.com>
2024-07-03 17:57:25 -06:00
Josh Burks
790375822c wwclient: added dmidecode as a method to obtain asset-tag if smbios fails fix #1110"
Signed-off-by: Josh Burks <jeburks2@asu.edu>
2024-06-18 09:08:19 -07:00
xu yang
c28404ea6c Add test cases for container exec
Signed-off-by: xu yang <xyang@ciq.com>
2024-06-11 23:59:36 -06:00
Jonathon Anderson
5bb13c8baf Fix regression in container exec argument parsing
- Fixes #1250

Signed-off-by: Jonathon Anderson <janderson@ciq.com>
2024-06-11 23:57:58 -06:00
Jonathon Anderson
2c5e079d33 Refactor overlayDir to container.RunDir()
Signed-off-by: Jonathon Anderson <janderson@ciq.com>
2024-06-07 14:18:19 -06:00
Christian Goll
0eba837950 use warewulf.conf from parent on child
The directories for the overlays needed for the bind
mount are now created under conf.Paths.WWChrootdir/$CONTAINERNAME
with the pattern $CONTAINERNAME-run-xxxxxx. This pattern can be
used as lock, so that there can't be congruent shell/exec calls
to the same container.

Signed-off-by: Christian Goll <cgoll@suse.com>
2024-06-06 16:46:10 -04:00
Christian Goll
dc6db3d565 using the right overlay directory and remove it
Signed-off-by: Christian Goll <cgoll@suse.com>
2024-06-06 16:46:10 -04:00
Christian Goll
68ca92244d wwctl configure --all calls SSH(keys)
Signed-off-by: Christian Goll <cgoll@suse.com>
2024-06-03 19:36:01 -06:00
Jonathon Anderson
6b8ca378d8 Refactor syncuser to reduce walking the container fs
- Closes #1209

Signed-off-by: Jonathon Anderson <janderson@ciq.com>
2024-06-03 19:18:25 -06:00
Christian Goll
21150d2975 make created ssh keys configureable
Signed-off-by: Christian Goll <cgoll@suse.com>
2024-05-01 14:27:39 -06:00
Christian Goll
ad6699c110 allow the user to specify ssh key types
Signed-off-by: Christian Goll <cgoll@suse.com>
2024-05-01 14:27:36 -06:00
Christian Goll
fc80c4745c add various tests for wwctl node list -a
Altough getting and setting values is correct, `wwctl list -a`
will print superseded values as a list and mark them not as
superseded. Tests will fail after this commit.

Signed-off-by: Christian Goll <cgoll@suse.com>
2024-04-19 22:24:54 -06:00
Christian Goll
2ba9efa57c created kernel.FindKernel reduces code complexity
Signed-off-by: Christian Goll <cgoll@suse.com>
2024-04-19 16:12:22 -06:00
Christian Goll
5c23a4cdde added {{ .Overlay }} to templates
{{ .Overlay }} contains the overlay name in which the template is
located, or an empty string if RenderTempalte is called outside the
warewulf overlay tree.

- Closes #1052

Signed-off-by: Christian Goll <cgoll@suse.com>
2024-04-17 21:40:32 -06:00
Xu Yang
2d1a39a3ee add support for rendering host tempalte
Signed-off-by: Xu Yang <xyang@ciq.com>
2024-03-25 00:55:35 -06:00
Christian Goll
17a5aaefee added more aliases for wwctl commands
Signed-off-by: Christian Goll <cgoll@suse.com>
2024-03-20 21:11:14 -06:00
Xu Yang
16183e603c add multiple formats support
Signed-off-by: Xu Yang <xyang@ciq.com>
2024-03-19 01:48:08 -06:00
Christian Goll
27c0297e5f fixed formating
Signed-off-by: Christian Goll <cgoll@suse.com>
2024-03-12 19:29:01 +01:00
Timothy Middelkoop
44c8a24ba8 Merge branch 'main' into tm-wwid-raspberry-pi 2024-03-12 12:51:54 -05:00
Yong Qin
0aca225ef7 Fixed a bug with profile list when kernelargs are set with 'var=val'
format. This also removed the unnecessary '--' for the source profile
since it's never used.
2024-03-11 11:04:21 +01:00
Timothy Middelkoop
c61af786f3 Add support for machines that do not have a SMBIOS
Try to read from "/sys/firmware/devicetree/base/serial-number" if there is no SMBIOS (Raspberry Pi Serial Number) and create a UUID from that.

Fixes warewulf/warewulf#1108

Signed-off-by: Timothy Middelkoop <tmiddelkoop@internet2.edu>
2024-03-11 10:23:51 +01:00
Timothy Middelkoop
3575132db1 Get wwid from interface not /proc/cmdline when wwid=[interface] is specified
Signed-off-by: Timothy Middelkoop <tmiddelkoop@internet2.edu>
2024-02-27 19:43:13 +00:00
Christian Goll
b3638ac1ff failing test for node list without network
Signed-off-by: Christian Goll <cgoll@suse.com>
2024-02-21 10:34:03 +01:00
Christian Goll
ff10bc95bb const string for Version, Release, Confversion
The Version (e,g, 4.4 ), Release (git hash) and Confversion (e.g. 44)
must be compiled into the code so that they can't be changed during run
time and ensure this with the compiler

Signed-off-by: Christian Goll <cgoll@suse.com>
2024-02-17 10:22:44 -07:00
Christian Goll
1fca0057d3 updated WW_INTERNAL to 45 for 4.5.x release
Internal version update is necessary as new structures were added,
most obviously the disk, partitions and file system structures.
Old configurations will work as expected.

Signed-off-by: Christian Goll <cgoll@suse.com>
2024-02-16 20:12:51 -07:00