health: control LEDs via sysrepo and ietf-alarms

This patch introduces a sysrepo subscription that listens for changes
in ietf-alarms' operational datastore and whenever the alarm count
changes it triggers a callback. We write this code with the intention
to use it for controlling LED colour but it is generic so one can plug
another stuff that somehow reacts to the number of alarms.

For now we only react on changes in the alarms list. We consider only
uncleared alarms. We set the output state to OK or ERROR based on the
count of alarms (if 0 alarms then OK else ERROR) and we let the output
signal to handle the state change somehow (e.g. light up different LED).

Change-Id: I5958975f246f96762389aae27b1974d5eea4093d
4 files changed
tree: 24d084c26d9db88a0a3fa12ca332d75264904ac5
  1. .clang-format
  2. .gitmodules
  3. .zuul.yaml
  4. CMakeLists.txt
  5. Doxyfile.in
  6. LICENSE
  7. LICENSE.md
  8. README.md
  9. ci/
  10. cmake/
  11. docs/
  12. src/
  13. tests/
  14. yang/
README.md

YANG System management for embedded devices running Linux

Together with sysrepo, this software provides "general system management" of embedded devices. The target platform is anything that runs Linux with systemd. This runs in production on CzechLight SDN DWDM devices.

Health tracking

This component tracks the overal health state of the system, including various sensors, or the state of systemd units. As an operator-friendly LED at the front panel of the appliance shows the aggregated health state.

System management

Firmware can be updated via RAUC, and various aspects of the system's configuration can be adjusted. This includes a firewall, basic network settings, and authentication management.

Supported YANG models

For a full list, consult the yang/ directory in this repository.