<!--
  ~ 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="shutdown" description="ONOS cluster shutdown">
    <group name="Shutdown-ONOS">
        <parallel var="${OC#}">
            <step name="Stop-Service-${#}" exec="onos-service ${OC#} stop"/>
            <step name="Wait-for-Stop-${#}" exec="onos-wait-for-stop ${OC#}"
                  requires="~Stop-Service-${#}"/>
            <step name="Shutdown-ONOS.Check-Logs-${#}" exec="onos-check-logs ${OC#}"
                  requires="~Wait-for-Stop-${#}"/>
        </parallel>
    </group>
    <group name="Shutdown-Atomix">
        <group name="Shutdown-Atomix-OC" unless="${OCC1}">
            <parallel var="${OC#}">
                <step name="Atomix-Kill-${#}" env="~" exec="atomix-kill ${OC#}" requires="Shutdown-ONOS"/>
            </parallel>
        </group>
        <group name="Shutdown-Atomix-OCC" if="${OCC1}">
            <parallel var="${OCC#}">
                <step name="Atomix-Kill-${#}" env="~" exec="atomix-kill ${OCC#}" requires="~Shutdown-ONOS"/>
            </parallel>
        </group>
    </group>
</scenario>
