blob: b2514dd7e9a2c59789405bca5108c0709859aa53 [file] [log] [blame]
Andrea Campanella4c404632020-08-26 14:41:36 +02001# 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# FIXME Can we use the same test against BBSim and Hardware?
15
16*** Settings ***
17Documentation ONOS high avaliablity tests
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
35
36*** Variables ***
37${POD_NAME} flex-ocp-cord
38${KUBERNETES_CONF} ${KUBERNETES_CONFIGS_DIR}/${POD_NAME}.conf
39${KUBERNETES_CONFIGS_DIR} ~/pod-configs/kubernetes-configs
40${KUBERNETES_YAML} ${KUBERNETES_CONFIGS_DIR}/${POD_NAME}.yml
41${HELM_CHARTS_DIR} ~/helm-charts
42${VOLTHA_POD_NUM} 8
43${NAMESPACE} default
44# For below variable value, using deployment name as using grep for
45# parsing radius pod name, we can also use full radius pod name
46${RESTART_POD_NAME} radius
47${timeout} 60s
48${of_id} 0
49${logical_id} 0
50${has_dataplane} True
51${teardown_device} True
52${scripts} ../../scripts
53${workflow} ATT
54
55# Per-test logging on failure is turned off by default; set this variable to enable
56${container_log_dir} ${None}
57
58*** Test Cases ***
59Verify restart ONOS instace master of device after subscriber is provisioned
60 [Documentation] Restat ONOS instance master of a given device and check that during restart and after the
61 ... subscriuber still has dataplane traffic.
62 ... Prerequisite : ONUs are authenticated and pingable, thus setup and sanity is performed.
63 [Tags] onosHa VOL-3436 onosMasterRestart
64 [Setup] Run Keywords Start Logging onosMasterRestart
Suchitra Vemuri94f045c2020-09-14 15:56:25 -070065 #... AND Setup
Andrea Campanella4c404632020-08-26 14:41:36 +020066 [Teardown] Run Keywords Collect Logs
67 ... AND Stop Logging onosMasterRestart
Suchitra Vemuri94f045c2020-09-14 15:56:25 -070068 Delete All Devices and Verify
69 Setup
Andrea Campanella4c404632020-08-26 14:41:36 +020070 Run Keyword If ${has_dataplane} Clean Up Linux
71 Run Keyword If '${workflow}' == 'ATT' Wait Until Keyword Succeeds ${timeout} 2s Perform Sanity Test
72 Run Keyword If '${workflow}' == 'DT' Wait Until Keyword Succeeds ${timeout} 2s Perform Sanity Test DT
73 ${of_id}= Wait Until Keyword Succeeds ${timeout} 15s Validate OLT Device in ONOS ${olt_serial_number}
74 ${node_id}= Wait Until Keyword Succeeds 20s 5s Get Master Instace in ONOS ${of_id}
75 ${podName} Set Variable ${node_id}
76 Wait Until Keyword Succeeds ${timeout} 15s Delete K8s Pods By Name ${NAMESPACE} ${podName}
77 Sleep 60s
78 Wait Until Keyword Succeeds ${timeout} 2s Validate Pods Status By Name ${NAMESPACE}
79 ... ${podName} Running
80 # Performing Sanity Test to make sure subscribers are all AUTH+DHCP and pingable
81 Run Keyword If ${has_dataplane} Clean Up Linux
82 Run Keyword If '${workflow}' == 'ATT' Wait Until Keyword Succeeds ${timeout} 2s Perform Sanity Test
83 Run Keyword If '${workflow}' == 'DT' Wait Until Keyword Succeeds ${timeout} 2s Perform Sanity Test DT
84 Log to console Pod ${podName} deleted and sanity checks passed successfully
85
86*** Keywords ***
87Setup Suite
88 [Documentation] Set up the test suite
Suchitra Vemuri94f045c2020-09-14 15:56:25 -070089 Common Test Suite Setup