Commit Graph

50 Commits

Author SHA1 Message Date
Jonathon Anderson
a18913924d Benchmarking for wwctl overlay build
- 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>
2024-12-25 12:34:23 -07:00
Jonathon Anderson
c244adc7f6 Performance improvements for overlay build
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>
2024-12-25 08:48:14 -07:00
Jonathon Anderson
a59403ab3b Parallel overlay builds
- Closes #1018

Signed-off-by: Jonathon Anderson <janderson@ciq.com>
2024-12-25 08:48:14 -07:00
Jonathon Anderson
eace23802f Remove wwctl overlay build --host #1419
Remove the ability to "build" the host overlay with `wwctl overlay
build`. This also obsoletes the `--nodes` flag, which is also removed.

Signed-off-by: Jonathon Anderson <janderson@ciq.com>
2024-11-24 22:48:19 -07:00
Jonathon Anderson
e80c639b11 Convert config to *bool
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>
2024-11-11 00:09:48 -07:00
xu yang
97c6772e51 Return non-zero exit code on overlay sub-commands
Signed-off-by: xu yang <xyang@ciq.com>
2024-10-30 20:51:44 -06:00
Jonathon Anderson
30ac144044 Restored profile list tests and resolved exposed bugs
Signed-off-by: Jonathon Anderson <janderson@ciq.com>
2024-10-17 23:58:37 -04:00
Christian Goll
0c6e7cc58a fixes for split overlays
Signed-off-by: Christian Goll <cgoll@suse.com>
2024-10-17 15:39:54 -04:00
Christian Goll
457c7c16b1 wwctl commands without NodeInfo
mostly remove Get and calls for the id

Signed-off-by: Christian Goll <cgoll@suse.com>
2024-10-17 13:35:42 -04:00
Jonathon Anderson
e9d3ad717c Move umasking for overlay images to wwctl
Signed-off-by: Jonathon Anderson <janderson@ciq.com>
2024-09-27 11:53:19 -06:00
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
a1832ad8c1 Complete transfer of Warewulf from HPCng
Warewulf is now being maintained in its own GitHub organization at
github.com/warewulf

Signed-off-by: Jonathon Anderson <janderson@ciq.com>
2024-01-26 21:35:04 -07:00
jason yang
c0b9c0996a move hostlist code into internal folder
Signed-off-by: jason yang <jasonyangshadow@gmail.com>
2024-01-24 22:00:07 -07: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
Jonathon Anderson
70292276e2 Rename BaseConf.New to BaseConf.Get
Since BaseConf.New could return a cached BaseConf, rather than always
constructing a new struct, I've renamed it to Get to more accurately
reflect its use. A new New() method is called by Get and always
initializes a new struct.

Signed-off-by: Jonathon Anderson <janderson@ciq.co>
2023-04-19 14:02:43 -06:00
Jonathon Anderson
c461e65a98 Rename pkg/warewulfconf to pkg/config
Signed-off-by: Jonathon Anderson <janderson@ciq.co>
2023-04-19 14:02:43 -06:00
Christian Goll
78978ad233 added warewulfconf as command line parameter
the environment variable WAREWULFCONF is also recognized

Signed-off-by: Christian Goll <cgoll@suse.de>
2023-03-03 11:18:49 +01:00
Christian Goll
e4eabd036e build host overlay only if requested 2023-02-01 11:35:00 +01:00
Jonathon Anderson
0b3e862bea Remove trailing newline from wwlog
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>
2022-09-15 12:38:03 -06:00
Jonathon Anderson
22910958b5 Replace all instances of wwlog.Printf
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>
2022-09-11 08:00:23 -06:00
Carter Dodd
97c24e22f7 fixup for backward compatible case 2022-06-04 12:13:13 -05:00
Carter Dodd
f14f339576 fixups 2022-06-04 11:42:16 -05:00
Carter Dodd
fc8d3863d8 use wwctl to re-build provision overlays, update to pass overlaynames 2022-06-04 11:14:48 -05:00
mslacken
01f2f4fc99 filter out nodes acordiing to their overlays 2022-05-12 21:23:37 +02:00
Christian Goll
bfec010e5d only build assigned overlays
If a overlay should be build, check if the overlay is assigned to
a node, and return error if otherwise.
2022-04-26 10:24:52 +02:00
Christian Goll
2d2fb13423 warewulf.conf option disable host overlays 2022-03-30 17:23:38 +02:00
Christian Goll
dfd39ae663 shell completion for wwctl voerlay build 2022-03-17 12:42:34 +01:00
Christian Goll
0d62a26368 wwctl overlay buld fixes 2022-03-16 17:28:04 +01:00
Christian Goll
9dbf371174 overlay build allow output to given dir 2022-03-16 12:23:33 +01:00
Christian Goll
1098771c83 allow the build of specific overlays 2022-03-11 15:03:15 +01:00
Christian Goll
afac77dbbe allow multiple generic and wwinit overlays 2022-03-11 11:50:38 +01:00
Christian Goll
3a200a43f7 Added overlay build option to wwctl 2022-02-26 22:39:50 +00:00
Gregory Kurtzer
00d8d42e9d First pass at a rework of the overlay subsystem in Warewulf 2021-12-29 16:11:25 -08:00
jcsiadal
0b93d6c277 Update help
Signed-off-by: jcsiadal <jeremy.c.siadal@intel.com>
2021-11-08 11:36:21 -08:00
jcsiadal
de2c882ba1 Replace HTML in help
Signed-off-by: jcsiadal <jeremy.c.siadal@intel.com>
2021-10-28 17:48:16 -07:00
Gregory Kurtzer
71b9ea714f Fix for overlay builds 2021-09-17 21:48:39 -07:00
Gregory Kurtzer
3137f477bf UI updates to include "overlay kind" 2021-09-13 13:28:44 -07:00
WestleyR
4edc16953e Fix linting issues 2021-09-07 20:48:51 -07:00
Michael L. Young
e171eae858 Clean up typos from copy and paste 2021-08-25 07:59:35 -04:00
Ian Kaneshiro
846b45524c Tidy up
- Ran goimports to format code and imports
- Removed unused module from go.mod
- Added .editorconfig to keep formatting standard across contributors
2021-02-16 11:54:12 -08:00
Gregory Kurtzer
e4ec4b0ffd Removed minimum args requirement so we can do `--all. 2021-02-04 18:06:15 -08:00
Gregory Kurtzer
72b1d8c9d8 UI Updates with a few minor fixups scattered here and there 2021-01-14 20:23:42 -08:00
Gregory Kurtzer
43ad7e570c API updates and fixes to CLI 2020-12-01 23:34:24 -08:00
Gregory Kurtzer
3caeac0c9d Updates to overlay cli for NodeDB updates 2020-11-26 19:18:28 -08:00
Gregory Kurtzer
a4d2e3a0c8 This is a work in progress, some of which will be reverted like overlay handling. 2020-11-25 23:58:38 -08:00
Gregory Kurtzer
e5e23b5868 Changed backend node API to account for default and overrides for UI 2020-11-23 23:11:20 -08:00
Gregory Kurtzer
221e71b384 A bunch of changes including reworking the assets -> node API 2020-11-20 17:59:06 -08:00
Gregory Kurtzer
724e1de14c Setup kernel support 2020-11-18 21:52:03 -08:00
Gregory Kurtzer
ed7dbdaf32 Fleshed out the framework of most of the wwctl overlay command group. 2020-11-17 21:50:27 -08:00