Implement a way to disable Reverse DNS lookups

Description

There's currently no way to disable Reverse DNS Lookups performed by o.o.n.p.s.DefaultHostnameResolver when forwarded to minions and by o.o.n.p.d.c.r.DnsLookupClientRpcModule when not forwarded.

Furthermore, when a node is added through a requisition and with a nodelabel set, the result of this Reverse DNS lookup is not used at all, so it is completely unnecessary.

Finally, everytime you synchronize a requisition, reverse DNS lookups are performed for every node in the requisition even while using RescanExisting = false. This is also the only moment in which they are performed.

In a scenario of thousands of nodes added with large requisitions, all of these things combined have a really negative impact for the provisioning adapter.

Environment

Debian GNU/Linux 8.5 (jessie)

Acceptance / Success Criteria

None

Lucidchart Diagrams

Activity

Show:

Brynjar Eide October 1, 2018 at 4:05 AM

When rescanExisting is false or dbonly, the only reverse DNS lookups seem to originate from SaveOrUpdateOperation.java, which tries to look up the hostname of the primary SNMP interface.

As far as I can tell, these hostnames will only ever be stored when rescanExisting is dbonly, since IPInterfaceTableTracker.java and/or IPAddressTableTracker.java will override whatever hostname is saved during the auditing Auditing Phase when rescanExisting is true (or false for new nodes).

Nevertheless, this behaviour can be disabled by disabling an undocumented property called org.opennms.provisiond.reverseResolveRequisitionIpInterfaceHostnames, which currently defaults to true.

As for this particular issue, it could probably be solved by documenting the existing setting, but I'd say the current implementation doesn't seem to be ideal.

Details

Assignee

Reporter

Doc Backlog Status

Doc Backlog Grooming Date

Components

Affects versions

Due date

Priority

PagerDuty

Created April 2, 2018 at 4:20 PM
Updated July 26, 2023 at 2:12 PM