Commit Graph

2027 Commits

Author SHA1 Message Date
Christian Goll
4d1711f46f Merge pull request #898 from mslacken/PrimaryNetdev
Disable per-netdev primary flag
2023-09-13 11:51:49 +02:00
Christian Goll
c3a4eba514 Disable per-netdev primary flag
Primary network devices are now identified by a per-node attribute,
rather than a per-netdev boolean. While the legacy data can still be
parsed, the argument for setting the per-netdev boolean at the
command-line is no longer available.
Correct behavior is tested.

Signed-off-by: Christian Goll <cgoll@suse.com>
2023-09-13 11:31:04 +02:00
Christian Goll
3acac6077a Merge pull request #897 from mslacken/EphermalMount
Epehermal container mounts on same fs as chroot
2023-09-13 11:24:06 +02:00
Christian Goll
a3e40d62fd Merge pull request #902 from anderbubble/overlay-edit
Update overlay edit with tempfile and mtime
2023-09-11 11:56:55 +02:00
Christian Goll
2685cbf030 Merge pull request #900 from anderbubble/fix-build
Updated Makefile to account for vendor/ in dist
2023-09-11 11:54:41 +02:00
Christian Goll
e27aa9cbd4 Merge pull request #903 from anderbubble/896-overlay-names
Fix warewulfd for new contextual overlay names
2023-09-11 10:12:42 +02:00
Jonathon Anderson
2e4fc832c4 Update GitHub issue templates
Signed-off-by: Jonathon Anderson <janderson@ciq.com>
2023-09-08 18:37:22 -06:00
Jonathon Anderson
be4d3f9e78 Update CHANGELOG for changes to overlay names
Signed-off-by: Jonathon Anderson <janderson@ciq.com>
2023-09-08 17:40:05 -06:00
Christian Goll
791159c926 Merge pull request #853 from mslacken/fixBuildNoNetwork
fix SIGSEV if build host has no network
2023-09-07 12:21:22 +02:00
Christian Goll
c98be14fe6 Merge branch 'development' into fixBuildNoNetwork 2023-09-07 12:21:12 +02:00
Christian Goll
39d42c6b97 added @Kangie to Contribnutors
Signed-off-by: Christian Goll <cgoll@suse.com>
2023-09-07 12:17:10 +02:00
Christian Goll
b8c75b1578 Merge pull request #908 from hpcng/revert-906-fix-ip-lookup
Revert "add error handling to dynamic network configuration"
2023-09-07 12:13:42 +02:00
Christian Goll
bb0c37763b Revert "add error handling to dynamic network configuration" 2023-09-07 12:09:23 +02:00
Christian Goll
7dc2061b20 Merge pull request #906 from Kangie/fix-ip-lookup
add error handling to dynamic network configuration
2023-09-07 12:07:53 +02:00
Matt Jolly
0364f1c9ca add error handling to dynamic network configuration 2023-09-07 19:54:17 +10:00
Christian Goll
f1eab8c363 Merge pull request #827 from mslacken/gendersTemplate
added genders examples
2023-09-06 14:16:50 +02:00
Christian Goll
1e13d5025e Merge branch 'development' into gendersTemplate 2023-09-06 14:08:09 +02:00
Christian Goll
bb160363dd Merge pull request #904 from ArnaudLcm/feature/canary
Canary feature & Little Makefile fix
2023-09-06 11:18:39 +02:00
Arnaud LECOMTE
aeb7793fba Switching cp to copy 2023-09-05 14:37:29 +02:00
Jonathon Anderson
9cf47da963 Fix warewulfd for new contextual overlay names
The recent PR #883 replaced the standard overlay naming convention with
static names for each of the runtime and wwinit/system contexts; but the
method by which it left the "legacy" naming convention in place led to a
bug where warewulfd was still attempting to serve overlays with the
previous naming convention, though this name wasn't being built.

This PR refactors contextual overlay image naming to be, I think, a more
typical golang pattern, and updates affected code to match.

This PR also included tests for all functions modified by this change.

Fixes #896

