Can't ping any devices

The device page appears to be unable to ping any of my devices. They’re definitely reachable from CWMP as I can summon them, but pinging always reports either “error” or “unreachable”.

When it reports “error”, the browser console shows a 500 error with the server returning

Error: Command failed: ping -w 1 -i 0.2 -c 3 11.22.33.44

When it reports “unreachable” the return value is

{
    "packetsTransmitted": 3,
    "packetsReceived": 3,
    "packetLoss": 0,
    "min": null,
    "avg": null,
    "max": null,
    "mdev": null
}

I’ve deployed GenieACS in a Kubernetes cluster with CWMP, UI, NBI all in their own pods. I can kubectl exec a shell in the UI pod and run the ping command successfully:

/ # ping -w 1 -i 0.2 -c 3 11.22.33.44
PING 11.22.33.44 (11.22.33.44): 56 data bytes
64 bytes from 11.22.33.44: seq=0 ttl=59 time=13.686 ms
64 bytes from 11.22.33.44: seq=1 ttl=59 time=14.539 ms
64 bytes from 11.22.33.44: seq=2 ttl=59 time=14.421 ms

--- 11.22.33.44 ping statistics ---
3 packets transmitted, 3 packets received, 0% packet loss
round-trip min/avg/max = 13.686/14.215/14.539 ms

The docker images are built from node:22-alpine base images.

Any ideas?

Reading the code in lib/ping.ts it looks like Alpine’s version of ping (busybox, in fact) produces a summary string that’s different enough from other distros’ that it’s not matching the regex. Hm. I could build on a Debian base, I guess.

Interestingly, the regex for FreeBSD would almost match, apart from the missing stddev.

…and I just found this thread. Nevermind.