Commit Graph

478 Commits

Author SHA1 Message Date
Christian Goll
bd2543d484 relection test for comment 2022-07-07 11:28:27 +02:00
Christian Goll
9796e61678 Merge pull request #469 from mslacken/fix-468
fix nil map for networks
2022-07-06 21:38:55 +02:00
MatthewHink
d8cd6049ac Initial cut of wwapi.
We need an API for Warewulf in order to automate around it. The initial version of the API will look a lot like wwctl. wwctl will call the API so that we do not need to maintain separate code paths. In this preview wwctl calls the API via direct function call, but we can change that to a gprc or REST call to a Warewulf server in the future.

This commit contains:
wwapid WareWulf API Daemon. A grpc server with mTLS auth.
wwapic WareWulf API Client. A grpc client with mTLS auth. It's just a sample that reads the version from the server.
wwapird WareWulf API Rest Daemon. A http REST reverse proxy to wwapid.
There are also sample insecure and secure curls to test with.

Implemented Functionality:
wwctl node add
wwctl node delete
wwctl node list
wwctl node set
wwctl node status
wwctl container build
wwctl container delete
wwctl container import
wwctl container list
wwctl container show

Some notes on the files:

    Logic that was in wwctl has moved to warewulf/internal/pkg/api. wwctl just calls the API. wwctl functionality is unchanged.
    Everything under the /google directory is copied google proto code to stand up wwapird. It's a bit strange to copy in the code, but that is currently how it's done.
    Everything in warewulf/internal/pkg/api/routes/wwapiv1 is generated code.

There are some loose ends here, such as no service installers. I just ran off the command line for development.
The Makefile could use improvement. I'm building by make clean setup proto all build wwapid wwapic wwapird ; echo $?
I copied the configs from warewulf/etc to /usr/local/etc/warewulf manually.
2022-06-24 08:39:30 -07:00
Christian Goll
a13a00a03d fix nil map for networks 2022-06-24 17:20:47 +02:00
Christian Goll
d976e7fc31 Merge pull request #467 from mslacken/single-Overlay
enable overlay rendering
2022-06-24 09:50:14 +02:00
Christian Goll
3ced0e2836 add brackets for PrintB if its default 2022-06-23 12:35:19 +02:00
Gregory M. Kurtzer
4d44d3a299 Merge pull request #438 from kcdodd/fix/srvdisco
Fix server thread safety of discoverable node and overlay build
2022-06-09 22:18:23 -07:00
Gregory M. Kurtzer
1fb8ebd250 Merge pull request #444 from mslacken/fix-remove
Fix removal of values
2022-06-08 12:09:05 -07:00
Christian Goll
28de9f5220 addnil to remove option 2022-06-08 16:20:17 +02:00
Christian Goll
04551ef264 for removing a value an empty string is needed 2022-06-08 16:16:52 +02:00
Christian Goll
9e5b2d1aa3 added the wwctl overlay parse command
The `wwctl overlay parse -n NODE FILE` will interpret the given overlay file and print it stdout, via wwlog.PRINTF.
The overlay code had to be refactored for this, but hopefully this makes the code a bit more readable. Also the tstruct has not its own initilization code.
2022-06-08 15:10:46 +02:00
Christian Goll
dfe3f907b9 moved TemplateStruct init to own function 2022-06-08 15:10:43 +02:00
Christian Goll
1b02c89ca7 moved overlay parsing to own function 2022-06-08 15:08:43 +02:00
Christian Goll
ecea7a949f create symlink if target exists 2022-06-08 10:56:42 +02:00
Gregory M. Kurtzer
a641647ba3 Merge pull request #440 from aspfate/tftp-conf
can disable tftp services with warewulf.conf
2022-06-07 20:41:27 -07:00
Jean-Baptiste Denis
78144ba760 Correct typo in log messages 2022-06-07 16:51:03 +02:00
Carter Dodd
7eae65e13f Add process max reserve 2022-06-06 17:43:33 -05:00
Carter Dodd
3242d2998e fixups 2022-06-05 17:37:23 -05:00
Carter Dodd
30ba916703 Move overlay build logic to util, add limit to spawned processes 2022-06-05 17:28:14 -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
王子丹
b1b6c4a4d2 can disable tftp services with warewulf.conf 2022-06-03 21:07:45 +08:00
Carter Dodd
7caabc439d separate safe/unsafe db operations 2022-06-02 22:22:19 -05:00
Carter Dodd
04fb854aa7 fixup import 2022-06-02 20:20:03 -05:00
Carter Dodd
95ca053960 Lock server node db when updating discoverable node 2022-06-02 20:06:34 -05:00
Gregory Kurtzer
27ea7f2022 Update to new PXE which should support imgextract 2022-05-26 19:55:00 -07:00
Gregory Kurtzer
bf9ca54b8e Don't read in binary data blobs to memory before sending to HTTP writer 2022-05-25 23:11:26 -07:00
Gregory Kurtzer
e188edcf7a gofmt cleanup 2022-05-25 14:17:01 -07:00
Carter Dodd
9c5759c857 Remove new dhcp config options
Discussion indicated a need for more general handling of network config.
Avoids adding new options that may become deprecated in the near future.
2022-05-19 19:02:58 -05:00
Carter Dodd
7ecaae1361 Fix only serve/check Secure for runtime 2022-05-16 12:38:53 -05:00
Carter Dodd
118f20b01a Check error on init logging 2022-05-14 00:22:19 -05:00
Carter Dodd
42cc91162d Fix error handling in goroutine 2022-05-13 23:03:04 -05:00
Carter Dodd
a27be52e3f Fix unhandled errors 2022-05-13 22:33:29 -05:00
Carter Dodd
a36467b2a8 Merge upstream 2022-05-13 19:42:18 -05:00
Carter Dodd
379faad51d Refactor of server, logging, building of images, template updates
* Combine provision response handling, add hwaddr and interface to dhcp
* Simplify stage cases, add backward compatible uri parse
* Move control of image compression to client
* Fix kernel search path for ubuntu, buffer template generation
* Implement cpio and gz as functions, add log named functions
* Generalize fs image creation routine
* Combine daemonLogf to generalized wwlog
* Fix template newline insertion, update dhcp and hosts tmpl
* Update IPXE template to handle non-compressed files
* Update DHCP template to set network interfaces and server IP assignment
* Update DHCP/hosts templates to choose a host-name self-consistently
2022-05-13 16:52:59 -05:00
Christian Goll
8e88ac12e0 Merge pull request #404 from mslacken/only-build-assigned-overlays
only build assigned overlays
2022-05-13 10:06:19 +02:00
Christian Goll
76d8fb9088 Merge pull request #422 from mslacken/fix_syncuid
syncucer will only write witrh syncuser switch
2022-05-12 11:59:00 +02:00
Christian Goll
9c21f2bade Merge pull request #419 from jcsiadal/nodefault
Renames instances of "Default" to "Primary" in netdev source code
2022-05-12 11:58:47 +02:00
Christian Goll
80c92475b0 added backwards compatibilty for default 2022-05-12 11:51:00 +02:00
Christian Goll
2efcbe0348 syncucer will only write witrh syncuser switch
uid/gid are not synced at container import but checked. An apropriate
message is printed, regarding users which are not present on host.
The `wwctl container syncuser` needs the `--write` switch to actually
write to the container.

