tempesta-tech / tempesta-test

Test suite for Tempesta FW
11 stars 4 forks source link

The test suite breaks network configuration #284

Closed krizhanovsky closed 1 year ago

krizhanovsky commented 2 years ago

Running the full test suite with the confg

[General]
ip = 127.0.0.1
verbose = 1
workdir = /tmp/host
duration = 10
concurrent_connections = 10
log_file = tests_log.log

[Client]
ip = 127.0.0.1
hostname = localhost
ab = ab
wrk = /root/wrk/wrk
h2load = h2load
tls-perf = /root/tls-perf/tls-perf
workdir = /tmp/client
unavaliable_timeout = 300

[Tempesta]
ip = 127.0.0.1
hostname = localhost
user = root
port = 22
srcdir = /root/tempesta
workdir = /tmp/tempesta
config = tempesta.conf
unavaliable_timeout = 300

[Server]
ip = 127.0.0.1
hostname = localhost
user = root
port = 22
nginx = nginx
workdir = /tmp/nginx
resources = /var/www/html/
aliases_interface = ens3
aliases_base_ip = 192.168.100.4
max_workers = 16
keepalive_timeout = 60
keepalive_requests = 100
unavaliable_timeout = 300

leads to broken network interface configuration on

test (very_many_backends.test_deadtime_1M.RemovingBackendSG) ...

and the VM becomes unresponsive from the host system by SSH:

# ifconfig ens3
ens3: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet6 fe80::5054:ff:fe12:3456  prefixlen 64  scopeid 0x20<link>
        ether 52:54:00:12:34:56  txqueuelen 1000  (Ethernet)
        RX packets 8017  bytes 17473428 (17.4 MB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 6656  bytes 570679 (570.6 KB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

Normal configuration for the interface is

# ifconfig ens3
ens3: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.100.4  netmask 255.255.255.0  broadcast 192.168.100.255
        inet6 fe80::5054:ff:fe12:3456  prefixlen 64  scopeid 0x20<link>
        ether 52:54:00:12:34:56  txqueuelen 1000  (Ethernet)
        RX packets 115  bytes 21164 (21.1 KB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 119  bytes 17293 (17.2 KB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

It seems the test or one after it (vhost.test_add_hdr.TestCachedRespAddHeader) plays with the interface address and doesn't restore it. The tests are successful

test (tls.test_tls_tickets.StandardTlsClient) ... ok
test_invalid_ticket (tls.test_tls_tickets.TlsTicketTest) ... ok
test_no_ticket_support (tls.test_tls_tickets.TlsTicketTest) ... ok
test (tls.test_tls_tickets.TlsVhostConfusion) ... ok
test (tls.test_tls_tickets.TlsVhostConfusionDfltCerts) ... ok
test (tls.test_tls_tickets.TlsVhostConfusionDfltCertsWithUnknown) ... ok
test (very_many_backends.test_deadtime_1M.AddingBackendNewSG) ... ok
test (very_many_backends.test_deadtime_1M.ChangingSG) ... ok
test (very_many_backends.test_deadtime_1M.DontModifyBackend) ... ok
test (very_many_backends.test_deadtime_1M.RemovingBackendSG) ... ok
test_add_hdrs_derive_config (vhost.test_add_hdr.TestCachedRespAddHeader) ... ok
test_add_hdrs_override_config (vhost.test_add_hdr.TestCachedRespAddHeader) ... ok
test_add_one_hdr (vhost.test_add_hdr.TestCachedRespAddHeader) ... ok
test_add_some_hdrs (vhost.test_add_hdr.TestCachedRespAddHeader) ... ok
test_add_some_hdrs_custom_location (vhost.test_add_hdr.TestCachedRespAddHeader) ... ok
test_add_hdrs_derive_config (vhost.test_add_hdr.TestCachedRespDelHeader) ... ok
test_add_hdrs_override_config (vhost.test_add_hdr.TestCachedRespDelHeader) ... ok
test_add_one_hdr (vhost.test_add_hdr.TestCachedRespDelHeader) ... ok
test_add_some_hdrs (vhost.test_add_hdr.TestCachedRespDelHeader) ... ok
test_add_some_hdrs_custom_location (vhost.test_add_hdr.TestCachedRespDelHeader) ... ok
test_add_hdrs_derive_config (vhost.test_add_hdr.TestCachedRespSetHeader) ... ok
test_add_hdrs_override_config (vhost.test_add_hdr.TestCachedRespSetHeader) ... ok