blob: 483ca6e5a80cdc13a60af4aba95061b91adae116 [file] [log] [blame]
Suchitra Vemuri2f1e07d2020-06-26 19:18:01 -07001# Copyright 2017 - present Open Networking Foundation
2#
3# Licensed under the Apache License, Version 2.0 (the "License");
4# you may not use this file except in compliance with the License.
5# You may obtain a copy of the License at
6#
7# http://www.apache.org/licenses/LICENSE-2.0
8#
9# Unless required by applicable law or agreed to in writing, software
10# distributed under the License is distributed on an "AS IS" BASIS,
11# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12# See the License for the specific language governing permissions and
13# limitations under the License.
14# FIXME Can we use the same test against BBSim and Hardware?
15
16*** Settings ***
17Documentation Test various functional end-to-end scenarios for TT workflow
18Suite Setup Setup Suite
19Test Setup Setup
20Test Teardown Teardown
21Suite Teardown Teardown Suite
22Library Collections
23Library String
24Library OperatingSystem
25Library XML
26Library RequestsLibrary
27Library ../../libraries/DependencyLibrary.py
28Resource ../../libraries/onos.robot
29Resource ../../libraries/voltctl.robot
30Resource ../../libraries/voltha.robot
31Resource ../../libraries/utils.robot
32Resource ../../libraries/k8s.robot
33Resource ../../variables/variables.robot
34Resource ../../libraries/power_switch.robot
TorstenThieme78c09502022-01-19 13:44:19 +000035Resource ../../libraries/onu_utilities.robot
Suchitra Vemuri2f1e07d2020-06-26 19:18:01 -070036
37*** Variables ***
38${POD_NAME} flex-ocp-cord
39${KUBERNETES_CONF} ${KUBERNETES_CONFIGS_DIR}/${POD_NAME}.conf
40${KUBERNETES_CONFIGS_DIR} ~/pod-configs/kubernetes-configs
41#${KUBERNETES_CONFIGS_DIR} ${KUBERNETES_CONFIGS_DIR}/${POD_NAME}.conf
42${KUBERNETES_YAML} ${KUBERNETES_CONFIGS_DIR}/${POD_NAME}.yml
43${HELM_CHARTS_DIR} ~/helm-charts
44${VOLTHA_POD_NUM} 8
45${NAMESPACE} voltha
Hardik Windlass4288c6a2021-09-28 07:22:06 +000046${INFRA_NAMESPACE} default
Suchitra Vemuri2f1e07d2020-06-26 19:18:01 -070047# For below variable value, using deployment name as using grep for
48# parsing radius pod name, we can also use full radius pod name
49${RESTART_POD_NAME} radius
50${timeout} 60s
51${of_id} 0
52${logical_id} 0
53${has_dataplane} True
Hardik Windlass04896f62021-03-05 16:15:11 +053054${teardown_device} True
Suchitra Vemuri2f1e07d2020-06-26 19:18:01 -070055${scripts} ../../scripts
TorstenThieme78c09502022-01-19 13:44:19 +000056${data_dir} ../data
Suchitra Vemuri2f1e07d2020-06-26 19:18:01 -070057
58# Per-test logging on failure is turned off by default; set this variable to enable
59${container_log_dir} ${None}
60
Matteo Scandoloda1c64b2021-07-20 10:14:49 -070061# logging flag to enable Collect Logs, can be passed via the command line too
62# example: -v logging:False
63${logging} True
64
Emrehan UZUN62748282021-05-21 08:16:52 +000065${suppressaddsubscriber} True
66
Hardik Windlassc609eb02022-02-22 11:28:37 +000067# flag to choose if mac-learning is enabled, or disabled (i.e. mac-address is configured)
68# example: -v with_maclearning:True
69${with_maclearning} False
70
Hardik Windlassb1bda362021-11-24 11:54:36 +000071# flag to choose the subscriber provisioning command type in ONOS
72# TT often provision a single services for a subscriber (eg: hsia, voip, ...) one after the other.
73# if set to True, command used is "volt-add-subscriber-unitag"
74# if set to False, comand used is "volt-add-subscriber-access"
75${unitag_sub} False
76
Suchitra Vemuri2f1e07d2020-06-26 19:18:01 -070077*** Test Cases ***
78Reboot TT ONUs Physically - Clean Up
79 [Documentation] This test reboots ONUs physically before execution all the tests
80 ... Test case runs only on the PODs that are configured with PowerSwitch that
81 ... controls the power off/on ONUs/OLT remotely (simulating a physical reboot)
Huseyin Ahmet AYDIN9ea27aa2021-05-20 14:32:29 +000082 [Tags] functionalTT PowerSwitch RebootAllTTONUs
Suchitra Vemuri2f1e07d2020-06-26 19:18:01 -070083 [Setup] Start Logging RebootAllTTONUs
84 [Teardown] Run Keywords Collect Logs
85 ... AND Stop Logging RebootAllTTONUs
86 Power Switch Connection Suite ${web_power_switch.ip} ${web_power_switch.user} ${web_power_switch.password}
Suchitra Vemuri7255c002020-11-09 11:44:36 -080087 FOR ${I} IN RANGE 0 ${num_all_onus}
Suchitra Vemuri2f1e07d2020-06-26 19:18:01 -070088 ${src}= Set Variable ${hosts.src[${I}]}
89 ${dst}= Set Variable ${hosts.dst[${I}]}
Girish Gowdraa3a05c62022-02-16 13:54:37 -080090 # If the power switch port is not specified, continue
91 Continue For Loop If '${src["power_switch_port"]}' == '${None}'
Suchitra Vemuri2f1e07d2020-06-26 19:18:01 -070092 Disable Switch Outlet ${src['power_switch_port']}
TorstenThieme2ed10502021-03-22 18:01:50 +000093 Sleep 10s
Suchitra Vemuri2f1e07d2020-06-26 19:18:01 -070094 Enable Switch Outlet ${src['power_switch_port']}
Suchitra Vemuri2f1e07d2020-06-26 19:18:01 -070095 END
96
Suchitra Vemuri85cb7d62020-07-16 23:46:16 -070097Sanity E2E Test for TT (HSIA, VoD, VoIP)
Suchitra Vemuri2f1e07d2020-06-26 19:18:01 -070098 [Documentation] Validates E2E Ping Connectivity and object states for the given scenario:
99 ... Validate successful DHCP/E2E ping (no EAPOL and DHCP flows) for the tech profile that is used
100 ... Traffic sent with same vlan from different RGs,
101 ... should reach the NNI port on the OLT with the expected double tagged vlan ids
102 ... Inner vlans from the RG should not change
103 [Tags] sanityTT
104 [Setup] Run Keywords Start Logging SanityTestTT
105 ... AND Setup
106 [Teardown] Run Keywords Collect Logs
107 ... AND Stop Logging SanityTestTT
108 Run Keyword If ${has_dataplane} Clean Up Linux
Hardik Windlassc609eb02022-02-22 11:28:37 +0000109 Perform Sanity Test TT maclearning_enabled=${with_maclearning}
Suchitra Vemuri2f1e07d2020-06-26 19:18:01 -0700110
Suchitra Vemuri85cb7d62020-07-16 23:46:16 -0700111Sanity E2E Test for TT (MCAST)
112 [Documentation] Validates E2E Ping Connectivity and object states for the given scenario:
113 ... Validate successful DHCP/E2E ping (no EAPOL and DHCP flows) for the tech profile that is used
114 ... Traffic sent with same vlan from different RGs,
115 ... should reach the NNI port on the OLT with the expected double tagged vlan ids
116 ... Inner vlans from the RG should not change
117 [Tags] sanityTT-MCAST
118 [Setup] Run Keyword Start Logging SanityTestTT-MCAST
119 [Teardown] Run Keywords Collect Logs
120 ... AND Stop Logging SanityTestTT-MCAST
121 Run Keyword If ${has_dataplane} Clean Up Linux
Hardik Windlass5083b3a2021-11-11 12:16:22 +0000122 Perform Sanity Test TT MCAST
Suchitra Vemuri85cb7d62020-07-16 23:46:16 -0700123
Huseyin Ahmet AYDIN9ea27aa2021-05-20 14:32:29 +0000124Test Disable and Delete OLT for TT
125 [Documentation] Validates E2E Ping Connectivity and object states for the given scenario:
126 ... Assuming that all the ONUs are DHCP/pingable (i.e. assuming sanityTt test was executed)
127 ... Perform disable on the OLT and validate ONUs state and that the pings do not succeed
128 ... Perform delete on the OLT, Re-do Setup (Recreate the OLT) and Perform Sanity Test TT
Huseyin Ahmet AYDIN45922c82021-05-27 12:37:32 +0000129 [Tags] functionalTT DisableDeleteOLTTt
Huseyin Ahmet AYDIN9ea27aa2021-05-20 14:32:29 +0000130 [Setup] Start Logging DisableDeleteOLTTt
131 [Teardown] Run Keywords Collect Logs
132 ... AND Stop Logging DisableDeleteOLTTt
Huseyin Ahmet AYDIN45922c82021-05-27 12:37:32 +0000133 @{particular_onu_device_port}= Create List
Hardik Windlass1ed2eee2021-06-25 09:51:03 +0000134 FOR ${I} IN RANGE 0 ${num_all_onus}
135 ${src}= Set Variable ${hosts.src[${I}]}
136 ${onu_port}= Wait Until Keyword Succeeds ${timeout} 2s Get ONU Port in ONOS ${src['onu']}
137 ... ${of_id} ${src['uni_id']}
138 Append To List ${particular_onu_device_port} ${onu_port}
139 END
140 ${list_onu_port}= Remove Duplicates ${particular_onu_device_port}
141 ${num_of_provisioned_onus}= Get Length ${list_onu_port}
Huseyin Ahmet AYDIN9ea27aa2021-05-20 14:32:29 +0000142 # Disable and Validate OLT Device
143 FOR ${I} IN RANGE 0 ${olt_count}
144 ${olt_serial_number}= Get From Dictionary ${olt_ids}[${I}] sn
145 ${olt_device_id}= Get OLTDeviceID From OLT List ${olt_serial_number}
146 Disable Device ${olt_device_id}
147 ${of_id}= Get ofID From OLT List ${olt_serial_number}
148 Run Keyword And Continue On Failure Wait Until Keyword Succeeds ${timeout} 5s
149 ... Validate OLT Device DISABLED UNKNOWN REACHABLE
150 ... ${olt_serial_number}
Huseyin Ahmet AYDIN9ea27aa2021-05-20 14:32:29 +0000151 ${num_onus}= Set Variable ${list_olts}[${I}][onucount]
152 # Validate ONUs
153 Run Keyword Wait Until Keyword Succeeds ${timeout} 5s Validate ONUs After OLT Disable
154 ... ${num_onus} ${olt_serial_number}
155 # Verify ONOS Flows
Hardik Windlass3a294892021-11-23 17:05:29 +0000156 # When we disable the device should only have 3 default flows LLDP, IGMP and DHCP
Huseyin Ahmet AYDIN9ea27aa2021-05-20 14:32:29 +0000157 Run Keyword And Continue On Failure Wait Until Keyword Succeeds ${timeout} 5s
Hardik Windlass3a294892021-11-23 17:05:29 +0000158 ... Verify Added Flow Count for OLT TT ${ONOS_SSH_IP} ${ONOS_SSH_PORT} ${of_id} 3
Huseyin Ahmet AYDIN9ea27aa2021-05-20 14:32:29 +0000159 # Verify VOLTHA Flows
Hardik Windlass3a294892021-11-23 17:05:29 +0000160 Run Keyword Wait Until Keyword Succeeds ${timeout} 5s Validate OLT Flows 3
Huseyin Ahmet AYDIN9ea27aa2021-05-20 14:32:29 +0000161 ... ${olt_device_id}
Huseyin Ahmet AYDIN9ea27aa2021-05-20 14:32:29 +0000162 # Delete OLT and Validate Empty Device List
163 Delete Device ${olt_device_id}
164 # Check that the OLT and the ONUs are actually removed from the system
165 Run Keyword And Continue On Failure Wait Until Keyword Succeeds ${timeout} 5s Validate Device Removed
166 ... ${olt_serial_number}
167 Run Keyword and Continue On Failure Validate all ONUS for OLT Removed ${num_all_onus} ${hosts}
168 ... ${olt_serial_number} ${timeout}
Hardik Windlass5083b3a2021-11-11 12:16:22 +0000169 Wait Until Keyword Succeeds ${timeout} 5s
Huseyin Ahmet AYDIN9ea27aa2021-05-20 14:32:29 +0000170 ... Verify Device Flows Removed ${ONOS_SSH_IP} ${ONOS_SSH_PORT} ${of_id}
171 END
172 # Re-do Setup (Recreate the OLT) and Perform Sanity Test TT
173 Run Keyword Setup
174 Run Keyword If ${has_dataplane} Clean Up Linux
Hardik Windlass5083b3a2021-11-11 12:16:22 +0000175 Perform Sanity Tests TT
Huseyin Ahmet AYDIN9ea27aa2021-05-20 14:32:29 +0000176
Emrehan UZUN62748282021-05-21 08:16:52 +0000177Verify re-provisioning subscriber after removing provisoned subscriber for TT
178 [Documentation] Removing/Readding a particular subscriber should have no effect on any other subscriber.
179 [Tags] functionalTT Readd-subscriber-TT
180 [Setup] Start Logging Readd-subscriber-TT
181 [Teardown] Run Keywords Collect Logs
182 ... AND Stop Logging Readd-subscriber-TT
183 Run Keyword If ${has_dataplane} Clean Up Linux
184 FOR ${I} IN RANGE 0 ${num_all_onus}
185 ${src}= Set Variable ${hosts.src[${I}]}
186 ${dst}= Set Variable ${hosts.dst[${I}]}
187 ${service_type}= Get Variable Value ${src['service_type']} "null"
188 ${of_id}= Get ofID From OLT List ${src['olt']}
189 ${onu_device_id}= Get Device ID From SN ${src['onu']}
190 ${onu_port}= Wait Until Keyword Succeeds ${timeout} 2s Get ONU Port in ONOS ${src['onu']}
Hardik Windlass1ed2eee2021-06-25 09:51:03 +0000191 ... ${of_id} ${src['uni_id']}
Emrehan UZUN62748282021-05-21 08:16:52 +0000192 # Remove Subscriber Access
Hardik Windlassb1bda362021-11-24 11:54:36 +0000193 ${del_sub_cmd}= Run Keyword If ${unitag_sub}
194 ... Catenate volt-remove-subscriber-unitag --tpId ${src['tp_id']} --sTag ${src['s_tag']}
195 ... --cTag ${src['c_tag']} ${src['onu']}-${src['uni_id']}
196 ... ELSE
197 ... Set Variable volt-remove-subscriber-access ${of_id} ${onu_port}
TorstenThieme4e2168e2021-06-22 14:01:47 +0000198 Wait Until Keyword Succeeds ${timeout} 2s Execute ONOS CLI Command use single connection ${ONOS_SSH_IP}
Hardik Windlassb1bda362021-11-24 11:54:36 +0000199 ... ${ONOS_SSH_PORT} ${del_sub_cmd}
Emrehan UZUN62748282021-05-21 08:16:52 +0000200 Run Keyword If ${has_dataplane} and '${service_type}' != 'mcast'
Hardik Windlass5083b3a2021-11-11 12:16:22 +0000201 ... Wait Until Keyword Succeeds ${timeout} 5s
Emrehan UZUN62748282021-05-21 08:16:52 +0000202 ... Check Ping False ${dst['dp_iface_ip_qinq']} ${src['dp_iface_name']}
203 ... ${src['ip']} ${src['user']} ${src['pass']} ${src['container_type']} ${src['container_name']}
Girish Gowdrab1ef7932021-10-29 10:57:47 -0700204 ... ELSE Sleep 10s Wait for flows to be deleted
Hardik Windlass88075f92022-01-25 12:19:45 +0000205 Run Keyword If ${unitag_sub} and '${service_type}' != 'mcast'
206 ... Wait Until Keyword Succeeds ${timeout} 2s Verify UniTag Subscriber ${ONOS_SSH_IP} ${ONOS_SSH_PORT}
207 ... ${of_id} ${onu_port} ${src['s_tag']} ${src['c_tag']} ${src['tp_id']} False
Emrehan UZUN62748282021-05-21 08:16:52 +0000208 # Verify VOLTHA flows for ONU under test is Zero
Hardik Windlass1ed2eee2021-06-25 09:51:03 +0000209 # TODO: Fix ${onu_flows} calculations based on UNIs provisioned
210 # Wait Until Keyword Succeeds ${timeout} 5s Validate Device Flows
211 # ... ${onu_device_id} 0
Emrehan UZUN62748282021-05-21 08:16:52 +0000212 # Add Subscriber Access
Hardik Windlassb1bda362021-11-24 11:54:36 +0000213 ${add_sub_cmd}= Run Keyword If ${unitag_sub}
214 ... Catenate volt-add-subscriber-unitag --tpId ${src['tp_id']} --sTag ${src['s_tag']}
215 ... --cTag ${src['c_tag']} ${src['onu']}-${src['uni_id']}
216 ... ELSE
217 ... Set Variable volt-add-subscriber-access ${of_id} ${onu_port}
TorstenThieme4e2168e2021-06-22 14:01:47 +0000218 Wait Until Keyword Succeeds ${timeout} 2s Execute ONOS CLI Command use single connection ${ONOS_SSH_IP}
Hardik Windlassb1bda362021-11-24 11:54:36 +0000219 ... ${ONOS_SSH_PORT} ${add_sub_cmd}
Hardik Windlass88075f92022-01-25 12:19:45 +0000220 Run Keyword If ${unitag_sub} and '${service_type}' != 'mcast'
221 ... Wait Until Keyword Succeeds ${timeout} 2s Verify UniTag Subscriber ${ONOS_SSH_IP} ${ONOS_SSH_PORT}
222 ... ${of_id} ${onu_port} ${src['s_tag']} ${src['c_tag']} ${src['tp_id']}
Hardik Windlass5083b3a2021-11-11 12:16:22 +0000223 Wait Until Keyword Succeeds ${timeout} 5s
Emrehan UZUN62748282021-05-21 08:16:52 +0000224 ... Validate Device ENABLED ACTIVE
225 ... REACHABLE ${src['onu']} onu=True onu_reason=omci-flows-pushed
Hardik Windlass5a2d1f42021-11-12 12:52:04 +0000226 Run Keyword If ${has_dataplane} and '${service_type}' != 'mcast'
Hardik Windlass5083b3a2021-11-11 12:16:22 +0000227 ... Sanity Test TT one ONU ${src} ${dst} ${suppressaddsubscriber}
Hardik Windlass5a2d1f42021-11-12 12:52:04 +0000228 ... ELSE IF ${has_dataplane} and '${service_type}' == 'mcast'
Hardik Windlass5083b3a2021-11-11 12:16:22 +0000229 ... Sanity Test TT MCAST one ONU ${src} ${dst} ${suppressaddsubscriber}
Emrehan UZUN62748282021-05-21 08:16:52 +0000230 END
231
Emrehan UZUNec59bea2021-05-27 13:45:57 +0000232Test Disable and Enable ONU for TT
233 [Documentation] Validates E2E Ping Connectivity and object states for the given scenario:
234 ... Assuming that all the ONUs are DHCP/pingable (i.e. assuming sanitytt test was executed)
235 ... Perform disable on the ONUs and validate that the pings do not succeed
236 ... Perform enable on the ONUs and validate that the pings are successful
237 [Tags] functionalTT DisableEnableONUTT
Girish Gowdra8fd96962021-12-14 16:20:04 +0530238 [Setup] Run Keywords Start Logging DisableEnableONUTT
239 ... AND Run Keyword If ${has_dataplane} Set Non-Critical Tag for XGSPON Tech
Emrehan UZUNec59bea2021-05-27 13:45:57 +0000240 [Teardown] Run Keywords Collect Logs
241 ... AND Stop Logging DisableEnableONUTT
TorstenThieme9b25aab2021-12-16 15:59:45 +0000242 @{onu_list}= Create List
Emrehan UZUNec59bea2021-05-27 13:45:57 +0000243 FOR ${I} IN RANGE 0 ${num_all_onus}
244 ${src}= Set Variable ${hosts.src[${I}]}
245 ${dst}= Set Variable ${hosts.dst[${I}]}
TorstenThieme9b25aab2021-12-16 15:59:45 +0000246 ${sn}= Set Variable ${src['onu']}
247 # make sure all actions do only once per onu
248 ${onu_id}= Get Index From List ${onu_list} ${sn}
249 Continue For Loop If -1 != ${onu_id}
250 Append To List ${onu_list} ${sn}
Emrehan UZUNec59bea2021-05-27 13:45:57 +0000251 ${of_id}= Get ofID From OLT List ${src['olt']}
252 ${onu_device_id}= Get Device ID From SN ${src['onu']}
TorstenThieme9b25aab2021-12-16 15:59:45 +0000253 ${onu_port}= Get Onu Ports in ONOS For ALL UNI per ONU ${src['onu']} ${of_id}
254 Log ${onu_port}
Emrehan UZUNec59bea2021-05-27 13:45:57 +0000255 Disable Device ${onu_device_id}
256 Run Keyword And Continue On Failure Wait Until Keyword Succeeds ${timeout} 5s
257 ... Validate Device DISABLED UNKNOWN
TorstenThieme9b25aab2021-12-16 15:59:45 +0000258 ... REACHABLE ${src['onu']} onu=True onu_reason=tech-profile-config-delete-success
259 Wait For All UNI Ports Are Disabled per ONU ${ONOS_SSH_IP} ${ONOS_SSH_PORT} ${src['onu']}
Emrehan UZUNec59bea2021-05-27 13:45:57 +0000260 Run Keyword If ${has_dataplane} Run Keyword And Continue On Failure
Hardik Windlass5083b3a2021-11-11 12:16:22 +0000261 ... Wait Until Keyword Succeeds ${timeout} 2s
Emrehan UZUNec59bea2021-05-27 13:45:57 +0000262 ... Check Ping False ${dst['dp_iface_ip_qinq']} ${src['dp_iface_name']}
263 ... ${src['ip']} ${src['user']} ${src['pass']} ${src['container_type']} ${src['container_name']}
264 Sleep 5s
265 Enable Device ${onu_device_id}
TorstenThieme9b25aab2021-12-16 15:59:45 +0000266 Wait For All UNI Ports Are Enabled per ONU ${ONOS_SSH_IP} ${ONOS_SSH_PORT} ${src['onu']}
Girish Gowdrafc0bdf22021-12-06 16:57:50 +0530267 # Workaround for issue seen in VOL-4489. Keep this workaround until VOL-4489 is fixed.
268 Run Keyword If ${has_dataplane} Reboot XGSPON ONU ${src['olt']} ${src['onu']} omci-flows-pushed
269 # Workaround ends here for issue seen in VOL-4489.
TorstenThieme9b25aab2021-12-16 15:59:45 +0000270 Run Keyword If ${has_dataplane} Clean Up Linux
271 Run Keyword If ${has_dataplane} Wait For All UNI Ports Are Enabled per ONU ${ONOS_SSH_IP} ${ONOS_SSH_PORT}
272 ... ${src['onu']
273 Perform Sanity Tests TT ${suppressaddsubscriber}
Emrehan UZUNec59bea2021-05-27 13:45:57 +0000274 END
275
Suchitra Vemuri2f1e07d2020-06-26 19:18:01 -0700276*** Keywords ***
277Setup Suite
278 [Documentation] Set up the test suite
279 Common Test Suite Setup
TorstenThieme78c09502022-01-19 13:44:19 +0000280 # pre-load tech profiles to use single instance control for HSIA and VoIP, multi instance control for MCAST
281 Run Keyword If ${unitag_sub} and not ${has_dataplane} Set Tech Profile TT-HSIA ${INFRA_NAMESPACE} 64
282 Run Keyword If ${unitag_sub} and not ${has_dataplane} Set Tech Profile TT-VoIP ${INFRA_NAMESPACE} 65
283 Run Keyword If ${unitag_sub} and not ${has_dataplane} Set Tech Profile TT-multi-uni-MCAST-AdditionalBW-None
284 ... ${INFRA_NAMESPACE} 66
Suchitra Vemuri2f1e07d2020-06-26 19:18:01 -0700285 ${switch_type}= Get Variable Value ${web_power_switch.type}
286 Run Keyword If "${switch_type}"!="" Set Global Variable ${powerswitch_type} ${switch_type}
287
288
289Clear All Devices Then Create New Device
290 [Documentation] Remove any devices from VOLTHA and ONOS
291 # Remove all devices from voltha and nos
292 Delete All Devices and Verify
293 # Execute normal test Setup Keyword
294 Setup
295
Suchitra Vemuri32dea012020-07-08 16:40:06 -0700296
297Teardown Suite
298 [Documentation] Tear down steps for the suite
Matteo Scandolo6a90bda2021-11-30 11:31:38 -0800299 Start Logging Setup or Teardown Teardown-${SUITE NAME}
Suchitra Vemuri32dea012020-07-08 16:40:06 -0700300 Run Keyword If ${has_dataplane} Clean Up Linux
Hardik Windlassc609eb02022-02-22 11:28:37 +0000301 Run Keyword If ${teardown_device} Delete All Devices And Verify maclearning_enabled=${with_maclearning}
TorstenThieme4e2168e2021-06-22 14:01:47 +0000302 Close All ONOS SSH Connections
TorstenThieme78c09502022-01-19 13:44:19 +0000303 # remove pre-loaded tech profiles
304 Set Suite Variable ${TechProfile} ${EMPTY}
305 Run Keyword If ${unitag_sub} and not ${has_dataplane} Remove Tech Profile ${INFRA_NAMESPACE} 64
306 Run Keyword If ${unitag_sub} and not ${has_dataplane} Remove Tech Profile ${INFRA_NAMESPACE} 65
307 Run Keyword If ${unitag_sub} and not ${has_dataplane} Remove Tech Profile ${INFRA_NAMESPACE} 66
Matteo Scandolo6a90bda2021-11-30 11:31:38 -0800308 Stop Logging Setup or Teardown Teardown-${SUITE NAME}