blob: d53d3ca150bdbca0c2e350115b5a177f196979bc [file] [log] [blame]
Jordan Haltermancbbdb8c2017-12-20 18:12:26 -08001<!--
2 ~ Copyright 2017-present Open Networking Foundation
3 ~
4 ~ Licensed under the Apache License, Version 2.0 (the "License");
5 ~ you may not use this file except in compliance with the License.
6 ~ You may obtain a copy of the License at
7 ~
8 ~ http://www.apache.org/licenses/LICENSE-2.0
9 ~
10 ~ Unless required by applicable law or agreed to in writing, software
11 ~ distributed under the License is distributed on an "AS IS" BASIS,
12 ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 ~ See the License for the specific language governing permissions and
14 ~ limitations under the License.
15 -->
16
17<scenario name="ha-multi-node"
18 description="ONOS cluster multiple node failure and recovery">
19 <group name="Multi-Node-Failure" if="${OC2}">
20 <sequential var="${OC#}"
21 starts="Node-Death-${#}"
22 ends="Check-All-Logs-${#-1}">
23 <step name="Node-Death-${#}"
24 exec="onos-power ${OC#} off"/>
25
Jordan Haltermancbbdb8c2017-12-20 18:12:26 -080026 <step name="Breathe-${#}"
Jordan Haltermanc1be5b82018-08-18 01:18:46 -070027 requires="Node-Death-${#}"
Jordan Haltermancbbdb8c2017-12-20 18:12:26 -080028 exec="sleep 5"/>
29
30 <step name="Node-Start-${#}"
31 requires="Breathe-${#}"
32 exec="onos-power ${OC#} on"/>
33
34 <step name="Wait-for-Start-${#}"
35 requires="~Node-Start-${#}"
36 exec="onos-wait-for-start ${OC#}"/>
37
38 <step name="Check-Nodes-${#}"
39 requires="Wait-for-Start-${#}"
40 exec="onos-check-nodes ${OC#}"/>
41
42 <step name="Check-Masters-${#}"
43 requires="~Check-Nodes-${#}"
44 exec="check-masters.py ${OC#}"/>
45
46 <step name="Check-Components-${#}"
47 requires="~Check-Nodes-${#}"
48 exec="onos-check-components ${OC#}"/>
49
50 <step name="Check-Apps-${#}"
51 requires="~Check-Nodes-${#}"
52 exec="onos-check-apps ${OC#} ${ONOS_APPS} includes"/>
53
54 <step name="Check-Flows-${#}"
55 requires="~Check-Nodes-${#}"
56 exec="onos-check-flows ${OC#}"/>
57
58 <step name="Check-All-Logs-${#}"
59 requires="~Check-Nodes-${#},~Check-Masters-${#},~Check-Components-${#},~Check-Apps-${#},~Check-Flows-${#}"
Jordan Haltermanc1be5b82018-08-18 01:18:46 -070060 exec="onos-check-all-logs"/>
Jordan Haltermancbbdb8c2017-12-20 18:12:26 -080061 </sequential>
62 </group>
63
64 <group name="Multi-Node-NA" unless="${OC2}">
65 <step name="No-Op" exec="echo Scenario not supported for this cell size"/>
66 </group>
67</scenario>