Commit Graph

752 Commits

Author SHA1 Message Date
Jonathon Anderson
45542827dd Remove built images when renaming a container
Renaming a container causes its images to be abandoned in the previous
name. This causes those images to be removed after a successful rename.

New images can be rebuilt during the rename using the `--build`
argument.

Signed-off-by: Jonathon Anderson <janderson@ciq.com>
2024-01-24 15:11:21 -07:00
jason yang
d262ec10ef Add container rename support
Signed-off-by: jason yang <jasonyangshadow@gmail.com>
2024-01-24 15:11:16 -07:00
Jonathon Anderson
5d6ef1882d Remove whitespace damage
Signed-off-by: Jonathon Anderson <janderson@ciq.com>
2024-01-21 00:18:38 -07:00
Christian Goll
bd54993e16 refactored FindFiles
Previous version relied on fspath.Math which didn't match
nested sub directories.

Signed-off-by: Christian Goll <cgoll@suse.com>
2024-01-17 23:23:15 -07:00
Christian Goll
11b26e7e8c added symlink testing
Signed-off-by: Christian Goll <cgoll@suse.com>
2024-01-17 23:23:15 -07:00
Christian Goll
36686d4455 fixed kmod creation
Signed-off-by: Christian Goll <cgoll@suse.com>
2024-01-17 23:23:15 -07:00
Christian Goll
67e526d726 added test and reafctorred kernel.Build
Signed-off-by: Christian Goll <cgoll@suse.com>
2024-01-17 23:23:15 -07:00
Jonathon Anderson
a602971146 Avoid reporting an empty "from" value
Signed-off-by: Jonathon Anderson <janderson@ciq.com>
2024-01-17 23:12:35 -07:00
Christian Goll
d6ef1a86ce prpfiles can be exluded with ~ prefix
Used the ~ as prefix as ! will mess up with yaml syntax

Signed-off-by: Christian Goll <cgoll@suse.com>
2024-01-17 22:04:05 -07:00
Christian Goll
85eaa20708 overlays from different profiles are merged
If a node contains several profiles and these profiles have
overlays attached, these profiles are now merged. Overlays
can't be excluded as this can not be displayed to the user

Signed-off-by: Christian Goll <cgoll@suse.com>
2024-01-17 21:51:05 -07:00
Christian Goll
725176cfed cleanup code after review
Signed-off-by: Christian Goll <cgoll@suse.com>
2024-01-17 18:02:04 -07:00
Christian Goll
4379c4c18d use grub/shim from host system
Also the boot method is now configured globaly as this is
the only way to make sure that unkonwn nodes get the right
stuff

Signed-off-by: Christian Goll <cgoll@suse.com>
2024-01-17 18:02:04 -07:00
Christian Goll
724441dc79 added test for shim and efi send
Signed-off-by: Christian Goll <cgoll@suse.com>
2024-01-17 18:02:04 -07:00
Christian Goll
0c9bf78cd0 using ProvisionSend instean of GrubSend
Signed-off-by: Christian Goll <cgoll@suse.com>
2024-01-17 18:02:04 -07:00
Christian Goll
60dc8f6251 enable grub boot for all nodes
Signed-off-by: Christian Goll <cgoll@suse.com>
2024-01-17 18:02:04 -07:00
Christian Goll
03ef7447e9 copy shim/grub on default profile container change
Signed-off-by: Christian Goll <cgoll@suse.com>
2024-01-17 18:02:04 -07:00
Christian Goll
2fe98e5f55 default profile needs to have a container
Signed-off-by: Christian Goll <cgoll@suse.com>
2024-01-17 18:02:04 -07:00
Christian Goll
a36cb23319 added shim/grub find to provision process
Signed-off-by: Christian Goll <cgoll@suse.com>
2024-01-17 18:02:04 -07:00
Christian Goll
5efaf6d9f5 added extra OUTPUT level
Signed-off-by: Christian Goll <cgoll@suse.com>
2024-01-15 23:22:00 -07:00
Christian Goll
aaadf26b90 separate writer for wwlog.Info
Signed-off-by: Christian Goll <cgoll@suse.com>
2024-01-15 23:13:03 -07:00
Christian Goll
72b7f0aa5c Merge pull request #1017 from brianphan/fix-10-persistent-net-link
Update 10-persistent-net.link.ww
2023-12-22 11:00:24 +01:00
Jonathon Anderson
feeb6211af Remove device: eth0 from dummy interface
With eth0 specified as the default interface device, all interfaces by default
were attempted to be renamed to eth0. This didn't break before because device
renaming wasn't working for multiple interfaces in general; but now that it's
fixed, we should no longer be setting a default interface name.

Signed-off-by: Jonathon Anderson <janderson@ciq.com>
2023-12-21 22:11:44 -07:00
Jonathon Anderson
6e93e8f3a8 Fix relative ipxe paths
IPXESOURCE is pointing to /usr/share/ipxe/ by default, so the `ipxe/`
directory should not be included in the compiled-in relative defaults.

Fixes a bug in #1010

