report-basic: expose os-release fields as metrics
Add io.systemd.Basic.OSRelease metric families that reports select fields from os-release. $ cat /etc/os-release NAME="Fedora Linux" VERSION="45 (Cloud Edition Prerelease)" RELEASE_TYPE=development ID=fedora VERSION_ID=45 VERSION_CODENAME="" PRETTY_NAME="Fedora Linux 45 (Cloud Edition Prerelease)" ANSI_COLOR="0;38;2;60;110;180" LOGO=fedora-logo-icon CPE_NAME="cpe:/o:fedoraproject:fedora:45" HOME_URL="https://fedoraproject.org/" DOCUMENTATION_URL="https://docs.fedoraproject.org/en-US/fedora/rawhide/" SUPPORT_URL="https://ask.fedoraproject.org/" BUG_REPORT_URL="https://bugzilla.redhat.com/" REDHAT_BUGZILLA_PRODUCT="Fedora" REDHAT_BUGZILLA_PRODUCT_VERSION=rawhide REDHAT_SUPPORT_PRODUCT="Fedora" REDHAT_SUPPORT_PRODUCT_VERSION=rawhide SUPPORT_END=2027-11-24 VARIANT="Cloud Edition" VARIANT_ID=cloud $ varlinkctl call --more ./build/systemd-report-basic io.systemd.Metrics.List {} | jq --seq -c ... {"name":"io.systemd.Basic.OSRelease.NAME","value":"Fedora Linux 44 (Workstation Edition)"} {"name":"io.systemd.Basic.OSRelease.ID","value":"fedora"} {"name":"io.systemd.Basic.OSRelease.CPE_NAME","value":"cpe:/o:fedoraproject:fedora:44"} {"name":"io.systemd.Basic.OSRelease.VARIANT_ID","value":"workstation"} {"name":"io.systemd.Basic.OSRelease.VERSION_ID","value":"44"} {"name":"io.systemd.Basic.OSRelease.SUPPORT_END","value":"2027-05-19"} I picked the fields that contain useful information about the specific version/image/variant/experiment/flavour of the system. Also, either NAME or PRETTY_NAME is included. This one is intended for human readers to be able to identify the OS version easily.
This commit is contained in:
@@ -57,6 +57,10 @@ varlinkctl list-methods /run/systemd/report/io.systemd.Basic
|
||||
varlinkctl --more call /run/systemd/report/io.systemd.Basic io.systemd.Metrics.List {}
|
||||
varlinkctl --more call /run/systemd/report/io.systemd.Basic io.systemd.Metrics.Describe {}
|
||||
|
||||
id1="$(varlinkctl call --more /run/systemd/report/io.systemd.Basic io.systemd.Metrics.List {} | jq --seq -r 'select(.name == "io.systemd.Basic.OSRelease.ID") | .value')"
|
||||
id2="$(. /etc/os-release; echo "$ID")"
|
||||
[ "$id1" = "$id2" ]
|
||||
|
||||
# Test HTTP upload (plain http)
|
||||
FAKE_SERVER=/usr/lib/systemd/tests/integration-tests/TEST-74-AUX-UTILS/TEST-74-AUX-UTILS.units/fake-report-server.py
|
||||
CERTDIR=$(mktemp -d)
|
||||
|
||||
Reference in New Issue
Block a user