go.ligato.io/vpp-agent/v3@v3.5.0/tests/robot/suites/trafficIPv6/libmemif/libmemif_slave_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=true 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=master 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=true id=0 ip=${VPP1MEMIF_IP2} prefix=24 socket=memif.sock 49 50 Check Memif1 Interface On VPP1 is Modified 51 Wait Until Keyword Succeeds ${WAIT_TIMEOUT} ${SYNC_SLEEP} vpp_term: Interface Is Created node=agent_vpp_1 mac=62:61:61:61:61:62 52 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=master id=0 ipv4=${VPP1MEMIF_IP2}/24 connected=0 enabled=1 socket=${AGENT_LIBMEMIF_1_MEMIF_SOCKET_FOLDER}/memif.sock 53 54 Modify Memif1 Interface On VPP1 To Previous Values 55 Put Memif Interface With IP node=agent_vpp_1 name=vpp1_memif1 mac=62:61:61:61:61:61 master=true id=0 ip=${VPP1MEMIF_IP1} prefix=24 socket=memif.sock 56 57 Check Memif1 Interface On VPP1 Modified Back 58 Wait Until Keyword Succeeds ${WAIT_TIMEOUT} ${SYNC_SLEEP} vpp_term: Interface Is Created node=agent_vpp_1 mac=62:61:61:61:61:61 59 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=master id=0 ipv4=${VPP1MEMIF_IP1}/24 connected=0 enabled=1 socket=${AGENT_LIBMEMIF_1_MEMIF_SOCKET_FOLDER}/memif.sock 60 61 ############################################################################## 62 Add Memif1 Interface On VPP2 63 Put Memif Interface With IP node=agent_vpp_2 name=vpp2_memif1 mac=62:61:61:61:51:51 master=false id=0 ip=${VPP2MEMIF_IP1} prefix=24 socket=memif.sock 64 65 Check Memif1 Interface Created And Connected On VPP2 66 Wait Until Keyword Succeeds ${WAIT_TIMEOUT} ${SYNC_SLEEP} vpp_term: Interface Is Created node=agent_vpp_2 mac=62:61:61:61:51:51 67 Wait Until Keyword Succeeds ${WAIT_TIMEOUT} ${SYNC_SLEEP} vat_term: Check Memif Interface State agent_vpp_2 vpp2_memif1 mac=62:61:61:61:51:51 role=slave id=0 ipv4=${VPP2MEMIF_IP1}/24 connected=1 enabled=1 socket=${AGENT_LIBMEMIF_1_MEMIF_SOCKET_FOLDER}/memif.sock 68 69 Check Memif1 Interface On VPP1 Connected To VPP2 70 Wait Until Keyword Succeeds ${WAIT_TIMEOUT} ${SYNC_SLEEP} vpp_term: Interface Is Created node=agent_vpp_1 mac=62:61:61:61:61:61 71 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=master id=0 ipv4=${VPP1MEMIF_IP1}/24 connected=1 enabled=1 socket=${AGENT_LIBMEMIF_1_MEMIF_SOCKET_FOLDER}/memif.sock 72 73 Modify Memif1 Interface On VPP1 While Connected To VPP2 74 Put Memif Interface With IP node=agent_vpp_1 name=vpp1_memif1 mac=62:61:61:61:61:62 master=true id=0 ip=${VPP1MEMIF_IP2} prefix=24 socket=memif.sock 75 76 Check Memif1 Interface On VPP1 Modified While Connected 77 Wait Until Keyword Succeeds ${WAIT_TIMEOUT} ${SYNC_SLEEP} vpp_term: Interface Is Created node=agent_vpp_1 mac=62:61:61:61:61:62 78 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=master id=0 ipv4=${VPP1MEMIF_IP2}/24 connected=1 enabled=1 socket=${AGENT_LIBMEMIF_1_MEMIF_SOCKET_FOLDER}/memif.sock 79 80 Delete Memif1 Interface On VPP2 81 Delete VPP Interface node=agent_vpp_2 name=vpp2_memif1 82 Wait Until Keyword Succeeds ${WAIT_TIMEOUT} ${SYNC_SLEEP} vpp_term: Interface Is Deleted node=agent_vpp_2 mac=62:61:61:61:51:51 83 84 Check VPP1_memif1 Interface Is Disconnected 85 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=master id=0 ipv4=${VPP1MEMIF_IP2}/24 connected=0 enabled=1 socket=${AGENT_LIBMEMIF_1_MEMIF_SOCKET_FOLDER}/memif.sock 86 87 Modify Memif1 Interface On VPP1 To Previous Values After Slave Delete 88 Put Memif Interface With IP node=agent_vpp_1 name=vpp1_memif1 mac=62:61:61:61:61:61 master=true id=0 ip=${VPP1MEMIF_IP1} prefix=24 socket=memif.sock 89 90 Check Memif1 Interface On VPP1 Modified Back After Slave Delete 91 Wait Until Keyword Succeeds ${WAIT_TIMEOUT} ${SYNC_SLEEP} vpp_term: Interface Is Created node=agent_vpp_1 mac=62:61:61:61:61:61 92 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=master id=0 ipv4=${VPP1MEMIF_IP1}/24 connected=0 enabled=1 socket=${AGENT_LIBMEMIF_1_MEMIF_SOCKET_FOLDER}/memif.sock 93 94 ############################################################################# 95 96 Create And Chek Memif1 On Agent Libmemif 1 97 ${out}= lmterm: Issue Command agent_libmemif_1 conn 0 0 98 Sleep ${SYNC_SLEEP} 99 ${out}= lmterm: Issue Command agent_libmemif_1 show 100 Should Contain ${out} interface ip: ${LIBMEMIF_IP1} 101 Should Contain ${out} link: up 102 103 Check Memif1 Interface On VPP1 Connected To LibMemif 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=master 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 108 vpp_term: Check Ping agent_vpp_1 ${LIBMEMIF_IP1} 109 110 111 Remove VPP Nodes 112 Remove All VPP Nodes 113 Sleep ${SYNC_SLEEP} 114 Add Agent VPP Node agent_vpp_1 115 #Add Agent VPP Node agent_vpp_2 116 Sleep ${RESYNC_WAIT} 117 118 Check Memif1 Interface On VPP1 Connected To LibMemif After Resync 119 vpp_term: Interface Is Created node=agent_vpp_1 mac=62:61:61:61:61:61 120 vat_term: Check Memif Interface State agent_vpp_1 vpp1_memif1 mac=62:61:61:61:61:61 role=master id=0 ipv4=${VPP1MEMIF_IP1}/24 connected=1 enabled=1 socket=${AGENT_LIBMEMIF_1_MEMIF_SOCKET_FOLDER}/memif.sock 121 122 Check Ping VPP1 -> Agent Libmemif 1 After Resync 123 vpp_term: Check Ping agent_vpp_1 ${LIBMEMIF_IP1} 124 125 ############################################################################## 126 127 128 Delete Memif On Agent Libmemif 1 129 ${out}= lmterm: Issue Command agent_libmemif_1 del 0 130 131 Check Memif1 Interface On VPP1 Disconnected After Slave Deleted 132 Wait Until Keyword Succeeds ${WAIT_TIMEOUT} ${SYNC_SLEEP} vpp_term: Interface Is Created node=agent_vpp_1 mac=62:61:61:61:61:61 133 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=master id=0 ipv4=${VPP1MEMIF_IP1}/24 connected=0 enabled=1 socket=${AGENT_LIBMEMIF_1_MEMIF_SOCKET_FOLDER}/memif.sock 134 135 136 Check Memif1 Interface On VPP1 Disconnected After Slave Deleted Again 137 Wait Until Keyword Succeeds ${WAIT_TIMEOUT} ${SYNC_SLEEP} vpp_term: Interface Is Created node=agent_vpp_1 mac=62:61:61:61:61:61 138 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=master id=0 ipv4=${VPP1MEMIF_IP1}/24 connected=0 enabled=1 socket=${AGENT_LIBMEMIF_1_MEMIF_SOCKET_FOLDER}/memif.sock 139 140 Create Memif1 On Agent Libmemif 1 Again 141 ${out}= lmterm: Issue Command agent_libmemif_1 conn 0 0 142 143 Check Memif1 Interface On VPP1 Connected After Slave Deleted and Created 144 Wait Until Keyword Succeeds ${WAIT_TIMEOUT} ${SYNC_SLEEP} vpp_term: Interface Is Created node=agent_vpp_1 mac=62:61:61:61:61:61 145 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=master id=0 ipv4=${VPP1MEMIF_IP1}/24 connected=1 enabled=1 socket=${AGENT_LIBMEMIF_1_MEMIF_SOCKET_FOLDER}/memif.sock 146 147 Check Ping VPP1 -> Agent Libmemif 1 After Delete and Create 148 vpp_term: Check Ping agent_vpp_1 ${LIBMEMIF_IP1} 149 150 ####### Here VPP crashes 151 #Modify Memif1 Interface On VPP1 While Connected 152 # Put Memif Interface With IP node=agent_vpp_1 name=vpp1_memif1 mac=62:61:61:61:61:62 master=true id=0 ip=${VPP1MEMIF_IP2} prefix=24 socket=memif.sock 153 # Sleep ${SYNC_SLEEP} 154 155 #Check Memif1 Interface On VPP1 Modified 156 # vpp_term: Interface Is Created node=agent_vpp_1 mac=62:61:61:61:61:62 157 # vat_term: Check Memif Interface State agent_vpp_1 vpp1_memif1 mac=62:61:61:61:61:62 role=master id=0 ipv4=${VPP1MEMIF_IP2}/24 connected=1 enabled=1 socket=${AGENT_LIBMEMIF_1_MEMIF_SOCKET_FOLDER}/memif.sock 158 # 159 #Check Ping VPP1 -> Agent Libmemif 1 After Memif1 Modified 160 # vpp_term: Check Ping agent_vpp_1 ${LIBMEMIF_IP1} 161 162 ############################################################ 163 #Delete Memif On Agent Libmemif 1 164 # ${out}= lmterm: Issue Command agent_libmemif_1 del 0 165 # 166 #Modify Memif1 Interface On VPP1 After Slave Delete 167 # Put Memif Interface With IP node=agent_vpp_1 name=vpp1_memif1 mac=62:61:61:61:61:62 master=true id=0 ip=${VPP1MEMIF_IP2} prefix=24 socket=memif.sock 168 # Sleep ${SYNC_SLEEP} 169 170 ##### Here VPP crashes 171 #Check Memif1 Interface On VPP1 Modified After Slave Delete 2 172 # vpp_term: Interface Is Created node=agent_vpp_1 mac=62:61:61:61:61:62 173 # vat_term: Check Memif Interface State agent_vpp_1 vpp1_memif1 mac=62:61:61:61:61:62 role=master id=0 ipv4=${VPP1MEMIF_IP2}/24 connected=0 enabled=1 socket=${AGENT_LIBMEMIF_1_MEMIF_SOCKET_FOLDER}/memif.sock 174 175 Remove Agent Libmemif 1 176 Remove Node agent_libmemif_1 177 Sleep ${SYNC_SLEEP} 178 179 Add Libmemif Node Again 180 Add Agent Libmemif Node agent_libmemif_1 181 Sleep ${RESYNC_WAIT} 182 183 Create And Check Memif1 On Agent Libmemif 1 After node restart 184 ${out_c}= lmterm: Issue Command agent_libmemif_1 conn 0 0 185 Sleep ${SYNC_SLEEP} 186 ${out}= lmterm: Issue Command agent_libmemif_1 show 187 Should Contain ${out} interface ip: ${LIBMEMIF_IP1} 188 Should Contain ${out} link: up 189 190 Check Memif1 Interface On VPP1 Connected After Node Restart 191 Wait Until Keyword Succeeds ${WAIT_TIMEOUT} ${SYNC_SLEEP} vpp_term: Interface Is Created node=agent_vpp_1 mac=62:61:61:61:61:61 192 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=master id=0 ipv4=${VPP1MEMIF_IP1}/24 connected=1 enabled=1 socket=${AGENT_LIBMEMIF_1_MEMIF_SOCKET_FOLDER}/memif.sock 193 ${out}= lmterm: Issue Command agent_libmemif_1 show 194 195 Create Memif2 On Agent Libmemif 1 196 ${out}= lmterm: Issue Command agent_libmemif_1 conn 1 0 197 Sleep ${SYNC_SLEEP} 198 #Should Contain ${out} INFO: memif connected! 199 200 Check Memif 1 and Memif2 On Agent LibMemif 1 201 ${out}= lmterm: Issue Command agent_libmemif_1 show 202 Should Contain ${out} interface ip: ${LIBMEMIF_IP2} 203 Should Contain ${out} interface ip: ${LIBMEMIF_IP1} 204 Should Contain ${out} link: up 205 Should Contain ${out} link: down 206 207 Check Memif1 Interface On VPP1 Connected After Second Libmemif Added 208 Wait Until Keyword Succeeds ${WAIT_TIMEOUT} ${SYNC_SLEEP} vpp_term: Interface Is Created node=agent_vpp_1 mac=62:61:61:61:61:61 209 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=master id=0 ipv4=${VPP1MEMIF_IP1}/24 connected=1 enabled=1 socket=${AGENT_LIBMEMIF_1_MEMIF_SOCKET_FOLDER}/memif.sock 210 ${out}= lmterm: Issue Command agent_libmemif_1 show 211 212 ############################################################################ 213 ##### Here VPP crashes 214 Add Memif2 Interface On VPP1 215 Put Memif Interface With IP node=agent_vpp_1 name=vpp1_memif2 mac=62:61:61:61:51:51 master=true id=1 ip=${VPP1MEMIF_IP2} prefix=24 socket=memif.sock 216 217 218 Check Memif2 Interface Created On VPP1 219 Wait Until Keyword Succeeds ${WAIT_TIMEOUT} ${SYNC_SLEEP} vpp_term: Interface Is Created node=agent_vpp_1 mac=62:61:61:61:51:51 220 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=master id=1 ipv4=${VPP1MEMIF_IP2}/24 connected=1 enabled=1 socket=${AGENT_LIBMEMIF_1_MEMIF_SOCKET_FOLDER}/memif.sock 221 222 Check Memif 1 and Memif2 On Agent LibMemif 1 223 ${out}= lmterm: Issue Command agent_libmemif_1 show 224 Should Contain ${out} interface ip: ${LIBMEMIF_IP2} 225 Should Contain ${out} interface ip: ${LIBMEMIF_IP1} 226 Should Contain ${out} link: up 227 Should Not Contain ${out} link: down 228 229 Delete Memif2 Interface On VPP1 After Resync 230 Delete VPP Interface node=agent_vpp_1 name=vpp1_memif2 231 Wait Until Keyword Succeeds ${WAIT_TIMEOUT} ${SYNC_SLEEP} vpp_term: Interface Is Deleted node=agent_vpp_1 mac=62:61:61:61:51:51 232 233 Delete Memif1 Interface On VPP1 234 Delete VPP Interface node=agent_vpp_1 name=vpp1_memif1 235 Wait Until Keyword Succeeds ${WAIT_TIMEOUT} ${SYNC_SLEEP} vpp_term: Interface Is Deleted node=agent_vpp_1 mac=62:61:61:61:61:61 236 237 Check Memif 1 and Memif2 On Agent LibMemif 1 238 ${out}= lmterm: Issue Command agent_libmemif_1 show 239 Should Contain ${out} interface ip: ${LIBMEMIF_IP2} 240 Should Contain ${out} interface ip: ${LIBMEMIF_IP1} 241 Should Contain ${out} link: down 242 243 Add Memif2 Interface On VPP1 244 Put Memif Interface With IP node=agent_vpp_1 name=vpp1_memif2 mac=62:61:61:61:51:51 master=true id=1 ip=${VPP1MEMIF_IP2} prefix=24 socket=memif.sock 245 246 Check Memif2 Interface Created On VPP1 247 Wait Until Keyword Succeeds ${WAIT_TIMEOUT} ${SYNC_SLEEP} vpp_term: Interface Is Created node=agent_vpp_1 mac=62:61:61:61:51:51 248 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=master id=1 ipv4=${VPP1MEMIF_IP2}/24 connecte 249 250 Check Memif 1 and Memif2 On Agent LibMemif 1 251 ${out}= lmterm: Issue Command agent_libmemif_1 show 252 Should Contain ${out} interface ip: ${LIBMEMIF_IP2} 253 Should Contain ${out} interface ip: ${LIBMEMIF_IP1} 254 Should Contain ${out} link: up 255 Should Contain ${out} link: down 256 257 Check Ping VPP1 Memif2 -> Agent Libmemif 1 After Delete and Create 258 vpp_term: Check Ping agent_vpp_1 ${LIBMEMIF_IP2} 259 260 Check Ping VPP1 Memif1 -> Agent Libmemif 1 After Delete and Create 261 vpp_term: Check Ping agent_vpp_1 ${LIBMEMIF_IP1} 262 263 264 *** Keywords *** 265 TestSetup 266 Make Datastore Snapshots ${TEST_NAME}_test_setup 267 268 TestTeardown 269 Make Datastore Snapshots ${TEST_NAME}_test_teardown