setup.xml 2.45 KB
<!--
  ~ 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="setup" description="ONOS cluster setup">
    <group name="Setup">
        <step name="Push-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"/>

        <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="Install-${#}" exec="onos-install ${OC#}"
                  requires="Kill-${#},Push-Bits-${#},Push-Bits"/>

            <step name="Secure-SSH-${#}" requires="Install-${#}"
                  exec="onos-secure-ssh -u ${ONOS_WEB_USER} -p ${ONOS_WEB_PASS} ${OC#}"
                  if="${ONOS_USE_SSH}"/>

            <step name="Wait-for-Start-${#}" exec="onos-wait-for-start ${OC#}"
                  requires="Install-${#},~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>
</scenario>