<PARAMS>

    # 1 - optional pull and build ONOS package
    # 2 - set cell and install ONOS
    # 10 - start mininet
    # 11 - pingall and verify topo
    # 100 - balance master and bring onos node down
    # 200 - bring onos node up and balance masters
    # 1000 - report logs
    # 1001 - report alarms
    # 1,[2,10,300,11,100,300,11,200,300,11,1000]*3
    <testcases>1,[3,2,10,300,11,1000]*5,3,1001</testcases>

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

    <DEPENDENCY>
        <path>/tests/SCPF/SCPFscaleTopo/dependencies/</path>
        <wrapper1>startUp</wrapper1>
        <wrapper2>scaleTopoFunction</wrapper2>
        <wrapper3>topo</wrapper3>
        <multiovs>multiovs.py</multiovs>
    </DEPENDENCY>

    <TsharkPath>/tmp/scaleTopo_tshark_role_request</TsharkPath>

    <DATABASE>
        <dbPath>/tmp/scaleTopoResultDb</dbPath>
    </DATABASE>

    <ENV>
        <cellApps>drivers</cellApps>
    </ENV>

    <SearchTerm>
        <start>New switch connection</start>
        <end>Topology DefaultTopology</end>
        <Disconnect>Switch disconnected callback</Disconnect>
        <roleRequest>OpenFlow 90 Type: OFPT_ROLE_REQUEST</roleRequest>
    </SearchTerm>

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

    <CTRL>
        <port>6653</port>
        <numCtrls>3</numCtrls>
    </CTRL>

    <TSHARK>
        <tsharkInterface>lo</tsharkInterface>
    </TSHARK>

    <SLEEP>
        <startup>15</startup>
        <balance>10</balance>
        <nodeSleep>10</nodeSleep>
        <pingall>15</pingall>
        <MNsleep>60</MNsleep>
        <host>20</host>
    </SLEEP>

    <TIMEOUT>
        # pingall timeout unit: ms
        <pingall>0.03</pingall>
        # others unit: s
        <basicMininet>1000</basicMininet>
        <startNet>50</startNet>
        <stopNet>60</stopNet>
        <update>40</update>
        <links>60</links>
        <getTopo>120</getTopo>
    </TIMEOUT>

    <ATTEMPTS>
        <topoCmp>1</topoCmp>
        <pingall>3</pingall>
    </ATTEMPTS>

    <TOPOLOGY>
        <topology>torus</topology>
        <scale>10,20,30,40,50</scale>
        <host>True</host>
    </TOPOLOGY>

    <ALARM>
        <minMaxScale>40</minMaxScale>
    </ALARM>

</PARAMS>
