Three bugs found while testing modem support on hardware:
ietf_system.py: "interface": null written to DNS server entries when
no interface is associated, causing LY_EVALID in the ietf-system
schema validator. Only include the key when the interface name is
non-empty.
ietf_system.py: empty list inserts (user [], server [], options [],
search []) overwrote configured data in the operational store instead
of leaving it intact. Guard each insert so operational data only
shadows configured data when there is something to report.
show system: CPU temperature reported only the first sensor named
exactly "cpu", "soc", or "core". Platforms with multiple thermal
zones (e.g. BPI-R4 exposes cpu and cpu1) always showed only one
reading. Collect all sensors whose name matches a CPU/SoC prefix
and report the maximum.
statd.c: yanger parse errors logged without model name or libyang
error string, making failures hard to diagnose. Include both.
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
This patch adds operational data support for system services. The
data is in a generic format but is intended to be able to represent
finit information (initctl) nicely.
The reason for augmenting this to ietf-system and not to
infix-services is that we consider this generic system information
which is totally disconnected from what ever services infix might
provide.
In this first state we only support pid, name, description and state.
Making the data look something like:
"infix-system:services": {
"service": [
{
"pid": 1185,
"name": "udevd",
"status": "running",
"description": "Device event daemon (udev)"
}]
Signed-off-by: Richard Alpe <richard@bit42.se>
With support for dns resolver in place, the ietf-system output needs to
be complemented with additional data collected from both the dnsmasq and
openresolv subsystems.
System date taken from 'client3' in the Infix DHCP server-subnets test.
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>