I'm new to Foreman.
First of all I would like to show my appreciation for your awesome
solution… thanks !
I would like (to help implement) the functionality of a PXEboot menu
option, as I need the following badly in my current organization:
A. provide my clients in OFFICE [Facter: boardproductname,ipaddress(check
if we are in OFFICE-VLANs)] with a service to self-reinstall latest
supported OS on their laptops from a PXEboot menu - if they accidentally
choose PXEboot during startup, it should boot from local HDD after a
defined timeout = no harm done (that is - if they don't choose anything
else in the PXEboot menu) - not possible in Foreman today if you need
multiple dynamic menus
B. provide my clients in LAB [Facter: boardproductname,ipaddress(check if
we are in LAB-VLANs)] with a service similar to clients in office but
provide a wide range of supported OS's - not possible in Foreman today if
you need multiple dynamic menus
C. install each servers in DC [Facter: macaddress,ipaddress(check if we are
in DC-server VLANs)] with a specific OS depending on MAC - possible in
D. install my hadoop servers in DC [Facter: ipaddress(check if we are in
DC-hadoop VLANs)] with a specific OS 100% unattended – not possible in
E. keep everything centralized (not have to implement another provisioning
Conclusion: we need Facter-based dynamic PXEboot menu options in
Puppet/Foreman to handle all scenarios !
To achieve this, I have thought of the following…
0. Client Bios settings (always: 1st=PXE ; 2nd=LocalBoot [HDD])
Client PXE boots
Puppet server microkernel loads
Facter information is send to Puppet server (inventory on all equipment
during boot time)
New clients only: yes:->4.1 ; no:->5.
4.1 $Facter_macaddress in DB: yes:LocalBoot ; no:->5.
PXEboot menu hardlink is created/changed/deleted based on configured
Facter rule values [~firewall rules]: (01:$Facter_macaddress →
Puppet server PXE loads
PXE webinterface menu (new, edit, delete)
Name Name of the PXEboot menu 32 chars
New_Client_Only Should this PXEboot menu only show to new clients checkbox
Facter rules What Facter rules should apply Facter prioritized “known
variables” + ”known possible values” multi dropdown
Boot images What images should available Multiselect dropdown
(PXEboot_menu_ID files will be created/deleted/edited when commands are
Please let me know your thoughts…
I haven't tested Windows provisioning in Puppet/Foreman yet, is this
Otherwise, just if you haven't noticed: there is a opensource project (GNU
GPL) that already supports this (perhaps some code/ideas could be reused):
Thanks in advance !