blob: ae55e77c56daf2651f917f11c3d3225eed49e128 [file] [log] [blame]
Thomas Vachuskaf9c84362015-04-15 11:20:45 -07001<!--
Brian O'Connora09fe5b2017-08-03 21:12:30 -07002 ~ Copyright 2015-present Open Networking Foundation
Thomas Vachuskaf9c84362015-04-15 11:20:45 -07003 ~
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<scenario name="setup" description="ONOS cluster setup">
17 <group name="Setup">
18 <step name="Push-Bits" exec="onos-push-bits-through-proxy" if="${OCT}"/>
Thomas Vachuska68acdba2016-03-02 19:41:27 -080019 <step name="Enable-Flow-Objective-Intents" if="${ONOS_USE_FOI}"
20 exec="onos ${OC1} cfg set org.onosproject.net.intent.impl.compiler.IntentConfigurableRegistrator useFlowObjectives true"/>
Thomas Vachuska8189a742015-05-29 10:02:52 -070021
Jon Hallfe4a0732017-03-31 10:46:02 -070022 <group name="Cleanup">
23 <parallel var="${OC#}">
24 <step name="Push-Bits-${#}" exec="onos-push-bits ${OC#}"
25 unless="${OCT}"/>
26 <step name="Uninstall-${#}" exec="onos-uninstall ${OC#}"/>
27 <step name="Kill-${#}" env="~" exec="onos-kill ${OC#}"
28 requires="Uninstall-${#}"/>
29 </parallel>
30 </group>
Thomas Vachuska8189a742015-05-29 10:02:52 -070031
Jon Hallfe4a0732017-03-31 10:46:02 -070032 <group name="Install">
Brian O'Connor740e98c2017-06-29 17:07:17 -070033 <step name="Generate-Cluster-Key" exec="onos-gen-cluster-key -f" />
34
Jon Hallfe4a0732017-03-31 10:46:02 -070035 <group name="Sequential-Install" if="${ONOS_STC_SEQ_START}">
36 <sequential var="${OC#}"
37 starts="Sequential-Install-${#}"
38 ends="Sequential-Install-${#-1}">
39 <step name="Sequential-Install-${#}" exec="onos-install ${OC#}"
Brian O'Connor740e98c2017-06-29 17:07:17 -070040 requires="Generate-Cluster-Key,Push-Bits-${#},Push-Bits,Cleanup"/>
Jon Hallfe4a0732017-03-31 10:46:02 -070041 </sequential>
42 </group>
Thomas Vachuska8189a742015-05-29 10:02:52 -070043
Jon Hallfe4a0732017-03-31 10:46:02 -070044 <group name="Parallel-Install" unless="${ONOS_STC_SEQ_START}">
45 <parallel var="${OC#}">
46 <step name="Parallel-Install-${#}" exec="onos-install ${OC#}"
Brian O'Connor740e98c2017-06-29 17:07:17 -070047 requires="Generate-Cluster-Key,Push-Bits-${#},Push-Bits,Cleanup"/>
Jon Hallfe4a0732017-03-31 10:46:02 -070048 </parallel>
49 </group>
50 </group>
Thomas Vachuska12bf4452015-06-26 09:15:38 -070051
Jon Hallfe4a0732017-03-31 10:46:02 -070052 <group name="Verify" requires="Install">
53 <parallel var="${OC#}">
54 <step name="Secure-SSH-${#}"
55 exec="onos-secure-ssh -u ${ONOS_WEB_USER} -p ${ONOS_WEB_PASS} ${OC#}"
56 requires="Install"/>
Thomas Vachuska8189a742015-05-29 10:02:52 -070057
Jon Hallfe4a0732017-03-31 10:46:02 -070058 <step name="Wait-for-Start-${#}" exec="onos-wait-for-start ${OC#}"
59 requires="~Secure-SSH-${#}"/>
Thomas Vachuska731193d2015-12-10 11:41:46 -080060
Jordan Haltermand9ba9542018-01-25 10:11:19 -080061 <step name="Check-Nodes-${#}"
62 exec="onos-check-nodes ${OC#}"
63 unless="${ONOS_STC_FORM_START}"
64 delay="3"
Jon Hallfe4a0732017-03-31 10:46:02 -070065 requires="~Wait-for-Start-${#}"/>
66 <step name="Check-Components-${#}" delay="5"
67 exec="onos-check-components ${OC#}"
68 requires="~Wait-for-Start-${#}"/>
Thomas Vachuska68acdba2016-03-02 19:41:27 -080069
Jon Hallfe4a0732017-03-31 10:46:02 -070070 <step name="Check-Logs-${#}" exec="onos-check-logs ${OC#}"
71 requires="~Check-Components-${#}"/>
72 <step name="Check-Apps-${#}" exec="onos-check-apps ${OC#} ${ONOS_APPS} includes"
73 requires="~Check-Components-${#}"/>
74
75 <dependency name="Enable-Flow-Objective-Intents" requires="Check-Apps-${#}"/>
76 </parallel>
77 </group>
78
Jordan Haltermand9ba9542018-01-25 10:11:19 -080079 <group name="Form" if="${ONOS_STC_FORM_START}" requires="Verify">
80 <step name="Form-Cluster" exec="onos-form-cluster cell"/>
81 <parallel var="${OC#}">
82 <step name="Form-Cluster-Wait-for-Start-${#}" exec="onos-wait-for-start ${OC#}"
83 requires="Form-Cluster"/>
84
85 <step name="Form-Cluster-Check-Nodes-${#}" exec="onos-check-nodes ${OC#}" delay="3"
86 requires="~Form-Cluster-Wait-for-Start-${#}"/>
87 <step name="Form-Cluster-Check-Components-${#}" delay="5"
88 exec="onos-check-components ${OC#}"
89 requires="~Form-Cluster-Wait-for-Start-${#}"/>
90
91 <step name="Form-Cluster-Check-Logs-${#}" exec="onos-check-logs ${OC#}"
92 requires="~Form-Cluster-Check-Components-${#}"/>
93 <step name="Form-Cluster-Check-Apps-${#}" exec="onos-check-apps ${OC#} ${ONOS_APPS} includes"
94 requires="~Form-Cluster-Check-Components-${#}"/>
95 </parallel>
96 </group>
Thomas Vachuskaf9c84362015-04-15 11:20:45 -070097 </group>
98</scenario>