<!--
  ~ 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" 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" 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 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>
