<!--
  ~ Copyright 2015 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}"/>

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

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

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

            <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 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>
