OpenNMS should have a deterministic way of selecting the "management IP" address based on criteria such as the SNMP ifName or SNMP ifDescr. For example, in one specific case, once all the IP and SNMP interfaces (ports) have been discovered, the management interface (SNMP Primary) should be determined based on the following ordered list:
If nothing in that list matches then the lowest numbered IP should be used for the management interface.
The determined management IP interface should also be used to set the Node Label from DNS. If DNS doesn't respond with a valid record, then use SNMP sysName for the Node Label.