voxpupuli / puppet-pxe

Puppet module for deploying a PXE boot server
https://forge.puppet.com/puppet/pxe
51 stars 38 forks source link

Patch 1 #65

Closed freiheit closed 2 years ago

freiheit commented 4 years ago

Pull Request (PR) description

Adds ldlinux.c32 and libutil.c32 to the files copied from syslinux to tftp area

This Pull Request (PR) fixes the following issues

Issue: N/A

These are required for booting. At least with the syslinux that comes on RHEL8 PXE booting a vmWare guest.

Example of successful PXE boot's logs:

Oct 28 17:36:09 vmc-lnx-mgmt-1 in.tftpd[4164872]: Client 10.161.16.61 finished pxelinux.0
Oct 28 17:36:09 vmc-lnx-mgmt-1 in.tftpd[4164879]: Client 10.161.16.61 finished /syslinux/ldlinux.c32
Oct 28 17:36:09 vmc-lnx-mgmt-1 in.tftpd[4164890]: Client 10.161.16.61 finished pxelinux.cfg/default
Oct 28 17:36:09 vmc-lnx-mgmt-1 in.tftpd[4164892]: Client 10.161.16.61 finished /syslinux/menu.c32
Oct 28 17:36:09 vmc-lnx-mgmt-1 in.tftpd[4164894]: Client 10.161.16.61 finished /syslinux/libutil.c32
Oct 28 17:36:09 vmc-lnx-mgmt-1 in.tftpd[4164895]: Client 10.161.16.61 finished pxelinux.cfg/default
Oct 28 17:36:10 vmc-lnx-mgmt-1 in.tftpd[4164897]: Client 10.161.16.61 finished /syslinux/menu.c32
Oct 28 17:36:10 vmc-lnx-mgmt-1 in.tftpd[4164899]: Client 10.161.16.61 finished /syslinux/libutil.c32
Oct 28 17:36:10 vmc-lnx-mgmt-1 in.tftpd[4164900]: Client 10.161.16.61 finished pxelinux.cfg/menu_install
Oct 28 17:36:11 vmc-lnx-mgmt-1 in.tftpd[4164902]: Client 10.161.16.61 finished /syslinux/menu.c32
Oct 28 17:36:11 vmc-lnx-mgmt-1 in.tftpd[4164904]: Client 10.161.16.61 finished /syslinux/libutil.c32
Oct 28 17:36:11 vmc-lnx-mgmt-1 in.tftpd[4164905]: Client 10.161.16.61 finished pxelinux.cfg/os_centos
Oct 28 17:36:13 vmc-lnx-mgmt-1 in.tftpd[4164906]: Client 10.161.16.61 finished images/centos/8/x86_64/vmlinuz
Oct 28 17:36:20 vmc-lnx-mgmt-1 in.tftpd[4164907]: Client 10.161.16.61 finished images/centos/8/x86_64/initrd.img
ghoneycutt commented 4 years ago

@freiheit I think you want these to be optional. Since this worked before without the extra files, by adding them current users will get failures as they might not have those two new files in their $syslinux_dir. A common design pattern is to add a boolean parameter named manage_<something> with the default set to false. Suggest adding manage_ldlinux and manage_lbutil parameters.