blob: ca3408fe5f01af582e5f7a78e95b695d34b903ad [file] [log] [blame]
You Wangaabb2832017-11-16 17:24:09 -08001# Copyright 2017-present Radisys Corporation
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
You Wang09911962018-02-09 15:34:06 -080015# NOTE: `make collect-diag` command needs to be executed on the head-node
16# before running this test
You Wangaabb2832017-11-16 17:24:09 -080017
18*** Settings ***
19Documentation Test suite for checking results collected by `make collect-diag` command
20Library OperatingSystem
21Library ../cord-api/Framework/utils/onosUtils.py
22Library ../cord-api/Framework/utils/utils.py
23Resource ../cord-api/Framework/utils/utils.robot
24
25*** Variables ***
26${DOCKER_CONTAINERS_FILE} ${CURDIR}/dockerContainers.json
27${ONOS_APPS_FILE} ${CURDIR}/onosApps.json
28${CORD_PROFILE} rcord
29${CORD_SCENARIO} cord
30
31*** Test Cases ***
32Verify Docker Containers
33 [Documentation] Verify expected containers are up and running
34 ${dockerContainersExpected} utils.jsonToList ${DOCKER_CONTAINERS_FILE} docker-containers-${CORD_PROFILE}
35 : FOR ${container} IN @{dockerContainersExpected}
You Wang046fa862017-11-21 13:13:26 -080036 \ Run Keyword And Continue On Failure Verify Docker Container ${container}
You Wangaabb2832017-11-16 17:24:09 -080037
38Verify Synchronizer Logs
39 [Documentation] Verify synchronizer logs are correct
Kailash Khalasi71ee3232018-01-16 15:20:45 -080040 ${synchronizerLogs} utils.readFiles /home/cord/diag-*/docker/*synchronizer*.logs
You Wangaabb2832017-11-16 17:24:09 -080041 : FOR ${key} IN @{synchronizerLogs.keys()}
You Wang0894ffa2017-11-30 23:00:59 -080042 \ @{name}= Split String ${key} -synchronizer
43 \ @{name}= Split String From Right @{name}[0] _ 1
You Wang046fa862017-11-21 13:13:26 -080044 \ ${synchronizerLog}= Get From Dictionary ${synchronizerLogs} ${key}
You Wangf89c8e72017-12-05 13:06:46 -080045 \ Run Keyword And Continue On Failure Verify Synchronizer Log ${name} ${synchronizerLog}
You Wangaabb2832017-11-16 17:24:09 -080046
47Verify ONOS
48 [Documentation] Verify ONOS status, applications and logs
You Wangd65eb852017-11-20 15:04:32 -080049 Run Keyword If '${CORD_PROFILE}' != 'ecord-global' Verify ONOS-Fabric ${CORD_PROFILE}
50 Verify ONOS-CORD ${CORD_PROFILE}
You Wangaabb2832017-11-16 17:24:09 -080051
52*** Keywords ***
You Wang046fa862017-11-21 13:13:26 -080053Verify Docker Container
54 [Arguments] ${container}
Kailash Khalasi71ee3232018-01-16 15:20:45 -080055 OperatingSystem.File Should Exist /home/cord/diag-*/docker/${container}.logs
You Wang046fa862017-11-21 13:13:26 -080056
57Verify Synchronizer Log
You Wangf89c8e72017-12-05 13:06:46 -080058 [Arguments] ${name} ${log}
You Wangf35df4a2018-01-24 11:00:58 -080059 ${config} utils.readFile /opt/cord/orchestration/*/*/xos/synchronizer/@{name}[1]_config.yaml
You Wang4c09fae2017-12-06 13:30:34 -080060 ${match1}= Get Lines Matching Regexp ${config} ^steps_dir: ".*"$
61 ${match2}= Get Lines Matching Regexp ${config} ^model_policies_dir: ".*"$
62 Run Keyword If '${match1}' != '${EMPTY}' Should Contain ${log} Waiting for event or timeout msg= "Waiting for event or timeout" not found in @{name}[1] synchronizer log
63 ... ELSE IF '${match2}' != '${EMPTY}' Should Contain ${log} Loaded model policies msg= "Loaded model policies" not found in @{name}[1] synchronizer log
You Wang046fa862017-11-21 13:13:26 -080064
You Wangd65eb852017-11-20 15:04:32 -080065Verify ONOS-Fabric
66 [Arguments] ${cord_profile}
You Wang046fa862017-11-21 13:13:26 -080067 Run Keyword And Continue On Failure Verify ONOS Status onos-fabric
68 Run Keyword And Continue On Failure Verify ONOS Applications onos-fabric ${cord_profile}
69 Run Keyword And Continue On Failure Verify ONOS Log onos-fabric
You Wangd65eb852017-11-20 15:04:32 -080070
71Verify ONOS-CORD
72 [Arguments] ${cord_profile}
You Wang046fa862017-11-21 13:13:26 -080073 Run Keyword And Continue On Failure Verify ONOS Status onos-cord
74 Run Keyword And Continue On Failure Verify ONOS Applications onos-cord ${cord_profile}
75 Run Keyword And Continue On Failure Verify ONOS Log onos-cord
You Wangd65eb852017-11-20 15:04:32 -080076
You Wangaabb2832017-11-16 17:24:09 -080077Verify ONOS Status
78 [Arguments] ${onosName}
79 ${onosStatus} utils.readFile /home/cord/diag-*/${onosName}/nodes
80 Should Contain ${onosStatus} READY
81
82Verify ONOS Applications
83 [Arguments] ${onosName} ${cordProfile}
84 ${onosAppsExpected} utils.jsonToList ${ONOS_APPS_FILE} ${onosName}-${cordProfile}
85 ${onosApps} utils.readFile /home/cord/diag-*/${onosName}/apps_-s_-a
86 : FOR ${app} IN @{onosAppsExpected}
87 \ Should Contain ${onosApps} ${app}
88
You Wang046fa862017-11-21 13:13:26 -080089Verify ONOS Log
You Wangaabb2832017-11-16 17:24:09 -080090 [Arguments] ${onosName}
91 ${onosLog} utils.readFile /home/cord/diag-*/${onosName}/log_display
92 Should Not Contain ${onosLog} ERROR