TorstenThieme | 440b7c0 | 2020-12-18 15:42:57 +0000 | [diff] [blame] | 1 | # Copyright 2020 - 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 | |
| 15 | *** Settings *** |
TorstenThieme | c3c2323 | 2021-01-13 13:06:31 +0000 | [diff] [blame] | 16 | Documentation Test different Reconcile scenarios of ONU Go adapter with all three workflows ATT, DT and TT. |
TorstenThieme | 440b7c0 | 2020-12-18 15:42:57 +0000 | [diff] [blame] | 17 | ... Test suite is dedicated for only one ONU! Run robot with bbsim-kind.yaml only! |
| 18 | ... Not for DT/TT workflow! |
| 19 | ... Hint: default timeout in BBSim to mimic OLT reboot is 60 seconds! |
| 20 | ... This behaviour of BBSim can be modified by 'oltRebootDelay: 60' in BBSim section of helm chart or |
| 21 | ... used values.yaml during 'voltha up'. |
| 22 | Suite Setup Setup Suite |
| 23 | Suite Teardown Teardown Suite |
| 24 | Test Setup Setup |
| 25 | Test Teardown Teardown |
| 26 | Library Collections |
| 27 | Library String |
| 28 | Library OperatingSystem |
| 29 | Library XML |
| 30 | Library RequestsLibrary |
| 31 | Library ../../libraries/DependencyLibrary.py |
| 32 | Resource ../../libraries/onos.robot |
| 33 | Resource ../../libraries/voltctl.robot |
| 34 | Resource ../../libraries/voltha.robot |
| 35 | Resource ../../libraries/utils.robot |
| 36 | Resource ../../libraries/k8s.robot |
| 37 | Resource ../../libraries/onu_utilities.robot |
| 38 | Resource ../../variables/variables.robot |
| 39 | |
| 40 | *** Variables *** |
Hardik Windlass | 4288c6a | 2021-09-28 07:22:06 +0000 | [diff] [blame] | 41 | ${NAMESPACE} voltha |
| 42 | ${INFRA_NAMESPACE} default |
TorstenThieme | 440b7c0 | 2020-12-18 15:42:57 +0000 | [diff] [blame] | 43 | ${timeout} 60s |
| 44 | ${of_id} 0 |
| 45 | ${logical_id} 0 |
| 46 | ${has_dataplane} True |
| 47 | ${external_libs} True |
| 48 | ${teardown_device} True |
| 49 | ${scripts} ../../scripts |
| 50 | # Per-test logging on failure is turned off by default; set this variable to enable |
| 51 | ${container_log_dir} ${None} |
| 52 | # flag for first test, needed due default timeout in BBSim to mimic OLT reboot of 60 seconds |
| 53 | ${firsttest} True |
TorstenThieme | c3c2323 | 2021-01-13 13:06:31 +0000 | [diff] [blame] | 54 | # determines the environment workflow: DT, TT or ATT (default) |
| 55 | # example: -v workflow:DT |
| 56 | ${workflow} ATT |
TorstenThieme | 4798369 | 2021-06-17 10:43:35 +0000 | [diff] [blame] | 57 | # KV Store Prefix |
| 58 | # example: -v kvstoreprefix:voltha_voltha |
| 59 | ${kvstoreprefix} voltha_voltha |
TorstenThieme | 440b7c0 | 2020-12-18 15:42:57 +0000 | [diff] [blame] | 60 | # flag debugmode is used, if true timeout calculation various, can be passed via the command line too |
| 61 | # example: -v debugmode:True |
| 62 | ${debugmode} False |
| 63 | # logging flag to enable Collect Logs, can be passed via the command line too |
| 64 | # example: -v logging:True |
| 65 | ${logging} False |
| 66 | # if True execution will be paused before clean up, only use in case of manual testing, do not use in ci pipeline! |
| 67 | # example: -v pausebeforecleanup:True |
| 68 | ${pausebeforecleanup} False |
| 69 | # if True some outputs to console are done during running tests e.g. long duration flow test |
| 70 | # example: -v print2console:True |
| 71 | ${print2console} False |
| 72 | # if True (hard) kill will be used to restart onu adapter, else (soft) restart mechanism of k8s will be used |
| 73 | # example: -v usekill2restart:True |
| 74 | ${usekill2restart} False |
TorstenThieme | 4507160 | 2021-03-16 12:14:37 +0000 | [diff] [blame] | 75 | # if True etcd check will be executed in test case teardown, if False etcd check will be executed in suite teardown |
| 76 | # example: -v etcdcheckintestteardown:False |
| 77 | ${etcdcheckintestteardown} True |
TorstenThieme | 440b7c0 | 2020-12-18 15:42:57 +0000 | [diff] [blame] | 78 | ${data_dir} ../data |
TorstenThieme | 70bc526 | 2021-01-19 12:12:55 +0000 | [diff] [blame] | 79 | ${suppressaddsubscriber} True |
TorstenThieme | 440b7c0 | 2020-12-18 15:42:57 +0000 | [diff] [blame] | 80 | |
Hardik Windlass | b1bda36 | 2021-11-24 11:54:36 +0000 | [diff] [blame] | 81 | # flag to choose the subscriber provisioning command type in ONOS |
| 82 | # TT often provision a single services for a subscriber (eg: hsia, voip, ...) one after the other. |
| 83 | # if set to True, command used is "volt-add-subscriber-unitag" |
| 84 | # if set to False, comand used is "volt-add-subscriber-access" |
| 85 | ${unitag_sub} False |
TorstenThieme | 440b7c0 | 2020-12-18 15:42:57 +0000 | [diff] [blame] | 86 | |
| 87 | *** Test Cases *** |
| 88 | Reconcile In Starting-OpenOmci |
| 89 | [Documentation] Validates the Reconcile in Starting-OpenOmci |
| 90 | ... Reconcile test during “starting-openomci” in AT&T-workflow: |
| 91 | ... - create and enable one BBSIM-ONU (no MIB-template should be available in KV-store) |
TorstenThieme | c3c2323 | 2021-01-13 13:06:31 +0000 | [diff] [blame] | 92 | ... - wait for device reason “starting-openomci” |
TorstenThieme | 440b7c0 | 2020-12-18 15:42:57 +0000 | [diff] [blame] | 93 | ... - kill the open-onu-adapter-go |
TorstenThieme | c3c2323 | 2021-01-13 13:06:31 +0000 | [diff] [blame] | 94 | ... - wait for open-onu-adapter-go to restart |
| 95 | ... - perform sanity test include add subscriber |
TorstenThieme | 440b7c0 | 2020-12-18 15:42:57 +0000 | [diff] [blame] | 96 | ... - delete ONU and MIB-template in KV-store |
| 97 | [Tags] functionalOnuGo ReconcileStartingOpenOmciOnuGo |
| 98 | [Setup] Run Keywords Start Logging ReconcileStartingOpenOmciOnuGo |
| 99 | ... AND Setup Test |
| 100 | Run Keyword If ${has_dataplane} Clean Up Linux |
TorstenThieme | e9017be | 2021-03-05 16:59:31 +0000 | [diff] [blame] | 101 | Do Reconcile In Determined State starting-openomci |
TorstenThieme | 3494ceb | 2021-07-19 09:47:24 +0000 | [diff] [blame] | 102 | [Teardown] Run Keywords Run Keyword If ${logging} Get Logical Id of OLT |
| 103 | ... AND Run Keyword If ${logging} Collect Logs |
TorstenThieme | 440b7c0 | 2020-12-18 15:42:57 +0000 | [diff] [blame] | 104 | ... AND Teardown Test |
| 105 | ... AND Stop Logging ReconcileStartingOpenOmciOnuGo |
| 106 | |
| 107 | Reconcile In Initial-Mib-Downloaded |
| 108 | [Documentation] Validates the Reconcile in initial-mib-downloaded |
| 109 | ... Reconcile test during “initial-mib-downloaded” in AT&T-workflow: |
| 110 | ... - create and enable one BBSIM-ONU (no MIB-template should be available in KV-store) |
TorstenThieme | c3c2323 | 2021-01-13 13:06:31 +0000 | [diff] [blame] | 111 | ... - wait for device reason “initial-mib-downloaded” |
TorstenThieme | 440b7c0 | 2020-12-18 15:42:57 +0000 | [diff] [blame] | 112 | ... - kill the open-onu-adapter-go |
TorstenThieme | c3c2323 | 2021-01-13 13:06:31 +0000 | [diff] [blame] | 113 | ... - wait for open-onu-adapter-go to restart |
| 114 | ... - perform sanity test include add subscriber |
TorstenThieme | 440b7c0 | 2020-12-18 15:42:57 +0000 | [diff] [blame] | 115 | ... - delete ONU and MIB-template in KV-store |
| 116 | [Tags] functionalOnuGo ReconcileInitialMibDownloadedOnuGo |
| 117 | [Setup] Run Keywords Start Logging ReconcileInitialMibDownloadedOnuGo |
| 118 | ... AND Setup Test |
| 119 | Run Keyword If ${has_dataplane} Clean Up Linux |
TorstenThieme | e9017be | 2021-03-05 16:59:31 +0000 | [diff] [blame] | 120 | Do Reconcile In Determined State initial-mib-downloaded |
TorstenThieme | 3494ceb | 2021-07-19 09:47:24 +0000 | [diff] [blame] | 121 | [Teardown] Run Keywords Run Keyword If ${logging} Get Logical Id of OLT |
| 122 | ... AND Run Keyword If ${logging} Collect Logs |
TorstenThieme | 440b7c0 | 2020-12-18 15:42:57 +0000 | [diff] [blame] | 123 | ... AND Teardown Test |
| 124 | ... AND Stop Logging ReconcileInitialMibDownloadedOnuGo |
| 125 | |
| 126 | Reconcile In Omci-Flows-Pushed |
| 127 | [Documentation] Validates the Reconcile in omci-flows-pushed |
| 128 | ... Former testcase: Reconcile Onu Device in Testsuite Voltha_ONUStateTest.robot |
| 129 | ... Reconcile test during “omci-flows-pushed” in AT&T-workflow: |
| 130 | ... - create and enable one BBSIM-ONU (no MIB-template should be available in KV-store) |
TorstenThieme | c3c2323 | 2021-01-13 13:06:31 +0000 | [diff] [blame] | 131 | ... - perform sanity test include add subscriber |
TorstenThieme | 440b7c0 | 2020-12-18 15:42:57 +0000 | [diff] [blame] | 132 | ... - kill the open-onu-adapter-go |
TorstenThieme | c3c2323 | 2021-01-13 13:06:31 +0000 | [diff] [blame] | 133 | ... - wait for open-onu-adapter-go to restart |
| 134 | ... - perform sanity test suppress add subscriber |
TorstenThieme | 440b7c0 | 2020-12-18 15:42:57 +0000 | [diff] [blame] | 135 | ... - disable onu device |
TorstenThieme | c3c2323 | 2021-01-13 13:06:31 +0000 | [diff] [blame] | 136 | ... - wait for device corresponding onu reason e.g. “tech-profile-config-delete-success” |
| 137 | ... - check UNI-ports disabled in ONOS |
TorstenThieme | 440b7c0 | 2020-12-18 15:42:57 +0000 | [diff] [blame] | 138 | ... - enable onu device |
TorstenThieme | c3c2323 | 2021-01-13 13:06:31 +0000 | [diff] [blame] | 139 | ... - perform sanity test suppress add subscriber |
TorstenThieme | 440b7c0 | 2020-12-18 15:42:57 +0000 | [diff] [blame] | 140 | ... - delete ONU and MIB-template in KV-store |
| 141 | [Tags] functionalOnuGo ReconcileOmciFlowsPushedOnuGo |
| 142 | [Setup] Run Keywords Start Logging ReconcileOmciFlowsPushedOnuGo |
| 143 | ... AND Setup Test |
| 144 | Run Keyword If ${has_dataplane} Clean Up Linux |
TorstenThieme | e9017be | 2021-03-05 16:59:31 +0000 | [diff] [blame] | 145 | Do Reconcile In Omci-Flows-Pushed |
TorstenThieme | 3494ceb | 2021-07-19 09:47:24 +0000 | [diff] [blame] | 146 | [Teardown] Run Keywords Run Keyword If ${logging} Get Logical Id of OLT |
| 147 | ... AND Run Keyword If ${logging} Collect Logs |
TorstenThieme | 440b7c0 | 2020-12-18 15:42:57 +0000 | [diff] [blame] | 148 | ... AND Teardown Test |
| 149 | ... AND Stop Logging ReconcileOmciFlowsPushedOnuGo |
| 150 | |
| 151 | Reconcile For Disabled Onu Device |
| 152 | [Documentation] Validates the Reconcile for disabled Onu device |
| 153 | ... Reconcile test for disabled Onu device in AT&T-workflow: |
| 154 | ... - create and enable one BBSIM-ONU (no MIB-template should be available in KV-store) |
TorstenThieme | c3c2323 | 2021-01-13 13:06:31 +0000 | [diff] [blame] | 155 | ... - perform sanity test include add subscriber |
TorstenThieme | 440b7c0 | 2020-12-18 15:42:57 +0000 | [diff] [blame] | 156 | ... - disable onu device |
TorstenThieme | c3c2323 | 2021-01-13 13:06:31 +0000 | [diff] [blame] | 157 | ... - wait for device corresponding onu reason e.g. “tech-profile-config-delete-success” |
| 158 | ... - check UNI-ports disabled in ONOS |
| 159 | ... - kill the open-onu-adapter-go |
| 160 | ... - wait for open-onu-adapter-go to restart |
| 161 | ... - check device reason is still the same before restart |
TorstenThieme | 440b7c0 | 2020-12-18 15:42:57 +0000 | [diff] [blame] | 162 | ... - enable onu device |
TorstenThieme | c3c2323 | 2021-01-13 13:06:31 +0000 | [diff] [blame] | 163 | ... - perform sanity test suppress add subscriber |
TorstenThieme | 440b7c0 | 2020-12-18 15:42:57 +0000 | [diff] [blame] | 164 | ... - delete ONU and MIB-template in KV-store |
| 165 | [Tags] functionalOnuGo ReconcileDisabledOnuDeviceOnuGo |
| 166 | [Setup] Run Keywords Start Logging ReconcileDisabledOnuDeviceOnuGo |
| 167 | ... AND Setup Test |
| 168 | Run Keyword If ${has_dataplane} Clean Up Linux |
TorstenThieme | e9017be | 2021-03-05 16:59:31 +0000 | [diff] [blame] | 169 | Do Reconcile For Disabled Onu Device |
TorstenThieme | 3494ceb | 2021-07-19 09:47:24 +0000 | [diff] [blame] | 170 | [Teardown] Run Keywords Run Keyword If ${logging} Get Logical Id of OLT |
| 171 | ... AND Run Keyword If ${logging} Collect Logs |
TorstenThieme | 440b7c0 | 2020-12-18 15:42:57 +0000 | [diff] [blame] | 172 | ... AND Teardown Test |
| 173 | ... AND Stop Logging ReconcileDisabledOnuDeviceOnuGo |
| 174 | |
TorstenThieme | 712b296 | 2021-11-17 14:16:15 +0000 | [diff] [blame] | 175 | Olt Deletion After Adapter Restart |
| 176 | [Documentation] Validates the OLT deletion after adapter restart |
| 177 | ... - prefered environment is two ONUs are active on each of two OLTs, but test works also with single ONU/OLT |
| 178 | ... - restart the ONU adapter preferred via "kubectl delete pod" |
| 179 | ... - delete one OLT immediately after the restart has been initiated |
| 180 | ... - wait until the restart of the ONU adapter and the reconcile processing are finished |
| 181 | ... - check whether the ONUs on the remaining OLT have been properly reconciled (if avaialable) |
| 182 | ... - check whether the ONUs at the deleted OLT have disappeared from the device list |
| 183 | ... - KV store data of these ONUs are deleted under: |
| 184 | ... - <kvStorePrefix>/openonu/<deviceId> |
| 185 | ... - <kvStorePrefix>/openonu/pm-data/<deviceId> |
| 186 | ... - check for not deleted device(s) reason is still the same before restart (if available) |
| 187 | ... - delete ONU and MIB-template in KV-store |
| 188 | ... Check [VOL-4443] for more details |
| 189 | [Tags] functionalOnuGo OltDeletionAfterAdapterRestartOnuGo |
| 190 | [Setup] Run Keywords Start Logging OltDeletionAfterAdapterRestartOnuGo |
| 191 | ... AND Setup Test |
| 192 | Run Keyword If ${has_dataplane} Clean Up Linux |
| 193 | Do Olt Deletion After Adapter Restart |
| 194 | [Teardown] Run Keywords Run Keyword If ${logging} Get Logical Id of OLT |
| 195 | ... AND Run Keyword If ${logging} Collect Logs |
| 196 | ... AND Teardown Test |
| 197 | ... AND Stop Logging OltDeletionAfterAdapterRestartOnuGo |
| 198 | |
TorstenThieme | 440b7c0 | 2020-12-18 15:42:57 +0000 | [diff] [blame] | 199 | *** Keywords *** |
| 200 | Setup Suite |
| 201 | [Documentation] Set up the test suite |
Andrea Campanella | 82add37 | 2021-11-05 12:01:15 +0100 | [diff] [blame] | 202 | Start Logging Setup or Teardown Setup-${SUITE NAME} |
TorstenThieme | 440b7c0 | 2020-12-18 15:42:57 +0000 | [diff] [blame] | 203 | ${LogInfo}= Catenate |
| 204 | ... \r\nPassed arguments: |
| 205 | ... debugmode:${debugmode}, logging:${logging}, pausebeforecleanup:${pausebeforecleanup}, |
TorstenThieme | 4798369 | 2021-06-17 10:43:35 +0000 | [diff] [blame] | 206 | ... print2console:${print2console}, usekill2restart:${usekill2restart}, workflow:${workflow}, |
| 207 | ... kvstoreprefix:${kvstoreprefix} |
TorstenThieme | 440b7c0 | 2020-12-18 15:42:57 +0000 | [diff] [blame] | 208 | Log ${LogInfo} console=yes |
| 209 | Common Test Suite Setup |
TorstenThieme | 440b7c0 | 2020-12-18 15:42:57 +0000 | [diff] [blame] | 210 | # delete etcd MIB Template Data |
Hardik Windlass | 4288c6a | 2021-09-28 07:22:06 +0000 | [diff] [blame] | 211 | Delete MIB Template Data ${INFRA_NAMESPACE} |
TorstenThieme | 4507160 | 2021-03-16 12:14:37 +0000 | [diff] [blame] | 212 | # delete etcd onu data |
Hardik Windlass | 4288c6a | 2021-09-28 07:22:06 +0000 | [diff] [blame] | 213 | Delete ONU Go Adapter ETCD Data namespace=${INFRA_NAMESPACE} validate=True |
Andrea Campanella | 82add37 | 2021-11-05 12:01:15 +0100 | [diff] [blame] | 214 | Run Keyword If ${logging} Collect Logs |
| 215 | Stop Logging Setup or Teardown Setup-${SUITE NAME} |
TorstenThieme | 440b7c0 | 2020-12-18 15:42:57 +0000 | [diff] [blame] | 216 | |
TorstenThieme | 70bc526 | 2021-01-19 12:12:55 +0000 | [diff] [blame] | 217 | |
TorstenThieme | 440b7c0 | 2020-12-18 15:42:57 +0000 | [diff] [blame] | 218 | Teardown Suite |
| 219 | [Documentation] Replaces the Suite Teardown in utils.robot. |
| 220 | ... Cleans up and checks all ONU ports disabled in ONOS. |
| 221 | ... Furthermore gives the possibility to pause the execution. |
Andrea Campanella | 82add37 | 2021-11-05 12:01:15 +0100 | [diff] [blame] | 222 | Start Logging Setup or Teardown Teardown-${SUITE NAME} |
TorstenThieme | 440b7c0 | 2020-12-18 15:42:57 +0000 | [diff] [blame] | 223 | Run Keyword If ${pausebeforecleanup} Import Library Dialogs |
| 224 | Run Keyword If ${pausebeforecleanup} Pause Execution Press OK to continue with clean up! |
| 225 | Run Keyword If ${pausebeforecleanup} Log Teardown will be continued... console=yes |
| 226 | Run Keyword If ${teardown_device} Delete All Devices and Verify |
Hardik Windlass | 4288c6a | 2021-09-28 07:22:06 +0000 | [diff] [blame] | 227 | Run Keyword If ${usekill2restart} Restart Pod By Label ${NAMESPACE} app adapter-open-onu |
TorstenThieme | 4507160 | 2021-03-16 12:14:37 +0000 | [diff] [blame] | 228 | Run Keyword Unless ${etcdcheckintestteardown} Wait Until Keyword Succeeds ${timeout} 1s |
Hardik Windlass | 4288c6a | 2021-09-28 07:22:06 +0000 | [diff] [blame] | 229 | ... Validate Onu Data In Etcd ${INFRA_NAMESPACE} 0 ${kvstoreprefix} without_pm_data=False |
TorstenThieme | 731a759 | 2021-07-01 14:26:54 +0000 | [diff] [blame] | 230 | Wait for Ports in ONOS for all OLTs ${ONOS_SSH_IP} ${ONOS_SSH_PORT} 0 BBSM ${timeout} |
Andrea Campanella | 82add37 | 2021-11-05 12:01:15 +0100 | [diff] [blame] | 231 | Run Keyword If ${logging} Collect Logs |
| 232 | Stop Logging Setup or Teardown Teardown-${SUITE NAME} |
TorstenThieme | 440b7c0 | 2020-12-18 15:42:57 +0000 | [diff] [blame] | 233 | Close All ONOS SSH Connections |
| 234 | |
| 235 | Setup Test |
| 236 | [Documentation] Pre-test Setup |
| 237 | #test for empty device list |
| 238 | Test Empty Device List |
| 239 | Run Keyword If ${has_dataplane} Wait Until Keyword Succeeds 120s 10s Openolt is Up |
| 240 | ... ${olt_ssh_ip} ${olt_user} ${olt_pass} |
| 241 | Run Keyword If ${has_dataplane} Sleep 60s |
| 242 | #restart open-onu pod to reset crash loop back off mechansim of kubenetes |
TorstenThieme | 3716540 | 2021-09-03 11:39:40 +0000 | [diff] [blame] | 243 | Run Keyword If "${firsttest}"=="False" and "${usekill2restart}"=="True" |
Hardik Windlass | 4288c6a | 2021-09-28 07:22:06 +0000 | [diff] [blame] | 244 | ... Restart Pod By Label ${NAMESPACE} app adapter-open-onu |
TorstenThieme | 440b7c0 | 2020-12-18 15:42:57 +0000 | [diff] [blame] | 245 | Run Keyword If "${firsttest}"=="False" Sleep 35s |
| 246 | ${firsttest} Set Variable False |
| 247 | Set Suite Variable ${firsttest} |
| 248 | # Create a list of olt ids (logical and device_id) |
| 249 | ${olt_ids} Create List |
| 250 | FOR ${I} IN RANGE 0 ${num_olts} |
| 251 | #create/preprovision device |
Andrea Campanella | 3dcce27 | 2021-01-15 16:04:47 +0100 | [diff] [blame] | 252 | ${olt_device_id}= Run Keyword If "${list_olts}[${I}][type]" == "${None}" |
TorstenThieme | 4413664 | 2021-02-12 13:41:17 +0000 | [diff] [blame] | 253 | ... Create Device ${list_olts}[${I}][ip] ${list_olts}[${I}][oltport] |
| 254 | ... ELSE Create Device ${list_olts}[${I}][ip] ${list_olts}[${I}][oltport] ${list_olts}[${I}][type] |
TorstenThieme | 440b7c0 | 2020-12-18 15:42:57 +0000 | [diff] [blame] | 255 | ${olt_serial_number}= Set Variable ${list_olts}[${I}][sn] |
| 256 | #validate olt states |
| 257 | Wait Until Keyword Succeeds ${timeout} 5s |
Hardik Windlass | 8b44649 | 2021-06-10 06:25:23 +0000 | [diff] [blame] | 258 | ... Validate OLT Device PREPROVISIONED UNKNOWN UNKNOWN ${olt_device_id} by_dev_id=True |
TorstenThieme | 440b7c0 | 2020-12-18 15:42:57 +0000 | [diff] [blame] | 259 | Sleep 5s |
| 260 | ${logical_id}= Get Logical Device ID From SN ${olt_serial_number} |
| 261 | ${olt} Create Dictionary device_id ${olt_device_id} logical_id ${logical_id} |
| 262 | ... of_id ${of_id} sn ${olt_serial_number} |
| 263 | Append To List ${olt_ids} ${olt} |
| 264 | END |
| 265 | Set Global Variable ${olt_ids} |
| 266 | |
| 267 | Teardown Test |
| 268 | [Documentation] Post-test Teardown |
TorstenThieme | 4507160 | 2021-03-16 12:14:37 +0000 | [diff] [blame] | 269 | Run Keyword If ${pausebeforecleanup} Import Library Dialogs |
| 270 | Run Keyword If ${pausebeforecleanup} Pause Execution Press OK to continue with clean up! |
| 271 | Run Keyword If ${pausebeforecleanup} Log Teardown will be continued... console=yes |
TorstenThieme | e9017be | 2021-03-05 16:59:31 +0000 | [diff] [blame] | 272 | Run Keyword If ${teardown_device} Delete All Devices and Verify |
TorstenThieme | 440b7c0 | 2020-12-18 15:42:57 +0000 | [diff] [blame] | 273 | # delete etcd MIB Template Data |
Matteo Scandolo | 6b52412 | 2021-10-22 14:34:29 -0700 | [diff] [blame] | 274 | Delete MIB Template Data ${INFRA_NAMESPACE} |
TorstenThieme | b355eb6 | 2021-03-09 14:04:55 +0000 | [diff] [blame] | 275 | # check etcd data are empty |
TorstenThieme | 4507160 | 2021-03-16 12:14:37 +0000 | [diff] [blame] | 276 | Run Keyword If ${etcdcheckintestteardown} Wait Until Keyword Succeeds ${timeout} 1s |
Hardik Windlass | 4288c6a | 2021-09-28 07:22:06 +0000 | [diff] [blame] | 277 | ... Validate Onu Data In Etcd ${INFRA_NAMESPACE} 0 ${kvstoreprefix} without_pm_data=False |
TorstenThieme | 440b7c0 | 2020-12-18 15:42:57 +0000 | [diff] [blame] | 278 | Sleep 5s |
| 279 | |
| 280 | Do Reconcile In Determined State |
| 281 | [Documentation] This keyword reconciles ONU device when passed reason is reached and |
| 282 | ... check the state afterwards. |
| 283 | ... Following steps will be executed: |
| 284 | ... - enable OLT device |
| 285 | ... - wait for passed openonu reason |
| 286 | ... - restart openonu adaptor |
TorstenThieme | c3c2323 | 2021-01-13 13:06:31 +0000 | [diff] [blame] | 287 | ... - perform sanity test include add subscriber |
TorstenThieme | 440b7c0 | 2020-12-18 15:42:57 +0000 | [diff] [blame] | 288 | [Arguments] ${expected_onu_reason} |
TorstenThieme | c3c2323 | 2021-01-13 13:06:31 +0000 | [diff] [blame] | 289 | ${admin_state} ${oper_status} ${connect_status} ${onu_state_nb} ${onu_state}= Map State |
| 290 | ... ${expected_onu_reason} |
| 291 | Should Be True ${onu_state_nb}<=5 |
| 292 | ... Wrong expected onu reason ${expected_onu_reason}, must be lower than 'omci-flows-pushed'! |
TorstenThieme | 440b7c0 | 2020-12-18 15:42:57 +0000 | [diff] [blame] | 293 | FOR ${I} IN RANGE 0 ${num_olts} |
| 294 | #get olt serial number |
| 295 | ${olt_serial_number}= Set Variable ${list_olts}[${I}][sn] |
| 296 | #validate olt states |
| 297 | ${olt_device_id}= Get OLTDeviceID From OLT List ${olt_serial_number} |
| 298 | Enable Device ${olt_device_id} |
| 299 | END |
| 300 | Current State Test All Onus ${expected_onu_reason} |
TorstenThieme | 96fe9ee | 2021-10-21 10:24:08 +0000 | [diff] [blame] | 301 | Reconcile Onu Adapter ${NAMESPACE} ${usekill2restart} ACTIVE |
TorstenThieme | c3c2323 | 2021-01-13 13:06:31 +0000 | [diff] [blame] | 302 | Run Keyword If "${workflow}"=="DT" Perform Sanity Test DT |
TorstenThieme | 136ebf7 | 2021-02-26 14:27:07 +0000 | [diff] [blame] | 303 | ... ELSE IF "${workflow}"=="TT" Perform Sanity Tests TT |
TorstenThieme | c3c2323 | 2021-01-13 13:06:31 +0000 | [diff] [blame] | 304 | ... ELSE Perform Sanity Test |
TorstenThieme | 440b7c0 | 2020-12-18 15:42:57 +0000 | [diff] [blame] | 305 | |
| 306 | Do Reconcile For Disabled Onu Device |
| 307 | [Documentation] This keyword reconciles ONU device for a disabled onu device and |
| 308 | ... check the state afterwards. |
| 309 | ... Following steps will be executed: |
| 310 | ... - enable OLT device |
TorstenThieme | c3c2323 | 2021-01-13 13:06:31 +0000 | [diff] [blame] | 311 | ... - perform sanity test include add subscriber |
TorstenThieme | 440b7c0 | 2020-12-18 15:42:57 +0000 | [diff] [blame] | 312 | ... - disable onu device |
TorstenThieme | c3c2323 | 2021-01-13 13:06:31 +0000 | [diff] [blame] | 313 | ... - wait for corresponding openonu reason |
TorstenThieme | 440b7c0 | 2020-12-18 15:42:57 +0000 | [diff] [blame] | 314 | ... - check UNI-ports disabled in ONOS |
| 315 | ... - restart openonu adaptor |
| 316 | ... - check openonu adaptor is ready again |
TorstenThieme | c3c2323 | 2021-01-13 13:06:31 +0000 | [diff] [blame] | 317 | ... - check device reason is still before restart |
TorstenThieme | 440b7c0 | 2020-12-18 15:42:57 +0000 | [diff] [blame] | 318 | ... - enable onu device |
TorstenThieme | c3c2323 | 2021-01-13 13:06:31 +0000 | [diff] [blame] | 319 | ... - perform sanity test suppress add subscriber |
TorstenThieme | 440b7c0 | 2020-12-18 15:42:57 +0000 | [diff] [blame] | 320 | FOR ${I} IN RANGE 0 ${num_olts} |
| 321 | #get olt serial number |
| 322 | ${olt_serial_number}= Set Variable ${list_olts}[${I}][sn] |
| 323 | #validate olt states |
| 324 | ${olt_device_id}= Get OLTDeviceID From OLT List ${olt_serial_number} |
| 325 | Enable Device ${olt_device_id} |
| 326 | END |
TorstenThieme | c3c2323 | 2021-01-13 13:06:31 +0000 | [diff] [blame] | 327 | Run Keyword If "${workflow}"=="DT" Perform Sanity Test DT |
TorstenThieme | 136ebf7 | 2021-02-26 14:27:07 +0000 | [diff] [blame] | 328 | ... ELSE IF "${workflow}"=="TT" Perform Sanity Tests TT |
TorstenThieme | c3c2323 | 2021-01-13 13:06:31 +0000 | [diff] [blame] | 329 | ... ELSE Perform Sanity Test |
TorstenThieme | 440b7c0 | 2020-12-18 15:42:57 +0000 | [diff] [blame] | 330 | Disable Onu Device |
TorstenThieme | 0ec95eb | 2021-11-23 14:56:26 +0000 | [diff] [blame] | 331 | Current State Test All Onus tech-profile-config-delete-success |
TorstenThieme | 96fe9ee | 2021-10-21 10:24:08 +0000 | [diff] [blame] | 332 | Reconcile Onu Adapter ${NAMESPACE} ${usekill2restart} UNKNOWN |
TorstenThieme | 0ec95eb | 2021-11-23 14:56:26 +0000 | [diff] [blame] | 333 | Current State Test All Onus tech-profile-config-delete-success |
TorstenThieme | 731a759 | 2021-07-01 14:26:54 +0000 | [diff] [blame] | 334 | Wait for all ONU Ports in ONOS Disabled ${ONOS_SSH_IP} ${ONOS_SSH_PORT} |
TorstenThieme | 440b7c0 | 2020-12-18 15:42:57 +0000 | [diff] [blame] | 335 | Enable Onu Device |
TorstenThieme | 70bc526 | 2021-01-19 12:12:55 +0000 | [diff] [blame] | 336 | Run Keyword If "${workflow}"=="DT" Perform Sanity Test DT ${suppressaddsubscriber} |
TorstenThieme | 136ebf7 | 2021-02-26 14:27:07 +0000 | [diff] [blame] | 337 | ... ELSE IF "${workflow}"=="TT" Perform Sanity Tests TT ${suppressaddsubscriber} |
TorstenThieme | 70bc526 | 2021-01-19 12:12:55 +0000 | [diff] [blame] | 338 | ... ELSE Perform Sanity Test ${suppressaddsubscriber} |
TorstenThieme | 440b7c0 | 2020-12-18 15:42:57 +0000 | [diff] [blame] | 339 | |
| 340 | Do Reconcile In Omci-Flows-Pushed |
| 341 | [Documentation] This keyword reconciles ONU device in omci-flows-pushed and check the state afterwards. |
| 342 | ... Reconcile test during “omci-flows-pushed” in AT&T-workflow: |
| 343 | ... - create and enable one BBSIM-ONU (no MIB-template should be available in KV-store) |
TorstenThieme | c3c2323 | 2021-01-13 13:06:31 +0000 | [diff] [blame] | 344 | ... - perform sanity test include add subscriber |
TorstenThieme | 440b7c0 | 2020-12-18 15:42:57 +0000 | [diff] [blame] | 345 | ... - kill the open-onu-adapter-go |
TorstenThieme | c3c2323 | 2021-01-13 13:06:31 +0000 | [diff] [blame] | 346 | ... - wait for open-onu-adapter-go to restart |
| 347 | ... - perform sanity test suppress add subscriber |
TorstenThieme | 440b7c0 | 2020-12-18 15:42:57 +0000 | [diff] [blame] | 348 | ... - disable onu device |
TorstenThieme | c3c2323 | 2021-01-13 13:06:31 +0000 | [diff] [blame] | 349 | ... - wait for corresponding device reason |
| 350 | ... - check UNI-ports disabled in ONOS |
TorstenThieme | 440b7c0 | 2020-12-18 15:42:57 +0000 | [diff] [blame] | 351 | ... - enable onu device |
TorstenThieme | c3c2323 | 2021-01-13 13:06:31 +0000 | [diff] [blame] | 352 | ... - perform sanity test supress add subscriber |
TorstenThieme | 440b7c0 | 2020-12-18 15:42:57 +0000 | [diff] [blame] | 353 | FOR ${I} IN RANGE 0 ${num_olts} |
| 354 | #get olt serial number |
| 355 | ${olt_serial_number}= Set Variable ${list_olts}[${I}][sn] |
| 356 | #validate olt states |
| 357 | ${olt_device_id}= Get OLTDeviceID From OLT List ${olt_serial_number} |
| 358 | Enable Device ${olt_device_id} |
| 359 | END |
TorstenThieme | c3c2323 | 2021-01-13 13:06:31 +0000 | [diff] [blame] | 360 | Run Keyword If "${workflow}"=="DT" Perform Sanity Test DT |
TorstenThieme | 136ebf7 | 2021-02-26 14:27:07 +0000 | [diff] [blame] | 361 | ... ELSE IF "${workflow}"=="TT" Perform Sanity Tests TT |
TorstenThieme | c3c2323 | 2021-01-13 13:06:31 +0000 | [diff] [blame] | 362 | ... ELSE Perform Sanity Test |
TorstenThieme | 96fe9ee | 2021-10-21 10:24:08 +0000 | [diff] [blame] | 363 | Reconcile Onu Adapter ${NAMESPACE} ${usekill2restart} ACTIVE |
TorstenThieme | 70bc526 | 2021-01-19 12:12:55 +0000 | [diff] [blame] | 364 | Run Keyword If "${workflow}"=="DT" Perform Sanity Test DT ${suppressaddsubscriber} |
TorstenThieme | 136ebf7 | 2021-02-26 14:27:07 +0000 | [diff] [blame] | 365 | ... ELSE IF "${workflow}"=="TT" Perform Sanity Tests TT ${suppressaddsubscriber} |
TorstenThieme | 70bc526 | 2021-01-19 12:12:55 +0000 | [diff] [blame] | 366 | ... ELSE Perform Sanity Test ${suppressaddsubscriber} |
TorstenThieme | 440b7c0 | 2020-12-18 15:42:57 +0000 | [diff] [blame] | 367 | Disable Onu Device |
TorstenThieme | 0ec95eb | 2021-11-23 14:56:26 +0000 | [diff] [blame] | 368 | Current State Test All Onus tech-profile-config-delete-success |
TorstenThieme | 731a759 | 2021-07-01 14:26:54 +0000 | [diff] [blame] | 369 | Wait for all ONU Ports in ONOS Disabled ${ONOS_SSH_IP} ${ONOS_SSH_PORT} |
TorstenThieme | 440b7c0 | 2020-12-18 15:42:57 +0000 | [diff] [blame] | 370 | Enable Onu Device |
TorstenThieme | 70bc526 | 2021-01-19 12:12:55 +0000 | [diff] [blame] | 371 | Run Keyword If "${workflow}"=="DT" Perform Sanity Test DT ${suppressaddsubscriber} |
TorstenThieme | 136ebf7 | 2021-02-26 14:27:07 +0000 | [diff] [blame] | 372 | ... ELSE IF "${workflow}"=="TT" Perform Sanity Tests TT ${suppressaddsubscriber} |
TorstenThieme | 70bc526 | 2021-01-19 12:12:55 +0000 | [diff] [blame] | 373 | ... ELSE Perform Sanity Test ${suppressaddsubscriber} |
TorstenThieme | 712b296 | 2021-11-17 14:16:15 +0000 | [diff] [blame] | 374 | |
| 375 | |
| 376 | Do Olt Deletion After Adapter Restart |
| 377 | [Documentation] This keyword deletes OLT after adapter restart and checks deleted device(s) and data |
| 378 | ... - prefered environment is two ONUs are active on each of two OLTs, but test works also with single ONU/OLT |
| 379 | ... - restart the ONU adapter preferred via "kubectl delete pod" |
| 380 | ... - delete one OLT immediately after the restart has been initiated |
| 381 | ... - wait until the restart of the ONU adapter and the reconcile processing are finished |
| 382 | ... - check whether the ONUs on the remaining OLT have been properly reconciled (if avaialable) |
| 383 | ... - check whether the ONUs at the deleted OLT have disappeared from the device list |
| 384 | ... - KV store data of these ONUs are deleted under: |
| 385 | ... - <kvStorePrefix>/openonu/<deviceId> |
| 386 | ... - <kvStorePrefix>/openonu/pm-data/<deviceId> |
| 387 | ... - check for not deleted device(s) reason is still the same before restart (if available) |
| 388 | ... - delete ONU and MIB-template in KV-store |
| 389 | ... Check [VOL-4443] for more details |
| 390 | FOR ${I} IN RANGE 0 ${num_olts} |
| 391 | #get olt serial number |
| 392 | ${olt_serial_number}= Set Variable ${list_olts}[${I}][sn] |
| 393 | #validate olt states |
| 394 | ${olt_device_id}= Get OLTDeviceID From OLT List ${olt_serial_number} |
| 395 | Enable Device ${olt_device_id} |
| 396 | END |
| 397 | # bring all onus to activ -> OMCI-Flows-Pushed |
| 398 | Run Keyword If "${workflow}"=="DT" Perform Sanity Test DT |
| 399 | ... ELSE IF "${workflow}"=="TT" Perform Sanity Tests TT |
| 400 | ... ELSE Perform Sanity Test |
| 401 | # OLT#1 will be deleted, get its SN |
| 402 | ${olt_to_be_deleted}= Set Variable ${olts[0]['serial']} |
| 403 | ${olt_to_be_deleted_device_id}= Get OLTDeviceID From OLT List ${olt_to_be_deleted} |
| 404 | # collect all ONU device ids belonging to OLT to be deleted |
| 405 | ${onu_device_id_list_should_be_deleted} Create List |
| 406 | Build ONU Device Id List ${onu_device_id_list_should_be_deleted} ${olt_to_be_deleted} |
| 407 | Log ${onu_device_id_list_should_be_deleted} |
| 408 | Reconcile Onu Adapter ${NAMESPACE} ${usekill2restart} ACTIVE ${olt_to_be_deleted} |
| 409 | # validate OLT and all corresponding ONUs are removed |
| 410 | Validate all ONUS for OLT Removed ${num_all_onus} ${hosts} ${olt_to_be_deleted} ${timeout} |
| 411 | Validate Device Removed ${olt_to_be_deleted} |
| 412 | # validate for alle removed ONUs KV store date deleted |
| 413 | FOR ${onu_device_id} IN @{onu_device_id_list_should_be_deleted} |
| 414 | Log ${onu_device_id} |
| 415 | Wait Until Keyword Succeeds ${timeout} 1s Validate Onu Data In Etcd Removed ${INFRA_NAMESPACE} |
| 416 | ... ${onu_device_id} ${kvstoreprefix} without_pm_data=False |
| 417 | END |
| 418 | FOR ${I} IN RANGE 0 ${num_all_onus} |
| 419 | ${src}= Set Variable ${hosts.src[${I}]} |
| 420 | Continue For Loop If "${olt_to_be_deleted}"=="${src['olt']}" |
| 421 | Current State Test omci-flows-pushed ${src['onu']} |
| 422 | END |