<PARAMS>
    #List of test cases:
    #CASE1: Compile ONOS and push it to the test machines
    #CASE2: Assign mastership to controllers
    #CASE3: Assign intents
    #CASE4: Ping across added host intents
    #CASE5: Reading state of ONOS
    #CASE6: The Failure case. Since this is the Sanity test, we do nothing.
    #CASE7: Check state after control plane failure
    #CASE8: Compare topo
    #CASE9: Link s3-s28 down
    #CASE10: Link s3-s28 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
    #1,2,8,21,8,3,4,5,14,16,17,[6],8,7,4,15,17,9,8,4,10,8,4,11,8,4,12,8,4,13
    <testcases>1,2,8,21,8,3,4,5,14,16,17,[6],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>
    </ONOS_Configuration>
    <ENV>
        <cellName>HA</cellName>
        <appString>events,drivers,openflow,proxyarp,mobility</appString>
    </ENV>
    <GIT>
        <pull>False</pull>
        <branch>master</branch>
    </GIT>
    <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>
        <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>
