go.ligato.io/vpp-agent/v3@v3.5.0/tests/robot/suites/crudIPv6/memif_crudIPv6.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/vpp_api.robot 10 Resource ../../libraries/vpp_term.robot 11 Resource ../../libraries/docker.robot 12 Resource ../../libraries/setup-teardown.robot 13 Resource ../../libraries/configurations.robot 14 Resource ../../libraries/etcdctl.robot 15 Resource ../../libraries/linux.robot 16 17 Resource ../../libraries/interface/interface_generic.robot 18 19 Force Tags crud IPv6 20 Suite Setup Testsuite Setup 21 Suite Teardown Testsuite Teardown 22 Test Setup TestSetup 23 Test Teardown TestTeardown 24 25 *** Variables *** 26 ${VARIABLES}= common 27 ${ENV}= common 28 ${MEMIF11_MAC}= 1a:00:00:11:11:11 29 ${MEMIF11_SEC_MAC}= 1a:00:00:11:11:12 30 ${MEMIF21_MAC}= 2a:00:00:22:22:22 31 ${MEMIF21_SEC_MAC}= 2a:00:00:22:22:23 32 ${MEMIF12_MAC}= 3a:00:00:33:33:33 33 ${MEMIF22_MAC}= 4a:00:00:44:44:44 34 ${IP_1}= fd30::1:e:0:0:1 35 ${IP_2}= fd30::1:e:0:0:2 36 ${IP_3}= fd31::1:e:0:0:1 37 ${IP_4}= fd31::1:e:0:0:2 38 ${IP_5}= fd32::1:e:0:0:1 39 ${IP_6}= fd32::1:e:0:0:2 40 ${PREFIX}= 64 41 ${WAIT_TIMEOUT}= 20s 42 ${SYNC_SLEEP}= 3s 43 44 *** Test Cases *** 45 Configure Environment 46 [Tags] setup 47 Configure Environment 1 48 49 Show Interfaces Before Setup 50 vpp_term: Show Interfaces agent_vpp_1 51 52 Add VPP1_memif1 Interface 53 vpp_term: Interface Not Exists node=agent_vpp_1 mac=${MEMIF11_MAC} 54 Put Memif Interface With IP node=agent_vpp_1 name=vpp1_memif1 55 ... mac=${MEMIF11_MAC} master=true id=1 ip=${IP_1} 56 ... prefix=${PREFIX} socket=default.sock 57 58 59 Check That VPP1_memif1 Is Created But Not Connected 60 Wait Until Keyword Succeeds ${WAIT_TIMEOUT} ${SYNC_SLEEP} 61 ... vpp_term: Interface Is Created node=agent_vpp_1 mac=${MEMIF11_MAC} 62 Wait Until Keyword Succeeds ${WAIT_TIMEOUT} ${SYNC_SLEEP} 63 ... vpp_term: Check Memif Interface State agent_vpp_1 vpp1_memif1 64 ... mac=${MEMIF11_MAC} role=master id=1 ipv6=${IP_1}/${PREFIX} 65 ... connected=0 enabled=1 socket=${AGENT_VPP_1_MEMIF_SOCKET_FOLDER}/default.sock 66 67 Add VPP2_memif1 Interface 68 vpp_term: Interface Not Exists node=agent_vpp_2 mac=${MEMIF21_MAC} 69 Put Memif Interface With IP node=agent_vpp_2 name=vpp2_memif1 70 ... mac=${MEMIF21_MAC} master=false id=1 ip=${IP_2} 71 ... prefix=${PREFIX} socket=default.sock 72 73 Check That VPP2_memif1 Is Created And Connected With VPP1_memif1 74 Wait Until Keyword Succeeds ${WAIT_TIMEOUT} ${SYNC_SLEEP} 75 ... vpp_term: Interface Is Created node=agent_vpp_2 mac=${MEMIF21_MAC} 76 Wait Until Keyword Succeeds ${WAIT_TIMEOUT} ${SYNC_SLEEP} 77 ... vpp_term: Check Memif Interface State agent_vpp_2 vpp2_memif1 78 ... mac=${MEMIF21_MAC} role=slave id=1 ipv6=${IP_2}/${PREFIX} 79 ... connected=1 enabled=1 socket=${AGENT_VPP_2_MEMIF_SOCKET_FOLDER}/default.sock 80 Wait Until Keyword Succeeds ${WAIT_TIMEOUT} ${SYNC_SLEEP} 81 ... vpp_term: Check Memif Interface State agent_vpp_1 vpp1_memif1 82 ... mac=${MEMIF11_MAC} role=master id=1 ipv6=${IP_1}/${PREFIX} 83 ... connected=1 enabled=1 socket=${AGENT_VPP_1_MEMIF_SOCKET_FOLDER}/default.sock 84 85 Add VPP1_memif2 Interface 86 vpp_term: Interface Not Exists node=agent_vpp_1 mac=${MEMIF12_MAC} 87 Put Memif Interface With IP node=agent_vpp_1 name=vpp1_memif2 88 ... mac=${MEMIF12_MAC} master=true id=2 ip=${IP_3} 89 ... prefix=${PREFIX} socket=default.sock 90 91 Check That VPP1_memif2 Is Created But Not Connected 92 Wait Until Keyword Succeeds ${WAIT_TIMEOUT} ${SYNC_SLEEP} 93 ... vpp_term: Interface Is Created node=agent_vpp_1 mac=${MEMIF12_MAC} 94 Wait Until Keyword Succeeds ${WAIT_TIMEOUT} ${SYNC_SLEEP} 95 ... vpp_term: Check Memif Interface State agent_vpp_1 vpp1_memif2 96 ... mac=${MEMIF12_MAC} role=master id=2 ipv6=${IP_3}/${PREFIX} 97 ... connected=0 enabled=1 socket=${AGENT_VPP_1_MEMIF_SOCKET_FOLDER}/default.sock 98 99 Add VPP2_memif2 Interface 100 vpp_term: Interface Not Exists node=agent_vpp_2 mac=${MEMIF22_MAC} 101 Put Memif Interface With IP node=agent_vpp_2 name=vpp2_memif2 102 ... mac=${MEMIF22_MAC} master=false id=2 ip=${IP_4} 103 ... prefix=${PREFIX} socket=default.sock 104 105 Check That VPP2_memif2 Is Created And Connected With VPP1_memif2 106 Wait Until Keyword Succeeds ${WAIT_TIMEOUT} ${SYNC_SLEEP} 107 ... vpp_term: Interface Is Created node=agent_vpp_2 mac=${MEMIF22_MAC} 108 Wait Until Keyword Succeeds ${WAIT_TIMEOUT} ${SYNC_SLEEP} 109 ... vpp_term: Check Memif Interface State agent_vpp_2 vpp2_memif2 110 ... mac=${MEMIF22_MAC} role=slave id=2 ipv6=${IP_4}/${PREFIX} 111 ... connected=1 enabled=1 socket=${AGENT_VPP_2_MEMIF_SOCKET_FOLDER}/default.sock 112 Wait Until Keyword Succeeds ${WAIT_TIMEOUT} ${SYNC_SLEEP} 113 ... vpp_term: Check Memif Interface State agent_vpp_1 vpp1_memif2 114 ... mac=${MEMIF12_MAC} role=master id=2 ipv6=${IP_3}/${PREFIX} 115 ... connected=1 enabled=1 socket=${AGENT_VPP_1_MEMIF_SOCKET_FOLDER}/default.sock 116 117 Check That VPP1_memif1 And VPP2_memif1 Interfaces Are Not Affected By VPP1_memif2 And VPP2_memif2 Interfaces 118 Wait Until Keyword Succeeds ${WAIT_TIMEOUT} ${SYNC_SLEEP} 119 ... vpp_term: Check Memif Interface State agent_vpp_1 vpp1_memif1 120 ... mac=${MEMIF11_MAC} role=master id=1 ipv6=${IP_1}/${PREFIX} 121 ... connected=1 enabled=1 socket=${AGENT_VPP_1_MEMIF_SOCKET_FOLDER}/default.sock 122 Wait Until Keyword Succeeds ${WAIT_TIMEOUT} ${SYNC_SLEEP} 123 ... vpp_term: Check Memif Interface State agent_vpp_2 vpp2_memif1 124 ... mac=${MEMIF21_MAC} role=slave id=1 ipv6=${IP_2}/${PREFIX} 125 ... connected=1 enabled=1 socket=${AGENT_VPP_2_MEMIF_SOCKET_FOLDER}/default.sock 126 127 Update VPP1_memif1 Interface 128 Put Memif Interface With IP node=agent_vpp_1 name=vpp1_memif1 129 ... mac=${MEMIF11_SEC_MAC} master=true id=1 ip=${IP_5} 130 ... prefix=${PREFIX} socket=default.sock 131 132 Wait Until Keyword Succeeds ${WAIT_TIMEOUT} ${SYNC_SLEEP} 133 ... vpp_term: Interface Is Deleted node=agent_vpp_1 mac=${MEMIF11_MAC} 134 Wait Until Keyword Succeeds ${WAIT_TIMEOUT} ${SYNC_SLEEP} 135 ... vpp_term: Interface Is Created node=agent_vpp_1 mac=${MEMIF11_SEC_MAC} 136 Wait Until Keyword Succeeds ${WAIT_TIMEOUT} ${SYNC_SLEEP} 137 ... vpp_term: Check Memif Interface State agent_vpp_1 vpp1_memif1 138 ... mac=${MEMIF11_SEC_MAC} role=master id=1 ipv6=${IP_5}/${PREFIX} 139 ... connected=1 enabled=1 socket=${AGENT_VPP_1_MEMIF_SOCKET_FOLDER}/default.sock 140 141 Check That VPP2_memif1 Is Still Configured And Connected 142 Wait Until Keyword Succeeds ${WAIT_TIMEOUT} ${SYNC_SLEEP} 143 ... vpp_term: Check Memif Interface State agent_vpp_2 vpp2_memif1 144 ... mac=${MEMIF21_MAC} role=slave id=1 ipv6=${IP_2}/${PREFIX} 145 ... connected=1 enabled=1 socket=${AGENT_VPP_2_MEMIF_SOCKET_FOLDER}/default.sock 146 147 Check That VPP1_memif2 And VPP2_memif2 Are Not Affected By VPP1_memif1 Update 148 Wait Until Keyword Succeeds ${WAIT_TIMEOUT} ${SYNC_SLEEP} 149 ... vpp_term: Check Memif Interface State agent_vpp_2 vpp2_memif2 150 ... mac=${MEMIF22_MAC} role=slave id=2 ipv6=${IP_4}/${PREFIX} 151 ... connected=1 enabled=1 socket=${AGENT_VPP_2_MEMIF_SOCKET_FOLDER}/default.sock 152 Wait Until Keyword Succeeds ${WAIT_TIMEOUT} ${SYNC_SLEEP} 153 ... vpp_term: Check Memif Interface State agent_vpp_1 vpp1_memif2 154 ... mac=${MEMIF12_MAC} role=master id=2 ipv6=${IP_3}/${PREFIX} 155 ... connected=1 enabled=1 socket=${AGENT_VPP_1_MEMIF_SOCKET_FOLDER}/default.sock 156 157 Update VPP2_memif1 Interface 158 Put Memif Interface With IP node=agent_vpp_2 name=vpp2_memif1 159 ... mac=${MEMIF21_SEC_MAC} master=false id=1 ip=${IP_6} 160 ... prefix=${PREFIX} socket=default.sock 161 162 Wait Until Keyword Succeeds ${WAIT_TIMEOUT} ${SYNC_SLEEP} 163 ... vpp_term: Interface Is Deleted node=agent_vpp_2 mac=${MEMIF21_MAC} 164 Wait Until Keyword Succeeds ${WAIT_TIMEOUT} ${SYNC_SLEEP} 165 ... vpp_term: Interface Is Created node=agent_vpp_2 mac=${MEMIF21_SEC_MAC} 166 Wait Until Keyword Succeeds ${WAIT_TIMEOUT} ${SYNC_SLEEP} 167 ... vpp_term: Check Memif Interface State agent_vpp_2 vpp2_memif1 168 ... mac=${MEMIF21_SEC_MAC} role=slave id=1 ipv6=${IP_6}/${PREFIX} 169 ... connected=1 enabled=1 socket=${AGENT_VPP_2_MEMIF_SOCKET_FOLDER}/default.sock 170 171 Check That VPP1_memif1 Is Still Configured And Connected 172 Wait Until Keyword Succeeds ${WAIT_TIMEOUT} ${SYNC_SLEEP} 173 ... vpp_term: Check Memif Interface State agent_vpp_1 vpp1_memif1 174 ... mac=${MEMIF11_SEC_MAC} role=master id=1 ipv6=${IP_5}/${PREFIX} 175 ... connected=1 enabled=1 socket=${AGENT_VPP_1_MEMIF_SOCKET_FOLDER}/default.sock 176 177 Check That VPP1_memif2 And VPP2_memif2 Are Not Affected By VPP2_memif1 Update 178 Wait Until Keyword Succeeds ${WAIT_TIMEOUT} ${SYNC_SLEEP} 179 ... vpp_term: Check Memif Interface State agent_vpp_2 vpp2_memif2 180 ... mac=${MEMIF22_MAC} role=slave id=2 ipv6=${IP_4}/${PREFIX} 181 ... connected=1 enabled=1 socket=${AGENT_VPP_2_MEMIF_SOCKET_FOLDER}/default.sock 182 Wait Until Keyword Succeeds ${WAIT_TIMEOUT} ${SYNC_SLEEP} 183 ... vpp_term: Check Memif Interface State agent_vpp_1 vpp1_memif2 184 ... mac=${MEMIF12_MAC} role=master id=2 ipv6=${IP_3}/${PREFIX} 185 ... connected=1 enabled=1 socket=${AGENT_VPP_1_MEMIF_SOCKET_FOLDER}/default.sock 186 187 Delete VPP1_memif2 Interface 188 Delete VPP Interface node=agent_vpp_1 name=vpp1_memif2 189 vpp_term: Interface Is Deleted node=agent_vpp_1 mac=${MEMIF12_MAC} 190 191 Check That VPP2_memif2 Interface Is Disconnected 192 Wait Until Keyword Succeeds ${WAIT_TIMEOUT} ${SYNC_SLEEP} 193 ... vpp_term: Check Memif Interface State agent_vpp_2 vpp2_memif2 194 ... mac=${MEMIF22_MAC} role=slave id=2 ipv6=${IP_4}/${PREFIX} 195 ... connected=0 enabled=1 socket=${AGENT_VPP_2_MEMIF_SOCKET_FOLDER}/default.sock 196 197 Check That VPP1_memif1 And VPP2_memif1 Are Not Affected By VPP1_memif2 Delete 198 Wait Until Keyword Succeeds ${WAIT_TIMEOUT} ${SYNC_SLEEP} 199 ... vpp_term: Check Memif Interface State agent_vpp_1 vpp1_memif1 200 ... mac=${MEMIF11_SEC_MAC} role=master id=1 ipv6=${IP_5}/${PREFIX} 201 ... connected=1 enabled=1 socket=${AGENT_VPP_1_MEMIF_SOCKET_FOLDER}/default.sock 202 Wait Until Keyword Succeeds ${WAIT_TIMEOUT} ${SYNC_SLEEP} 203 ... vpp_term: Check Memif Interface State agent_vpp_2 vpp2_memif1 204 ... mac=${MEMIF21_SEC_MAC} role=slave id=1 ipv6=${IP_6}/${PREFIX} 205 ... connected=1 enabled=1 socket=${AGENT_VPP_2_MEMIF_SOCKET_FOLDER}/default.sock 206 207 Delete VPP2_memif2 Interface 208 Delete VPP Interface node=agent_vpp_2 name=vpp2_memif2 209 Wait Until Keyword Succeeds ${WAIT_TIMEOUT} ${SYNC_SLEEP} 210 ... vpp_term: Interface Is Deleted node=agent_vpp_2 mac=${MEMIF22_MAC} 211 212 213 Check That VPP1_memif1 And VPP2_memif1 Are Not Affected By VPP2_memif2 Delete 214 Wait Until Keyword Succeeds ${WAIT_TIMEOUT} ${SYNC_SLEEP} 215 ... vpp_term: Check Memif Interface State agent_vpp_1 vpp1_memif1 216 ... mac=${MEMIF11_SEC_MAC} role=master id=1 ipv6=${IP_5}/${PREFIX} 217 ... connected=1 enabled=1 socket=${AGENT_VPP_1_MEMIF_SOCKET_FOLDER}/default.sock 218 Wait Until Keyword Succeeds ${WAIT_TIMEOUT} ${SYNC_SLEEP} 219 ... vpp_term: Check Memif Interface State agent_vpp_2 vpp2_memif1 220 ... mac=${MEMIF21_SEC_MAC} role=slave id=1 ipv6=${IP_6}/${PREFIX} 221 ... connected=1 enabled=1 socket=${AGENT_VPP_2_MEMIF_SOCKET_FOLDER}/default.sock 222 223 Show Interfaces And Other Objects After Setup 224 vpp_term: Show Interfaces agent_vpp_1 225 vpp_term: Show Interfaces agent_vpp_2 226 Write To Machine agent_vpp_1_term show int addr 227 Write To Machine agent_vpp_2_term show int addr 228 Write To Machine agent_vpp_1_term show h 229 Write To Machine agent_vpp_2_term show h 230 Write To Machine agent_vpp_1_term show memif 231 Write To Machine agent_vpp_2_term show memif 232 Write To Machine agent_vpp_1_term show err 233 Write To Machine agent_vpp_2_term show err 234 vpp_api: Interfaces Dump agent_vpp_1 235 vpp_api: Interfaces Dump agent_vpp_2 236 Execute In Container agent_vpp_1 ip a 237 Execute In Container agent_vpp_2 ip a 238 239 *** Keywords *** 240 TestSetup 241 Make Datastore Snapshots ${TEST_NAME}_test_setup 242 243 TestTeardown 244 Make Datastore Snapshots ${TEST_NAME}_test_teardown 245