<PARAMS>
    <testcases>0,[1,2,3]*3</testcases>

    <GRAPH>
        <nodeCluster>BM</nodeCluster>
        <builds>20</builds>
    </GRAPH>

    <SCALE>3,5,7</SCALE>
    <max>7</max>

    <ENV>
        <cellName>topo_perf_test</cellName>
        <cellApps>drivers,events,openflow</cellApps>
    </ENV>

    <MN>
        <ip1>OCN</ip1>
    </MN>

    <GIT>
        <pull>False</pull>
        <branch>master</branch>
    </GIT>

    <TSHARK>
        <tsharkResultPath>/tmp/tshark_mastership_failover</tsharkResultPath>
        <ofpRoleRequest>OpenFlow 90 Type: OFPT_ROLE_REQUEST</ofpRoleRequest>
    </TSHARK>

    <SLEEP>
        <recovery>5</recovery>
        <failover>10</failover>
        <mininet>5</mininet>
    </SLEEP>

    <TIMEOUT>
        <timeout>60</timeout>
    </TIMEOUT>

    <TEST>
        #'on' or 'off' debug mode.
        #If on, logging will be more verbose and
        #tshark pcap will be enabled
        #pcap file located at /tmp/'capture_name'
        <debug>True</debug>

        #Number of iterations to ignore initially
        <warmUp>5</warmUp>

        #Number of times to iterate each case
        <sampleSize>20</sampleSize>

        # Percent of data that can be invalid per sample size iteration.
        # Any more than this will cause the test to fail and stop. Must be a float between 0 and 1.
        <failPercent>0.5</failPercent>

   </TEST>

    <DATABASE>
        <dbName>/tmp/mastershipFailoverLatDB</dbName>
    </DATABASE>

    <SWITCH>
        <id>of:0000000000000001</id>
    </SWITCH>

    <TOPOLOGY>
        <switchCount>5</switchCount>
        <type>linear</type>
    </TOPOLOGY>

    <KILL>
        <nodeNum>0</nodeNum>
    </KILL>
</PARAMS>
