diff options
Diffstat (limited to 'core/modules/hardware-stats/data/opt/openslx/system-check/hooks.d/50-hardware-report')
-rwxr-xr-x | core/modules/hardware-stats/data/opt/openslx/system-check/hooks.d/50-hardware-report | 15 |
1 files changed, 11 insertions, 4 deletions
diff --git a/core/modules/hardware-stats/data/opt/openslx/system-check/hooks.d/50-hardware-report b/core/modules/hardware-stats/data/opt/openslx/system-check/hooks.d/50-hardware-report index a2dbbd56..bc050628 100755 --- a/core/modules/hardware-stats/data/opt/openslx/system-check/hooks.d/50-hardware-report +++ b/core/modules/hardware-stats/data/opt/openslx/system-check/hooks.d/50-hardware-report @@ -10,7 +10,7 @@ disable_remote_logging() { # sends the hardware information of this machine generated by # systemd-hardware_stats_gather in /run/hwreport and /run/hwinfo report_hardware_info() { - local uptime hwreport hwinfo uuid model subnet ret runmode + local uptime hwreport hwinfo uuid model subnet ret runmode jsonfile if [ -z "$SLX_REMOTE_LOG" ]; then disable_remote_logging return 1 @@ -51,7 +51,13 @@ report_hardware_info() { model="$model ($HW_MANUF)" fi # Get IP/subnet size - subnet="$( ip -o -f inet addr show br0 | awk '/scope global/ {print $4}' )" + local primary="${SLX_BRIDGE:-br0}" + subnet="$( ip -o -f inet addr show "$primary" | awk '/scope global/ {print $4}' )" + # Finally, new json-based reporting + jsonfile="$( mktemp )" + if ! python3 /opt/openslx/system-check/collect_hw_info_json.py > "$jsonfile"; then + echo -n "" > "$jsonfile" + fi # just assume the uuid/mac dumped are valid here (its checked often enough :)) echo -n "Submitting to '$SLX_REMOTE_LOG' ... " curl --retry 4 --retry-connrefused --max-time 5 --retry-max-time 15 \ @@ -59,7 +65,8 @@ report_hardware_info() { --data-urlencode "uptime=$uptime" --data-urlencode "realcores=$HW_CORES" --data-urlencode "mbram=$HW_MBRAM" \ --data-urlencode "kvmstate=$HW_KVM" --data-urlencode "cpumodel=$HW_CPUMODEL" --data-urlencode "id44mb=$HW_ID44" \ --data-urlencode "badsectors=$HW_BADSECTORS" --data-urlencode "systemmodel=$model" --data-urlencode "subnet=$subnet" \ - --data-urlencode "runmode=$runmode" --data-urlencode "data@$hwreport" "$SLX_REMOTE_LOG" | grep -q "RESULT=0" + --data-urlencode "runmode=$runmode" --data-urlencode "data@$hwreport" --data-urlencode "json@$jsonfile" \ + "$SLX_REMOTE_LOG" | grep -q "RESULT=0" local ret=$? if [ "$ret" -ne 0 ]; then echo "failed." @@ -67,7 +74,7 @@ report_hardware_info() { return 1 fi echo "succeeded." - rm -f -- "$hwreport" + rm -f -- "$hwreport" "$jsonfile" START=$(( $RANDOM % 5 )) DELAY=$(( $RANDOM % 20 )) cat > "/etc/cron.d/usage_stats" <<-EOF |