Discovery / Provisioning Question

Hello,

Got a couple questions regarding discovery and provisioning workflows. When provisioning a new server manually, I typically run a script against the server’s BMC (Dell iDRAC) to configure BIOS/DRAC/RAID configurations via “RACADM” (though this can be done via SSH/REDFISH too).

This happens before the server gets an OS installed, typically, and requires manual configuration to setup an IP on the BMC. Fortunately, with a new server build coming, the BMCs are set to DHCP (which I want to use Foreman for) so they’ll come up on the network automatically.

I also want to do the Discovery of the systems so that Foreman is populated automatically without having to enter each server. During the facts collection it should see the BMC IP address configured.

  1. Is it possible to build a workflow during/after discovery that runs a script or set of commands to do the BMC configuration? In this case it would be using Dell’s “RACADM” to transfer a set of XML files from an NFS share to the BMC that updates the configuration. Ideally I would like to do this during the discovery process.

  2. If this is not possible during discovery, could a workflow be setup during the provisioning process before the OS installed? Typically configure the BIOS/DRAC doesn’t require a reboot, but the PERC/RAID config will be included and require a reboot to initialize.

  3. Would this be better served via a remote execution task? My understanding is the remote execution task only works with servers that have SSH and root passwords configured from the provisioning process. The BMCs do have SSH enabled if that matters.

TLDR: Basically I want to use Foreman to send an XML file to the BMC with BIOS/DRAC/RAID config before an OS gets installed or during discovery.

No.

This is on our short-term list to get Remote Execution working against discovered nodes. Like next year maybe this year timeframe.

For now what you can do is enable ssh and root password (yeah) and write a script that hits our CLI/API to get list of IPs and SSH there in a loop… That should work. Share the script then. :slight_smile:

Can SSH/root be enabled by default with the auto-discovery process?

Yes. You are looking for fdi.ssh=1 and fdi.rootpw=xyz.

https://docs.theforeman.org/guides/build/doc-Provisioning_Guide/index-foreman.html#unattended-use-and-customization

Hi Izap,

So reading this, my understanding is that I can append those to the existing FDI PXElinux configuration as per step 8.11 instead of having to rebuild the FDI?

That seems super simple and opens a lot of doors…

1 Like

Absolutely, you can even inject an arbitrary script to be executed during boot via ssh.script option.