Interval linkd runs at seems wrong, doesnt start to discover links

Description

/opt/opennms/etc/linkd-configuration.xml is modified to show these values:

<linkd-configuration threads="5" initial_sleep_time="60000"
snmp_poll_interval="18000000" discovery_link_interval="300000">

And link discovery doesnt get going after 5 mins (discovery_link_interval="300000"), however the debug log shows this on startup:

2010-10-08 23:09:29,180 DEBUG [Linkd:LinkdEventProcessor] Scheduler: schedule: Adding ready runnable at interval 18060000

Environment

Operating System: All Platform: PC

Acceptance / Success Criteria

None

Lucidchart Diagrams

Activity

Antonio Russo September 22, 2012 at 12:47 PM

This is resolved.

The linkd interval is the snmp_poll_interval.

In the latest code 1.11.3-SNAPSHOT the linkd works like that:

1) wait initial_sleep_time
2) start linkd snmp collection on nodes and reschedule the collection when finished
with interval snmp_poll_interval
3) wait discovery_link_interval
4) start linkd discovery (over the collection previously made) and reschedule
collection when finished with interval snmp_poll_interval

So the discovery_link_interval is a delay for running the link discovery algoritm
so that all the data has been collected over the nodes.

There have been defined new default values that should work in the most envirroment.
I want to enhance the linkd wiki page.

David Hustace February 11, 2011 at 11:12 AM

We should create an event and perhaps an Admin UI that generates this event that initiates the Linkd process. Probably need to do some unscheduling/rescheduling in the process.

Alexander Hoogerhuis February 10, 2011 at 8:02 PM

But that assumes that you only start OpenNMS one time. If you restart OpenNMS for some reason it means you'll have to wait very long (and that the variable names don't indicate this). Also, think about a lab situation, this wouldn't be feasable then.

Former user February 10, 2011 at 2:16 PM

Alexander, there is no error, the service was designed to start after 30 hours because we want to start discovery link after all nodes where discovered!
More also I decided to run snmpcollection after intial_sleep_time+snmp_poll_interval.
I know this can be measleading but it is the way i designed this over more then 5 years ago.

Alexander Hoogerhuis October 8, 2010 at 6:08 PM

Also the calculation of the initial run seems to be wrong, it is based on initial_sleep_time + snmp_poll_interval. Should first run happen after only initial_sleep_time and then after each *_interval?

Fixed

Details

Assignee

Reporter

Fix versions

Affects versions

Priority

PagerDuty

Created October 8, 2010 at 5:19 PM
Updated January 27, 2017 at 4:20 PM
Resolved September 22, 2012 at 12:47 PM

Flag notifications