go.ligato.io/vpp-agent/v3@v3.5.0/tests/robot/suites/trafficIPv6/libmemif/libmemif_master_trafic2IPv6.robot (about) 1 *** Settings *** 2 Library OperatingSystem 3 #Library RequestsLibrary 4 #Library SSHLibrary timeout=60s 5 #Library String 6 7 Resource ../../../variables/${VARIABLES}_variables.robot 8 9 Resource ../../../libraries/all_libs.robot 10 11 Force Tags traffic IPv6 ExpectedFailure 12 Suite Setup Testsuite Setup 13 Suite Teardown Testsuite Teardown 14 Test Setup TestSetup 15 Test Teardown TestTeardown 16 17 *** Variables *** 18 ${VARIABLES}= common 19 ${ENV}= common 20 ${WAIT_TIMEOUT}= 20s 21 ${SYNC_SLEEP}= 3s 22 ${RESYNC_SLEEP}= 1s 23 ${LIBMEMIF_IP1}= 192.168.1.2 24 ${VPP2MEMIF_IP1}= 192.168.1.2 25 ${VPP1MEMIF_IP1}= 192.168.1.1 26 ${LIBMEMIF_IP2}= 192.168.2.2 27 ${VPP2MEMIF_IP2}= 192.168.2.2 28 ${VPP1MEMIF_IP2}= 192.168.2.1 29 # wait for resync vpps after restart 30 ${RESYNC_WAIT}= 30s 31 32 *** Test Cases *** 33 Configure Environment 34 [Tags] setup 35 Configure Environment 3 36 37 Show Interfaces Before Setup 38 vpp_term: Show Interfaces agent_vpp_1 39 40 Add Memif1 Interface On VPP1 41 Put Memif Interface With IP node=agent_vpp_1 name=vpp1_memif1 mac=62:61:61:61:61:61 master=false id=0 ip=${VPP1MEMIF_IP1} prefix=24 socket=memif.sock 42 43 Check Memif1 Interface Created On VPP1 44 Wait Until Keyword Succeeds ${WAIT_TIMEOUT} ${SYNC_SLEEP} vpp_term: Interface Is Created node=agent_vpp_1 mac=62:61:61:61:61:61 45 Wait Until Keyword Succeeds ${WAIT_TIMEOUT} ${SYNC_SLEEP} vat_term: Check Memif Interface State agent_vpp_1 vpp1_memif1 mac=62:61:61:61:61:61 role=slave id=0 ipv4=${VPP1MEMIF_IP1}/24 connected=0 enabled=1 socket=${AGENT_LIBMEMIF_1_MEMIF_SOCKET_FOLDER}/memif.sock 46 47 Modify Memif1 Interface On VPP1 48 Put Memif Interface With IP node=agent_vpp_1 name=vpp1_memif1 mac=62:61:61:61:61:62 master=false id=0 ip=${VPP1MEMIF_IP2} prefix=24 socket=memif.sock 49 50 51 Check Memif1 Interface On VPP1 is Modified 52 Wait Until Keyword Succeeds ${WAIT_TIMEOUT} ${SYNC_SLEEP} vpp_term: Interface Is Created node=agent_vpp_1 mac=62:61:61:61:61:62 53 Wait Until Keyword Succeeds ${WAIT_TIMEOUT} ${SYNC_SLEEP} vat_term: Check Memif Interface State agent_vpp_1 vpp1_memif1 mac=62:61:61:61:61:62 role=slave id=0 ipv4=${VPP1MEMIF_IP2}/24 connected=0 enabled=1 socket=${AGENT_LIBMEMIF_1_MEMIF_SOCKET_FOLDER}/memif.sock 54 55 Create And Chek Memif1 On Agent Libmemif 1 56 ${out}= lmterm: Issue Command agent_libmemif_1 conn 0 1 57 Sleep ${SYNC_SLEEP} 58 ${out}= lmterm: Issue Command agent_libmemif_1 show 59 Should Contain ${out} interface ip: ${LIBMEMIF_IP1} 60 Should Contain ${out} link: up 61 62 Check Memif1 Interface On VPP1 Connected To LibMemif 63 Wait Until Keyword Succeeds ${WAIT_TIMEOUT} ${SYNC_SLEEP} vpp_term: Interface Is Created node=agent_vpp_1 mac=62:61:61:61:61:62 64 Wait Until Keyword Succeeds ${WAIT_TIMEOUT} ${SYNC_SLEEP} vat_term: Check Memif Interface State agent_vpp_1 vpp1_memif1 mac=62:61:61:61:61:62 role=slave id=0 ipv4=${VPP1MEMIF_IP2}/24 connected=1 enabled=1 socket=${AGENT_LIBMEMIF_1_MEMIF_SOCKET_FOLDER}/memif.sock 65 66 Modify Memif1 On VPP1 back 67 Put Memif Interface With IP node=agent_vpp_1 name=vpp1_memif1 mac=62:61:61:61:61:61 master=false id=0 ip=${VPP1MEMIF_IP1} prefix=24 socket=memif.sock 68 69 Check Memif1 on Vpp1 is connected 70 Wait Until Keyword Succeeds ${WAIT_TIMEOUT} ${SYNC_SLEEP} vat_term: Check Memif Interface State agent_vpp_1 vpp1_memif1 mac=62:61:61:61:61:61 role=slave id=0 ipv4=${VPP1MEMIF_IP1}/24 connected=1 enabled=1 socket=${AGENT_LIBMEMIF_1_MEMIF_SOCKET_FOLDER}/memif.sock 71 72 Check Ping VPP1 -> Agent Libmemif 1 73 vpp_term: Check Ping agent_vpp_1 ${LIBMEMIF_IP1} 74 75 76 Remove VPP Nodes 77 Remove All VPP Nodes 78 Sleep ${SYNC_SLEEP} 79 Add Agent VPP Node agent_vpp_1 80 #Add Agent VPP Node agent_vpp_2 81 Sleep ${RESYNC_WAIT} 82 83 Check Memif1 Interface On VPP1 Connected To LibMemif After Resync 84 vpp_term: Interface Is Created node=agent_vpp_1 mac=62:61:61:61:61:61 85 vat_term: Check Memif Interface State agent_vpp_1 vpp1_memif1 mac=62:61:61:61:61:61 role=slave id=0 ipv4=${VPP1MEMIF_IP1}/24 connected=1 enabled=1 socket=${AGENT_LIBMEMIF_1_MEMIF_SOCKET_FOLDER}/memif.sock 86 87 Check Ping VPP1 -> Agent Libmemif 1 After Resync 88 vpp_term: Check Ping agent_vpp_1 ${LIBMEMIF_IP1} 89 90 ############################################################################## 91 92 93 Delete Memif On Agent Libmemif 1 94 ${out}= lmterm: Issue Command agent_libmemif_1 del 0 95 96 Check Memif1 Interface On VPP1 Disconnected After Master Deleted 97 Wait Until Keyword Succeeds ${WAIT_TIMEOUT} ${SYNC_SLEEP} vpp_term: Interface Is Created node=agent_vpp_1 mac=62:61:61:61:61:61 98 Wait Until Keyword Succeeds ${WAIT_TIMEOUT} ${SYNC_SLEEP} vat_term: Check Memif Interface State agent_vpp_1 vpp1_memif1 mac=62:61:61:61:61:61 role=slave id=0 ipv4=${VPP1MEMIF_IP1}/24 connected=0 enabled=1 socket=${AGENT_LIBMEMIF_1_MEMIF_SOCKET_FOLDER}/memif.sock 99 100 Create Memif1 On Agent Libmemif 1 Again 101 ${out}= lmterm: Issue Command agent_libmemif_1 conn 0 1 102 103 Check Memif1 Interface On VPP1 Connected After Master Deleted and Created 104 Wait Until Keyword Succeeds ${WAIT_TIMEOUT} ${SYNC_SLEEP} vpp_term: Interface Is Created node=agent_vpp_1 mac=62:61:61:61:61:61 105 Wait Until Keyword Succeeds ${WAIT_TIMEOUT} ${SYNC_SLEEP} vat_term: Check Memif Interface State agent_vpp_1 vpp1_memif1 mac=62:61:61:61:61:61 role=slave id=0 ipv4=${VPP1MEMIF_IP1}/24 connected=1 enabled=1 socket=${AGENT_LIBMEMIF_1_MEMIF_SOCKET_FOLDER}/memif.sock 106 107 Check Ping VPP1 -> Agent Libmemif 1 After Delete and Create 108 vpp_term: Check Ping agent_vpp_1 ${LIBMEMIF_IP1} 109 110 ####### Here VPP crashes 111 #Modify Memif1 Interface On VPP1 While Connected 112 # Put Memif Interface With IP node=agent_vpp_1 name=vpp1_memif1 mac=62:61:61:61:61:62 master=false id=0 ip=${VPP1MEMIF_IP2} prefix=24 socket=memif.sock 113 # Sleep ${SYNC_SLEEP} 114 115 #Check Memif1 Interface On VPP1 Modified 116 # vpp_term: Interface Is Created node=agent_vpp_1 mac=62:61:61:61:61:62 117 # vat_term: Check Memif Interface State agent_vpp_1 vpp1_memif1 mac=62:61:61:61:61:62 role=slave id=0 ipv4=${VPP1MEMIF_IP2}/24 connected=1 enabled=1 socket=${AGENT_LIBMEMIF_1_MEMIF_SOCKET_FOLDER}/memif.sock 118 # 119 #Check Ping VPP1 -> Agent Libmemif 1 After Memif1 Modified 120 # vpp_term: Check Ping agent_vpp_1 ${LIBMEMIF_IP1} 121 122 ############################################################ 123 #Delete Memif On Agent Libmemif 1 124 # ${out}= lmterm: Issue Command agent_libmemif_1 del 0 125 # 126 #Modify Memif1 Interface On VPP1 After Slave Delete 127 # Put Memif Interface With IP node=agent_vpp_1 name=vpp1_memif1 mac=62:61:61:61:61:62 master=false id=0 ip=${VPP1MEMIF_IP2} prefix=24 socket=memif.sock 128 # Sleep ${SYNC_SLEEP} 129 130 ##### Here VPP crashes 131 #Check Memif1 Interface On VPP1 Modified After Slave Delete 2 132 # vpp_term: Interface Is Created node=agent_vpp_1 mac=62:61:61:61:61:62 133 # vat_term: Check Memif Interface State agent_vpp_1 vpp1_memif1 mac=62:61:61:61:61:62 role=slave id=0 ipv4=${VPP1MEMIF_IP2}/24 connected=0 enabled=1 socket=${AGENT_LIBMEMIF_1_MEMIF_SOCKET_FOLDER}/memif.sock 134 135 Remove Agent Libmemif 1 136 Remove Node agent_libmemif_1 137 Sleep ${SYNC_SLEEP} 138 139 Add Libmemif Node Again 140 Add Agent Libmemif Node agent_libmemif_1 141 Sleep ${RESYNC_WAIT} 142 143 Create And Check Memif1 On Agent Libmemif 1 After node restart2 144 ${out_c}= lmterm: Issue Command agent_libmemif_1 conn 0 1 145 Sleep ${SYNC_SLEEP} 146 ${out}= lmterm: Issue Command agent_libmemif_1 show 147 Should Contain ${out} interface ip: ${LIBMEMIF_IP1} 148 Should Contain ${out} link: up 149 150 Check Memif1 Interface On VPP1 Connected After Node Restart2 151 Wait Until Keyword Succeeds ${WAIT_TIMEOUT} ${SYNC_SLEEP} vpp_term: Interface Is Created node=agent_vpp_1 mac=62:61:61:61:61:61 152 Wait Until Keyword Succeeds ${WAIT_TIMEOUT} ${SYNC_SLEEP} : Check Memif Interface State agent_vpp_1 vpp1_memif1 mac=62:61:61:61:61:61 role=slave id=0 ipv4=${VPP1MEMIF_IP1}/24 connected=1 enabled=1 socket=${AGENT_LIBMEMIF_1_MEMIF_SOCKET_FOLDER}/memif.sock 153 ${out}= lmterm: Issue Command agent_libmemif_1 show 154 155 Create Memif2 On Agent Libmemif 1 156 ${out}= lmterm: Issue Command agent_libmemif_1 conn 1 1 157 #Should Contain ${out} INFO: memif connected! 158 Sleep ${SYNC_SLEEP} 159 160 Check Memif 1 and Memif2 On Agent LibMemif 1 161 ${out}= lmterm: Issue Command agent_libmemif_1 show 162 Should Contain ${out} interface ip: ${LIBMEMIF_IP2} 163 Should Contain ${out} interface ip: ${LIBMEMIF_IP1} 164 Should Contain ${out} link: up 165 Should Contain ${out} link: down 166 167 Check Memif1 Interface On VPP1 Connected After Second Libmemif Added 168 Wait Until Keyword Succeeds ${WAIT_TIMEOUT} ${SYNC_SLEEP} vpp_term: Interface Is Created node=agent_vpp_1 mac=62:61:61:61:61:61 169 Wait Until Keyword Succeeds ${WAIT_TIMEOUT} ${SYNC_SLEEP} vat_term: Check Memif Interface State agent_vpp_1 vpp1_memif1 mac=62:61:61:61:61:61 role=slave id=0 ipv4=${VPP1MEMIF_IP1}/24 connected=1 enabled=1 socket=${AGENT_LIBMEMIF_1_MEMIF_SOCKET_FOLDER}/memif.sock 170 ${out}= lmterm: Issue Command agent_libmemif_1 show 171 172 ############################################################################ 173 ##### Here VPP crashes 174 #Add Memif2 Interface On VPP1 175 # Put Memif Interface With IP node=agent_vpp_1 name=vpp1_memif2 mac=62:61:61:61:51:51 master=false id=1 ip=${VPP1MEMIF_IP2} prefix=24 socket=memif.sock 176 # Sleep ${SYNC_SLEEP} 177 # 178 #Check Memif2 Interface Created On VPP1 179 # vpp_term: Interface Is Created node=agent_vpp_1 mac=62:61:61:61:51:51 180 # vat_term: Check Memif Interface State agent_vpp_1 vpp1_memif2 mac=62:61:61:61:51:51 role=slave id=0 ipv4=${VPP1MEMIF_IP2}/24 connected=1 enabled=1 socket=${AGENT_LIBMEMIF_1_MEMIF_SOCKET_FOLDER}/memif.sock 181 # 182 #Check Memif 1 and Memif2 On Agent LibMemif 1 183 # ${out}= lmterm: Issue Command agent_libmemif_1 show 184 # Should Contain ${out} interface ip: ${LIBMEMIF_IP2} 185 # Should Contain ${out} interface ip: ${LIBMEMIF_IP1} 186 # Should Contain ${out} link: up 187 # Should Not Contain ${out} link: down 188 189 #Delete Memif2 Interface On VPP1 After Resync 190 # Delete VPP Interface node=agent_vpp_1 name=vpp1_memif2 191 # vpp_term: Interface Is Deleted node=agent_vpp_1 mac=62:61:61:61:51:51 192 193 Delete Memif1 Interface On VPP1 194 Delete VPP Interface node=agent_vpp_1 name=vpp1_memif1 195 vpp_term: Show Interfaces agent_vpp_1 196 Wait Until Keyword Succeeds ${WAIT_TIMEOUT} ${SYNC_SLEEP} vpp_term: Interface Is Deleted node=agent_vpp_1 mac=62:61:61:61:61:61 197 198 Check LibMemif1 down and LibMemif2 down 199 ${out}= lmterm: Issue Command agent_libmemif_1 show 200 Should Contain ${out} interface ip: ${LIBMEMIF_IP2} 201 Should Contain ${out} interface ip: ${LIBMEMIF_IP1} 202 Should Contain ${out} link: down 203 204 Add Memif2 Interface On VPP1 205 Put Memif Interface With IP node=agent_vpp_1 name=vpp1_memif2 mac=62:61:61:61:51:51 master=slave id=1 ip=${VPP1MEMIF_IP2} prefix=24 socket=memif.sock 206 207 Check Memif2 Interface Created On VPP1 208 Wait Until Keyword Succeeds ${WAIT_TIMEOUT} ${SYNC_SLEEP} vpp_term: Interface Is Created node=agent_vpp_1 mac=62:61:61:61:51:51 209 Wait Until Keyword Succeeds ${WAIT_TIMEOUT} ${SYNC_SLEEP} vat_term: Check Memif Interface State agent_vpp_1 vpp1_memif2 mac=62:61:61:61:51:51 role=slave id=1 ipv4=${VPP1MEMIF_IP2}/24 connected=1 enabled=1 socket=${AGENT_LIBMEMIF_1_MEMIF_SOCKET_FOLDER}/memif.sock 210 211 Check LibMemif1 down and LibMemif2 up 212 ${out}= lmterm: Issue Command agent_libmemif_1 show 213 Should Contain ${out} interface ip: ${LIBMEMIF_IP2} 214 Should Contain ${out} interface ip: ${LIBMEMIF_IP1} 215 Should Contain ${out} link: up 216 Should Contain ${out} link: down 217 218 Check Ping VPP1 Memif2 -> Agent Libmemif2 219 vpp_term: Check Ping agent_vpp_1 ${LIBMEMIF_IP2} 220 221 Check Ping VPP1 Memif1 -> Agent Libmemif1 222 vpp_term: Check Ping agent_vpp_1 ${LIBMEMIF_IP1} 223 224 225 *** Keywords *** 226 TestSetup 227 Make Datastore Snapshots ${TEST_NAME}_test_setup 228 229 TestTeardown 230 Make Datastore Snapshots ${TEST_NAME}_test_teardown