Signed-off-by: Jonathon Anderson <janderson@ciq.com>
2023-09-02 11:18:38 -06:00
Jonathon Anderson
6df8b4907b Add cleanproto target
Signed-off-by: Jonathon Anderson <janderson@ciq.com>
2023-09-01 07:31:51 -06:00
Jonathon Anderson
ebe676c385 Separate proto golang files in Makefile
Signed-off-by: Jonathon Anderson <janderson@ciq.com>
2023-09-01 07:27:47 -06:00
Jonathon Anderson
39a463c152 Fix missing definition of cleantools target
Signed-off-by: Jonathon Anderson <janderson@ciq.com>
2023-09-01 02:58:11 -06:00
Jonathon Anderson
f6ea3a21a8 Update protoc metadata after extraction
`unzip` preserves the mtime from the zipfile by default. Touching the
file during `make` ensures that `make` can track when the file was
fetched.

Signed-off-by: Jonathon Anderson <janderson@ciq.com>
2023-09-01 02:51:43 -06:00
Jonathon Anderson
87bcec1cb2 Simply detection of PROTOC archive file name
The introduction of a new ARCH variable was unnecessary, as ARCH already
exists. That said, the .zip provided for PROTOC isn't a natural fit
here either, as upsream uses `aarch_64` rather than `aarch64`.

In stead, I've used `notdir` to get the filename from the
already-defined `PROTOC_URL`.

Signed-off-by: Jonathon Anderson <janderson@ciq.com>
2023-09-01 02:49:40 -06:00
Jonathon Anderson
7e4e2a3f71 Fix and update initial overlay template
Signed-off-by: Jonathon Anderson <janderson@ciq.com>
2023-08-31 17:44:46 -06:00
Jonathon Anderson
41f86f7f58 Separate man_pages into new docs target
This allows `make` and `make all` to avoid unnecessary repeat builds,
and saves automatic generation of man pages for `install`.

Signed-off-by: Jonathon Anderson <janderson@ciq.com>
2023-08-31 17:06:47 -06:00
Jonathon Anderson
bfe9804296 Define a config variable in Makefile
Using a `config` variable in target dependencies allows the underlying
targets to be referenced properly, rather than passing through a "phony"
`config` target. This allows dependent targets to not have to re-run if
their dependencies have remained static, as expected.

Signed-off-by: Jonathon Anderson <janderson@ciq.com>
2023-08-31 16:35:24 -06:00
Jonathon Anderson
67a39061ae Move all target to top of Makefile
The `all` target should be the default for make; but placing it after
the `include` directives allowed the targets within the included files
to take precedence.

Moving `all` before the `include` directives restores it to default
status.

I also used this opportunity to restore the `build` target as the
defining target, and then just set up a dependency between `all` and
`build`.

Signed-off-by: Jonathon Anderson <janderson@ciq.com>
2023-08-31 16:35:24 -06:00
Jonathon Anderson
1047032bae Updated Makefile to account for vendor/ in dist
The previous PR #890 introduced a `Defaults.mk` target for defining
default variables for future calls to `make`. This functionality was
already present in a different form, but this new "real" target had an
unintended side-effect of causing the target to be called automatically
at reference, even the optional reference `-include Defaults.mk`. This
is undesirable as it causes the generation of defaults even during a
`make clean`.

This commit resolves these issues and further refactors the Makefile,
building on the work in #890, but with additional understanding:

* Convert the `Defaults.mk` target to the "phony" `defaults` target,
  preventing automatic generation
* Refactor and split `clean` targets
* Update `cleanvendor` to reflect `OFFLINE_BUILD`, similar to the
  `vendor` target
* Move "tools" targets into `Tools.mk`
* Add `ARCH` to `Variables.mk` for architecture-specific actions

