Associating BMC proxies

Hello,

I am currently testing Redfish patches and I wonder if anyone (looking at @ohadlevy) knows why we don’t let users to explicitly associate BMC proxy with a subnet. The way it works currently is that Foreman looks up in smart proxies associated with the BMC interface subnet in this order: [dhcp, tftp, dns, httpboot]. If it finds a one with BMC feature turned on, it uses it. If not, it uses random first BMC proxy available.

I find this quite confusing behavior, the ultimate purpose of smart proxy should be isolation. Therefore I would like to propose changing this to more expected behavior: requiring users to associate BMC proxies explicitly.

Also the current implementation requires BMC NIC to be created with an IPv4 or IPv6 address associated. I understand that there is no way of using DNS name to connect to the host. This is probably limitation of IPMI (?). We could allow empty IP address and entering DNS name as well.

On the same note, we require entering a MAC address for a BMC NIC. I believe this is a bug.

Opinions?

AFAIR, it was a UX thing, we tried to reduce yet another association, after all, it doesn’t matter which proxy is used to trigger BMC commands.

You didnt link to the code and I didnt check, but AFAIR if it has a proxy that is on the BMC subnet with the BMC feature it uses it, what would another association make sense to you?

this is used to create DNS/DHCP records… I do fully agree that there is another workflow that you start with a BMC before a host entry, which is a flow that we don’t have at foreman today at all…

1 Like

Well I would like to be able to specify, which BMC proxy will be performing the BMC work. Also I would like to be aligned with other services/features like DHCP, DNS etc. I’d do the refactoring for the sake of consistency.

If there are no objections, I’d prepare a PR in near future.

Thanks.

my only questions is which kind of an association will you make? i assume not per host right?

Subnet -> BMC Proxy

As for DHCP, DNS and other features.

1 Like

Uh, I just realized I already created such a PR in the past. Not so long.