[26-06-02 09:20:46] START access_success scenario: cases/access_success.sh header : two access clients authenticate and can communicate topology: sw1(center) 172.255.0.241 / 192.11.0.1; | tcp access | tcp access; ac1 192.11.0.11 ac2 192.11.0.12 topology: # Topology: topology: # - Diagram: topology: # sw1(center) 172.255.0.241 / 192.11.0.1 topology: # ^ ^ topology: # | tcp access | tcp access topology: # ac1 192.11.0.11 ac2 192.11.0.12 topology: # both access clients join example network topology: # - Docker mgmt network: 172.255.0.0/24 topology: # sw1=172.255.0.241, ac1/ac2 join the same mgmt network. topology: # - OpenLAN service network "example": 192.11.0.0/24 topology: # sw1 gateway=192.11.0.1, ac1=192.11.0.11, ac2=192.11.0.12. topology: # Validation: topology: # (see scenario assertions in this case) Started switch pause container: tests-sw1-pause Started switch frr container: tests-sw1-frr Started switch ipsec container: tests-sw1-ipsec Started switch container: tests-sw1 [26-06-02 09:20:46][ASSERT#0001][expect] at cases/access_success.sh:54 fn=setup_sw1 retry=30 cmd="docker logs -f tests-sw1" expect="Http.Start" 2026/06/02 09:20:47 INFO|root|Wait: ... 2026/06/02 09:20:47 INFO|root|UdpServer.Listen: udp://0.0.0.0:10002 2026/06/02 09:20:47 INFO|root|TcpServer.Listen: tcp://0.0.0.0:10002 2026/06/02 09:20:47 INFO|root|Http.Start 0.0.0.0:10000 [26-06-02 09:20:47][ASSERT#0001][OK] cost=1.032s [26-06-02 09:20:47][ASSERT#0002][cmd] at cases/access_success.sh:57 fn=setup_sw1 cmd="docker exec tests-sw1 openlan network --name example add --address 192.11.0.1/24" [26-06-02 09:20:48][ASSERT#0002][OK] cost=0.242s [26-06-02 09:20:48][ASSERT#0003][cmd] at cases/access_success.sh:59 fn=setup_sw1 cmd="docker exec tests-sw1 openlan user add --name t1@example --password 123456" # total 1 username password role lease t1@example 123456 guest 2027-06-02T09 [26-06-02 09:20:48][ASSERT#0003][OK] cost=0.055s [26-06-02 09:20:48][ASSERT#0004][cmd] at cases/access_success.sh:60 fn=setup_sw1 cmd="docker exec tests-sw1 openlan user add --name t2@example --password 123457" # total 1 username password role lease t2@example 123457 guest 2027-06-02T09 [26-06-02 09:20:48][ASSERT#0004][OK] cost=0.065s Started access container: tests-sw1.ac1 Started access container: tests-sw1.ac2 [26-06-02 09:20:48][ASSERT#0005][expect] at cases/access_success.sh:104 fn=test_ping retry=30 cmd="docker logs -f tests-sw1.ac1" expect="Worker.OnSuccess" 2026/06/02 09:20:48 INFO|root|SocketClientImpl.update: 172.255.0.2:40378 172.255.0.241:10002 2026/06/02 09:20:48 INFO|root|SocketClientImpl.Try: to connected 2026/06/02 09:20:48 INFO|root|SocketClientImpl.negotiate: send request magic=ffff network= 2026/06/02 09:20:48 INFO|172.255.0.241:10002|example|Worker.OnSuccess 2026/06/02 09:20:48 INFO|172.255.0.241:10002|example|Access.AddAddr: 192.11.0.11/24 via 2026/06/02 09:20:48 INFO|tcp:172.255.0.241:10002|example|SocketWorker.onLogin: success 2026/06/02 09:20:48 INFO|172.255.0.241:10002|example|Worker.OnIpAddr: name:example gateway:192.11.0.1 address:192.11.0.11 netmask:255.255.255.0 routes:[] [26-06-02 09:20:49][ASSERT#0005][OK] cost=1.032s [26-06-02 09:20:49][ASSERT#0006][expect] at cases/access_success.sh:105 fn=test_ping retry=30 cmd="docker logs -f tests-sw1.ac2" expect="Worker.OnSuccess" 2026/06/02 09:20:48 INFO|root|SocketClientImpl.update: 172.255.0.3:58916 172.255.0.241:10002 2026/06/02 09:20:48 INFO|root|SocketClientImpl.Try: to connected 2026/06/02 09:20:48 INFO|root|SocketClientImpl.negotiate: send request magic=ffff network= 2026/06/02 09:20:48 INFO|172.255.0.241:10002|example|Worker.OnSuccess 2026/06/02 09:20:48 INFO|172.255.0.241:10002|example|Access.AddAddr: 192.11.0.12/24 via 2026/06/02 09:20:48 INFO|udp:172.255.0.241:10002|example|SocketWorker.onLogin: success 2026/06/02 09:20:48 INFO|172.255.0.241:10002|example|Worker.OnIpAddr: name:example gateway:192.11.0.1 address:192.11.0.12 netmask:255.255.255.0 routes:[] [26-06-02 09:20:50][ASSERT#0006][OK] cost=1.033s [26-06-02 09:20:50][ASSERT#0007][match] at cases/access_success.sh:107 fn=test_ping retry=5 cmd="docker exec tests-sw1.ac1 ping -c 3 192.11.0.1" expect="bytes from" PING 192.11.0.1 (192.11.0.1) 56(84) bytes of data. 64 bytes from 192.11.0.1: icmp_seq=1 ttl=64 time=2044 ms 64 bytes from 192.11.0.1: icmp_seq=2 ttl=64 time=1026 ms 64 bytes from 192.11.0.1: icmp_seq=3 ttl=64 time=2.08 ms --- 192.11.0.1 ping statistics --- 3 packets transmitted, 3 received, 0% packet loss, time 2042ms [26-06-02 09:20:52][ASSERT#0007][OK] cost=2.106s [26-06-02 09:20:52][ASSERT#0008][match] at cases/access_success.sh:108 fn=test_ping retry=5 cmd="docker exec tests-sw1.ac2 ping -c 3 192.11.0.12" expect="bytes from" PING 192.11.0.12 (192.11.0.12) 56(84) bytes of data. 64 bytes from 192.11.0.12: icmp_seq=1 ttl=64 time=0.041 ms 64 bytes from 192.11.0.12: icmp_seq=2 ttl=64 time=0.058 ms 64 bytes from 192.11.0.12: icmp_seq=3 ttl=64 time=0.057 ms --- 192.11.0.12 ping statistics --- 3 packets transmitted, 3 received, 0% packet loss, time 2043ms [26-06-02 09:20:55][ASSERT#0008][OK] cost=2.104s [26-06-02 09:20:55][ASSERT#0009][cmd] at cases/access_success.sh:112 fn=test_crypt_update cmd="docker exec tests-sw1 openlan crypt update --algorithm aes-128 --secret ea64d5b0c96d" [26-06-02 09:20:55][ASSERT#0009][OK] cost=0.080s [26-06-02 09:20:55][ASSERT#0010][match] at cases/access_success.sh:113 fn=test_crypt_update retry=1 cmd="docker exec tests-sw1 openlan crypt ls" expect="secret: ea64d5b0c96d" algorithm: aes-128 secret: ea64d5b0c96d [26-06-02 09:20:55][ASSERT#0010][OK] cost=0.069s [26-06-02 09:20:55][ASSERT#0011][cmd] at cases/access_success.sh:115 fn=test_crypt_update cmd="docker stop tests-sw1.ac1" tests-sw1.ac1 [26-06-02 09:20:55][ASSERT#0011][OK] cost=0.191s [26-06-02 09:20:55][ASSERT#0012][cmd] at cases/access_success.sh:116 fn=test_crypt_update cmd="docker stop tests-sw1.ac2" tests-sw1.ac2 [26-06-02 09:20:55][ASSERT#0012][OK] cost=0.227s [26-06-02 09:20:55][ASSERT#0013][unmatch] at cases/access_success.sh:118 fn=test_crypt_update retry=30 cmd="docker ps" unexpected="tests-sw1.ac1" Last output: CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES a54b3df545f9 luscis/openlan:v26.5.1.amd64.deb "/var/openlan/script…" 39 seconds ago Up 39 seconds tests-sw1 2fa90f9c253e luscis/openlan:v26.5.1.amd64.deb "/var/openlan/script…" 39 seconds ago Up 39 seconds tests-sw1-ipsec f7466ed5e58f luscis/openlan:v26.5.1.amd64.deb "/var/openlan/script…" 39 seconds ago Up 39 seconds tests-sw1-frr 477ff85581c6 luscis/openlan:v26.5.1.amd64.deb "/bin/bash -c 'trap …" 39 seconds ago Up 39 seconds tests-sw1-pause 6c8425a23ef1 debian:bullseye "bash" 6 days ago Up 6 days opencec cf3408a315d6 debian:bullseye "bash" 4 weeks ago Up 13 days openbui [26-06-02 09:21:26][ASSERT#0013][OK] cost=31.255s [26-06-02 09:21:26][ASSERT#0014][unmatch] at cases/access_success.sh:119 fn=test_crypt_update retry=30 cmd="docker ps" unexpected="tests-sw1.ac2" Last output: CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES a54b3df545f9 luscis/openlan:v26.5.1.amd64.deb "/var/openlan/script…" About a minute ago Up About a minute tests-sw1 2fa90f9c253e luscis/openlan:v26.5.1.amd64.deb "/var/openlan/script…" About a minute ago Up About a minute tests-sw1-ipsec f7466ed5e58f luscis/openlan:v26.5.1.amd64.deb "/var/openlan/script…" About a minute ago Up About a minute tests-sw1-frr 477ff85581c6 luscis/openlan:v26.5.1.amd64.deb "/bin/bash -c 'trap …" About a minute ago Up About a minute tests-sw1-pause 6c8425a23ef1 debian:bullseye "bash" 6 days ago Up 6 days opencec cf3408a315d6 debian:bullseye "bash" 4 weeks ago Up 13 days openbui [26-06-02 09:21:58][ASSERT#0014][OK] cost=31.265s Started access container: tests-sw1.ac1 [26-06-02 09:21:58][ASSERT#0015][expect] at cases/access_success.sh:122 fn=test_crypt_update retry=30 cmd="docker logs -f tests-sw1.ac1" expect="SocketClientImpl.Try" 2026/06/02 09:21:58 WARN|tcp:172.255.0.241:10002|example|SocketWorker.connect: tcp:172.255.0.241:10002 2026/06/02 09:21:58 INFO|tcp:172.255.0.241:10002|TcpClient.Connect: tcp://172.255.0.241:10002 2026/06/02 09:21:58 INFO|root|SocketClientImpl.update: 172.255.0.2:56806 172.255.0.241:10002 2026/06/02 09:21:58 INFO|root|SocketClientImpl.Try: to connected 2026/06/02 09:21:58 INFO|root|SocketClientImpl.negotiate: send request magic=ffff network= 2026/06/02 09:21:58 ERROR|root|SocketClientImpl.Try EOF 2026/06/02 09:21:58 ERROR|tcp:172.255.0.241:10002|example|SocketWorker.Read: EOF 2026/06/02 09:21:58 INFO|root|SocketClientImpl.update: 2026/06/02 09:21:58 INFO|tcp:172.255.0.241:10002|example|SocketWorker.dispatch: reconn from read [26-06-02 09:21:59][ASSERT#0015][OK] cost=1.028s [26-06-02 09:21:59][ASSERT#0016][cmd] at cases/access_success.sh:124 fn=test_crypt_update cmd="docker stop tests-sw1.ac1" tests-sw1.ac1 [26-06-02 09:21:59][ASSERT#0016][OK] cost=0.186s [26-06-02 09:21:59][ASSERT#0017][unmatch] at cases/access_success.sh:125 fn=test_crypt_update retry=30 cmd="docker ps" unexpected="tests-sw1.ac1" Last output: CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES a54b3df545f9 luscis/openlan:v26.5.1.amd64.deb "/var/openlan/script…" About a minute ago Up About a minute tests-sw1 2fa90f9c253e luscis/openlan:v26.5.1.amd64.deb "/var/openlan/script…" About a minute ago Up About a minute tests-sw1-ipsec f7466ed5e58f luscis/openlan:v26.5.1.amd64.deb "/var/openlan/script…" About a minute ago Up About a minute tests-sw1-frr 477ff85581c6 luscis/openlan:v26.5.1.amd64.deb "/bin/bash -c 'trap …" About a minute ago Up About a minute tests-sw1-pause 6c8425a23ef1 debian:bullseye "bash" 6 days ago Up 6 days opencec cf3408a315d6 debian:bullseye "bash" 4 weeks ago Up 13 days openbui [26-06-02 09:22:30][ASSERT#0017][OK] cost=31.269s Started access container: tests-sw1.ac1 [26-06-02 09:22:31][ASSERT#0018][expect] at cases/access_success.sh:128 fn=test_crypt_update retry=30 cmd="docker logs -f tests-sw1.ac1" expect="Worker.OnSuccess" 2026/06/02 09:22:31 INFO|root|SocketClientImpl.update: 172.255.0.2:57790 172.255.0.241:10002 2026/06/02 09:22:31 INFO|root|SocketClientImpl.Try: to connected 2026/06/02 09:22:31 INFO|root|SocketClientImpl.negotiate: send request magic=ffff network= 2026/06/02 09:22:31 INFO|172.255.0.241:10002|example|Worker.OnSuccess 2026/06/02 09:22:31 INFO|172.255.0.241:10002|example|Access.AddAddr: 192.11.0.11/24 via 2026/06/02 09:22:31 INFO|tcp:172.255.0.241:10002|example|SocketWorker.onLogin: success 2026/06/02 09:22:31 INFO|172.255.0.241:10002|example|Worker.OnIpAddr: name:example gateway:192.11.0.1 address:192.11.0.11 netmask:255.255.255.0 routes:[] [26-06-02 09:22:32][ASSERT#0018][OK] cost=1.029s Started access container: tests-sw1.ac2 [26-06-02 09:22:32][ASSERT#0019][expect] at cases/access_success.sh:131 fn=test_crypt_update retry=30 cmd="docker logs -f tests-sw1.ac2" expect="Worker.OnSuccess" 2026/06/02 09:22:32 INFO|root|SocketClientImpl.update: 172.255.0.3:44496 172.255.0.241:10002 2026/06/02 09:22:32 INFO|root|SocketClientImpl.Try: to connected 2026/06/02 09:22:32 INFO|root|SocketClientImpl.negotiate: send request magic=ffff network= 2026/06/02 09:22:32 INFO|172.255.0.241:10002|example|Worker.OnSuccess 2026/06/02 09:22:32 INFO|172.255.0.241:10002|example|Access.AddAddr: 192.11.0.12/24 via 2026/06/02 09:22:32 INFO|udp:172.255.0.241:10002|example|SocketWorker.onLogin: success 2026/06/02 09:22:32 INFO|172.255.0.241:10002|example|Worker.OnIpAddr: name:example gateway:192.11.0.1 address:192.11.0.12 netmask:255.255.255.0 routes:[] [26-06-02 09:22:33][ASSERT#0019][OK] cost=1.028s [26-06-02 09:22:33][ASSERT#0020][expect] at cases/access_success.sh:104 fn=test_ping retry=30 cmd="docker logs -f tests-sw1.ac1" expect="Worker.OnSuccess" 2026/06/02 09:22:31 INFO|root|SocketClientImpl.update: 172.255.0.2:57790 172.255.0.241:10002 2026/06/02 09:22:31 INFO|root|SocketClientImpl.Try: to connected 2026/06/02 09:22:31 INFO|root|SocketClientImpl.negotiate: send request magic=ffff network= 2026/06/02 09:22:31 INFO|172.255.0.241:10002|example|Worker.OnSuccess 2026/06/02 09:22:31 INFO|172.255.0.241:10002|example|Access.AddAddr: 192.11.0.11/24 via 2026/06/02 09:22:31 INFO|tcp:172.255.0.241:10002|example|SocketWorker.onLogin: success 2026/06/02 09:22:31 INFO|172.255.0.241:10002|example|Worker.OnIpAddr: name:example gateway:192.11.0.1 address:192.11.0.11 netmask:255.255.255.0 routes:[] [26-06-02 09:22:34][ASSERT#0020][OK] cost=1.033s [26-06-02 09:22:34][ASSERT#0021][expect] at cases/access_success.sh:105 fn=test_ping retry=30 cmd="docker logs -f tests-sw1.ac2" expect="Worker.OnSuccess" 2026/06/02 09:22:32 INFO|root|SocketClientImpl.update: 172.255.0.3:44496 172.255.0.241:10002 2026/06/02 09:22:32 INFO|root|SocketClientImpl.Try: to connected 2026/06/02 09:22:32 INFO|root|SocketClientImpl.negotiate: send request magic=ffff network= 2026/06/02 09:22:32 INFO|172.255.0.241:10002|example|Worker.OnSuccess 2026/06/02 09:22:32 INFO|172.255.0.241:10002|example|Access.AddAddr: 192.11.0.12/24 via 2026/06/02 09:22:32 INFO|udp:172.255.0.241:10002|example|SocketWorker.onLogin: success 2026/06/02 09:22:32 INFO|172.255.0.241:10002|example|Worker.OnIpAddr: name:example gateway:192.11.0.1 address:192.11.0.12 netmask:255.255.255.0 routes:[] [26-06-02 09:22:35][ASSERT#0021][OK] cost=1.029s [26-06-02 09:22:35][ASSERT#0022][match] at cases/access_success.sh:107 fn=test_ping retry=5 cmd="docker exec tests-sw1.ac1 ping -c 3 192.11.0.1" expect="bytes from" PING 192.11.0.1 (192.11.0.1) 56(84) bytes of data. 64 bytes from 192.11.0.1: icmp_seq=1 ttl=64 time=0.740 ms 64 bytes from 192.11.0.1: icmp_seq=2 ttl=64 time=1.27 ms 64 bytes from 192.11.0.1: icmp_seq=3 ttl=64 time=0.995 ms --- 192.11.0.1 ping statistics --- 3 packets transmitted, 3 received, 0% packet loss, time 2009ms [26-06-02 09:22:37][ASSERT#0022][OK] cost=2.068s [26-06-02 09:22:37][ASSERT#0023][match] at cases/access_success.sh:108 fn=test_ping retry=5 cmd="docker exec tests-sw1.ac2 ping -c 3 192.11.0.12" expect="bytes from" PING 192.11.0.12 (192.11.0.12) 56(84) bytes of data. 64 bytes from 192.11.0.12: icmp_seq=1 ttl=64 time=0.074 ms 64 bytes from 192.11.0.12: icmp_seq=2 ttl=64 time=0.081 ms 64 bytes from 192.11.0.12: icmp_seq=3 ttl=64 time=0.027 ms --- 192.11.0.12 ping statistics --- 3 packets transmitted, 3 received, 0% packet loss, time 2061ms [26-06-02 09:22:39][ASSERT#0023][OK] cost=2.122s [26-06-02 09:22:40] END access_success status=PASS cost=114.409s