<PARAMS>
    #List of test cases:
    #CASE1:   Compile ONOS and push it to the test machines
    #CASE2:   Assign mastership to controllers
    #CASE21:  Assign mastership to controllers
    #CASE102: Start Spine-Leaf Topology in Mininet
    #CASE3:   Assign intents
    #CASE4:   Ping across added host intents
    #CASE104: Ping between all hosts
    #CASE5:   Reading state of ONOS
    #CASE60:  Initialize the upgrade.
    #CASE61:  Upgrade a minority of nodes PHASE 1
    #CASE62:  Transfer to new version. PHASE 2
    #CASE63:  Rollback the upgrade
    #CASE64:  Reset the upgrade state.
    #CASE7:   Check state after control plane failure
    #CASE8:   Compare topo
    #CASE9:   Link down
    #CASE10:  Link up
    #CASE11:  Switch down
    #CASE12:  Switch up
    #CASE13:  Clean up
    #CASE14:  Start election app on all onos nodes
    #CASE15:  Check that Leadership Election is still functional
    #CASE16:  Install Distributed Primitives app
    #CASE17:  Check for basic functionality with distributed primitives
    <testcases>1,2,8,21,[3,4,5,14,15,16,17]*1,[60,8,61,8,62,8,63,8,64,8,7,4,15,17],8,7,4,15,17,9,8,4,10,8,4,11,8,4,12,8,4,13</testcases>

    <GRAPH>
        <nodeCluster>VM</nodeCluster>
        <builds>20</builds>
    </GRAPH>

    <apps></apps>
    <ONOS_Configuration>
        <org.onosproject.net.intent.impl.compiler.IntentConfigurableRegistrator>
            <useFlowObjectives>false</useFlowObjectives>
            <defaultFlowObjectiveCompiler>org.onosproject.net.intent.impl.compiler.LinkCollectionIntentObjectiveCompiler</defaultFlowObjectiveCompiler>
        </org.onosproject.net.intent.impl.compiler.IntentConfigurableRegistrator>
        <org.onosproject.store.flow.impl.ECFlowRuleStore>
            <backupCount>3</backupCount>
        </org.onosproject.store.flow.impl.ECFlowRuleStore>
    </ONOS_Configuration>
    <ONOS_Logging>
        <org.onosproject.events>TRACE</org.onosproject.events>
    </ONOS_Logging>
    <ENV>
        <cellName>HA</cellName>
        <appString>events,drivers,openflow,proxyarp,mobility</appString>
    </ENV>
    <GIT>
        <pull>False</pull>
        <branch>master</branch>
    </GIT>
    <num_controllers> 7 </num_controllers>
    <tcpdump> False </tcpdump>

    <CTRL>
        <port1>6653</port1>
        <port2>6653</port2>
        <port3>6653</port3>
        <port4>6653</port4>
        <port5>6653</port5>
        <port6>6653</port6>
        <port7>6653</port7>
    </CTRL>
    <BACKUP>
        <ENABLED> False </ENABLED>
        <TESTONUSER>sdn</TESTONUSER>
        <TESTONIP>10.128.30.9</TESTONIP>
    </BACKUP>
    <PING>
        <source1>h8</source1>
        <source2>h9</source2>
        <source3>h10</source3>
        <source4>h11</source4>
        <source5>h12</source5>
        <source6>h13</source6>
        <source7>h14</source7>
        <source8>h15</source8>
        <source9>h16</source9>
        <source10>h17</source10>
        <target1>10.0.0.18</target1>
        <target2>10.0.0.19</target2>
        <target3>10.0.0.20</target3>
        <target4>10.0.0.21</target4>
        <target5>10.0.0.22</target5>
        <target6>10.0.0.23</target6>
        <target7>10.0.0.24</target7>
        <target8>10.0.0.25</target8>
        <target9>10.0.0.26</target9>
        <target10>10.0.0.27</target10>
    </PING>
    <timers>
        <LinkDiscovery>12</LinkDiscovery>
        <SwitchDiscovery>12</SwitchDiscovery>
        <gossip>5</gossip>
    </timers>
    <kill>
        <linkSrc> s28 </linkSrc>
        <linkDst> s3 </linkDst>
        <switch> s5 </switch>
        <dpid> 0000000000005000 </dpid>
        <links> h5 s2 s1 s6 </links>
    </kill>
    <MNtcpdump>
        <intf>eth0</intf>
        <port> </port>
        <folder>~/packet_captures/</folder>
    </MNtcpdump>
</PARAMS>
