Status: Done (View Workflow)
HS July 21 - Aug 4, 2022, HS Aug 4 - Aug 18, 2022
Core should schedule jobs for the default Minion. It should trigger these jobs over gRPC.
Jobs to schedule:
- Run an ICMP test against an IP address with a hard-coded interval of 1 min, timeout 3 s, and 3 retries
- Run an SNMP test against an IP address with the given SNMP v2c community and hard-coded interval of 1 min, timeout 1800ms, and 2 retries
- Run a Minion-RPC test against a specific Minion in the location "Default", interval 30 s, timeout 2 s, and 1 retry
- Code in the backend is going to change a lot, don't overengineer right now
- All scheduling can be very simple: Cron jobs. Might drop the timeout and retry logic requirements.
- Basic functionality is more important, don't worry about edge cases
- Heartbeat sent autonomously by the minion, polling is an RPC call. The RPC call's time is effectively a ping - it doesn't need to do a real ping.
- In Horizon Classic, all commands to minions are scheduled by core, and it sends requests
- /platform/snmp/shell has the SNMP request command, tells the minion to talk SNMP to an agent and get OIDs. Future returns once the minion has responded.
Out of scope:
- Storing or reacting to time series data (covered by https://issues.opennms.org/browse/HS-192)