BMC/IPMI Discovery problem

Problem:
FDI doesn’t find BMC/IPMI IP address on Supermicro H8DGT motherboards.

Expected outcome:
IP address and mac address of IPMI interface is visible in discovered hosts facts.

Foreman and Proxy versions:
1.21.3

Foreman and Proxy plugin versions:
Discovery 14.0.1

Other relevant data:
Only mention of IPMI in facts is “ipmi_enabled”: “true”.
I have ipmi interface on discovered host facts, but without any data
When i run ipmitool manually:
[root@fdi ~]# ipmitool lan print
Could not open device at /dev/ipmi0 or /dev/ipmi/0 or /dev/ipmidev/0: No such file or directory
But if i do:
[root@fdi ~]# modprobe ipmi_devintf
[root@fdi ~]# modprobe ipmi_si
ipmitool start working, i can get ip address.
Then i delete discovered host, and resend facts from fdi console and i can see ipmi interface with mac address, ip address and all other data in facts…

is there a way to force load ipmi modules, via some kernel commad line parametar?

I am only aware of options to blacklist or configure modules already loaded via kernel command line. Module loading could be enforced by /etc/modprobe.d.

There are instruction on how to spin your own version of the image on https://github.com/theforeman/foreman-discovery-image. Perhaps a spin based on latest fedora loads the modules probably. Or you can add the module loading in some way to the normal one.

But you should at least open a bug report so kernel will load the module automatically in the future.

Tnx.
I tried to build new discovery image on Centos 7 VM.
I did a git clone of master repo and successfully built fdi v 3.5.5.
This fdi boots and works (all tests on several different bare metal machines went ok) with foreman 1.21.3
Detection of IPMI addresses works OK on Supermicro X7, and H8 boards, i will do a test on newer generations, but i don’t expect any problem there. IPMI modules are initialized on boot on Supermicro H8DGT:

[root@fdi ~]# dmesg | grep ipmi
[    7.320236] ipmi message handler version 39.2
[    7.364561] ipmi device interface
[    7.460133] ipmi_si dmi-ipmi-si.0: ipmi_platform: probing via SMBIOS
[    7.460384] ipmi_si: SMBIOS: io 0xca2 regsize 1 spacing 1 irq 0
[    7.460629] ipmi_si: Adding SMBIOS-specified kcs state machine
[    7.460933] ipmi_si: Trying SMBIOS-specified kcs state machine at i/o address 0xca2, slave address 0x0, irq 0
[    7.495019] ipmi_si dmi-ipmi-si.0: The BMC does not support clearing the recv irq bit, compensating, but the BMC needs to be fixed.
[    7.505796] ipmi_si dmi-ipmi-si.0: Found new BMC (man_id: 0x00b980, prod_id: 0xaa11, dev_id: 0x20)
[    7.510033] ipmi_si dmi-ipmi-si.0: IPMI kcs interface initialized

Still, latest official build is 3.5.1 (https://downloads.theforeman.org/discovery/releases/latest/).
What are the differences between 3.5.1 and 3.5.5 ?
Can i use this 3.5.5 withot issuses?
I did see some minor errors diring image build, but don’t know where to find build log to evaluate them?
I would be much happier with official build of 3.5.5, so i can just download it (i am planning to deploy multiple foreman proxies, and that would make my life much easier) :slight_smile:
Can someone form dev team please build it and place it on https://downloads.theforeman.org/discovery/releases/ ?

Hey, so what exactly needs to be done again? You say that FDI needs to be rebuilt with newer CentOS kernel in order to support this hardware?

That manual modprobing of modules is a hack, you can easily do this via fdi.script option without rebuilding the image if you want.

Latest FDI is 3.5.5 and latest build available to download is 3.5.1
I would like to be able do download newer build for 3.5.1 or 3.5.5…

These machines i have are old, so it is possible that some bug is in kernel / freeipmi provided with official 3.5.1 build

Please explain how fdi.script works and where is it documented?

Hmm it looks like our builder does not work anymore, it used to build nightly FDI and you could use that: Foreman discovery image nightly job is broken

Let’s fix that and then I can probably push out a 3.5.5 release for you. There were only minor changes, but fresh kernel is indeed a good idea.

The fdi.script is an undocummented thing it’s a hack. Here are few words about it: https://github.com/theforeman/theforeman.org/pull/1417

2 Likes