<!--
  ~ 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-Atomix-Bits" exec="atomix-push-bits-through-proxy" if="${OCT}"/>
        <step name="Push-ONOS-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-ONOS-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="Push-Atomix-Bits-${#}" exec="atomix-push-bits ${OC#}"
                          unless="${OCT}"/>
                    <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="Push-Atomix-Bits-${#}" exec="atomix-push-bits ${OC#}"
                          unless="${OCT}"/>
                    <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-Atomix-Bits-${#},Push-Atomix-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-Atomix-Bits-${#},Push-Atomix-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-ONOS-Bits-${#},Push-ONOS-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-ONOS-Bits-${#},Push-ONOS-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>
