Commit Graph

35 Commits

Author SHA1 Message Date
Jonathon Anderson
9a3e48fa37 Explicitly enforce the number or arguments accepted by some wwctl subcommands. #1717
Signed-off-by: Jonathon Anderson <janderson@ciq.com>
2025-03-24 21:06:07 -06:00
Jonathon Anderson
eff5565886 wwctl overlay args and completions
Signed-off-by: Jonathon Anderson <janderson@ciq.com>
2025-02-09 16:13:53 -07:00
Jonathon Anderson
4f83885c5b Show each overlay only once #1675
Signed-off-by: Jonathon Anderson <janderson@ciq.com>
2025-02-01 13:40:12 +01:00
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
c03dc9436b Add an Overlay type with helper methods
Signed-off-by: Jonathon Anderson <janderson@ciq.com>
2024-12-20 11:12:47 +01:00
Jonathon Anderson
ac49ecef70 Rename and refactor overlay constructor functions
- Reduces redundancy
- Adds clarity

Signed-off-by: Jonathon Anderson <janderson@ciq.com>
2024-12-20 11:12:47 +01:00
Jonathon Anderson
717241aa18 Add methods to config.New().Paths for site and distribution overlays
- SiteOverlaySourcedir() uses WWOverlaydir (/var/lib/warewulf/overlays)
- DistributionOverlaySourcedir() uses Datadir (/usr/share/warewulf/overlays)
- config.New().Warewulf.DataStore moved to config.New().Paths.Datadir
- FindOverlays() ignores missing distribution overlay directory

Signed-off-by: Jonathon Anderson <janderson@ciq.com>
2024-12-20 11:12:47 +01:00
Christian Goll
d5fc7e9320 introduce site overlays
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>
2024-12-20 11:12:41 +01:00
Christian Goll
0dd0317740 replaced errors.Wrap with fmt.Errorf
Signed-off-by: Christian Goll <cgoll@suse.com>
2024-11-07 22:57:29 -07: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
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
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
5d25b3a4a6 added explicit tests for overlay commands
Signed-off-by: Christian Goll <cgoll@suse.com>
2023-11-25 01:54:02 -07:00
Jonathon Anderson
db35d5a5e7 Correct header for overlay list -al
Fixes #485

Signed-off-by: Jonathon Anderson <janderson@ciq.co>
2023-01-31 11:59:40 -07: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
Christian Goll
69c058f106 added bash completion for overlay commands 2022-06-08 15:49:55 +02: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
Christian Goll
c0863e6a9f nouns for 'wwwctl overlay' 2021-09-28 11:30:15 +02:00
Gregory Kurtzer
204b88742a Make sure list has a minimum args of 1. 2021-09-13 22:26:49 -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
Gregory Kurtzer
a82e1b0ea5 Fixed formatting across entire project 2021-08-21 08:04:47 -07: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
72b1d8c9d8 UI Updates with a few minor fixups scattered here and there 2021-01-14 20:23:42 -08:00
Gregory Kurtzer
6cbaa29fbd Fixes for new API 2020-12-03 17:28:28 -08:00
Gregory Kurtzer
3caeac0c9d Updates to overlay cli for NodeDB updates 2020-11-26 19:18:28 -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
27441f77d3 Days updates, fixes, and UI updates 2020-11-18 17:41:10 -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
Gregory Kurtzer
85603ee947 Lots of changes including: wwctl overlay list and framework for other commands 2020-11-16 21:37:55 -08:00
Gregory Kurtzer
c39257a7ff Added some Cobra framework for new command groups as I'm thinking through the interface. 2020-11-13 21:29:22 -08:00