<!--
  ~ 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}"/>
        <step name="Secure-SSH" exec="onos-secure-ssh -u ${ONOS_WEB_USER} -p ${ONOS_WEB_PASS}" if="${ONOS_USE_SSH}"/>

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