<!--
  ~ Copyright 2015-present Open Networking Foundation
  ~
  ~ Licensed under the Apache License, Version 2.0 (the "License");
  ~ you may not use this file except in compliance with the License.
  ~ You may obtain a copy of the License at
  ~
  ~     http://www.apache.org/licenses/LICENSE-2.0
  ~
  ~ Unless required by applicable law or agreed to in writing, software
  ~ distributed under the License is distributed on an "AS IS" BASIS,
  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  ~ See the License for the specific language governing permissions and
  ~ limitations under the License.
  -->
<scenario name="setup" description="ONOS cluster setup">
    <group name="Setup">
        <step name="Push-Bits" exec="onos-push-bits-through-proxy" if="${OCT}"/>
        <step name="Enable-Flow-Objective-Intents" if="${ONOS_USE_FOI}"
              exec="onos ${OC1} cfg set org.onosproject.net.intent.impl.compiler.IntentConfigurableRegistrator useFlowObjectives true"/>

        <group name="Cleanup">
            <group name="Cleanup-ONOS">
                <parallel var="${OC#}">
                    <step name="Push-Bits-${#}" exec="onos-push-bits ${OC#}"
                          unless="${OCT}"/>
                    <step name="Uninstall-${#}" exec="onos-uninstall ${OC#}"/>
                    <step name="Kill-${#}" env="~" exec="onos-kill ${OC#}"
                          requires="Uninstall-${#}"/>
                </parallel>
            </group>
            <group name="Cleanup-Atomix-OC" unless="${OCC1}">
                <parallel var="${OC#}">
                    <step name="Atomix-Kill-${#}"
                          env="~"
                          exec="atomix-kill ${OC#}"/>
                    <step name="Atomix-Uninstall-${#}"
                          exec="atomix-uninstall ${OC#}"
                          requires="Atomix-Kill-${#}"/>
                </parallel>
            </group>
            <group name="Cleanup-Atomix-OCC" if="${OCC1}">
                <parallel var="${OCC#}">
                    <step name="Atomix-Kill-${#}"
                          env="~"
                          exec="atomix-kill ${OCC#}"/>
                    <step name="Atomix-Uninstall-${#}"
                          exec="atomix-uninstall ${OCC#}"
                          requires="Atomix-Kill-${#}"/>
                </parallel>
            </group>
        </group>

        <step name="Generate-Cluster-Key" exec="onos-gen-cluster-key -f"/>

        <group name="Install-Atomix">
            <group name="Install-Atomix-OC" unless="${OCC1}">
                <group name="Parallel-Install-Atomix">
                    <parallel var="${OC#}">
                        <step name="Parallel-Install-Atomix-${#}" exec="atomix-install ${OC#}"
                              requires="Generate-Cluster-Key,Push-Bits-${#},Push-Bits,Cleanup"/>
                    </parallel>
                </group>
            </group>

            <group name="Install-Atomix-OCC" if="${OCC1}">
                <group name="Parallel-Install-Atomix">
                    <parallel var="${OCC#}">
                        <step name="Parallel-Install-Atomix-${#}" exec="atomix-install ${OCC#}"
                              requires="Generate-Cluster-Key,Push-Bits-${#},Push-Bits,Cleanup"/>
                    </parallel>
                </group>
            </group>
        </group>

        <group name="Install-ONOS">
            <group name="Sequential-Install-ONOS" if="${ONOS_STC_SEQ_START}">
                <sequential var="${OC#}"
                            starts="Sequential-Install-${#}"
                            ends="Sequential-Install-${#-1}">
                    <step name="Sequential-Install-${#}" exec="onos-install ${OC#}"
                          requires="Generate-Cluster-Key,Push-Bits-${#},Push-Bits,Cleanup,Install-Atomix"/>
                </sequential>
            </group>

            <group name="Parallel-Install-ONOS" unless="${ONOS_STC_SEQ_START}">
                <parallel var="${OC#}">
                    <step name="Parallel-Install-${#}" exec="onos-install ${OC#}"
                          requires="Generate-Cluster-Key,Push-Bits-${#},Push-Bits,Cleanup,Install-Atomix"/>
                </parallel>
            </group>
        </group>

        <group name="Verify" requires="Install-ONOS">
            <parallel var="${OC#}">
                <step name="Secure-SSH-${#}"
                      exec="onos-secure-ssh -u ${ONOS_WEB_USER} -p ${ONOS_WEB_PASS} ${OC#}"
                      requires="Install-ONOS"/>

                <step name="Wait-for-Start-${#}" exec="onos-wait-for-start ${OC#}"
                      requires="~Secure-SSH-${#}"/>

                <step name="Check-Nodes-${#}" exec="onos-check-nodes ${OC#}" delay="3"
                      requires="~Wait-for-Start-${#}"/>
                <step name="Check-Components-${#}" delay="5"
                      exec="onos-check-components ${OC#}"
                      requires="~Wait-for-Start-${#}"/>

                <step name="Check-Logs-${#}" exec="onos-check-logs ${OC#}"
                      requires="~Check-Components-${#}"/>
                <step name="Check-Apps-${#}" exec="onos-check-apps ${OC#} ${ONOS_APPS} includes"
                      requires="~Check-Components-${#}"/>

                <dependency name="Enable-Flow-Objective-Intents" requires="Check-Apps-${#}"/>
            </parallel>
        </group>

    </group>
</scenario>