Signed-off-by: Jonathon Anderson <janderson@ciq.com>
2023-12-21 20:21:49 -07:00
Christian Goll
0e6c67b87c Merge branch 'main' into distro-ipxe 2023-12-21 08:09:36 +01:00
jason yang
5785d15497 enable the build flag
Signed-off-by: jason yang <jasonyangshadow@gmail.com>
2023-12-12 17:29:50 -07:00
jason yang
231987ecfc fix a bug when replacing existing containers
Signed-off-by: jason yang <jasonyangshadow@gmail.com>
2023-12-12 17:06:28 -07:00
Jonathon Anderson
9c698d7a13 Merge pull request #932 from mslacken/WarnNotErr
warn and don't show scary error on syncuids
2023-12-09 02:19:03 -07:00
Christian Goll
77c33c777e Warn and don't show a scary error in syncuser
Signed-off-by: Christian Goll <cgoll@suse.com>
2023-12-09 02:12:46 -07:00
Christian Goll
7de3c1c5cd Don't panic on malformed passwd
Fixes #527

Signed-off-by: Christian Goll <cgoll@suse.com>
2023-12-09 02:05:53 -07:00
Christian Goll
d23e67970d Support importing container with symlinked shell
Fixes #797

Signed-off-by: Christian Goll <cgoll@suse.com>
2023-12-09 01:59:05 -07:00
Christian Goll
8323cb8aa7 moved initialization of ConfigFile to New()
setting the ConfigFile (location of nodes.conf) in init()
led to the situation that a configured Paths.Sysconfdir is ignored.

Signed-off-by: Christian Goll <cgoll@suse.com>
2023-12-09 01:47:15 -07:00
Jonathon Anderson
038329ebce Remove ipxe binaries and configure for Rocky Linux
Signed-off-by: Jonathon Anderson <janderson@ciq.com>
2023-12-09 01:29:48 -07:00
Christian Goll
8cbeb25c8b seperate the path for the iPXE binaries
Signed-off-by: Christian Goll <cgoll@suse.com>
2023-12-08 22:38:43 -07:00
Jonathon Anderson
64d0d54c92 Fix some formatting errors with make fmt
Signed-off-by: Jonathon Anderson <janderson@ciq.com>
2023-12-08 21:18:14 -07:00
Christian Goll
183f8e479c Propagate paths to overlays and use for wwclient
Signed-off-by: Christian Goll <cgoll@suse.com>
2023-12-08 21:09:47 -07:00
Andreas Skau
c635fecbc6 Almost missed a : 2023-12-04 22:18:13 +01:00
Andreas Skau
663f2e64ec Removed deprecated Sets as requested in PR#999 2023-12-04 22:08:06 +01:00
Andreas Skau
10976a7e5d Delinted 2023-12-04 15:58:26 +01:00
Andreas Skau
214848c75e Add IPMI escape char functionality 2023-12-04 15:42:01 +01:00
Jonathon Anderson
c8604bc200 Remove testenv.WriteFileAbs
Writing absolute file names in testenv breaks safety that files in the
test environment are written to the designated temporary path. Adjusted
the relevant tests to use testenv.WriteFile.

Signed-off-by: Jonathon Anderson <janderson@ciq.com>
2023-11-25 23:54:44 -07:00
Christian Goll
f8805e87a4 merge tags in GetterFrom
Signed-off-by: Christian Goll <cgoll@suse.com>
2023-11-25 01:54:02 -07:00
Christian Goll
5d25b3a4a6 added explicit tests for overlay commands
Signed-off-by: Christian Goll <cgoll@suse.com>
2023-11-25 01:54:02 -07:00
Christian Goll
7f502c1f8a added test for tag from profile
Signed-off-by: Christian Goll <cgoll@suse.com>
2023-11-25 01:54:02 -07:00
Jonathon Anderson
2b49bcad27 Expand test descriptions and simplify some tests
As part of reviewing this PR, I expanded the test definitions to make it
easier to discern the intent of each test at a glance. In so doing I
understood most tests behaving as normal, but I did make a few small
changes:

- Some tests no longer produce any errors, so remove this variable from
  the test definitions.
- Replace comma-separated overlay definitions with explicit slices.
  Splitting comma-separated strings led to erroneous behavior where a
  null overlay list was processed as a single null overlay rather than
  an empty slice.

Signed-off-by: Jonathon Anderson <janderson@ciq.com>
2023-10-25 22:35:49 -06:00
Christian Goll
767be4fd8c refactored util_test.go to test on real files
Signed-off-by: Christian Goll <cgoll@suse.com>
2023-10-25 22:35:49 -06:00
Christian Goll
242276bba9 fixed tests and added explcit error handling
Signed-off-by: Christian Goll <cgoll@suse.com>
2023-10-25 22:35:49 -06:00
Christian Goll
e90616cafb calling the overlay build functions direclty
The warewulfd process called `wwctl build -O [system|runtime] node`
if autobuild was set. This created [system|runtime].img which isn't
supported with the build model. Calling now BuildOverlay directly

Signed-off-by: Christian Goll <cgoll@suse.com>
2023-10-25 22:35:45 -06:00
Jonathon Anderson
42842aeee1 Format entire source code using make fmt
Signed-off-by: Jonathon Anderson <janderson@ciq.com>
2023-10-23 17:56:20 -06:00
Christian Goll
539002088c check if entry has real value in recursive getter
Signed-off-by: Christian Goll <cgoll@suse.com>
2023-10-14 02:52:53 -06:00
Christian Goll
951dd13866 no error if images for containers don't exist
Signed-off-by: Christian Goll <cgoll@suse.com>
2023-10-14 02:26:03 -06:00