Any Debian / Ubuntu
Debian/Ubuntu Jenkins init.d script has unique function "check_tcp_port" absent from RPM and SUSE scripts to detect listener on host:port pair.
I have Ubuntu 20.04 LTS host with 13 IPv4 and 14 IPv6 addresses where DNS reverse lookups timeout for many addresses.
I find Jenkins init "check_tcp_port" causes startup failure because "netstat --listen --numeric-ports" takes 8 minutes to complete.
Aforesaid 8 minutes is longer than systemd 5 minute start timeout causing systemd to abandon the start and report Jenkins service failure.
Issue opened to
- alert Jenkins project supporters
- alert users who may have this issue
- propose timeout prevention edits
- Drop "check_tcp_port" function; a start when port in use fails with similar message.
- Revise listener enumeration for numeric mode to avoid DNS timeouts; details later.
- Replace old "netstat" with new "ss"; drops "net-utils" package dependency.
The "check_tcp_port" function fails to detect used port on Ubuntu 20.04 LTS OpenJDK 1.8.0_292 since "netstat" output " [::]:8080 " doesn't match "grep" argument "0.0.0.0\:8080[[:space:]]" value; "systemd" still shows service as active.