From: Kyr Shatskyy Date: Fri, 21 Nov 2025 21:20:04 +0000 (+0100) Subject: qa/workunits/rgw: drop netstat usage X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=82063f99024a8937dfa105e0828beda1bc730247;p=ceph.git 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 --- diff --git a/qa/workunits/rgw/test_rgw_d4n.py b/qa/workunits/rgw/test_rgw_d4n.py index 5c8bdf387984..c3645b79f301 100644 --- a/qa/workunits/rgw/test_rgw_d4n.py +++ b/qa/workunits/rgw/test_rgw_d4n.py @@ -48,7 +48,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 d89abe8c7adf..6d685e50c04e 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)