go.ligato.io/vpp-agent/v3@v3.5.0/tests/robot/suites/crudIPv6/stn_rule_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 ${WAIT_TIMEOUT}= 20s 27 ${SYNC_SLEEP}= 3s 28 ${RESYNC_SLEEP}= 45s 29 ${VARIABLES}= common 30 ${ENV}= common 31 ${NAME_TAP1}= vpp1_tap1 32 ${NAME_TAP2}= vpp1_tap2 33 ${MAC_TAP1}= 12:21:21:11:11:11 34 ${MAC_TAP2}= 22:21:21:22:22:22 35 ${IP_TAP1}= fd33::1:b:0:0:1 36 ${IP_TAP2}= fd34::1:b:0:0:1 37 ${IP_STN_RULE_1}= fd31::1:b:0:0:1 38 ${IP_STN_RULE_2}= fd32::1:b:0:0:1 39 ${PREFIX}= 64 40 ${MTU}= 4800 41 ${UP_STATE}= up 42 ${RULE_NAME} rule1 43 44 *** Test Cases *** 45 Configure Environment 46 [Tags] setup 47 Configure Environment 1 48 49 Show Interfaces Before Setup 50 Show Interfaces And Other Objects 51 52 Add TAP1 Interface 53 vpp_term: Interface Not Exists node=agent_vpp_1 mac=${MAC_TAP1} 54 Put TAPv2 Interface With IP node=agent_vpp_1 name=${NAME_TAP1} 55 ... mac=${MAC_TAP1} ip=${IP_TAP1} prefix=${PREFIX} host_if_name=linux_${NAME_TAP1} 56 57 Check TAP1 Interface Is Created 58 ${interfaces}= vpp_api: Interfaces Dump node=agent_vpp_1 59 Wait Until Keyword Succeeds ${WAIT_TIMEOUT} ${SYNC_SLEEP} 60 ... vpp_term: Interface Is Created node=agent_vpp_1 mac=${MAC_TAP1} 61 ${actual_state}= vpp_term: Check TAP IP6 interface State agent_vpp_1 62 ... ${NAME_TAP1} mac=${MAC_TAP1} ipv6=${IP_TAP1}/${PREFIX} state=${UP_STATE} 63 64 Add STN Rule 65 Put STN Rule node=agent_vpp_1 interface=${NAME_TAP1} ip=${IP_STN_RULE_1} 66 67 Check STN Rule Is Created 68 Wait Until Keyword Succeeds ${WAIT_TIMEOUT} ${SYNC_SLEEP} 69 ... vpp_term: Check STN Rule State node=agent_vpp_1 interface=${NAME_TAP1} 70 ... ip=${IP_STN_RULE_1} 71 72 Check TAP1 Interface Is Still Configured 73 ${actual_state}= vpp_term: Check TAP IP6 interface State agent_vpp_1 ${NAME_TAP1} 74 ... mac=${MAC_TAP1} ipv6=${IP_TAP1}/${PREFIX} state=${UP_STATE} 75 76 Add TAP2 Interface 77 vpp_term: Interface Not Exists node=agent_vpp_1 mac=${MAC_TAP2} 78 Put TAPv2 Interface With IP node=agent_vpp_1 name=${NAME_TAP2} mac=${MAC_TAP2} 79 ... ip=${IP_TAP2} prefix=${PREFIX} host_if_name=linux_${NAME_TAP2} 80 81 Check TAP2 Interface Is Created 82 Wait Until Keyword Succeeds ${WAIT_TIMEOUT} ${SYNC_SLEEP} 83 ... vpp_term: Interface Is Created node=agent_vpp_1 mac=${MAC_TAP2} 84 ${actual_state}= vpp_term: Check TAP IP6 interface State agent_vpp_1 ${NAME_TAP2} 85 ... mac=${MAC_TAP2} ipv6=${IP_TAP2}/${PREFIX} state=${UP_STATE} 86 87 Add Second STN Rule 88 Put STN Rule node=agent_vpp_1 interface=${NAME_TAP2} ip=${IP_STN_RULE_2} 89 90 Check Second STN Rule 91 Wait Until Keyword Succeeds ${WAIT_TIMEOUT} ${SYNC_SLEEP} 92 ... vpp_term: Check STN Rule State node=agent_vpp_1 interface=${NAME_TAP2} 93 ... ip=${IP_STN_RULE_2} 94 95 Delete STN Rule 96 Delete STN Rule node=agent_vpp_1 interface=${NAME_TAP2} ip=${IP_STN_RULE_2} 97 98 Check Deleted STN Rule 99 Wait Until Keyword Succeeds ${WAIT_TIMEOUT} ${SYNC_SLEEP} 100 ... vpp_term: Check STN Rule Deleted node=agent_vpp_1 interface=${NAME_TAP2} 101 ... ip=${IP_STN_RULE_2} 102 103 104 Add STN Rule Again 105 Put STN Rule node=agent_vpp_1 interface=${NAME_TAP2} ip=${IP_STN_RULE_2} 106 107 Check STN Rule Is Created Again 108 Wait Until Keyword Succeeds ${WAIT_TIMEOUT} ${SYNC_SLEEP} 109 ... vpp_term: Check STN Rule State node=agent_vpp_1 interface=${NAME_TAP2} 110 ... ip=${IP_STN_RULE_2} 111 112 Delete STN Rule Again 113 Delete STN Rule node=agent_vpp_1 interface=${NAME_TAP2} ip=${IP_STN_RULE_2} 114 115 Check Deleted STN Rule Again 116 Wait Until Keyword Succeeds ${WAIT_TIMEOUT} ${SYNC_SLEEP} 117 ... vpp_term: Check STN Rule Deleted node=agent_vpp_1 interface=${NAME_TAP2} 118 ... ip=${IP_STN_RULE_2} 119 120 Remove VPP 121 Remove Node agent_vpp_1 122 Sleep 3s 123 124 Start VPP 125 Add Agent VPP Node agent_vpp_1 vswitch=${TRUE} 126 Sleep ${RESYNC_SLEEP} 127 Show Interfaces And Other Objects 128 129 Check STN Rules Were Created After Resync 130 Wait Until Keyword Succeeds ${WAIT_TIMEOUT} ${SYNC_SLEEP} 131 ... vpp_term: Check STN Rule State node=agent_vpp_1 interface=${NAME_TAP1} 132 ... ip=${IP_STN_RULE_1} 133 134 *** Keywords *** 135 Show Interfaces And Other Objects 136 vpp_term: Show Interfaces agent_vpp_1 137 Write To Machine agent_vpp_1_term show int 138 Write To Machine agent_vpp_1_term show stn rules 139 Write To Machine agent_vpp_1_term show int addr 140 Write To Machine agent_vpp_1_term show h 141 Write To Machine agent_vpp_1_term show brl 142 Write To Machine agent_vpp_1_term show br 1 detail 143 Write To Machine agent_vpp_1_term show err 144 vpp_api: Interfaces Dump agent_vpp_1 145 Execute In Container agent_vpp_1 ip a 146 147 TestSetup 148 Make Datastore Snapshots ${TEST_NAME}_test_setup 149 150 TestTeardown 151 Make Datastore Snapshots ${TEST_NAME}_test_teardown