commit | f648ddff9796a8c09a40f1743b20c06c6545fa6f | [log] [tgz] |
---|---|---|
author | Jan Kundrát <jan.kundrat@cesnet.cz> | Thu Oct 10 21:33:19 2024 +0200 |
committer | Jan Kundrát <jan.kundrat@cesnet.cz> | Thu Oct 10 21:33:19 2024 +0200 |
tree | a8c9ab2fb0c171c21dbbdb29fb945eada7af1aea | |
parent | c792b35aca80db4f118db750873abe39e0887695 [diff] |
power: prevent spurious alarms about "missing devices" during init When the background thread is "too slow" to initialize the I2C devices, the main thread might run faster and request hwmon data before the driver got a chance to bind to the device. When that happens, it looks as if the HW device was missing (or that there's some I2C communication error), like this: coherent-a-d-DQ000V9U ~ # velia-list-alarms Resource Severity Detail Last raised Status ✕ ne:pdu critical I2C read failure for PDU. Could not get hardware sensor details. 2024-10-10T19:15:23.292255297+00:00 cleared ✕ ne:psu1 critical PSU is unplugged. 2024-10-10T19:15:23.364300978+00:00 cleared ✕ ne:psu2 critical PSU is unplugged. 2024-10-10T19:15:23.446781485+00:00 cleared This is really just a nuisance alarm, so make sure that it doesn't happen during the initial service start. Change-Id: Ia61dfe618ce1b44b49195d1eb272eee94a155bb6
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.
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.
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.
For a full list, consult the yang/
directory in this repository.
ietf-access-control-list
, RFC 8519 (with deviations)ietf-hardware
, RFC 8348ietf-system
, RFC 7317 (partial support)ietf-interfaces
, RFC 8343 (generating config for systemd-networkd
, with extensions)ietf-routing
, RFC 8349 (see above)czechlight-system
For building, one needs:
1.78
)pkg-config
libnl-route
for talking to the Linux kernellibsystemd
and systemd
at runtimelibyang-cpp
- C++ bindings for libyangsysrepo-cpp
- C++ bindings for sysrepospdlog
- a logging librarysdbus-c++
- C++ library for D-Busfmt
- C++ string formatting librarynlohmann_json
- C++ JSON librarydocopt
for CLI option parsingnft
- the netfilter tooliproute2
- the ip
tool for testingThe build process uses CMake. A quick-and-dirty build with no fancy options can be as simple as mkdir build && cd build && cmake .. && make && make install
.