Signed-off-by: Jonathon Anderson <janderson@ciq.com>
2023-08-31 16:35:21 -06:00
Jonathon Anderson
575d0539d8 Fix a typo in Dockerfile
Signed-off-by: Jonathon Anderson <janderson@ciq.com>
2023-08-31 16:32:40 -06:00
Jonathon Anderson
fb49b6082e Update overlay edit with tempfile and mtime
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>
2023-08-31 15:55:18 -06:00
Arnaud Lecomte
f2392f6e37 Updating documentation & API endpoint for container copy 2023-08-28 08:39:15 +02:00
Arnaud Lecomte
b56f024e6f Core of image's duplication feature 2023-08-25 13:54:39 +02:00
Jonathon Anderson
84e97d2169 Merge pull request #868 from anderbubble/ciq-com
Update ciq.com URLs
2023-08-24 00:28:23 -06:00
Jonathon Anderson
2f06913483 Merge pull request #808 from hpcng/FixWWclient
fix warewulf.conf location for wwclient
2023-08-23 23:55:05 -06:00
Jonathon Anderson
ab537a8136 Update ciq.com URLs
Signed-off-by: Jonathon Anderson <janderson@ciq.co>
2023-08-23 14:51:11 -06:00
Christian Goll
7ac2970d83 fix warewulf.conf location for wwclient
Signed-off-by: Christian Goll <cgoll@suse.de>
2023-08-23 14:18:43 -06:00
Christian Goll
00ad5db153 Remove redundant entries from changelog
Signed-off-by: Christian Goll <cgoll@suse.de>
2023-08-23 14:16:52 -06:00
Brian Clemens
27b2107efb Merge pull request #901 from nap23carc/development-1 2023-08-23 21:43:20 +09:00
Nicholas Porter
9a8396adea Update el8.rst 2023-08-22 16:17:50 -06:00
Jonathon Anderson
071e5928de Merge pull request #786 from mslacken/DiskIgnition
disk support for warewulf
2023-08-22 14:36:57 -06:00
Jonathon Anderson
9058682b18 Add tests for disk data and ignition json
Signed-off-by: Jonathon Anderson <janderson@ciq.com>
2023-08-22 14:28:02 -06:00
Christian Goll
d060c3d447 Add ignition documentation
Signed-off-by: Christian Goll <cgoll@suse.de>
2023-08-21 16:19:13 -06:00
Christian Goll
2892781078 Update tested golang version
Signed-off-by: Christian Goll <cgoll@suse.de>
2023-08-21 16:19:13 -06:00
Christian Goll
d96c55022d Use systemd mount units for mounting ignition
Signed-off-by: Christian Goll <cgoll@suse.de>
2023-08-21 16:19:13 -06:00
Christian Goll
cfbb38d570 Use ignition as a systemd service
simple init.d ignition fails as systemd is needed to set up drivers,
etc.

Signed-off-by: Christian Goll <cgoll@suse.de>
2023-08-21 16:19:13 -06:00
Christian Goll
a7df560a30 Add json output for ignition
Signed-off-by: Christian Goll <cgoll@suse.com>
2023-08-21 16:19:13 -06:00
Christian Goll
45539a0d1f Recursive handling for command line flags
Every struct in a NodeConf with `lopt:"foo" set is now added as a
command-line flag with the RecursiveCreateFlags call. For maps a struct
with the key UNDEF is added so that it can be parsed out.

As the flags for the command-line need variables which hold the values,
for every map an element map[UNDEF] is added.  When now calling the
internal add, these map element can be filtered out and replace by the
given name. (e.g., --netname)

* rewrote node/profile add for recursive functions
* rewrote node/profile set for recursive functions
* rewrote node/profile list for recursive functions

Signed-off-by: Christian Goll <cgoll@suse.com>
2023-08-21 16:19:13 -06:00
Christian Goll
c55c5a2ac4 Add recursive setter functions
when transforming a NodeInfo struct to a NodeConf (set the NodeConf from
the NodeInfo) nested structures were seperately handled. This means a
there were seperate handles for e.g *Netdevs and *IpmiConfig. The new
getter traverses through the datastucture and sets the right value for a
Entry struct, but calls itself again if a Pointer is detected.

This adds the posiblity to add new nested structures to NodeConf and
NodeInfo without the need of seperately handling them in the transformer
functions.

Signed-off-by: Christian Goll <cgoll@suse.de>
2023-08-21 16:19:13 -06:00