From cc55305ed5c954ec15b177f3e7904e75eb1bd9f8 Mon Sep 17 00:00:00 2001 From: Kyr Shatskyy Date: Fri, 21 Nov 2025 22:20:04 +0100 Subject: [PATCH] qa/workunits/rgw: drop netstat usage The `netstat` is deprecated now in modern Linux and usually requires an extra package dependency to be installed. Usually it is `net-tools`, however, for example, opensuse, `netstat` does not present in it. Thus, let us use `ss` as an alternative. When using `netstat -nltp` we get lines like: 'tcp 0 0 0.0.0.0:443 0.0.0.0:* LISTEN 25156/valgrind.bin \ntcp6 0 0 :::443 :::* LISTEN 25156/valgrind.bin \n' When using `ss -nltp` we get lines like: 'LISTEN 0 4096 0.0.0.0:443 0.0.0.0:* users:(("memcheck-amd64-",pid=66045,fd=72))' so we need to filter processes by `memcheck`. However further parsing code works equivalently as for netstat. Signed-off-by: Kyr Shatskyy (cherry picked from commit 82063f99024a8937dfa105e0828beda1bc730247) --- qa/workunits/rgw/test_rgw_d4n.py | 2 +- qa/workunits/rgw/test_rgw_datacache.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/qa/workunits/rgw/test_rgw_d4n.py b/qa/workunits/rgw/test_rgw_d4n.py index 85d0dc23907..fafd7797a8e 100644 --- a/qa/workunits/rgw/test_rgw_d4n.py +++ b/qa/workunits/rgw/test_rgw_d4n.py @@ -30,7 +30,7 @@ def exec_cmd(cmd): return False def get_radosgw_endpoint(): - out = exec_cmd('sudo netstat -nltp | egrep "rados|valgr"') # short for radosgw/valgrind + out = exec_cmd('sudo ss -nltp | egrep "rados|valgr|memcheck-"') # short for radosgw/valgrind x = out.decode('utf8').split(" ") port = [i for i in x if ':' in i][0].split(':')[1] log.info('radosgw port: %s' % port) diff --git a/qa/workunits/rgw/test_rgw_datacache.py b/qa/workunits/rgw/test_rgw_datacache.py index 2af2a0d3aa3..0784f0d88ac 100755 --- a/qa/workunits/rgw/test_rgw_datacache.py +++ b/qa/workunits/rgw/test_rgw_datacache.py @@ -80,7 +80,7 @@ def exec_cmd(cmd): return False def get_radosgw_endpoint(): - out = exec_cmd('sudo netstat -nltp | egrep "rados|valgr"') # short for radosgw/valgrind + out = exec_cmd('sudo ss -nltp | egrep "rados|valgr|memcheck-"') # short for radosgw/valgrind x = out.decode('utf8').split(" ") port = [i for i in x if ':' in i][0].split(':')[1] log.info('radosgw port: %s' % port) -- 2.47.3