Foreman_discovery for HPC ISO (information, not image)

I'm looking to find out if foreman_discovery can be customized in a way
that's very specific to my needs to provision bare-metal HPC nodes. When I
bring new nodes online I need their InfiniBand interface registered in
Foreman. The IP assigned in Foreman is used via Foreman ENC functionality
to provide a Puppet module with the IP to configure the IB interface to
actually activate InfiniBand on a node. The issue is the MAC address is
not available until after a node has its InfiniBand interface activated
(with or without IP) and it gets a LID from the Subnet Manager. Currently
I have to provision the hosts, minus an IPoIP IP address on the interface,
and then assign it in Foreman, re-apply Puppet, and reboot the node.
Services can't be restarted via Puppet as numerous tools plus the parallel
filesystem modules all prevent RDMA from being restarted gracefully via
Puppet.

Is it possible to configure the discovery image to install the "InfiniBand
Support" yum package group, get the IB interface MAC address, and have that
be used as a Managed Interface in the Foreman database, when discovered?

I've looked at the ovirt-node-plugin-foreman [1] but unsure how much
customization can be done in terms of having the host added to Foreman with
an extra interface that's based on the host's InfiniBand interface.

Thanks,

  • Trey

[1] - https://github.com/theforeman/ovirt-node-plugin-foreman

Hello,

> Is it possible to configure the discovery image to install the "InfiniBand
> Support" yum package group, get the IB interface MAC address, and have that
> be used as a Managed Interface in the Foreman database, when discovered?
>
> I've looked at the ovirt-node-plugin-foreman [1] but unsure how much
> customization can be done in terms of having the host added to Foreman with
> an extra interface that's based on the host's InfiniBand interface.

yum is not available on the discovery image. There is no RPM database either.

But let's talk about adding the support to the official build.

What you need to do is to add "Requires" into the SPEC file and check
minimizer.ks if the package (or it's dependencies) is not explicitly
dropped. Then you can build the image according the README and log in.
The filesystem is mostly read-only but there are some directories
mounted read-write into memory. You can use that to test your script or
whatever you need.

Ping me on IRC "lzap" if you need further help.

ยทยทยท -- Later, Lukas #lzap Zapletal