metal/mtce/src
Eric MacDonald 7941ee5bbb Add new Link Monitor (lmond) daemon to Mtce
This update introduces a new Link Monitor daemon to the Mtce
flock of daemons and disable rmon's interface monitoring.

This new daemon parses the platform.conf file and using the
interface names assigned to each monitored network (mgmt,
infra and oam) queries the kernel for their physical,
bonded and vlan interface names and then registers to listen
for netlink events.

All link/interface state change (netlink) events that correspond
to any of the interfaces or links assiciated with the monitored
networks are tracked by this new daemon.

This new daemon then also implements an http listener for
localhost initiated GET requests targeted to /mtce/lmond
on port 2122 and responds with a json link_info string that
contains a summary of monitored networks, links and their
current Up/Down status.

lmond behavioral summary:
  1. learn interface/port model,
  2. load initial link status for learned links,
  3. listen for link status change events
  4. provide link status info to http GET Query requests.

Another update to stx-integ implements the collectd interface
plugin that periodically issues the Link Status GET requests
for the purponse of alarming port and interface Down conditions,
clearing alarms on Up state changes, and storing sample data
that represents the percentage of active links for each monitored
network.

Test Plan:

PASS: Verify lmond process startup
PASS: Verify lmond logging and log rotation
PASS: Verify lmond process monitoring by pmon
PASS: Verify lmond interface learning on process startup
PASS: Verify lmond port learning on process startup
PASS: Verify lmond handling of vlan and bond interface types
PASS: Verify lmond http link info GET Query handling
PASS: Verify lmond has no memory leak during normal and eventfull operation

Change-Id: I58915644e60f31e3a12c3b451399c4f76ec2ea37
Story: 2002823
Task: 28635
Depends-On:
Signed-off-by: Eric MacDonald <eric.macdonald@windriver.com>
2019-02-01 14:57:40 -05:00
..
alarm Set SHELL in Makefiles that use bash constructs 2018-12-07 14:09:48 -06:00
common Fix trivial issue found during code review for hbs related code 2018-12-27 07:56:23 +00:00
fsmon Change compute node to worker node personality 2018-12-13 13:08:48 -05:00
fsync Decouple Guest-server/agent from stx-metal 2018-09-18 17:15:08 -04:00
heartbeat Fix trivial issue found during code review for hbs related code 2018-12-27 07:56:23 +00:00
hostw Set SHELL in Makefiles that use bash constructs 2018-12-07 14:09:48 -06:00
hwmon Set SHELL in Makefiles that use bash constructs 2018-12-07 14:09:48 -06:00
lmon Add new Link Monitor (lmond) daemon to Mtce 2019-02-01 14:57:40 -05:00
maintenance Change compute node to worker node personality 2018-12-13 13:08:48 -05:00
mtclog Set SHELL in Makefiles that use bash constructs 2018-12-07 14:09:48 -06:00
pmon Merge "Mtce: fix hbsClient active monitoring over config reload" 2018-12-21 14:32:52 +00:00
public Set SHELL in Makefiles that use bash constructs 2018-12-07 14:09:48 -06:00
rmon Add new Link Monitor (lmond) daemon to Mtce 2019-02-01 14:57:40 -05:00
scripts Change compute node to worker node personality 2018-12-13 13:08:48 -05:00
LICENSE Decouple Guest-server/agent from stx-metal 2018-09-18 17:15:08 -04:00
Makefile Add new Link Monitor (lmond) daemon to Mtce 2019-02-01 14:57:40 -05:00