ERF42-1064 Unable to assign subnet, primary interface is missing IP address

Also known as address family must be specified.

This is an error by Foreman Discovery plugin when a node being discovered has an IP that is already assigned to an existing Managed, Unmanaged or Discovered Host. An issue ticket was created to change this with appropriate message: http://projects.theforeman.org/issues/10004

Solution

Delete all hosts with network interfaces assigned with conflicting IP addresses, modify or remove those interfaces.

Prevention

Discovered hosts with multiple network cards usually cause problems when DHCP lease range overlaps with reservation range. While it is possible to define the same DHCP range in Foreman, it's usually good practice to select a range from outside the pool defined in the installer, but still in the subnet. Example configuration

10.0.0.1 - 10.0.0.99 - addresses reserved during bare-metal provisioning by Foreman - set in Foreman Web UI
10.0.0.100 - 10.0.200 - addresses for dynamic clients in the subnet (discovered hosts, unmanaged hosts) - set in dhcpd.conf

For more info see http://theforeman.org/manuals/latest/#3.2.3InstallationScenarios

Additional notes

Foreman Discovery Image 3.0 or older was initializing all network interface via DHCP, which caused many IP leases increasing chance to hit this bug. In Image version 4.0+ this behavior is turned off by default and only the primary interface (PXE booting) is initialized with DHCP. The old behavior can be turned on with fdi.initnet kernel command line option.