diff options
| author | Christian Breunig <christian@breunig.cc> | 2026-09-16 23:50:12 +0200 |
|---|---|---|
| committer | Christian Breunig <christian@breunig.cc> | 2026-09-16 23:50:12 +0200 |
| commit | 9d9f3bf5aa29a7bdd7dd1abfa879eab1647b751a (patch) | |
| tree | 035458f76181d98072f735b9c7c471ff8a19b6cf /smoketest/scripts/cli | |
| parent | f6102c545e8587acb747af3dca5633143a59c781 (diff) | |
| download | vyos-1x-9d9f3bf5aa29a7bdd7dd1abfa879eab1647b751a.tar.gz vyos-1x-9d9f3bf5aa29a7bdd7dd1abfa879eab1647b751a.zip | |
smoketest: T9316: use get_vrf_pids() for the remaining VRF process probes
The other smoketests checking that a service runs inside a VRF matched the
process name against the raw output of "ip vrf pids <name>", where it can
also hit the PID column. Use get_vrf_pids() and match the name column
exactly - it is the kernel comm (ip/ipvrf.c prints the "Name:" field of
/proc/<pid>/status), so it is always a bare short name.
Diffstat (limited to 'smoketest/scripts/cli')
| -rwxr-xr-x | smoketest/scripts/cli/test_service_dns_dynamic.py | 5 | ||||
| -rwxr-xr-x | smoketest/scripts/cli/test_service_https.py | 6 | ||||
| -rwxr-xr-x | smoketest/scripts/cli/test_service_ntp.py | 6 | ||||
| -rwxr-xr-x | smoketest/scripts/cli/test_service_ssh.py | 9 | ||||
| -rwxr-xr-x | smoketest/scripts/cli/test_service_tftp-server.py | 6 | ||||
| -rwxr-xr-x | smoketest/scripts/cli/test_system_sflow.py | 6 |
6 files changed, 20 insertions, 18 deletions
diff --git a/smoketest/scripts/cli/test_service_dns_dynamic.py b/smoketest/scripts/cli/test_service_dns_dynamic.py index e599f18be..0afb22d52 100755 --- a/smoketest/scripts/cli/test_service_dns_dynamic.py +++ b/smoketest/scripts/cli/test_service_dns_dynamic.py @@ -23,6 +23,7 @@ from vyos.configsession import ConfigSessionError from vyos.utils.file import read_file from vyos.utils.process import cmdl from vyos.utils.process import process_named_running +from vyos.utils.network import get_vrf_pids from vyos.xml_ref import default_value DDCLIENT_SYSTEMD_UNIT = '/run/systemd/system/ddclient.service.d/override.conf' @@ -371,8 +372,8 @@ class TestServiceDDNS(VyOSUnitTestSHIM.TestCase): ) # Check for process in VRF - proc = cmdl(['ip', 'vrf', 'pids', vrf_name]) - self.assertIn(DDCLIENT_PNAME, proc) + vrf_procs = [name for _, name in get_vrf_pids(vrf_name)] + self.assertIn(DDCLIENT_PNAME, vrf_procs) # Cleanup VRF self.cli_delete(['vrf', 'name', vrf_name]) diff --git a/smoketest/scripts/cli/test_service_https.py b/smoketest/scripts/cli/test_service_https.py index 0f4330153..93a4dff3d 100755 --- a/smoketest/scripts/cli/test_service_https.py +++ b/smoketest/scripts/cli/test_service_https.py @@ -28,8 +28,8 @@ from base_vyostest_shim import ignore_warning from vyos.utils.file import read_file from vyos.utils.file import write_file from vyos.utils.process import call -from vyos.utils.process import cmdl from vyos.utils.process import process_named_running +from vyos.utils.network import get_vrf_pids from vyos.pki import CERT_BEGIN from vyos.pki import encode_certificate from vyos.pki import load_certificate @@ -248,8 +248,8 @@ class TestHTTPSService(VyOSUnitTestSHIM.TestCase): self.cli_commit() # Verify nginx is running inside the VRF - tmp = cmdl(['ip', 'vrf', 'pids', vrf]) - self.assertIn(PROCESS_NAME, tmp) + vrf_procs = [name for _, name in get_vrf_pids(vrf)] + self.assertIn(PROCESS_NAME, vrf_procs) self.cli_delete(['interfaces', 'dummy', interface]) self.cli_delete(['vrf', 'name', vrf]) diff --git a/smoketest/scripts/cli/test_service_ntp.py b/smoketest/scripts/cli/test_service_ntp.py index 0b8094963..b0109ab51 100755 --- a/smoketest/scripts/cli/test_service_ntp.py +++ b/smoketest/scripts/cli/test_service_ntp.py @@ -20,8 +20,8 @@ from base_vyostest_shim import VyOSUnitTestSHIM from vyos.configsession import ConfigSessionError from vyos.utils.file import read_file -from vyos.utils.process import cmdl from vyos.utils.process import process_named_running +from vyos.utils.network import get_vrf_pids from vyos.xml_ref import default_value PROCESS_NAME = 'chronyd' @@ -278,8 +278,8 @@ class TestSystemNTP(VyOSUnitTestSHIM.TestCase): self.cli_commit() # Check for process in VRF - tmp = cmdl(['ip', 'vrf', 'pids', vrf_name]) - self.assertIn(PROCESS_NAME, tmp) + vrf_procs = [name for _, name in get_vrf_pids(vrf_name)] + self.assertIn(PROCESS_NAME, vrf_procs) self.cli_delete(['vrf', 'name', vrf_name]) diff --git a/smoketest/scripts/cli/test_service_ssh.py b/smoketest/scripts/cli/test_service_ssh.py index 21d99bee6..120afb12a 100755 --- a/smoketest/scripts/cli/test_service_ssh.py +++ b/smoketest/scripts/cli/test_service_ssh.py @@ -29,6 +29,7 @@ from vyos.utils.process import is_systemd_service_running from vyos.utils.process import process_named_running from vyos.utils.file import read_file from vyos.utils.file import write_file +from vyos.utils.network import get_vrf_pids from vyos.xml_ref import default_value PROCESS_NAME = 'sshd' @@ -253,8 +254,8 @@ class TestServiceSSH(VyOSUnitTestSHIM.TestCase): self.cli_commit() # Check for process in VRF - tmp = cmdl(['ip', 'vrf', 'pids', vrf]) - self.assertIn(PROCESS_NAME, tmp) + vrf_procs = [name for _, name in get_vrf_pids(vrf)] + self.assertIn(PROCESS_NAME, vrf_procs) def test_ssh_vrf_multi(self): # Check if SSH service can be bound to multiple VRFs @@ -276,8 +277,8 @@ class TestServiceSSH(VyOSUnitTestSHIM.TestCase): # Check for process in VRF for vrf in vrfs: - tmp = cmdl(['ip', 'vrf', 'pids', vrf]) - self.assertIn(PROCESS_NAME, tmp) + vrf_procs = [name for _, name in get_vrf_pids(vrf)] + self.assertIn(PROCESS_NAME, vrf_procs) def test_ssh_login(self): # Perform SSH login and command execution with a predefined user. The diff --git a/smoketest/scripts/cli/test_service_tftp-server.py b/smoketest/scripts/cli/test_service_tftp-server.py index a6db25044..2c04f2122 100755 --- a/smoketest/scripts/cli/test_service_tftp-server.py +++ b/smoketest/scripts/cli/test_service_tftp-server.py @@ -20,9 +20,9 @@ from psutil import process_iter from base_vyostest_shim import VyOSUnitTestSHIM from vyos.configsession import ConfigSessionError -from vyos.utils.process import cmdl from vyos.utils.file import read_file from vyos.utils.process import process_named_running +from vyos.utils.network import get_vrf_pids from vyos.template import is_ipv6 PROCESS_NAME = 'in.tftpd' @@ -140,8 +140,8 @@ class TestServiceTFTPD(VyOSUnitTestSHIM.TestCase): self.assertIn('--create --umask 000', config) # Check for process in VRF - tmp = cmdl(['ip', 'vrf', 'pids', vrf]) - self.assertIn(PROCESS_NAME, tmp) + vrf_procs = [name for _, name in get_vrf_pids(vrf)] + self.assertIn(PROCESS_NAME, vrf_procs) # delete VRF self.cli_delete(dummy_if_path + ['vrf']) diff --git a/smoketest/scripts/cli/test_system_sflow.py b/smoketest/scripts/cli/test_system_sflow.py index 2fb317af0..4822fc8dc 100755 --- a/smoketest/scripts/cli/test_system_sflow.py +++ b/smoketest/scripts/cli/test_system_sflow.py @@ -20,9 +20,9 @@ from base_vyostest_shim import VyOSUnitTestSHIM from vyos.configsession import ConfigSessionError from vyos.ifconfig import Section -from vyos.utils.process import cmdl from vyos.utils.process import process_named_running from vyos.utils.file import read_file +from vyos.utils.network import get_vrf_pids PROCESS_NAME = 'hsflowd' base_path = ['system', 'sflow'] @@ -148,8 +148,8 @@ class TestSystemFlowAccounting(VyOSUnitTestSHIM.TestCase): self.assertIn(f'pcap {{ dev=eth0 }}', hsflowd) # Check for process in VRF - tmp = cmdl(['ip', 'vrf', 'pids', vrf]) - self.assertIn(PROCESS_NAME, tmp) + vrf_procs = [name for _, name in get_vrf_pids(vrf)] + self.assertIn(PROCESS_NAME, vrf_procs) def test_sflow_egress(self): interface = 'eth0' |
