| Index | Scenario | Time Stamp | Pass/Fail |
|---|---|---|---|
| 1 | Print Topology Image | 22:53:34 | 1 / 0 |
| 2 | Session Check | 22:53:34 | 6 / 0 |
| 3 | Check SONiC Version | 22:53:34 | 2 / 0 |
| 4 | Create VLAN | 22:53:45 | 10 / 0 |
| 5 | Add VLAN Member & Assign IP Address to VLAN | 22:54:41 | 14 / 0 |
| 6 | Assign IP Address to Host & Add Default GW | 22:55:59 | 20 / 0 |
| 7 | Test Network-link | 22:56:00 | 1 / 0 |
| Name | Connection Type | Host Address | Port | Login User |
|---|---|---|---|---|
| H-1 | ssh | 10.250.0.101 | 22 | ubuntu |
| H-2 | ssh | 10.250.0.102 | 22 | ubuntu |
| H-3 | ssh | 10.250.0.103 | 22 | ubuntu |
| H-4 | ssh | 10.250.0.104 | 22 | ubuntu |
| SW-1 | ssh | 10.250.0.10 | 22 | admin |
| SW-2 | ssh | 10.250.0.11 | 22 | admin |
| Index | Action | Session | Time Stamp | Pass/Fail |
|---|---|---|---|---|
| 1 | print topo img | caller | 22:53:34 | Pass |
| Parameter | topo-L2-Inter-VLAN.jpg | |||
| Response | ||||
| 2 | session check SW-1 | SW-1 | 22:53:34 | Pass |
| Parameter | None | |||
| Response | Linux SW-1 6.1.0-29-2-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.123-1 (2025-01-02) x86_64 You are on ____ ___ _ _ _ ____ / ___| / _ \| \ | (_)/ ___| \___ \| | | | \| | | | ___) | |_| | |\ | | |___ |____/ \___/|_| \_|_|\____| -- Software for Open Networking in the Cloud -- Unauthorized access and/or use are prohibited. All access and/or use are subject to monitoring. Help: https://sonic-net.github.io/SONiC/ Last login: Sat Sep 26 22:40:38 2026 admin@SW-1:~$ |
|||
| 3 | session check SW-2 | SW-2 | 22:53:34 | Pass |
| Parameter | None | |||
| Response | Linux SW-2 6.1.0-29-2-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.123-1 (2025-01-02) x86_64 You are on ____ ___ _ _ _ ____ / ___| / _ \| \ | (_)/ ___| \___ \| | | | \| | | | ___) | |_| | |\ | | |___ |____/ \___/|_| \_|_|\____| -- Software for Open Networking in the Cloud -- Unauthorized access and/or use are prohibited. All access and/or use are subject to monitoring. Help: https://sonic-net.github.io/SONiC/ Last login: Sat Sep 26 22:40:42 2026 admin@SW-2:~$ |
|||
| 4 | session check H-1 | H-1 | 22:53:34 | Pass |
| Parameter | None | |||
| Response | Welcome to Ubuntu 20.04.6 LTS (GNU/Linux 5.4.0-215-generic x86_64) * Documentation: https://help.ubuntu.com * Management: https://landscape.canonical.com * Support: https://ubuntu.com/pro System information as of Sat Sep 26 13:53:19 UTC 2026 System load: 0.0 Processes: 144 Usage of /: 9.0% of 19.20GB Users logged in: 0 Memory usage: 6% IPv4 address for mgmt: 10.250.0.101 Swap usage: 0% Expanded Security Maintenance for Applications is not enabled. 0 updates can be applied immediately. Enable ESM Apps to receive additional future security updates. See https://ubuntu.com/esm or run: sudo pro status The list of available updates is more than a week old. To check for new updates run: sudo apt update New release '22.04.5 LTS' available. Run 'do-release-upgrade' to upgrade to it. *** System restart required *** ubuntu@H-1:~$ |
|||
| 5 | session check H-2 | H-2 | 22:53:34 | Pass |
| Parameter | None | |||
| Response | Welcome to Ubuntu 20.04.6 LTS (GNU/Linux 5.4.0-215-generic x86_64) * Documentation: https://help.ubuntu.com * Management: https://landscape.canonical.com * Support: https://ubuntu.com/pro System information as of Sat Sep 26 13:53:21 UTC 2026 System load: 0.0 Processes: 142 Usage of /: 9.0% of 19.20GB Users logged in: 0 Memory usage: 6% IPv4 address for mgmt: 10.250.0.102 Swap usage: 0% Expanded Security Maintenance for Applications is not enabled. 0 updates can be applied immediately. Enable ESM Apps to receive additional future security updates. See https://ubuntu.com/esm or run: sudo pro status The list of available updates is more than a week old. To check for new updates run: sudo apt update New release '22.04.5 LTS' available. Run 'do-release-upgrade' to upgrade to it. *** System restart required *** ubuntu@H-2:~$ |
|||
| 6 | session check H-3 | H-3 | 22:53:34 | Pass |
| Parameter | None | |||
| Response | Welcome to Ubuntu 20.04.6 LTS (GNU/Linux 5.4.0-215-generic x86_64) * Documentation: https://help.ubuntu.com * Management: https://landscape.canonical.com * Support: https://ubuntu.com/pro System information as of Sat Sep 26 13:53:24 UTC 2026 System load: 0.01 Processes: 131 Usage of /: 9.0% of 19.20GB Users logged in: 0 Memory usage: 6% IPv4 address for mgmt: 10.250.0.103 Swap usage: 0% Expanded Security Maintenance for Applications is not enabled. 0 updates can be applied immediately. Enable ESM Apps to receive additional future security updates. See https://ubuntu.com/esm or run: sudo pro status The list of available updates is more than a week old. To check for new updates run: sudo apt update New release '22.04.5 LTS' available. Run 'do-release-upgrade' to upgrade to it. *** System restart required *** ubuntu@H-3:~$ |
|||
| 7 | session check H-4 | H-4 | 22:53:34 | Pass |
| Parameter | None | |||
| Response | Welcome to Ubuntu 20.04.6 LTS (GNU/Linux 5.4.0-215-generic x86_64) * Documentation: https://help.ubuntu.com * Management: https://landscape.canonical.com * Support: https://ubuntu.com/pro System information as of Sat Sep 26 13:53:26 UTC 2026 System load: 0.0 Processes: 143 Usage of /: 9.0% of 19.20GB Users logged in: 0 Memory usage: 6% IPv4 address for mgmt: 10.250.0.104 Swap usage: 0% Expanded Security Maintenance for Applications is not enabled. 0 updates can be applied immediately. Enable ESM Apps to receive additional future security updates. See https://ubuntu.com/esm or run: sudo pro status The list of available updates is more than a week old. To check for new updates run: sudo apt update New release '22.04.5 LTS' available. Run 'do-release-upgrade' to upgrade to it. *** System restart required *** ubuntu@H-4:~$ |
|||
| 8 | Check SONiC OS Version | SW-1 | 22:53:34 | Pass |
| Parameter | ~$ show version | |||
| Response | SONiC Software Version: SONiC.202505.926279-b7206d85a SONiC OS Version: 12 Distribution: Debian 12.11 Kernel: 6.1.0-29-2-amd64 Build commit: b7206d85a Build date: Tue Aug 19 14:16:31 UTC 2025 Built by: azureuser@d674752fc000000 Platform: x86_64-kvm_x86_64-r0 HwSKU: Etri-SONiC ASIC: vs ASIC Count: 1 Serial Number: N/A Model Number: N/A Hardware Revision: N/A Uptime: 22:53:33 up 2:16, 1 user, load average: 0.33, 1.00, 0.58 Date: Sat 26 Sep 2026 22:53:33 Docker images: REPOSITORY TAG IMAGE ID SIZE docker-macsec 202505.926279-b7206d85a eb3fac1f1e14 347MB docker-macsec latest eb3fac1f1e14 347MB docker-orchagent 202505.926279-b7206d85a 1d3a6e9b7605 356MB docker-orchagent latest 1d3a6e9b7605 356MB docker-sflow 202505.926279-b7206d85a f7c21d48ff02 345MB docker-sflow latest f7c21d48ff02 345MB docker-teamd 202505.926279-b7206d85a 219394382f06 344MB docker-teamd latest 219394382f06 344MB docker-fpm-frr 202505.926279-b7206d85a 231b5d766152 393MB docker-fpm-frr latest 231b5d766152 393MB docker-nat 202505.926279-b7206d85a 553569c2ed1a 347MB docker-nat latest 553569c2ed1a 347MB docker-dash-ha 202505.926279-b7206d85a eadcbe8a318f 357MB docker-dash-ha latest eadcbe8a318f 357MB docker-syncd-vs 202505.926279-b7206d85a d6f77d7d5c73 2.18GB docker-syncd-vs latest d6f77d7d5c73 2.18GB docker-gbsyncd-vs 202505.926279-b7206d85a e1b2e95f057b 2.18GB docker-gbsyncd-vs latest e1b2e95f057b 2.18GB docker-sonic-bmp 202505.926279-b7206d85a 773e76990a92 315MB docker-sonic-bmp latest 773e76990a92 315MB docker-dhcp-relay 202505.926279-b7206d85a b82ba73b313a 323MB docker-dhcp-relay latest b82ba73b313a 323MB docker-platform-monitor 202505.926279-b7206d85a dff6c6e2ea25 447MB docker-platform-monitor latest dff6c6e2ea25 447MB docker-snmp 202505.926279-b7206d85a f813952ac4d7 358MB docker-snmp latest f813952ac4d7 358MB docker-router-advertiser 202505.926279-b7206d85a e8cbc5b10fff 314MB docker-router-advertiser latest e8cbc5b10fff 314MB docker-mux 202505.926279-b7206d85a a6ccc3ca8b81 366MB docker-mux latest a6ccc3ca8b81 366MB docker-gnmi-watchdog 202505.926279-b7206d85a 9871849025e5 314MB docker-gnmi-watchdog latest 9871849025e5 314MB docker-lldp 202505.926279-b7206d85a ee7a4d514875 360MB docker-lldp latest ee7a4d514875 360MB docker-sonic-gnmi 202505.926279-b7206d85a 9f8ed5aefa5d 427MB docker-sonic-gnmi latest 9f8ed5aefa5d 427MB docker-bmp-watchdog 202505.926279-b7206d85a 62eb09ee3d7e 314MB docker-bmp-watchdog latest 62eb09ee3d7e 314MB docker-eventd 202505.926279-b7206d85a b5707e85d1ec 314MB docker-eventd latest b5707e85d1ec 314MB docker-database 202505.926279-b7206d85a 6d85154e4f52 321MB docker-database latest 6d85154e4f52 321MB docker-auditd-watchdog 202505.926279-b7206d85a 92489e94897e 314MB docker-auditd-watchdog latest 92489e94897e 314MB docker-auditd 202505.926279-b7206d85a 5e7f418566b0 314MB docker-auditd latest 5e7f418566b0 314MB docker-dash-engine 202505.926279-b7206d85a 9b719283bb99 697MB docker-dash-engine latest 9b719283bb99 697MB docker-sonic-mgmt-framework 202505.926279-b7206d85a 347d1879e56e 403MB docker-sonic-mgmt-framework latest 347d1879e56e 403MB docker-sysmgr 202505.926279-b7206d85a acdc8191fd32 326MB docker-sysmgr latest acdc8191fd32 326MB |
|||
| Judgement | Success inter-conditional operator : or contain string: SONiC OS Version: 12 contain string: SONiC Software Version: SONiC.master.775830-a7eb965c8 not contain string: Error: |
|||
| 9 | Check SONiC OS Version | SW-2 | 22:53:39 | Pass |
| Parameter | ~$ show version | |||
| Response | SONiC Software Version: SONiC.202505.926279-b7206d85a SONiC OS Version: 12 Distribution: Debian 12.11 Kernel: 6.1.0-29-2-amd64 Build commit: b7206d85a Build date: Tue Aug 19 14:16:31 UTC 2025 Built by: azureuser@d674752fc000000 Platform: x86_64-kvm_x86_64-r0 HwSKU: Etri-SONiC ASIC: vs ASIC Count: 1 Serial Number: N/A Model Number: N/A Hardware Revision: N/A Uptime: 22:53:38 up 2:16, 1 user, load average: 0.41, 1.15, 0.71 Date: Sat 26 Sep 2026 22:53:38 Docker images: REPOSITORY TAG IMAGE ID SIZE docker-macsec 202505.926279-b7206d85a eb3fac1f1e14 347MB docker-macsec latest eb3fac1f1e14 347MB docker-orchagent 202505.926279-b7206d85a 1d3a6e9b7605 356MB docker-orchagent latest 1d3a6e9b7605 356MB docker-sflow 202505.926279-b7206d85a f7c21d48ff02 345MB docker-sflow latest f7c21d48ff02 345MB docker-teamd 202505.926279-b7206d85a 219394382f06 344MB docker-teamd latest 219394382f06 344MB docker-fpm-frr 202505.926279-b7206d85a 231b5d766152 393MB docker-fpm-frr latest 231b5d766152 393MB docker-nat 202505.926279-b7206d85a 553569c2ed1a 347MB docker-nat latest 553569c2ed1a 347MB docker-dash-ha 202505.926279-b7206d85a eadcbe8a318f 357MB docker-dash-ha latest eadcbe8a318f 357MB docker-syncd-vs 202505.926279-b7206d85a d6f77d7d5c73 2.18GB docker-syncd-vs latest d6f77d7d5c73 2.18GB docker-gbsyncd-vs 202505.926279-b7206d85a e1b2e95f057b 2.18GB docker-gbsyncd-vs latest e1b2e95f057b 2.18GB docker-sonic-bmp 202505.926279-b7206d85a 773e76990a92 315MB docker-sonic-bmp latest 773e76990a92 315MB docker-dhcp-relay 202505.926279-b7206d85a b82ba73b313a 323MB docker-dhcp-relay latest b82ba73b313a 323MB docker-platform-monitor 202505.926279-b7206d85a dff6c6e2ea25 447MB docker-platform-monitor latest dff6c6e2ea25 447MB docker-snmp 202505.926279-b7206d85a f813952ac4d7 358MB docker-snmp latest f813952ac4d7 358MB docker-router-advertiser 202505.926279-b7206d85a e8cbc5b10fff 314MB docker-router-advertiser latest e8cbc5b10fff 314MB docker-mux 202505.926279-b7206d85a a6ccc3ca8b81 366MB docker-mux latest a6ccc3ca8b81 366MB docker-gnmi-watchdog 202505.926279-b7206d85a 9871849025e5 314MB docker-gnmi-watchdog latest 9871849025e5 314MB docker-lldp 202505.926279-b7206d85a ee7a4d514875 360MB docker-lldp latest ee7a4d514875 360MB docker-sonic-gnmi 202505.926279-b7206d85a 9f8ed5aefa5d 427MB docker-sonic-gnmi latest 9f8ed5aefa5d 427MB docker-bmp-watchdog 202505.926279-b7206d85a 62eb09ee3d7e 314MB docker-bmp-watchdog latest 62eb09ee3d7e 314MB docker-eventd 202505.926279-b7206d85a b5707e85d1ec 314MB docker-eventd latest b5707e85d1ec 314MB docker-database 202505.926279-b7206d85a 6d85154e4f52 321MB docker-database latest 6d85154e4f52 321MB docker-auditd-watchdog 202505.926279-b7206d85a 92489e94897e 314MB docker-auditd-watchdog latest 92489e94897e 314MB docker-auditd 202505.926279-b7206d85a 5e7f418566b0 314MB docker-auditd latest 5e7f418566b0 314MB docker-dash-engine 202505.926279-b7206d85a 9b719283bb99 697MB docker-dash-engine latest 9b719283bb99 697MB docker-sonic-mgmt-framework 202505.926279-b7206d85a 347d1879e56e 403MB docker-sonic-mgmt-framework latest 347d1879e56e 403MB docker-sysmgr 202505.926279-b7206d85a acdc8191fd32 326MB docker-sysmgr latest acdc8191fd32 326MB |
|||
| Judgement | Success inter-conditional operator : or contain string: SONiC OS Version: 12 contain string: SONiC Software Version: SONiC.master.775830-a7eb965c8 not contain string: Error: |
|||
| 10 | Check VLAN exist on SW-1 | SW-1 | 22:53:45 | Pass |
| Parameter | ~$ show vlan config | |||
| Response | Name VID Member Mode ------ ----- -------- ------ |
|||
| Judgement | Success inter-conditional operator : and not contain string: Error: |
|||
| 11 | Check VLAN exist on SW-2 | SW-2 | 22:53:50 | Pass |
| Parameter | ~$ show vlan config | |||
| Response | Name VID Member Mode ------ ----- -------- ------ |
|||
| Judgement | Success inter-conditional operator : and not contain string: Error: |
|||
| 12 | Create VLAN 10 on SW-1 | SW-1 | 22:53:56 | Pass |
| Parameter | ~$ sudo config vlan add 10 | |||
| Response | Success | |||
| 13 | Create VLAN 10 on SW-1 | SW-1 | 22:54:02 | Pass |
| Parameter | ~$ show vlan config | |||
| Response | Name VID Member Mode ------ ----- -------- ------ Vlan10 10 |
|||
| Judgement | Success inter-conditional operator : and contain string: Vlan10 10 not contain string: Error: |
|||
| 14 | Create VLAN 10 on SW-2 | SW-2 | 22:54:07 | Pass |
| Parameter | ~$ sudo config vlan add 10 | |||
| Response | Success | |||
| 15 | Create VLAN 10 on SW-2 | SW-2 | 22:54:13 | Pass |
| Parameter | ~$ show vlan config | |||
| Response | Name VID Member Mode ------ ----- -------- ------ Vlan10 10 |
|||
| Judgement | Success inter-conditional operator : and contain string: Vlan10 10 not contain string: Error: |
|||
| 16 | Create VLAN 20 on SW-1 | SW-1 | 22:54:18 | Pass |
| Parameter | ~$ sudo config vlan add 20 | |||
| Response | Success | |||
| 17 | Create VLAN 20 on SW-1 | SW-1 | 22:54:24 | Pass |
| Parameter | ~$ show vlan config | |||
| Response | Name VID Member Mode ------ ----- -------- ------ Vlan10 10 Vlan20 20 |
|||
| Judgement | Success inter-conditional operator : and contain string: Vlan20 20 not contain string: Error: |
|||
| 18 | Create VLAN 20 on SW-2 | SW-2 | 22:54:30 | Pass |
| Parameter | ~$ sudo config vlan add 20 | |||
| Response | Success | |||
| 19 | Create VLAN 20 on SW-2 | SW-2 | 22:54:35 | Pass |
| Parameter | ~$ show vlan config | |||
| Response | Name VID Member Mode ------ ----- -------- ------ Vlan10 10 Vlan20 20 |
|||
| Judgement | Success inter-conditional operator : and contain string: Vlan20 20 not contain string: Error: |
|||
| 20 | Add VLAN 10 & VLAN 20 member on SW-1 | SW-1 | 22:54:41 | Pass |
| Parameter | ~$ sudo config vlan member add 10 Ethernet8 | |||
| Response | Success | |||
| 21 | Add VLAN 10 & VLAN 20 member on SW-1 | SW-1 | 22:54:46 | Pass |
| Parameter | ~$ sudo config vlan member add 20 Ethernet8 | |||
| Response | Success | |||
| 22 | Add VLAN 10 & VLAN 20 member on SW-1 | SW-1 | 22:54:52 | Pass |
| Parameter | ~$ sudo config vlan member add 10 -u Ethernet16 | |||
| Response | Success | |||
| 23 | Add VLAN 10 & VLAN 20 member on SW-1 | SW-1 | 22:54:58 | Pass |
| Parameter | ~$ sudo config vlan member add 20 -u Ethernet20 | |||
| Response | Success | |||
| 24 | Add VLAN 10 & VLAN 20 member on SW-1 | SW-1 | 22:55:03 | Pass |
| Parameter | ~$ show vlan config | |||
| Response | Name VID Member Mode ------ ----- ---------- -------- Vlan10 10 Ethernet8 tagged Vlan10 10 Ethernet16 untagged Vlan20 20 Ethernet8 tagged Vlan20 20 Ethernet20 untagged |
|||
| Judgement | Success inter-conditional operator : and contain string: Vlan10 10 Ethernet8 tagged contain string: Vlan10 10 Ethernet16 untagged contain string: Vlan20 20 Ethernet8 tagged contain string: Vlan20 20 Ethernet20 untagged not contain string: Error: |
|||
| 25 | Add VLAN 10 IP Address | SW-1 | 22:55:09 | Pass |
| Parameter | ~$ sudo config interface ip add Vlan10 10.0.100.1/24 | |||
| Response | Success | |||
| 26 | Add VLAN 10 IP Address | SW-1 | 22:55:14 | Pass |
| Parameter | ~$ sudo config interface ip add Vlan20 10.0.200.1/24 | |||
| Response | Success | |||
| 27 | Add VLAN 10 & VLAN 20 member on SW-2 | SW-2 | 22:55:20 | Pass |
| Parameter | ~$ sudo config vlan member add 10 Ethernet4 | |||
| Response | Success | |||
| 28 | Add VLAN 10 & VLAN 20 member on SW-2 | SW-2 | 22:55:26 | Pass |
| Parameter | ~$ sudo config vlan member add 20 Ethernet4 | |||
| Response | Success | |||
| 29 | Add VLAN 10 & VLAN 20 member on SW-2 | SW-2 | 22:55:31 | Pass |
| Parameter | ~$ sudo config vlan member add 10 -u Ethernet12 | |||
| Response | Success | |||
| 30 | Add VLAN 10 & VLAN 20 member on SW-2 | SW-2 | 22:55:37 | Pass |
| Parameter | ~$ sudo config vlan member add 20 -u Ethernet16 | |||
| Response | Success | |||
| 31 | Add VLAN 10 & VLAN 20 member on SW-2 | SW-2 | 22:55:43 | Pass |
| Parameter | ~$ show vlan config | |||
| Response | Name VID Member Mode ------ ----- ---------- -------- Vlan10 10 Ethernet4 tagged Vlan10 10 Ethernet12 untagged Vlan20 20 Ethernet4 tagged Vlan20 20 Ethernet16 untagged |
|||
| Judgement | Success inter-conditional operator : and contain string: Vlan10 10 Ethernet4 tagged contain string: Vlan10 10 Ethernet12 untagged contain string: Vlan20 20 Ethernet4 tagged contain string: Vlan20 20 Ethernet16 untagged not contain string: Error: |
|||
| 32 | Add VLAN 10 IP Address | SW-2 | 22:55:48 | Pass |
| Parameter | ~$ sudo config interface ip add Vlan10 10.0.100.1/24 | |||
| Response | Success | |||
| 33 | Add VLAN 10 IP Address | SW-2 | 22:55:54 | Pass |
| Parameter | ~$ sudo config interface ip add Vlan20 10.0.200.1/24 | |||
| Response | Success | |||
| 34 | Set Eth1 IPv4 Address on H-1 | H-1 | 22:55:59 | Pass |
| Parameter | ~$ sudo ip address add 10.0.100.10/24 dev Eth1 | |||
| Response | Success | |||
| 35 | Set Eth1 IPv4 Address on H-1 | H-1 | 22:55:59 | Pass |
| Parameter | ~$ ip address show Eth1 | |||
| Response | 3: Eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000 link/ether 52:54:00:10:02:01 brd ff:ff:ff:ff:ff:ff inet 10.0.100.10/24 brd 10.0.100.255 scope global Eth1 valid_lft forever preferred_lft forever inet6 fe80::5054:ff:fe10:201/64 scope link valid_lft forever preferred_lft forever |
|||
| Judgement | Success inter-conditional operator : and contain string: inet 10.0.100.10/24 not contain string: DOWN |
|||
| 36 | Change default gw | H-1 | 22:55:59 | Pass |
| Parameter | ~$ sudo ip route del default | |||
| Response | Success | |||
| 37 | Change default gw | H-1 | 22:56:00 | Pass |
| Parameter | ~$ sudo ip route add default via 10.0.100.1 dev Eth1 | |||
| Response | Success | |||
| 38 | Change default gw | H-1 | 22:56:00 | Pass |
| Parameter | ~$ ip route show | |||
| Response | default via 10.0.100.1 dev Eth1 10.0.100.0/24 dev Eth1 proto kernel scope link src 10.0.100.10 10.250.0.0/24 dev mgmt proto kernel scope link src 10.250.0.101 40.0.100.0/24 via 10.0.100.1 dev Eth1 proto static |
|||
| Judgement | Success inter-conditional operator : and contain string: default via 10.0.100.1 dev Eth1 not contain string: default via 10.250.0.1 dev mgmt proto static |
|||
| 39 | Set Eth1 IPv4 Address on H-2 | H-2 | 22:56:00 | Pass |
| Parameter | ~$ sudo ip address add 10.0.100.11/24 dev Eth1 | |||
| Response | Success | |||
| 40 | Set Eth1 IPv4 Address on H-2 | H-2 | 22:56:00 | Pass |
| Parameter | ~$ ip address show Eth1 | |||
| Response | 3: Eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000 link/ether 52:54:00:10:02:02 brd ff:ff:ff:ff:ff:ff inet 10.0.100.11/24 brd 10.0.100.255 scope global Eth1 valid_lft forever preferred_lft forever inet6 fe80::5054:ff:fe10:202/64 scope link valid_lft forever preferred_lft forever |
|||
| Judgement | Success inter-conditional operator : and contain string: inet 10.0.100.11/24 not contain string: DOWN |
|||
| 41 | Change default gw | H-2 | 22:56:00 | Pass |
| Parameter | ~$ sudo ip route del default | |||
| Response | Success | |||
| 42 | Change default gw | H-2 | 22:56:00 | Pass |
| Parameter | ~$ sudo ip route add default via 10.0.100.1 dev Eth1 | |||
| Response | Success | |||
| 43 | Change default gw | H-2 | 22:56:00 | Pass |
| Parameter | ~$ ip route show | |||
| Response | default via 10.0.100.1 dev Eth1 10.0.100.0/24 dev Eth1 proto kernel scope link src 10.0.100.11 10.250.0.0/24 dev mgmt proto kernel scope link src 10.250.0.102 40.0.100.0/24 via 10.0.100.1 dev Eth1 proto static |
|||
| Judgement | Success inter-conditional operator : and contain string: default via 10.0.100.1 dev Eth1 not contain string: default via 10.250.0.1 dev mgmt proto static |
|||
| 44 | Set Eth1 IPv4 Address on H-3 | H-3 | 22:56:00 | Pass |
| Parameter | ~$ sudo ip address add 10.0.200.10/24 dev Eth1 | |||
| Response | Success | |||
| 45 | Set Eth1 IPv4 Address on H-3 | H-3 | 22:56:00 | Pass |
| Parameter | ~$ ip address show Eth1 | |||
| Response | 3: Eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000 link/ether 52:54:00:10:02:03 brd ff:ff:ff:ff:ff:ff inet 10.0.100.12/24 brd 10.0.100.255 scope global Eth1 valid_lft forever preferred_lft forever inet 10.0.200.10/24 scope global Eth1 valid_lft forever preferred_lft forever inet6 fe80::5054:ff:fe10:203/64 scope link valid_lft forever preferred_lft forever |
|||
| Judgement | Success inter-conditional operator : and contain string: inet 10.0.200.10/24 not contain string: DOWN |
|||
| 46 | Change default gw | H-3 | 22:56:00 | Pass |
| Parameter | ~$ sudo ip route del default | |||
| Response | Success | |||
| 47 | Change default gw | H-3 | 22:56:00 | Pass |
| Parameter | ~$ sudo ip route add default via 10.0.200.1 dev Eth1 | |||
| Response | Success | |||
| 48 | Change default gw | H-3 | 22:56:00 | Pass |
| Parameter | ~$ ip route show | |||
| Response | default via 10.0.200.1 dev Eth1 10.0.100.0/24 dev Eth1 proto kernel scope link src 10.0.100.12 10.0.200.0/24 dev Eth1 proto kernel scope link src 10.0.200.10 10.250.0.0/24 dev mgmt proto kernel scope link src 10.250.0.103 40.0.100.0/24 via 10.0.100.1 dev Eth1 proto static |
|||
| Judgement | Success inter-conditional operator : and contain string: default via 10.0.200.1 dev Eth1 not contain string: default via 10.250.0.1 dev mgmt proto static |
|||
| 49 | Set Eth1 IPv4 Address on H-4 | H-4 | 22:56:00 | Pass |
| Parameter | ~$ sudo ip address add 10.0.200.11/24 dev Eth1 | |||
| Response | Success | |||
| 50 | Set Eth1 IPv4 Address on H-4 | H-4 | 22:56:00 | Pass |
| Parameter | ~$ ip address show Eth1 | |||
| Response | 3: Eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000 link/ether 52:54:00:10:02:04 brd ff:ff:ff:ff:ff:ff inet 10.0.100.13/24 brd 10.0.100.255 scope global Eth1 valid_lft forever preferred_lft forever inet 10.0.200.11/24 scope global Eth1 valid_lft forever preferred_lft forever inet6 fe80::5054:ff:fe10:204/64 scope link valid_lft forever preferred_lft forever |
|||
| Judgement | Success inter-conditional operator : and contain string: inet 10.0.200.11/24 not contain string: DOWN |
|||
| 51 | Change default gw | H-4 | 22:56:00 | Pass |
| Parameter | ~$ sudo ip route del default | |||
| Response | Success | |||
| 52 | Change default gw | H-4 | 22:56:00 | Pass |
| Parameter | ~$ sudo ip route add default via 10.0.200.1 dev Eth1 | |||
| Response | Success | |||
| 53 | Change default gw | H-4 | 22:56:00 | Pass |
| Parameter | ~$ ip route show | |||
| Response | default via 10.0.200.1 dev Eth1 10.0.100.0/24 dev Eth1 proto kernel scope link src 10.0.100.13 10.0.200.0/24 dev Eth1 proto kernel scope link src 10.0.200.11 10.250.0.0/24 dev mgmt proto kernel scope link src 10.250.0.104 40.0.100.0/24 via 10.0.100.1 dev Eth1 proto static |
|||
| Judgement | Success inter-conditional operator : and contain string: default via 10.0.200.1 dev Eth1 not contain string: default via 10.250.0.1 dev mgmt proto static |
|||
| 54 | Ping from H-1 to H-2 | H-1 | 22:56:00 | Pass |
| Parameter | ~$ ping -c 4 10.0.100.11 | |||
| Response | PING 10.0.100.11 (10.0.100.11) 56(84) bytes of data. 64 bytes from 10.0.100.11: icmp_seq=1 ttl=64 time=6.15 ms 64 bytes from 10.0.100.11: icmp_seq=2 ttl=64 time=1.90 ms 64 bytes from 10.0.100.11: icmp_seq=3 ttl=64 time=3.65 ms 64 bytes from 10.0.100.11: icmp_seq=4 ttl=64 time=2.56 ms --- 10.0.100.11 ping statistics --- 4 packets transmitted, 4 received, 0% packet loss, time 3007ms rtt min/avg/max/mdev = 1.898/3.564/6.152/1.619 ms |
|||
| Judgement | Success inter-conditional operator : and contain string: 64 bytes from 10.0.100.11 contain string: 4 packets transmitted, 4 received, 0% packet loss not contain string: From 10.0.100.10 |
|||
| Parameter | AssertionError: Test failed after 5 retries for command: ping -c 4 -I Eth1 10.0.200.10 | |||
| Cause | duthosts = [<MultiAsicSonicHost SW-1>, <MultiAsicSonicHost SW-2>] ubuntus = [<tests.common.devices.ubuntu.UbuntuHost object at 0x72ec2acfdaf0>, <tests.common.devices.ubuntu.UbuntuHost object at ...devices.ubuntu.UbuntuHost object at 0x72ec285c7460>, <tests.common.devices.ubuntu.UbuntuHost object at 0x72ec285c74c0>] vmhost = <tests.common.devices.vmhost.VMHost object at 0x72ec2abb5d30> parse_scenario = <tests.common.parse_scenario.ParseScenario object at 0x72ec2a912250> record_property = <function record_property.<locals>.append_property at 0x72ec2ae30820> reload_config = None sonic_paramiko_ssh = (['SW-1', 'SW-2'], ['Linux SW-1 6.1.0-29-2-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.123-1 (2025-01-02) x86_64\r\nYou ar....\r\n\r\nHelp: https://sonic-net.github.io/SONiC/\r\n\r\nLast login: Sat Sep 26 22:40:42 2026\r\r\nadmin@SW-2:~$ ']) ubuntu_paramiko_ssh = (['H-1', 'H-2', 'H-3', 'H-4'], ["Welcome to Ubuntu 20.04.6 LTS (GNU/Linux 5.4.0-215-generic x86_64)\r\n\r\n * Document...vailable.\r\nRun 'do-release-upgrade' to upgrade to it.\r\n\r\n\r\n*** System restart required ***\r\nubuntu@H-4:~$ "]) def test_scenario(duthosts, ubuntus, vmhost, parse_scenario, record_property, reload_config, sonic_paramiko_ssh, ubuntu_paramiko_ssh): sonicHostname, sonic_ssh_prompt = sonic_paramiko_ssh ubuntuHostname, ubuntu_ssh_prompt = ubuntu_paramiko_ssh > run_scenario(duthosts, ubuntus, vmhost, parse_scenario, record_property, reload_config, sonicHostname, sonic_ssh_prompt, ubuntuHostname, ubuntu_ssh_prompt) duthosts = [<MultiAsicSonicHost SW-1>, <MultiAsicSonicHost SW-2>] parse_scenario = <tests.common.parse_scenario.ParseScenario object at 0x72ec2a912250> record_property = <function record_property.<locals>.append_property at 0x72ec2ae30820> reload_config = None sonicHostname = ['SW-1', 'SW-2'] sonic_paramiko_ssh = (['SW-1', 'SW-2'], ['Linux SW-1 6.1.0-29-2-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.123-1 ' '(2025-01-02) x86_64\r\n' 'You are on\r\n' ' ____ ___ _ _ _ ____\r\n' ' / ___| / _ \\| \\ | (_)/ ___|\r\n' ' \\___ \\| | | | \\| | | |\r\n' ' ___) | |_| | |\\ | | |___\r\n' ' |____/ \\___/|_| \\_|_|\\____|\r\n' '\r\n' '-- Software for Open Networking in the Cloud --\r\n' '\r\n' 'Unauthorized access and/or use are prohibited.\r\n' 'All access and/or use are subject to monitoring.\r\n' '\r\n' 'Help: https://sonic-net.github.io/SONiC/\r\n' '\r\n' 'Last login: Sat Sep 26 22:40:38 2026\r' '\r\n' 'admin@SW-1:~$ ', 'Linux SW-2 6.1.0-29-2-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.123-1 ' '(2025-01-02) x86_64\r\n' 'You are on\r\n' ' ____ ___ _ _ _ ____\r\n' ' / ___| / _ \\| \\ | (_)/ ___|\r\n' ' \\___ \\| | | | \\| | | |\r\n' ' ___) | |_| | |\\ | | |___\r\n' ' |____/ \\___/|_| \\_|_|\\____|\r\n' '\r\n' '-- Software for Open Networking in the Cloud --\r\n' '\r\n' 'Unauthorized access and/or use are prohibited.\r\n' 'All access and/or use are subject to monitoring.\r\n' '\r\n' 'Help: https://sonic-net.github.io/SONiC/\r\n' '\r\n' 'Last login: Sat Sep 26 22:40:42 2026\r' '\r\n' 'admin@SW-2:~$ ']) sonic_ssh_prompt = ['Linux SW-1 6.1.0-29-2-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.123-1 ' '(2025-01-02) x86_64\r\n' 'You are on\r\n' ' ____ ___ _ _ _ ____\r\n' ' / ___| / _ \\| \\ | (_)/ ___|\r\n' ' \\___ \\| | | | \\| | | |\r\n' ' ___) | |_| | |\\ | | |___\r\n' ' |____/ \\___/|_| \\_|_|\\____|\r\n' '\r\n' '-- Software for Open Networking in the Cloud --\r\n' '\r\n' 'Unauthorized access and/or use are prohibited.\r\n' 'All access and/or use are subject to monitoring.\r\n' '\r\n' 'Help: https://sonic-net.github.io/SONiC/\r\n' '\r\n' 'Last login: Sat Sep 26 22:40:38 2026\r' '\r\n' 'admin@SW-1:~$ ', 'Linux SW-2 6.1.0-29-2-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.123-1 ' '(2025-01-02) x86_64\r\n' 'You are on\r\n' ' ____ ___ _ _ _ ____\r\n' ' / ___| / _ \\| \\ | (_)/ ___|\r\n' ' \\___ \\| | | | \\| | | |\r\n' ' ___) | |_| | |\\ | | |___\r\n' ' |____/ \\___/|_| \\_|_|\\____|\r\n' '\r\n' '-- Software for Open Networking in the Cloud --\r\n' '\r\n' 'Unauthorized access and/or use are prohibited.\r\n' 'All access and/or use are subject to monitoring.\r\n' '\r\n' 'Help: https://sonic-net.github.io/SONiC/\r\n' '\r\n' 'Last login: Sat Sep 26 22:40:42 2026\r' '\r\n' 'admin@SW-2:~$ '] ubuntuHostname = ['H-1', 'H-2', 'H-3', 'H-4'] ubuntu_paramiko_ssh = (['H-1', 'H-2', 'H-3', 'H-4'], ['Welcome to Ubuntu 20.04.6 LTS (GNU/Linux 5.4.0-215-generic x86_64)\r\n' '\r\n' ' * Documentation: https://help.ubuntu.com\r\n' ' * Management: https://landscape.canonical.com\r\n' ' * Support: https://ubuntu.com/pro\r\n' '\r\n' ' System information as of Sat Sep 26 13:53:19 UTC 2026\r\n' '\r\n' ' System load: 0.0 Processes: 144\r\n' ' Usage of /: 9.0% of 19.20GB Users logged in: 0\r\n' ' Memory usage: 6% IPv4 address for mgmt: 10.250.0.101\r\n' ' Swap usage: 0%\r\n' '\r\n' '\r\n' 'Expanded Security Maintenance for Applications is not enabled.\r\n' '\r\n' '0 updates can be applied immediately.\r\n' '\r\n' 'Enable ESM Apps to receive additional future security updates.\r\n' 'See https://ubuntu.com/esm or run: sudo pro status\r\n' '\r\n' '\r\n' 'The list of available updates is more than a week old.\r\n' 'To check for new updates run: sudo apt update\r\n' "New release '22.04.5 LTS' available.\r\n" "Run 'do-release-upgrade' to upgrade to it.\r\n" '\r\n' '\r\n' '*** System restart required ***\r\n' 'ubuntu@H-1:~$ ', 'Welcome to Ubuntu 20.04.6 LTS (GNU/Linux 5.4.0-215-generic x86_64)\r\n' '\r\n' ' * Documentation: https://help.ubuntu.com\r\n' ' * Management: https://landscape.canonical.com\r\n' ' * Support: https://ubuntu.com/pro\r\n' '\r\n' ' System information as of Sat Sep 26 13:53:21 UTC 2026\r\n' '\r\n' ' System load: 0.0 Processes: 142\r\n' ' Usage of /: 9.0% of 19.20GB Users logged in: 0\r\n' ' Memory usage: 6% IPv4 address for mgmt: 10.250.0.102\r\n' ' Swap usage: 0%\r\n' '\r\n' '\r\n' 'Expanded Security Maintenance for Applications is not enabled.\r\n' '\r\n' '0 updates can be applied immediately.\r\n' '\r\n' 'Enable ESM Apps to receive additional future security updates.\r\n' 'See https://ubuntu.com/esm or run: sudo pro status\r\n' '\r\n' '\r\n' 'The list of available updates is more than a week old.\r\n' 'To check for new updates run: sudo apt update\r\n' "New release '22.04.5 LTS' available.\r\n" "Run 'do-release-upgrade' to upgrade to it.\r\n" '\r\n' '\r\n' '*** System restart required ***\r\n' 'ubuntu@H-2:~$ ', 'Welcome to Ubuntu 20.04.6 LTS (GNU/Linux 5.4.0-215-generic x86_64)\r\n' '\r\n' ' * Documentation: https://help.ubuntu.com\r\n' ' * Management: https://landscape.canonical.com\r\n' ' * Support: https://ubuntu.com/pro\r\n' '\r\n' ' System information as of Sat Sep 26 13:53:24 UTC 2026\r\n' '\r\n' ' System load: 0.01 Processes: 131\r\n' ' Usage of /: 9.0% of 19.20GB Users logged in: 0\r\n' ' Memory usage: 6% IPv4 address for mgmt: 10.250.0.103\r\n' ' Swap usage: 0%\r\n' '\r\n' '\r\n' 'Expanded Security Maintenance for Applications is not enabled.\r\n' '\r\n' '0 updates can be applied immediately.\r\n' '\r\n' 'Enable ESM Apps to receive additional future security updates.\r\n' 'See https://ubuntu.com/esm or run: sudo pro status\r\n' '\r\n' '\r\n' 'The list of available updates is more than a week old.\r\n' 'To check for new updates run: sudo apt update\r\n' "New release '22.04.5 LTS' available.\r\n" "Run 'do-release-upgrade' to upgrade to it.\r\n" '\r\n' '\r\n' '*** System restart required ***\r\n' 'ubuntu@H-3:~$ ', 'Welcome to Ubuntu 20.04.6 LTS (GNU/Linux 5.4.0-215-generic x86_64)\r\n' '\r\n' ' * Documentation: https://help.ubuntu.com\r\n' ' * Management: https://landscape.canonical.com\r\n' ' * Support: https://ubuntu.com/pro\r\n' '\r\n' ' System information as of Sat Sep 26 13:53:26 UTC 2026\r\n' '\r\n' ' System load: 0.0 Processes: 143\r\n' ' Usage of /: 9.0% of 19.20GB Users logged in: 0\r\n' ' Memory usage: 6% IPv4 address for mgmt: 10.250.0.104\r\n' ' Swap usage: 0%\r\n' '\r\n' '\r\n' 'Expanded Security Maintenance for Applications is not enabled.\r\n' '\r\n' '0 updates can be applied immediately.\r\n' '\r\n' 'Enable ESM Apps to receive additional future security updates.\r\n' 'See https://ubuntu.com/esm or run: sudo pro status\r\n' '\r\n' '\r\n' 'The list of available updates is more than a week old.\r\n' 'To check for new updates run: sudo apt update\r\n' "New release '22.04.5 LTS' available.\r\n" "Run 'do-release-upgrade' to upgrade to it.\r\n" '\r\n' '\r\n' '*** System restart required ***\r\n' 'ubuntu@H-4:~$ ']) ubuntu_ssh_prompt = ['Welcome to Ubuntu 20.04.6 LTS (GNU/Linux 5.4.0-215-generic x86_64)\r\n' '\r\n' ' * Documentation: https://help.ubuntu.com\r\n' ' * Management: https://landscape.canonical.com\r\n' ' * Support: https://ubuntu.com/pro\r\n' '\r\n' ' System information as of Sat Sep 26 13:53:19 UTC 2026\r\n' '\r\n' ' System load: 0.0 Processes: 144\r\n' ' Usage of /: 9.0% of 19.20GB Users logged in: 0\r\n' ' Memory usage: 6% IPv4 address for mgmt: 10.250.0.101\r\n' ' Swap usage: 0%\r\n' '\r\n' '\r\n' 'Expanded Security Maintenance for Applications is not enabled.\r\n' '\r\n' '0 updates can be applied immediately.\r\n' '\r\n' 'Enable ESM Apps to receive additional future security updates.\r\n' 'See https://ubuntu.com/esm or run: sudo pro status\r\n' '\r\n' '\r\n' 'The list of available updates is more than a week old.\r\n' 'To check for new updates run: sudo apt update\r\n' "New release '22.04.5 LTS' available.\r\n" "Run 'do-release-upgrade' to upgrade to it.\r\n" '\r\n' '\r\n' '*** System restart required ***\r\n' 'ubuntu@H-1:~$ ', 'Welcome to Ubuntu 20.04.6 LTS (GNU/Linux 5.4.0-215-generic x86_64)\r\n' '\r\n' ' * Documentation: https://help.ubuntu.com\r\n' ' * Management: https://landscape.canonical.com\r\n' ' * Support: https://ubuntu.com/pro\r\n' '\r\n' ' System information as of Sat Sep 26 13:53:21 UTC 2026\r\n' '\r\n' ' System load: 0.0 Processes: 142\r\n' ' Usage of /: 9.0% of 19.20GB Users logged in: 0\r\n' ' Memory usage: 6% IPv4 address for mgmt: 10.250.0.102\r\n' ' Swap usage: 0%\r\n' '\r\n' '\r\n' 'Expanded Security Maintenance for Applications is not enabled.\r\n' '\r\n' '0 updates can be applied immediately.\r\n' '\r\n' 'Enable ESM Apps to receive additional future security updates.\r\n' 'See https://ubuntu.com/esm or run: sudo pro status\r\n' '\r\n' '\r\n' 'The list of available updates is more than a week old.\r\n' 'To check for new updates run: sudo apt update\r\n' "New release '22.04.5 LTS' available.\r\n" "Run 'do-release-upgrade' to upgrade to it.\r\n" '\r\n' '\r\n' '*** System restart required ***\r\n' 'ubuntu@H-2:~$ ', 'Welcome to Ubuntu 20.04.6 LTS (GNU/Linux 5.4.0-215-generic x86_64)\r\n' '\r\n' ' * Documentation: https://help.ubuntu.com\r\n' ' * Management: https://landscape.canonical.com\r\n' ' * Support: https://ubuntu.com/pro\r\n' '\r\n' ' System information as of Sat Sep 26 13:53:24 UTC 2026\r\n' '\r\n' ' System load: 0.01 Processes: 131\r\n' ' Usage of /: 9.0% of 19.20GB Users logged in: 0\r\n' ' Memory usage: 6% IPv4 address for mgmt: 10.250.0.103\r\n' ' Swap usage: 0%\r\n' '\r\n' '\r\n' 'Expanded Security Maintenance for Applications is not enabled.\r\n' '\r\n' '0 updates can be applied immediately.\r\n' '\r\n' 'Enable ESM Apps to receive additional future security updates.\r\n' 'See https://ubuntu.com/esm or run: sudo pro status\r\n' '\r\n' '\r\n' 'The list of available updates is more than a week old.\r\n' 'To check for new updates run: sudo apt update\r\n' "New release '22.04.5 LTS' available.\r\n" "Run 'do-release-upgrade' to upgrade to it.\r\n" '\r\n' '\r\n' '*** System restart required ***\r\n' 'ubuntu@H-3:~$ ', 'Welcome to Ubuntu 20.04.6 LTS (GNU/Linux 5.4.0-215-generic x86_64)\r\n' '\r\n' ' * Documentation: https://help.ubuntu.com\r\n' ' * Management: https://landscape.canonical.com\r\n' ' * Support: https://ubuntu.com/pro\r\n' '\r\n' ' System information as of Sat Sep 26 13:53:26 UTC 2026\r\n' '\r\n' ' System load: 0.0 Processes: 143\r\n' ' Usage of /: 9.0% of 19.20GB Users logged in: 0\r\n' ' Memory usage: 6% IPv4 address for mgmt: 10.250.0.104\r\n' ' Swap usage: 0%\r\n' '\r\n' '\r\n' 'Expanded Security Maintenance for Applications is not enabled.\r\n' '\r\n' '0 updates can be applied immediately.\r\n' '\r\n' 'Enable ESM Apps to receive additional future security updates.\r\n' 'See https://ubuntu.com/esm or run: sudo pro status\r\n' '\r\n' '\r\n' 'The list of available updates is more than a week old.\r\n' 'To check for new updates run: sudo apt update\r\n' "New release '22.04.5 LTS' available.\r\n" "Run 'do-release-upgrade' to upgrade to it.\r\n" '\r\n' '\r\n' '*** System restart required ***\r\n' 'ubuntu@H-4:~$ '] ubuntus = [<tests.common.devices.ubuntu.UbuntuHost object at 0x72ec2acfdaf0>, <tests.common.devices.ubuntu.UbuntuHost object at 0x72ec285c7640>, <tests.common.devices.ubuntu.UbuntuHost object at 0x72ec285c7460>, <tests.common.devices.ubuntu.UbuntuHost object at 0x72ec285c74c0>] vmhost = <tests.common.devices.vmhost.VMHost object at 0x72ec2abb5d30> test_sonic/test_sonic.py:413: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ duthosts = [<MultiAsicSonicHost SW-1>, <MultiAsicSonicHost SW-2>] ubuntus = [<tests.common.devices.ubuntu.UbuntuHost object at 0x72ec2acfdaf0>, <tests.common.devices.ubuntu.UbuntuHost object at ...devices.ubuntu.UbuntuHost object at 0x72ec285c7460>, <tests.common.devices.ubuntu.UbuntuHost object at 0x72ec285c74c0>] vmhost = <tests.common.devices.vmhost.VMHost object at 0x72ec2abb5d30> parse_scenario = <tests.common.parse_scenario.ParseScenario object at 0x72ec2a912250> record_property = <function record_property.<locals>.append_property at 0x72ec2ae30820> reload_config = None, sonicHostname = ['SW-1', 'SW-2'] sonic_ssh_prompt = ['Linux SW-1 6.1.0-29-2-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.123-1 (2025-01-02) x86_64\r\nYou are on\r\n ____ __...g.\r\n\r\nHelp: https://sonic-net.github.io/SONiC/\r\n\r\nLast login: Sat Sep 26 22:40:42 2026\r\r\nadmin@SW-2:~$ '] ubuntuHostname = ['H-1', 'H-2', 'H-3', 'H-4'] ubuntu_ssh_prompt = ["Welcome to Ubuntu 20.04.6 LTS (GNU/Linux 5.4.0-215-generic x86_64)\r\n\r\n * Documentation: https://help.ubuntu.com...available.\r\nRun 'do-release-upgrade' to upgrade to it.\r\n\r\n\r\n*** System restart required ***\r\nubuntu@H-4:~$ "] def run_scenario(duthosts, ubuntus, vmhost, parse_scenario, record_property, reload_config, sonicHostname, sonic_ssh_prompt, ubuntuHostname, ubuntu_ssh_prompt): duthost = duthosts ubuntu = ubuntus server = vmhost logger.info('test device hostname: {}'.format(duthost.hostname)) logger.info('server hostname: {}'.format(server.hostname)) # Parsing Scenario data scenario = parse_scenario logger.info('step 0) scenario_data:\n{}'.format(scenario)) # This Section, parsed data save to variable for test for keys in scenario: scenario_name = keys['scenario_name'] logger.info('\nstep 1) scenario name:{}'.format(scenario_name)) record_property("Scenario_name","{}".format(scenario_name)) for tasks in keys['steps']: sub_scenario_name = tasks['name'] if scenario_name == "Print Topology Image": topo_img_path = tasks['img_path'] topo_img_name = tasks['img_name'] sum_img_path = topo_img_path + '/' + topo_img_name start_time = datetime.now().strftime('%H:%M:%S') assert sum_img_path, record_property("Fail", "Fail") record_property('Action', sub_scenario_name) record_property('Session','caller') record_property('Time Stamp',start_time) record_property('Pass/Fail','Pass') record_property('Parameter',topo_img_name) record_property('Response',sum_img_path) elif scenario_name == "Session Check": session_node_name = tasks['node'] logger.info('nodes: {}'.format(session_node_name)) device = sonicHostname + ubuntuHostname ssh_prompt = sonic_ssh_prompt + ubuntu_ssh_prompt for dev, ssh in zip(device, ssh_prompt): if dev == session_node_name: logger.info('step 1)\nHostname:\n{}\nnode name:\n{}'.format(dev, session_node_name)) logger.info('step 2)\nssh_prompt:\n{}'.format(ssh)) start_time = datetime.now().strftime('%H:%M:%S') assert dev == session_node_name, record_property("Fail", "Fail") logger.info('step 3)\n pass') record_property("Action", sub_scenario_name) record_property("Session","{}".format(dev)) record_property("Time Stamp",start_time) record_property("Pass/Fail","Pass") record_property("Parameter","None") record_property("Response","{}".format(ssh)) elif 'source' in tasks and 'packet' in tasks: # Duck-typing: If a step has 'source' and 'packet', it is a Traffic Generation test logger.info('\nstep 1) Traffic Generation test detected: {}'.format(sub_scenario_name)) start_time = datetime.now().strftime('%H:%M:%S') execute_traffic_step(tasks, duthost, ubuntu) # If it successfully returns without assertion failure, we record PASS record_property("Action", sub_scenario_name) record_property("Session", tasks['source']['node']) record_property("Time Stamp", start_time) record_property("Pass/Fail", "Pass") record_property("Parameter", "Snappi TRex Traffic ({} pkts)".format(tasks['packet']['tx_packets'])) record_property("Response", "Traffic validation succeeded") record_property("Judgement", "Success") else: node_name = tasks['node'] logger.info('\nstep 1-1) sub scenario name: {}\nnode name: {}'.format(sub_scenario_name, node_name)) if 'template' in tasks: import yaml from jinja2 import Template scenario_path = getattr(parse_scenario, 'scenario_filename', '') if "bgp/" in scenario_path or "bgp_policy/" in scenario_path: ip_profile = "bgp_ip" elif "ospf_routemap_redistribute/" in scenario_path: ip_profile = "ospf_redist_ip" else: ip_profile = "common_ip" if "vlan/" in scenario_path or "lacp/" in scenario_path or "ip/" in scenario_path: start_daemons = False else: start_daemons = True try: with open("/data/NetAutoTestFW/ansible/vsonic_vtb", "r") as f: vtb = yaml.safe_load(f) ip_map = vtb['all']['children']['sonic_r']['vars'].get(ip_profile, {}) target_ips = ip_map.get(node_name, []) except Exception as e: logger.error(f"Failed to load IP profile from vsonic_vtb: {e}") target_ips = [] template_path = tasks['template'] with open(f"/data/NetAutoTestFW/{template_path}", "r") as f: template_content = f.read() rendered = Template(template_content).render(ip_list=target_ips, start_daemons=start_daemons) cmds = [cmd.strip() for cmd in rendered.strip().split('\n') if cmd.strip() and not cmd.strip().startswith('#')] tasks['actions'] = [{'command': cmd} for cmd in cmds] tasks['expect'] = {'mode': 'and', 'values': [[] for _ in cmds]} tasks['not_expect'] = {'mode': 'and', 'values': [[] for _ in cmds]} sub_scenario_actions = tasks['actions'] sub_scenario_expect = tasks.get('expect', {'mode': 'and', 'values': []}) sub_scenario_not_expect = tasks.get('not_expect', {'mode': 'and', 'values': []}) sub_scenario_retries = tasks.get('retries', 5) sub_scenario_delay = tasks.get('delay', 1) sub_sce_exp_mode = sub_scenario_expect.get('mode', 'and') sub_sce_exp_values = sub_scenario_expect.get('values', []) sub_sce_not_exp_values = sub_scenario_not_expect.get('values', []) logger.info('\nstep 1-2) sub scenario actions: {}\nsub scenario expect mode: {}\nsub scenario expect values: {}\nsub scenario not expect values: {}\nsub scenario retries: {}\nsub scenario delay: {}'.format(sub_scenario_actions, sub_sce_exp_mode, sub_sce_exp_values, sub_sce_not_exp_values, sub_scenario_retries, sub_scenario_delay)) # This Section, command execute to SONiC Test Device for dut in duthost: if node_name == dut.hostname: for act_command, expect_values, not_expect_values in zip(sub_scenario_actions, sub_sce_exp_values, sub_sce_not_exp_values): logger.info('\nstep 1-3) act command: {}\nexpect values: {}\nnot expect values: {}'.format(act_command, expect_values, not_expect_values)) single_command = act_command.get('command') timestamps = datetime.now().strftime('%H:%M:%S') contain_str = '\n'.join("contain string: {}".format(v) for v in expect_values) not_contain_str = '\n'.join("not contain string: {}".format(n) for n in not_expect_values) # trace success function trace_success = False output = "" # This Section, repeat until the output contains the intended value. for attempt in range(sub_scenario_retries): execute_cmd = dut.shell(single_command, module_ignore_errors=True) time.sleep(5) stdout = execute_cmd.get('stdout', '') stderr = execute_cmd.get('stderr', '') output = stdout + '\n' + stderr nomalized_lines = [' '.join(line.split()) for line in output.splitlines()] logger.info('\nexecute command result:\n{}'.format(output)) logger.info('\nexpect value in result:\n{}'.format(expect_values)) import re if 'neighbor' in single_command and 'remote-as' in single_command: match = re.search(r'neighbor\s+([0-9\.]+)\s+remote-as', single_command) if match: neighbor_ip = match.group(1) logger.info(f"[{node_name}] Auto Ping Verification to neighbor: {neighbor_ip}") ping_result = dut.shell(f"ping {neighbor_ip} -c 3", module_ignore_errors=True) logger.info(f"[{node_name}] Ping result:\n{ping_result.get('stdout', '')}") if ping_result.get('rc', -1) != 0: logger.warning(f"[{node_name}] Ping failed to {neighbor_ip}") expect_ok = False if not expect_values: expect_ok = True elif sub_sce_exp_mode == "and": expect_ok = all(any(val in line for line in nomalized_lines) for val in expect_values) elif sub_sce_exp_mode == "or": expect_ok = any(any(val in line for line in nomalized_lines) for val in expect_values) not_expect_ok = not not_expect_values or all(all(val not in line for line in nomalized_lines) for val in not_expect_values) condition_met = expect_ok and not_expect_ok if condition_met: logger.info('The expected value is included in the printed result.\noutput:\n{}'.format(output)) trace_success = True if isinstance(output, str) and output.strip(): if not_expect_values == "": exist_only_expect_values(sub_scenario_name, node_name, timestamps, single_command, output, sub_sce_exp_mode, contain_str, record_property) elif not_expect_values != "" and expect_values == "": exist_only_not_expect_values(sub_scenario_name, node_name, timestamps, single_command, output, sub_sce_exp_mode, not_contain_str, record_property) elif not_expect_values != "" and expect_values != "": exist_not_expect_and_expect_values(sub_scenario_name, node_name, timestamps, single_command, output, sub_sce_exp_mode, contain_str, not_contain_str, record_property) else: empty_expect_and_not_expect_values(sub_scenario_name, node_name, timestamps, single_command, record_property) break else: logger.info('Contidion not met. Retrying in {} seconds...(({}/{} attempts)'.format(sub_scenario_delay, attempt + 1, sub_scenario_retries)) time.sleep(sub_scenario_delay) if not trace_success: # If generated AssertionError when test failed error_message = "Test failed after {} retries for command: {}".format(sub_scenario_retries, single_command) logger.error(error_message) logger.error("Final output was:\n{}".format(output)) assert False, error_message # This Section, When you are testing network-link on Test Device(SONiC), under line command to ubuntu host for u_host in ubuntu: if node_name == u_host.hostname: for act_command, expect_values, not_expect_values in zip(sub_scenario_actions, sub_sce_exp_values, sub_sce_not_exp_values): logger.info('\nstep 1-3) act command: {}\nexpect values: {}\nnot expect values: {}'.format(act_command, expect_values, not_expect_values)) single_command = act_command.get('command') timestamps = datetime.now().strftime('%H:%M:%S') contain_str = '\n'.join("contain string: {}".format(v) for v in expect_values) not_contain_str = '\n'.join("not contain string: {}".format(n) for n in not_expect_values) # trace success function trace_success = False output = "" for attempt in range(sub_scenario_retries): execute_cmd = u_host.shell(single_command) output = execute_cmd.get('stdout', '') nomalized_lines = [' '.join(line.split()) for line in output.splitlines()] logger.info('\nexecute command result:\n{}'.format(output)) logger.info('\nexpect value in result:\n{}'.format(expect_values)) expect_ok = False if not expect_values: expect_ok = True elif sub_sce_exp_mode == "and": expect_ok = all(any(val in line for line in nomalized_lines) for val in expect_values) elif sub_sce_exp_mode == "or": expect_ok = any(any(val in line for line in nomalized_lines) for val in expect_values) not_expect_ok = not not_expect_values or all(all(val not in line for line in nomalized_lines) for val in not_expect_values) condition_met = expect_ok and not_expect_ok if condition_met: logger.info('The expected value is included in the printed result.\noutput:\n{}'.format(output)) trace_success = True # Assert if isinstance(output, str) and output.strip(): if not_expect_values == "": exist_only_expect_values(sub_scenario_name, node_name, timestamps, single_command, output, sub_sce_exp_mode, contain_str, record_property) elif not_expect_values != "" and expect_values == "": exist_only_not_expect_values(sub_scenario_name, node_name, timestamps, single_command, output, sub_sce_exp_mode, not_contain_str, record_property) elif not_expect_values != "" and expect_values != "": exist_not_expect_and_expect_values(sub_scenario_name, node_name, timestamps, single_command, output, sub_sce_exp_mode, contain_str, not_contain_str, record_property) else: empty_expect_and_not_expect_values(sub_scenario_name, node_name, timestamps, single_command, record_property) break else: logger.info('Contidion not met. Retrying in {} seconds...(({}/{} attempts)'.format(sub_scenario_delay, attempt + 1, sub_scenario_retries)) time.sleep(sub_scenario_delay) if not trace_success: # If generated AssertionError when test failed error_message = "Test failed after {} retries for command: {}".format(sub_scenario_retries, single_command) logger.error(error_message) logger.error("Final output was:\n{}".format(output)) > assert False, error_message E AssertionError: Test failed after 5 retries for command: ping -c 4 -I Eth1 10.0.200.10 act_command = {'command': 'ping -c 4 -I Eth1 10.0.200.10'} attempt = 4 condition_met = False contain_str = ('contain string: 64 bytes from 10.0.200.10\n' 'contain string: 4 packets transmitted, 4 received, 0% packet loss') dev = 'H-4' device = ['SW-1', 'SW-2', 'H-1', 'H-2', 'H-3', 'H-4'] dut = <MultiAsicSonicHost SW-2> duthost = [<MultiAsicSonicHost SW-1>, <MultiAsicSonicHost SW-2>] duthosts = [<MultiAsicSonicHost SW-1>, <MultiAsicSonicHost SW-2>] error_message = 'Test failed after 5 retries for command: ping -c 4 -I Eth1 10.0.200.10' execute_cmd = {'stderr': '', 'stdout': 'PING 10.0.200.10 (10.0.200.10) from 10.0.100.10 Eth1: 56(84) bytes ' 'of data.\n' '\n' '--- 10.0.200.10 ping statistics ---\n' '4 packets transmitted, 0 received, 100% packet loss, time 3058ms\n' '\n'} expect_ok = False expect_values = ['64 bytes from 10.0.200.10', '4 packets transmitted, 4 received, 0% packet loss'] keys = {'scenario_name': 'Test Network-link', 'steps': [{'actions': [{'command': 'ping -c 4 10.0.100.11'}], 'expect': {'mode': 'and', 'values': [['64 bytes from 10.0.100.11', '4 packets transmitted, 4 received, 0% ' 'packet loss']]}, 'name': 'Ping from H-1 to H-2', 'node': 'H-1', 'not_expect': {'values': [['From 10.0.100.10']]}}, {'actions': [{'command': 'ping -c 4 -I Eth1 10.0.200.10'}], 'expect': {'mode': 'and', 'values': [['64 bytes from 10.0.200.10', '4 packets transmitted, 4 received, 0% ' 'packet loss']]}, 'name': 'Ping from H-1 to H-3', 'node': 'H-1', 'not_expect': {'values': [['From 10.0.100.10']]}}]} node_name = 'H-1' nomalized_lines = ['PING 10.0.200.10 (10.0.200.10) from 10.0.100.10 Eth1: 56(84) bytes of data.', '', '--- 10.0.200.10 ping statistics ---', '4 packets transmitted, 0 received, 100% packet loss, time 3058ms', ''] not_contain_str = 'not contain string: From 10.0.100.10' not_expect_ok = True not_expect_values = ['From 10.0.100.10'] output = ('PING 10.0.200.10 (10.0.200.10) from 10.0.100.10 Eth1: 56(84) bytes of data.\n' '\n' '--- 10.0.200.10 ping statistics ---\n' '4 packets transmitted, 0 received, 100% packet loss, time 3058ms\n' '\n') parse_scenario = <tests.common.parse_scenario.ParseScenario object at 0x72ec2a912250> re = <module 're' from '/usr/lib/python3.8/re.py'> record_property = <function record_property.<locals>.append_property at 0x72ec2ae30820> reload_config = None scenario = <tests.common.parse_scenario.ParseScenario object at 0x72ec2a912250> scenario_name = 'Test Network-link' server = <tests.common.devices.vmhost.VMHost object at 0x72ec2abb5d30> session_node_name = 'H-4' single_command = 'ping -c 4 -I Eth1 10.0.200.10' sonicHostname = ['SW-1', 'SW-2'] sonic_ssh_prompt = ['Linux SW-1 6.1.0-29-2-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.123-1 ' '(2025-01-02) x86_64\r\n' 'You are on\r\n' ' ____ ___ _ _ _ ____\r\n' ' / ___| / _ \\| \\ | (_)/ ___|\r\n' ' \\___ \\| | | | \\| | | |\r\n' ' ___) | |_| | |\\ | | |___\r\n' ' |____/ \\___/|_| \\_|_|\\____|\r\n' '\r\n' '-- Software for Open Networking in the Cloud --\r\n' '\r\n' 'Unauthorized access and/or use are prohibited.\r\n' 'All access and/or use are subject to monitoring.\r\n' '\r\n' 'Help: https://sonic-net.github.io/SONiC/\r\n' '\r\n' 'Last login: Sat Sep 26 22:40:38 2026\r' '\r\n' 'admin@SW-1:~$ ', 'Linux SW-2 6.1.0-29-2-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.123-1 ' '(2025-01-02) x86_64\r\n' 'You are on\r\n' ' ____ ___ _ _ _ ____\r\n' ' / ___| / _ \\| \\ | (_)/ ___|\r\n' ' \\___ \\| | | | \\| | | |\r\n' ' ___) | |_| | |\\ | | |___\r\n' ' |____/ \\___/|_| \\_|_|\\____|\r\n' '\r\n' '-- Software for Open Networking in the Cloud --\r\n' '\r\n' 'Unauthorized access and/or use are prohibited.\r\n' 'All access and/or use are subject to monitoring.\r\n' '\r\n' 'Help: https://sonic-net.github.io/SONiC/\r\n' '\r\n' 'Last login: Sat Sep 26 22:40:42 2026\r' '\r\n' 'admin@SW-2:~$ '] ssh = ('Welcome to Ubuntu 20.04.6 LTS (GNU/Linux 5.4.0-215-generic x86_64)\r\n' '\r\n' ' * Documentation: https://help.ubuntu.com\r\n' ' * Management: https://landscape.canonical.com\r\n' ' * Support: https://ubuntu.com/pro\r\n' '\r\n' ' System information as of Sat Sep 26 13:53:26 UTC 2026\r\n' '\r\n' ' System load: 0.0 Processes: 143\r\n' ' Usage of /: 9.0% of 19.20GB Users logged in: 0\r\n' ' Memory usage: 6% IPv4 address for mgmt: 10.250.0.104\r\n' ' Swap usage: 0%\r\n' '\r\n' '\r\n' 'Expanded Security Maintenance for Applications is not enabled.\r\n' '\r\n' '0 updates can be applied immediately.\r\n' '\r\n' 'Enable ESM Apps to receive additional future security updates.\r\n' 'See https://ubuntu.com/esm or run: sudo pro status\r\n' '\r\n' '\r\n' 'The list of available updates is more than a week old.\r\n' 'To check for new updates run: sudo apt update\r\n' "New release '22.04.5 LTS' available.\r\n" "Run 'do-release-upgrade' to upgrade to it.\r\n" '\r\n' '\r\n' '*** System restart required ***\r\n' 'ubuntu@H-4:~$ ') ssh_prompt = ['Linux SW-1 6.1.0-29-2-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.123-1 ' '(2025-01-02) x86_64\r\n' 'You are on\r\n' ' ____ ___ _ _ _ ____\r\n' ' / ___| / _ \\| \\ | (_)/ ___|\r\n' ' \\___ \\| | | | \\| | | |\r\n' ' ___) | |_| | |\\ | | |___\r\n' ' |____/ \\___/|_| \\_|_|\\____|\r\n' '\r\n' '-- Software for Open Networking in the Cloud --\r\n' '\r\n' 'Unauthorized access and/or use are prohibited.\r\n' 'All access and/or use are subject to monitoring.\r\n' '\r\n' 'Help: https://sonic-net.github.io/SONiC/\r\n' '\r\n' 'Last login: Sat Sep 26 22:40:38 2026\r' '\r\n' 'admin@SW-1:~$ ', 'Linux SW-2 6.1.0-29-2-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.123-1 ' '(2025-01-02) x86_64\r\n' 'You are on\r\n' ' ____ ___ _ _ _ ____\r\n' ' / ___| / _ \\| \\ | (_)/ ___|\r\n' ' \\___ \\| | | | \\| | | |\r\n' ' ___) | |_| | |\\ | | |___\r\n' ' |____/ \\___/|_| \\_|_|\\____|\r\n' '\r\n' '-- Software for Open Networking in the Cloud --\r\n' '\r\n' 'Unauthorized access and/or use are prohibited.\r\n' 'All access and/or use are subject to monitoring.\r\n' '\r\n' 'Help: https://sonic-net.github.io/SONiC/\r\n' '\r\n' 'Last login: Sat Sep 26 22:40:42 2026\r' '\r\n' 'admin@SW-2:~$ ', 'Welcome to Ubuntu 20.04.6 LTS (GNU/Linux 5.4.0-215-generic x86_64)\r\n' '\r\n' ' * Documentation: https://help.ubuntu.com\r\n' ' * Management: https://landscape.canonical.com\r\n' ' * Support: https://ubuntu.com/pro\r\n' '\r\n' ' System information as of Sat Sep 26 13:53:19 UTC 2026\r\n' '\r\n' ' System load: 0.0 Processes: 144\r\n' ' Usage of /: 9.0% of 19.20GB Users logged in: 0\r\n' ' Memory usage: 6% IPv4 address for mgmt: 10.250.0.101\r\n' ' Swap usage: 0%\r\n' '\r\n' '\r\n' 'Expanded Security Maintenance for Applications is not enabled.\r\n' '\r\n' '0 updates can be applied immediately.\r\n' '\r\n' 'Enable ESM Apps to receive additional future security updates.\r\n' 'See https://ubuntu.com/esm or run: sudo pro status\r\n' '\r\n' '\r\n' 'The list of available updates is more than a week old.\r\n' 'To check for new updates run: sudo apt update\r\n' "New release '22.04.5 LTS' available.\r\n" "Run 'do-release-upgrade' to upgrade to it.\r\n" '\r\n' '\r\n' '*** System restart required ***\r\n' 'ubuntu@H-1:~$ ', 'Welcome to Ubuntu 20.04.6 LTS (GNU/Linux 5.4.0-215-generic x86_64)\r\n' '\r\n' ' * Documentation: https://help.ubuntu.com\r\n' ' * Management: https://landscape.canonical.com\r\n' ' * Support: https://ubuntu.com/pro\r\n' '\r\n' ' System information as of Sat Sep 26 13:53:21 UTC 2026\r\n' '\r\n' ' System load: 0.0 Processes: 142\r\n' ' Usage of /: 9.0% of 19.20GB Users logged in: 0\r\n' ' Memory usage: 6% IPv4 address for mgmt: 10.250.0.102\r\n' ' Swap usage: 0%\r\n' '\r\n' '\r\n' 'Expanded Security Maintenance for Applications is not enabled.\r\n' '\r\n' '0 updates can be applied immediately.\r\n' '\r\n' 'Enable ESM Apps to receive additional future security updates.\r\n' 'See https://ubuntu.com/esm or run: sudo pro status\r\n' '\r\n' '\r\n' 'The list of available updates is more than a week old.\r\n' 'To check for new updates run: sudo apt update\r\n' "New release '22.04.5 LTS' available.\r\n" "Run 'do-release-upgrade' to upgrade to it.\r\n" '\r\n' '\r\n' '*** System restart required ***\r\n' 'ubuntu@H-2:~$ ', 'Welcome to Ubuntu 20.04.6 LTS (GNU/Linux 5.4.0-215-generic x86_64)\r\n' '\r\n' ' * Documentation: https://help.ubuntu.com\r\n' ' * Management: https://landscape.canonical.com\r\n' ' * Support: https://ubuntu.com/pro\r\n' '\r\n' ' System information as of Sat Sep 26 13:53:24 UTC 2026\r\n' '\r\n' ' System load: 0.01 Processes: 131\r\n' ' Usage of /: 9.0% of 19.20GB Users logged in: 0\r\n' ' Memory usage: 6% IPv4 address for mgmt: 10.250.0.103\r\n' ' Swap usage: 0%\r\n' '\r\n' '\r\n' 'Expanded Security Maintenance for Applications is not enabled.\r\n' '\r\n' '0 updates can be applied immediately.\r\n' '\r\n' 'Enable ESM Apps to receive additional future security updates.\r\n' 'See https://ubuntu.com/esm or run: sudo pro status\r\n' '\r\n' '\r\n' 'The list of available updates is more than a week old.\r\n' 'To check for new updates run: sudo apt update\r\n' "New release '22.04.5 LTS' available.\r\n" "Run 'do-release-upgrade' to upgrade to it.\r\n" '\r\n' '\r\n' '*** System restart required ***\r\n' 'ubuntu@H-3:~$ ', 'Welcome to Ubuntu 20.04.6 LTS (GNU/Linux 5.4.0-215-generic x86_64)\r\n' '\r\n' ' * Documentation: https://help.ubuntu.com\r\n' ' * Management: https://landscape.canonical.com\r\n' ' * Support: https://ubuntu.com/pro\r\n' '\r\n' ' System information as of Sat Sep 26 13:53:26 UTC 2026\r\n' '\r\n' ' System load: 0.0 Processes: 143\r\n' ' Usage of /: 9.0% of 19.20GB Users logged in: 0\r\n' ' Memory usage: 6% IPv4 address for mgmt: 10.250.0.104\r\n' ' Swap usage: 0%\r\n' '\r\n' '\r\n' 'Expanded Security Maintenance for Applications is not enabled.\r\n' '\r\n' '0 updates can be applied immediately.\r\n' '\r\n' 'Enable ESM Apps to receive additional future security updates.\r\n' 'See https://ubuntu.com/esm or run: sudo pro status\r\n' '\r\n' '\r\n' 'The list of available updates is more than a week old.\r\n' 'To check for new updates run: sudo apt update\r\n' "New release '22.04.5 LTS' available.\r\n" "Run 'do-release-upgrade' to upgrade to it.\r\n" '\r\n' '\r\n' '*** System restart required ***\r\n' 'ubuntu@H-4:~$ '] start_time = '22:53:34' stderr = '' stdout = '' sub_sce_exp_mode = 'and' sub_sce_exp_values = [['64 bytes from 10.0.200.10', '4 packets transmitted, 4 received, 0% packet loss']] sub_sce_not_exp_values = [['From 10.0.100.10']] sub_scenario_actions = [{'command': 'ping -c 4 -I Eth1 10.0.200.10'}] sub_scenario_delay = 1 sub_scenario_expect = {'mode': 'and', 'values': [['64 bytes from 10.0.200.10', '4 packets transmitted, 4 received, 0% packet loss']]} sub_scenario_name = 'Ping from H-1 to H-3' sub_scenario_not_expect = {'values': [['From 10.0.100.10']]} sub_scenario_retries = 5 sum_img_path = '/data/NetAutoTestFW/tests/converter_report/topology_img/topo-L2-Inter-VLAN.jpg' tasks = {'actions': [{'command': 'ping -c 4 -I Eth1 10.0.200.10'}], 'expect': {'mode': 'and', 'values': [['64 bytes from 10.0.200.10', '4 packets transmitted, 4 received, 0% packet loss']]}, 'name': 'Ping from H-1 to H-3', 'node': 'H-1', 'not_expect': {'values': [['From 10.0.100.10']]}} timestamps = '22:56:03' topo_img_name = 'topo-L2-Inter-VLAN.jpg' topo_img_path = '/data/NetAutoTestFW/tests/converter_report/topology_img' trace_success = False u_host = <tests.common.devices.ubuntu.UbuntuHost object at 0x72ec2acfdaf0> ubuntu = [<tests.common.devices.ubuntu.UbuntuHost object at 0x72ec2acfdaf0>, <tests.common.devices.ubuntu.UbuntuHost object at 0x72ec285c7640>, <tests.common.devices.ubuntu.UbuntuHost object at 0x72ec285c7460>, <tests.common.devices.ubuntu.UbuntuHost object at 0x72ec285c74c0>] ubuntuHostname = ['H-1', 'H-2', 'H-3', 'H-4'] ubuntu_ssh_prompt = ['Welcome to Ubuntu 20.04.6 LTS (GNU/Linux 5.4.0-215-generic x86_64)\r\n' '\r\n' ' * Documentation: https://help.ubuntu.com\r\n' ' * Management: https://landscape.canonical.com\r\n' ' * Support: https://ubuntu.com/pro\r\n' '\r\n' ' System information as of Sat Sep 26 13:53:19 UTC 2026\r\n' '\r\n' ' System load: 0.0 Processes: 144\r\n' ' Usage of /: 9.0% of 19.20GB Users logged in: 0\r\n' ' Memory usage: 6% IPv4 address for mgmt: 10.250.0.101\r\n' ' Swap usage: 0%\r\n' '\r\n' '\r\n' 'Expanded Security Maintenance for Applications is not enabled.\r\n' '\r\n' '0 updates can be applied immediately.\r\n' '\r\n' 'Enable ESM Apps to receive additional future security updates.\r\n' 'See https://ubuntu.com/esm or run: sudo pro status\r\n' '\r\n' '\r\n' 'The list of available updates is more than a week old.\r\n' 'To check for new updates run: sudo apt update\r\n' "New release '22.04.5 LTS' available.\r\n" "Run 'do-release-upgrade' to upgrade to it.\r\n" '\r\n' '\r\n' '*** System restart required ***\r\n' 'ubuntu@H-1:~$ ', 'Welcome to Ubuntu 20.04.6 LTS (GNU/Linux 5.4.0-215-generic x86_64)\r\n' '\r\n' ' * Documentation: https://help.ubuntu.com\r\n' ' * Management: https://landscape.canonical.com\r\n' ' * Support: https://ubuntu.com/pro\r\n' '\r\n' ' System information as of Sat Sep 26 13:53:21 UTC 2026\r\n' '\r\n' ' System load: 0.0 Processes: 142\r\n' ' Usage of /: 9.0% of 19.20GB Users logged in: 0\r\n' ' Memory usage: 6% IPv4 address for mgmt: 10.250.0.102\r\n' ' Swap usage: 0%\r\n' '\r\n' '\r\n' 'Expanded Security Maintenance for Applications is not enabled.\r\n' '\r\n' '0 updates can be applied immediately.\r\n' '\r\n' 'Enable ESM Apps to receive additional future security updates.\r\n' 'See https://ubuntu.com/esm or run: sudo pro status\r\n' '\r\n' '\r\n' 'The list of available updates is more than a week old.\r\n' 'To check for new updates run: sudo apt update\r\n' "New release '22.04.5 LTS' available.\r\n" "Run 'do-release-upgrade' to upgrade to it.\r\n" '\r\n' '\r\n' '*** System restart required ***\r\n' 'ubuntu@H-2:~$ ', 'Welcome to Ubuntu 20.04.6 LTS (GNU/Linux 5.4.0-215-generic x86_64)\r\n' '\r\n' ' * Documentation: https://help.ubuntu.com\r\n' ' * Management: https://landscape.canonical.com\r\n' ' * Support: https://ubuntu.com/pro\r\n' '\r\n' ' System information as of Sat Sep 26 13:53:24 UTC 2026\r\n' '\r\n' ' System load: 0.01 Processes: 131\r\n' ' Usage of /: 9.0% of 19.20GB Users logged in: 0\r\n' ' Memory usage: 6% IPv4 address for mgmt: 10.250.0.103\r\n' ' Swap usage: 0%\r\n' '\r\n' '\r\n' 'Expanded Security Maintenance for Applications is not enabled.\r\n' '\r\n' '0 updates can be applied immediately.\r\n' '\r\n' 'Enable ESM Apps to receive additional future security updates.\r\n' 'See https://ubuntu.com/esm or run: sudo pro status\r\n' '\r\n' '\r\n' 'The list of available updates is more than a week old.\r\n' 'To check for new updates run: sudo apt update\r\n' "New release '22.04.5 LTS' available.\r\n" "Run 'do-release-upgrade' to upgrade to it.\r\n" '\r\n' '\r\n' '*** System restart required ***\r\n' 'ubuntu@H-3:~$ ', 'Welcome to Ubuntu 20.04.6 LTS (GNU/Linux 5.4.0-215-generic x86_64)\r\n' '\r\n' ' * Documentation: https://help.ubuntu.com\r\n' ' * Management: https://landscape.canonical.com\r\n' ' * Support: https://ubuntu.com/pro\r\n' '\r\n' ' System information as of Sat Sep 26 13:53:26 UTC 2026\r\n' '\r\n' ' System load: 0.0 Processes: 143\r\n' ' Usage of /: 9.0% of 19.20GB Users logged in: 0\r\n' ' Memory usage: 6% IPv4 address for mgmt: 10.250.0.104\r\n' ' Swap usage: 0%\r\n' '\r\n' '\r\n' 'Expanded Security Maintenance for Applications is not enabled.\r\n' '\r\n' '0 updates can be applied immediately.\r\n' '\r\n' 'Enable ESM Apps to receive additional future security updates.\r\n' 'See https://ubuntu.com/esm or run: sudo pro status\r\n' '\r\n' '\r\n' 'The list of available updates is more than a week old.\r\n' 'To check for new updates run: sudo apt update\r\n' "New release '22.04.5 LTS' available.\r\n" "Run 'do-release-upgrade' to upgrade to it.\r\n" '\r\n' '\r\n' '*** System restart required ***\r\n' 'ubuntu@H-4:~$ '] ubuntus = [<tests.common.devices.ubuntu.UbuntuHost object at 0x72ec2acfdaf0>, <tests.common.devices.ubuntu.UbuntuHost object at 0x72ec285c7640>, <tests.common.devices.ubuntu.UbuntuHost object at 0x72ec285c7460>, <tests.common.devices.ubuntu.UbuntuHost object at 0x72ec285c74c0>] vmhost = <tests.common.devices.vmhost.VMHost object at 0x72ec2abb5d30> test_sonic/test_sonic.py:356: AssertionError |
|||