Foreman 2.5.2 provisioning Centos 7 quick-start?

New Foreman install, puppet is working fine, trying to provision my first host. (Centos 7).

Based on the provisioning manual, I thought this should work out of the box… at least for an basic setup. DHCP is working, but TFTP is looking for a grub2/grubx64.elf file, which isn’t being served and I don’t even see on the Centos 7 DVD.

OS Templates
Host initial: Linux host_init_config default
Provisoining: Kickstart default
PXEGrub: Kickstart default PXEGrub
PXEGrub2: Kickstart default PXEGrub2

I’m sure I’m missing something very basic… is there a quick-start with step by step instructions? (I don’t see one)

Docs are at https://docs.theforeman.org/ in particular Provisioning Guide

Are you sure, that is the exact filename? Not .efi?

The filename should be sent by the dhcp server.

1 Like

Thanks for the reply… I’ve read through the provisioning guide a few times before I posted… there a lot of info there, but it builds on a lot of knowledge of how the boot and install processes work (that I don’t have at the moment), and doesn’t talk much about how the included templates work and which ones to use. That’s why a simple quick-start case would be helpful. (I think loading a bare-bones Centos system is a good choice, but really anything would be helpful to build on)

It looks like a lot of effort was placed in building the built-in templates (that’s why they’re locked), and I assume it’s supposed to work in a lot of cases out of the box… I just can’t figure out how and what those cases are.

yes, the filename from my dhcp log is grub2/grubx64.elf, not .efi. I don’t see anything like either on the Centos 7 DVD (or provided Centos 7 mirror URL)

BTW, if a quick-start guide doesn’t exist (and that appears to be the case), I’d be willing to write something… I know documentation is important, and it’s very hard for someone familiar with the system to write newbie docs!

Then check your dhcp server configuration. The filename is usually sent from the dhcp server. You have to find out where this grubx64.elf comes from to begin with.

update: I associated PXELinux Template “kickstart default pxelinux” with my OS and then a PXELinux configuration option showed up with the OS. I selected that, did a “Build PXE deafult” on the provisioning templates screen and now the client boots into an endless loop.

It was successfully downloading a /grub2/grub.cfg-[mac] file, then failing on a /httpboot/grub2/grub.cfg-[mac]. I added a symlink for httpboot and now both are successful, but still I’m in a boot loop.

I tried other Host+OS PXELoader options but Grub2 UEFI is the only one that doesn’t say manual configuration is required. I also see other forum posts about similar issues, but no solutions.

It’s impossible to help if you don’t give more details. What foreman version and plugin version?

What you are doing exactly where? There are several template related settings. Some are the templates in “Hosts - Provisioning Templates”, some are in “Hosts - Operating Systems” and some are in the actual host settings on the “Operating System” tab. So if you write “showed up with the OS” I really don’t know what you mean.

Also please, refrain from “fixing” things like:

You break things. If you are lucky, it’s doesn’t matter. Otherwise, it’s just broken and causes strange problems later which noone will really understand because you are not supposed to mess with the internals. If there is no httpboot directory then there is no httpboot directory and you think you really need it then open a topic on that and someone can take a lot and find out if it’s missing and what it’s supposed to look like and find out if it’s a bug or not which needs to be fixed…

So please, describe your exact configuration you have now. Changing random things is not helpful, at least in the context of a forum because it’s extremely difficult to follow what you have configured and what’s happening exactly.

Please post the logs from the foreman server, e.g. the tftp logs from the tftp server and the dhcp logs. From what you write it’s not really clear what are message from the booting host and what are messages you have picked up in places you don’t mention.

I have also wrote you have to check the dhcpd server configuration for the bogus filename. That name is not supposed to be there but it must have come from somewhere and either you have configured it this way or something else is broken. But without knowing where it is no one can tell.

So, please describe the current configuration, what you do exactly, what happens exactly with exact outputs and logs.

And also: what is your host? VM, hardware server? How is it booting? BIOS or UEFI?

1 Like

I’m using a fresh out-of-the-box Foreman 2.5.2 installation with puppet (not that I think that matters yet). I haven’t installed a plugin… maybe that’s the problem.

The auto-configured OS is Centos 7.9-2009.

My question boils down to with a brand new, stock Foreman 2.5.2 install, what’s the procedure to have it provision a stock Centos 7 host? Should this work out of the box or do you need to mess with templates?

The manual lists a lot of things, but it also says many things are not required… a quick-start of a stock install would help (and I’m willing to write it once I get it working) The Foreman installation was great. I and a working foreman + puppet fast. I guess I’m looking for similar instructions for provisioning.

My current target host is a VMware instance. I figured that’s faster than a physical box (they normally boot faster!). I have both available. Originally was BIOS boot and got closer with UEFI.

I can wipe my server and restart if we need a clean slate.