Commit Graph

103 Commits

Author SHA1 Message Date
griznog
e13cdb35ff An ipxe script to boot from local disk. 2024-01-26 09:08:16 -06: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
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
0c9bf78cd0 using ProvisionSend instean of GrubSend
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
4cacd0ef75 added grub.cfg.ww
Signed-off-by: Christian Goll <cgoll@suse.com>
2024-01-17 18:02:04 -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
27563db856 added genders examples 2023-05-23 16:48:13 +02:00
Christian Goll
063c05602d Merge pull request #665 from mslacken/ContainerMnt
Container mnt
2023-02-24 15:13:12 +01:00
Jonathon Anderson
18c89d7a6e Remove static-dhcp example
The original intent of this example appears to now be included in the real /
default dhcp template included in the host overlay. If I'm understanding
correctly, the presence of this example is just a source of confusion now. (I
previously directed someone to use this example config, overwriting what's in
the default overlay, because I didn't realize that static-dhcp functionality
was just a configuration parameter away.)

Signed-off-by: Jonathon Anderson <janderson@ciq.co>
2023-02-07 16:11:56 -07:00
Christian Goll
f5b35f7ef8 do not copy resolv.conf, but mount it 2023-01-31 16:04:08 +01:00
Jonathon Anderson
3ad4b42896 Treat wwapi config files as built versions
The wwapi*.conf files are build from .in variants, so they should not be
tracked in the tree. Adding them to gitignore prevents them from being
added back in, and adding them to Makefile:clean cleans them up.

Signed-off-by: Jonathon Anderson <janderson@ciq.co>
2022-12-14 00:23:50 -07:00
Jonathon Anderson
78b857a3e4 Whitespace cleanup
Removes trailing whitespace from all source files.

Signed-off-by: Jonathon Anderson <janderson@ciq.co>
2022-12-08 18:59:56 -07:00
Jonathon Anderson
77baa76dc0 Remove unnecessary config parameter examples
warewulf.datastore is being set to a null string, which is simply
prompting it to use the default.

dhcp.template doesn't appear to be used any more, now that dhcp
configuration has moved into the host overlay.

tftp.tftproot doesn't appear to be doing anything, is simply setting to
the empty string anyway, and is otherwise compiled-in.

Signed-off-by: Jonathon Anderson <janderson@ciq.co>
2022-08-24 04:47:56 -06:00
Ingo Meyer
ceccca1413 Fix the boot process for Legacy BIOS machines
GitHub PR #235 adds an advanced boot mechanism for UEFI machines which
causes old Legacy BIOS nodes to hit the 3 GB RAM barrier in 32 Bit iPXE
very quickly. Therefore, detect if an EFI or Legacy BIOS is loaded and
fall back to the old boot path in the second case.

This commit fixes GitHub issue #497.
2022-07-21 17:39:20 +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
664fdd3f35 finally add the contents to prometheus 2022-06-08 17:04:30 +02:00
Gregory Kurtzer
c8b6c24d6c Removing compression (again) from initrd PXE 2022-05-26 19:56:04 -07:00
Gregory Kurtzer
27ea7f2022 Update to new PXE which should support imgextract 2022-05-26 19:55:00 -07:00
Gregory Kurtzer
6ccc3ceecb Readded compression to the GET request
This works around an out of memory issue reported in IRC from
Norm Gaywood (thanks Norm!)
2022-05-25 23:10:10 -07:00
Gregory Kurtzer
419cb1487c revert my change to always send compressed image 2022-05-25 14:48:29 -07:00
Gregory Kurtzer
d3e59d55fe Minor change as sending uncompressed images doesn't seem necessary.
This can be reverted if I'm missing something in #423.
2022-05-24 22:16:27 -07:00
Gregory Kurtzer
25293267f2 Added runtime overlay back to default ipxe template with some cleanups 2022-05-24 21:57:27 -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
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
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
jcsiadal
d7e309ef1d Fix /opt defaults in warewulf.conf
Signed-off-by: jcsiadal <jeremy.c.siadal@intel.com>
2022-05-05 03:29:53 +00:00
Christian Goll
efb116919f enable host overlays, inform users if not enabled 2022-05-04 10:16:38 +02:00
Christian Goll
e0681148e9 compiling config_defaults, unmarshall all values 2022-04-07 12:43:16 +02:00
jcsiadal
bd3edb9e7f Udated constructors/mods
Signed-off-by: jcsiadal <jeremy.c.siadal@intel.com>
2022-04-04 16:13:09 +00:00
Gregory M. Kurtzer
e783fabbf9 Merge pull request #320 from griznog/container_kernel_integration
Handle KernelOverride conditionally in ipxe scripts
2022-02-27 19:07:55 -08:00
Gregory Kurtzer
d37caa7f16 Merge branch 'main' of github.com:hpcng/warewulf into jcsiadal-loops 2022-02-27 18:06:34 -08:00
Christian Goll
f0075fb94c remved hosts.tmpl as not needed any more 2022-02-26 22:39:50 +00:00
Christian Goll
9b7c0e9f05 added a example for slurm.conf.ww 2022-02-26 22:39:50 +00:00
Christian Goll
c8c2f2ec90 add prometheus example 2022-02-26 22:39:50 +00:00
Christian Goll
eeb062cf85 moved dhcpd configuration to host templating 2022-02-26 22:39:50 +00:00
griznog
580d402b57 Make displaying the kernel handle the default case when an override is
not specified.
2022-02-24 13:22:50 -06:00
Gregory Kurtzer
5a0c13225e Utilize containerized kernel and remove kernel Support 2022-02-15 06:49:24 +00:00
Gregory Kurtzer
7f9216bdd8 Added the runtime overlay request to the default PXE template 2022-02-09 20:11:03 +00:00
Gregory M. Kurtzer
f562c28d5e Merge pull request #265 from MatthewHink/mhink-hosts
Fix network name in /etc/hosts. Fixes #247.
2022-02-07 16:02:09 -08:00
MatthewHink
f8f689bc99 Fix network name in /etc/hosts. Fixes #247.
For hosts with ip addresses, the hosts file entry should be:
<ip> <node_name>-<net-name> <node_name>-<network_device>

For the default network interface, the node name is included as well:
<ip> <node_name> <node_name>-<net-name> <node_name>-<network_device>
2022-01-28 10:09:47 -05:00
Christian Goll
acabc491f7 nfs mount option must be defaults 2022-01-27 10:06:08 +01:00
Christian Goll
56fe1355ce runtme overlay can only be downloaded by wwclien 2022-01-26 17:28:08 +01:00
Gregory Kurtzer
84b618fb7b Fixed booting issues with /bin directory existing in overlay. 2022-01-26 01:59:34 +00:00
Gregory Kurtzer
b068c187af Update wwclient to send hwaddr and asset/uuid tags 2022-01-24 01:29:05 +00:00
Gregory Kurtzer
d9c13c3f36 Initial commit of asset key tag security check 2022-01-24 00:32:02 +00:00
Gregory Kurtzer
c0d6a16a6f Remove unused config path options 2022-01-15 04:11:11 +00:00
Gregory Kurtzer
8da7dd415a Extend and optimize relocatable build config infrastructure 2022-01-15 04:00:18 +00:00
jcsiadal
8e626e9a62 Add config option for shared state dir
Signed-off-by: jcsiadal <jeremy.c.siadal@intel.com>

Changes default share to /srv/warewulf
Update specfile
Some changes to match Golang standards
2022-01-11 05:52:58 +00:00