<!--
  ~ Copyright 2015-present Open Networking Laboratory
  ~
  ~ 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="tar-setup" description="ONOS cluster setup via onos.tar.gz">
    <group name="Setup-Instances">
        <step name="Push-Bits" exec="onos-push-bits-through-proxy" if="${OCT}"/>
        <step name="Secure-SSH" exec="onos-secure-ssh -u ${ONOS_WEB_USER} -p ${ONOS_WEB_PASS}"/>

        <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-${#}"/>

            <step name="Untar-And-Run-${#}" exec="onos-untar-and-run ${OC#}"
                  requires="Kill-${#},Push-Bits-${#},Push-Bits"/>

            <dependency name="Secure-SSH" requires="Untar-And-Run-${#}"/>

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

            <step name="Check-Logs-${#}" exec="onos-check-logs ${OC#}"
                  requires="~Wait-for-Start-${#}"/>
            <step name="Check-Components-${#}" exec="onos-check-components ${OC#}"
                  requires="~Wait-for-Start-${#}"/>
            <step name="Check-Apps-${#}" exec="onos-check-apps ${OC#} drivers"
                  requires="~Wait-for-Start-${#}"/>

            <step name="Check-Nodes-${#}" exec="onos-check-nodes ${OC#} ${OC#}"
                  requires="~Wait-for-Start-${#}"/>
        </parallel>
    </group>

    <group name="Setup-Cluster" requires="Setup-Instances" unless="${NO_CLUSTER}">
        <step name="Form-Cluster" exec="onos-form-cluster -u ${ONOS_WEB_USER} -p ${ONOS_WEB_PASS} cell"/>
        <parallel var="${OC#}">
            <step name="Wait-for-Start-Again-${#}" exec="onos-wait-for-start ${OC#}"
                  requires="Form-Cluster"/>

            <step name="Check-Logs-Again-${#}" exec="onos-check-logs ${OC#}"
                  requires="~Wait-for-Start-Again-${#}"/>
            <step name="Check-Components-Again-${#}" exec="onos-check-components ${OC#}"
                  requires="~Wait-for-Start-Again-${#}"/>
            <step name="Check-Apps-Again-${#}" exec="onos-check-apps ${OC#} drivers"
                  requires="~Wait-for-Start-Again-${#}"/>

            <step name="Check-Nodes-Again-${#}" exec="onos-check-nodes ${OC#}"
                  requires="~Wait-for-Start-Again-${#}"/>
        </parallel>
    </group>

</scenario>
