[26-06-22 06:19:20] START service_tcp scenario: cases/service_tcp.sh header : verify ceci service tcp forwarding and restart topology: client wget on sw1 | sw1 Ceci TCP service -- output --> sw2 backend 192.56.0.2:18083 topology: # Topology: topology: # - Diagram: topology: # client wget on sw1 topology: # | topology: # sw1 Ceci TCP service -- output --> sw2 backend 192.56.0.2:18083 topology: # - Docker mgmt network: 100.100.0.0/24 topology: # sw1=100.100.0.241 (ceci service), sw2=100.100.0.242 (service backends). topology: # - OpenLAN service network "example": 192.56.0.0/24 topology: # sw1=192.56.0.1, sw2=192.56.0.2, with sw2 output to sw1. topology: # Validation: topology: # sw1 wget -> sw1 ceci(service tcp) -> sw2 local http server. Started switch pause container: tests-sw-service-tcp1-pause Started switch frr container: tests-sw-service-tcp1-frr Started switch ipsec container: tests-sw-service-tcp1-ipsec Started switch container: tests-sw-service-tcp1 [26-06-22 06:19:21][ASSERT#0001][expect] at cases/service_tcp.sh:60 fn=setup_sw1 retry=30 cmd="docker logs -f tests-sw-service-tcp1" expect="Http.Start" 2026/06/22 06:19:22 INFO|root|Http.LoadToken: file:/etc/openlan/switch/token does not exist 2026/06/22 06:19:22 INFO|root|UdpServer.Listen: udp://0.0.0.0:10002 2026/06/22 06:19:22 INFO|root|TcpServer.Listen: tcp://0.0.0.0:10002 2026/06/22 06:19:22 INFO|root|Http.Start 0.0.0.0:10000 [26-06-22 06:19:22][ASSERT#0001][OK] cost=1.027s [26-06-22 06:19:22][ASSERT#0002][cmd] at cases/service_tcp.sh:62 fn=setup_sw1 cmd="docker exec tests-sw-service-tcp1 openlan network --name example add --address 192.56.0.1/24" [26-06-22 06:19:23][ASSERT#0002][OK] cost=0.249s [26-06-22 06:19:23][ASSERT#0003][cmd] at cases/service_tcp.sh:63 fn=setup_sw1 cmd="docker exec tests-sw-service-tcp1 openlan user add --name t1@example --password 123456" # total 1 username password role lease t1@example 123456 guest 2027-06-22T06 [26-06-22 06:19:23][ASSERT#0003][OK] cost=0.060s [26-06-22 06:19:23][ASSERT#0004][cmd] at cases/service_tcp.sh:64 fn=setup_sw1 cmd="docker exec tests-sw-service-tcp1 openlan ceci service add --listen 127.0.0.1:13082 --protocol tcp --balance roundrobin" [26-06-22 06:19:23][ASSERT#0004][OK] cost=0.061s [26-06-22 06:19:23][ASSERT#0005][cmd] at cases/service_tcp.sh:65 fn=setup_sw1 cmd="docker exec tests-sw-service-tcp1 openlan ceci service backend add --listen 127.0.0.1:13082 --backend 192.56.0.2:18083" [26-06-22 06:19:23][ASSERT#0005][OK] cost=0.065s [26-06-22 06:19:23][ASSERT#0006][match] at cases/service_tcp.sh:66 fn=setup_sw1 retry=10 cmd="docker exec tests-sw-service-tcp1 openlan ceci service ls" expect="listen: 127.0.0.1:13082" - listen: 127.0.0.1:13082 mode: service service: backends: [26-06-22 06:19:23][ASSERT#0006][OK] cost=0.067s [26-06-22 06:19:23][ASSERT#0007][match] at cases/service_tcp.sh:67 fn=setup_sw1 retry=10 cmd="docker exec tests-sw-service-tcp1 openlan ceci service ls" expect="protocol: tcp" backends: - 192.56.0.2:18083 balance: roundrobin protocol: tcp status: running [26-06-22 06:19:23][ASSERT#0007][OK] cost=0.067s Started switch pause container: tests-sw-service-tcp2-pause Started switch frr container: tests-sw-service-tcp2-frr Started switch ipsec container: tests-sw-service-tcp2-ipsec Started switch container: tests-sw-service-tcp2 [26-06-22 06:19:24][ASSERT#0008][expect] at cases/service_tcp.sh:86 fn=setup_sw2 retry=30 cmd="docker logs -f tests-sw-service-tcp2" expect="Http.Start" 2026/06/22 06:19:24 INFO|root|UdpServer.Listen: udp://0.0.0.0:10002 2026/06/22 06:19:24 INFO|root|Wait: ... 2026/06/22 06:19:24 INFO|root|TcpServer.Listen: tcp://0.0.0.0:10002 2026/06/22 06:19:24 INFO|root|Http.Start 0.0.0.0:10000 [26-06-22 06:19:25][ASSERT#0008][OK] cost=1.034s [26-06-22 06:19:25][ASSERT#0009][cmd] at cases/service_tcp.sh:88 fn=setup_sw2 cmd="docker exec tests-sw-service-tcp2 openlan network --name example add --address 192.56.0.2/24" [26-06-22 06:19:25][ASSERT#0009][OK] cost=0.259s [26-06-22 06:19:25][ASSERT#0010][cmd] at cases/service_tcp.sh:89 fn=setup_sw2 cmd="docker exec tests-sw-service-tcp2 openlan network --name example output add --remote 100.100.0.241 --protocol tcp --secret t1@example:123456 --crypt aes-128:ea64d5b0c96c" [26-06-22 06:19:25][ASSERT#0010][OK] cost=0.060s [26-06-22 06:19:25][ASSERT#0011][match] at cases/service_tcp.sh:90 fn=setup_sw2 retry=20 cmd="docker exec tests-sw-service-tcp2 openlan network --name example output ls" expect="state: authenticated" protocol: tcp remote: 100.100.0.241 secret: t1@example:123456 state: authenticated [26-06-22 06:19:27][ASSERT#0011][OK] cost=2.201s [26-06-22 06:19:27][ASSERT#0012][cmd] at cases/service_tcp.sh:94 fn=setup_target_http cmd="docker exec tests-sw-service-tcp2 sh -c mkdir -p /tmp/ceci-service-tcp && echo 'ceci-service-tcp-ok' > /tmp/ceci-service-tcp/index.html" [26-06-22 06:19:27][ASSERT#0012][OK] cost=0.062s [26-06-22 06:19:27][ASSERT#0013][cmd] at cases/service_tcp.sh:95 fn=setup_target_http cmd="docker exec tests-sw-service-tcp2 sh -c nohup python3 -m http.server 18083 --bind 0.0.0.0 --directory /tmp/ceci-service-tcp >/tmp/ceci-service-tcp.log 2>&1 &" [26-06-22 06:19:27][ASSERT#0013][OK] cost=0.061s [26-06-22 06:19:27][ASSERT#0014][match] at cases/service_tcp.sh:96 fn=setup_target_http retry=10 cmd="docker exec tests-sw-service-tcp2 wget -q -O- http://192.56.0.2:18083/" expect="ceci-service-tcp-ok" ceci-service-tcp-ok [26-06-22 06:19:27][ASSERT#0014][OK] cost=0.069s [26-06-22 06:19:27][ASSERT#0015][match] at cases/service_tcp.sh:100 fn=test_ceci_service retry=20 cmd="docker exec tests-sw-service-tcp1 ping -c 3 192.56.0.2" expect="bytes from" PING 192.56.0.2 (192.56.0.2) 56(84) bytes of data. 64 bytes from 192.56.0.2: icmp_seq=1 ttl=64 time=0.581 ms 64 bytes from 192.56.0.2: icmp_seq=2 ttl=64 time=1.42 ms 64 bytes from 192.56.0.2: icmp_seq=3 ttl=64 time=1.07 ms --- 192.56.0.2 ping statistics --- 3 packets transmitted, 3 received, 0% packet loss, time 2047ms [26-06-22 06:19:33][ASSERT#0015][OK] cost=5.537s [26-06-22 06:19:33][ASSERT#0016][match] at cases/service_tcp.sh:101 fn=test_ceci_service retry=20 cmd="docker exec tests-sw-service-tcp1 wget -q -O- http://127.0.0.1:13082/" expect="ceci-service-tcp-ok" ceci-service-tcp-ok [26-06-22 06:19:33][ASSERT#0016][OK] cost=0.075s [26-06-22 06:19:33][ASSERT#0017][cmd] at cases/service_tcp.sh:105 fn=restart_ceci_service cmd="docker exec tests-sw-service-tcp1 openlan ceci service restart --listen 127.0.0.1:13082" [26-06-22 06:19:33][ASSERT#0017][OK] cost=0.069s [26-06-22 06:19:33][ASSERT#0018][match] at cases/service_tcp.sh:106 fn=restart_ceci_service retry=20 cmd="docker exec tests-sw-service-tcp1 openlan ceci service ls" expect="listen: 127.0.0.1:13082" - listen: 127.0.0.1:13082 mode: service service: backends: [26-06-22 06:19:33][ASSERT#0018][OK] cost=0.068s [26-06-22 06:19:33][ASSERT#0019][match] at cases/service_tcp.sh:100 fn=test_ceci_service retry=20 cmd="docker exec tests-sw-service-tcp1 ping -c 3 192.56.0.2" expect="bytes from" PING 192.56.0.2 (192.56.0.2) 56(84) bytes of data. 64 bytes from 192.56.0.2: icmp_seq=1 ttl=64 time=0.521 ms 64 bytes from 192.56.0.2: icmp_seq=2 ttl=64 time=0.835 ms 64 bytes from 192.56.0.2: icmp_seq=3 ttl=64 time=1.21 ms --- 192.56.0.2 ping statistics --- 3 packets transmitted, 3 received, 0% packet loss, time 2085ms [26-06-22 06:19:35][ASSERT#0019][OK] cost=2.153s [26-06-22 06:19:35][ASSERT#0020][match] at cases/service_tcp.sh:101 fn=test_ceci_service retry=20 cmd="docker exec tests-sw-service-tcp1 wget -q -O- http://127.0.0.1:13082/" expect="ceci-service-tcp-ok" ceci-service-tcp-ok [26-06-22 06:19:35][ASSERT#0020][OK] cost=0.067s [26-06-22 06:19:35][ASSERT#0021][cmd] at cases/service_tcp.sh:110 fn=remove_ceci_service cmd="docker exec tests-sw-service-tcp1 openlan ceci service rm --listen 127.0.0.1:13082" [26-06-22 06:19:36][ASSERT#0021][OK] cost=0.070s [26-06-22 06:19:36][ASSERT#0022][unmatch] at cases/service_tcp.sh:111 fn=remove_ceci_service retry=10 cmd="docker exec tests-sw-service-tcp1 openlan ceci service ls" unexpected="127.0.0.1:13082" Last output: [] [26-06-22 06:19:46][ASSERT#0022][OK] cost=10.704s [26-06-22 06:19:46][ASSERT#0023][unmatch] at cases/service_tcp.sh:112 fn=remove_ceci_service retry=15 cmd="docker exec tests-sw-service-tcp1 wget -q -O- http://127.0.0.1:13082/" unexpected="ceci-service-tcp-ok" Last output: [26-06-22 06:20:02][ASSERT#0023][OK] cost=15.920s [26-06-22 06:20:03] END service_tcp status=PASS cost=42.406s