diff --git a/docs/modules/operation/pages/deep-dive/provisioning/scalability.adoc b/docs/modules/operation/pages/deep-dive/provisioning/scalability.adoc index ad1fa9cf99d0..09c88ed0e932 100644 --- a/docs/modules/operation/pages/deep-dive/provisioning/scalability.adoc +++ b/docs/modules/operation/pages/deep-dive/provisioning/scalability.adoc @@ -88,3 +88,29 @@ For a large number of devices, you may want to set the `scan-interval` to `0` to NOTE: Even if `scan-interval` is set to `0`, new nodes added to a requisition are scanned during import. You can also disable this scan by setting `scan-interval` to `-1`. +=== Tuning DNS reverse lookups + +During the provisioning process hostnames are determined for each interface IP address by a DNS reverse lookups. +A thread pool is used to allow concurrent DNS lookups. +This thread pool can be configured by the following properties: + +.Thread pool configuration parameters for DNS lookups +[options="header"] +[cols="1,3,2"] +|=== +| Parameter +| Description +| Default value + +| org.opennms.netmgt.provision.dns.client.rpc.maxThreadPoolSize +| Maximum thread pool size. +| +64 +| org.opennms.netmgt.provision.dns.client.rpc.queueCapacity +| Maximum queue size for pending DNS lookups. +| +4096 +|=== + +NOTE: DNS reverse lookups can be disabled completely by setting the property `org.opennms.provisiond.reverseResolveRequisitionIpInterfaceHostnames` to `false`. + diff --git a/opennms-base-assembly/src/main/filtered/etc/opennms.properties b/opennms-base-assembly/src/main/filtered/etc/opennms.properties index ab8f542e48cd..16099cb5ae8c 100644 --- a/opennms-base-assembly/src/main/filtered/etc/opennms.properties +++ b/opennms-base-assembly/src/main/filtered/etc/opennms.properties @@ -861,6 +861,14 @@ org.opennms.newts.nan_on_counter_wrap=true # By default this property is not used and empty. # org.opennms.netmgt.search.info= -# # ###### Mate Expressions ###### +# ###### Mate Expressions ###### # Limit of recursion depth while evaluating mate expressions # org.opennms.mate.maxRecursionDepth=8 + +# ###### DNS tuning options ###### +# A thread pool is used to allow concurrent DNS lookups on OpenNMS instance. +# org.opennms.netmgt.provision.dns.client.rpc.maxThreadPoolSize=64 +# org.opennms.netmgt.provision.dns.client.rpc.queueCapacity=4096 + +# By default hostnames are determined for a node's IP addresses during the provisioning's audit phase. +# org.opennms.provisiond.reverseResolveRequisitionIpInterfaceHostnames=true diff --git a/opennms-provision/opennms-detectorclient-rpc/src/main/resources/META-INF/opennms/applicationContext-rpc-dns.xml b/opennms-provision/opennms-detectorclient-rpc/src/main/resources/META-INF/opennms/applicationContext-rpc-dns.xml index 82fc728105ae..203d21a38e3b 100644 --- a/opennms-provision/opennms-detectorclient-rpc/src/main/resources/META-INF/opennms/applicationContext-rpc-dns.xml +++ b/opennms-provision/opennms-detectorclient-rpc/src/main/resources/META-INF/opennms/applicationContext-rpc-dns.xml @@ -12,8 +12,8 @@ - - + + diff --git a/opennms-provision/opennms-detectorclient-rpc/src/main/resources/OSGI-INF/blueprint/blueprint.xml b/opennms-provision/opennms-detectorclient-rpc/src/main/resources/OSGI-INF/blueprint/blueprint.xml index 13fe2eefa989..0fe53c54fc6c 100644 --- a/opennms-provision/opennms-detectorclient-rpc/src/main/resources/OSGI-INF/blueprint/blueprint.xml +++ b/opennms-provision/opennms-detectorclient-rpc/src/main/resources/OSGI-INF/blueprint/blueprint.xml @@ -13,7 +13,7 @@ - +