The command `wwctl container syncuser` will always operate at the
container level, but as the 'generic` overlay reads in the container
passwd/group, following two steps will update the passwd/group on a
running cluster:
1. Add passwd/group to container
wwctl container syncuser --write CONTAINER
2. Synchronize overlay
wwctl overlay build -N
2022-05-12 11:18:53 +02:00
Christian Goll
fea148903c Merge pull request #417 from mslacken/pretty-host-overlays
enable host overlays, inform users if not enabled
2022-05-06 16:46:46 +02:00
Christian Goll
3edb8d5294 Merge pull request #418 from mslacken/overlay-opts
add split for strings in overlays
2022-05-05 16:18:48 +02:00
Christian Goll
121c12b5e4 Readd BuildTimeUnix 2022-05-05 16:15:06 +02:00
Christian Goll
de819b5583 only add split function in templates 2022-05-05 16:13:01 +02:00
jcsiadal
4260c97552 Fix container excludes
Signed-off-by: jcsiadal <jeremy.c.siadal@intel.com>
2022-05-05 04:39:36 +00:00
jcsiadal
9b6b93a5cb Rename default to primary in src
Signed-off-by: jcsiadal <jeremy.c.siadal@intel.com>
2022-05-05 03:13:21 +00:00
Christian Goll
efb116919f enable host overlays, inform users if not enabled 2022-05-04 10:16:38 +02:00
Gregory M. Kurtzer
9cefa32198 Merge pull request #415 from gmkurtzer/minor_fixups_for_4.3.0
Minor fix ups for 4.3.0
2022-05-03 22:24:44 -07:00
Gregory M. Kurtzer
a7925cfeb5 Merge pull request #400 from jcsiadal/netdevfix
Fix wwctl bug deleting networks and ability to set default network
2022-05-03 22:04:53 -07:00
Gregory Kurtzer
dd1cf6f4a5 Don't force LC on node set
This makes it so we can never UNDEF/DELETE an entry as that requires
upper case. So we are doing the lower case now where it matters.
2022-05-03 21:53:47 -07:00