veliad: Instantiate IETFHardware and Sysrepo callback

Instantiate Sysrepo class and IETFHardware in the veliad daemon. We also
created a Factory class for initializing hardware state data readers
(e.g. specifically for czechlight clearfog boards).

There is also a possibility to split veliad daemon into two. First daemon
would handle the "health" part and second daemon would be just a simple
Sysrepo operational data callback for the IETF Hardware part. However,
we then discussed the future of the daemon and we'd like the outputs to
reflect the current IETF Hardware state (i.e., temperatures are going
crazy, show red light). However, if this was split among two daemons it
would require some IPC to be implemented.
Having everything in one daemon would simplify things and does not bring
much complexity to veliad.

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

Health tracking for embedded devices running Linux

This software tracks health of an embedded device which runs Linux with systemd.

Velia tracks health of systemd units. In case some of them are failing, the system is considered unhealthy. You can disable monitoring of some units by using --systemd-ignore-unit CLI flags. For example, to disable monitoring unit sshd.service you should start velia with --systemd-ignore-unit=sshd.service. In order to disable multiple units use the flag multiple times.

By default, the health of state is shown by flashing certain LEDs. This is however customizable by using your own callbacks.