<PARAMS>

    # 0-init
    # 1-setup
    # 2-Install
    # 10-null provider setup
    # 20-pushing intents, and rerouting intents if reroute is true
    # 0,1,2,10,20,1,2,10,20,1,2,10,20
   <testcases>0,1,2,11,20,1,2,11,20,1,2,11,20,1,2,11,20</testcases>

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

    <reroute>False</reroute>

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

    <DEPENDENCY>
        <path>/tests/SCPF/SCPFscalingMaxIntents/dependencies/</path>
        <wrapper1>startUp</wrapper1>
        <topology>rerouteTopo.py</topology>
    </DEPENDENCY>

    <ENV>
        <cellName>productionCell</cellName>
        <cellApps>drivers,openflow</cellApps>
    </ENV>
    <TEST>
        <flowObj>False</flowObj>
    </TEST>
    <CFG>
        <intentConfigRegi>org.onosproject.net.intent.impl.compiler.IntentConfigurableRegistrator</intentConfigRegi>
        <nullProvider>org.onosproject.provider.nil.NullProviders</nullProvider>
        <linkCollectionIntent>org.onosproject.net.intent.impl.compiler.LinkCollectionIntentObjectiveCompiler</linkCollectionIntent>
    </CFG>
    <GIT>
        <pull>False</pull>
        <branch>master</branch>
    </GIT>

    <CTRL>
        <port>6653</port>
    </CTRL>

    <SLEEP>
        <startup>10</startup>
        <install>10</install>
        <verify>15</verify>
        <reroute>3</reroute>
        # timeout for pexpect
        <timeout>300</timeout>
    </SLEEP>

    <ATTEMPTS>
        <verify>3</verify>
        <push>3</push>
    </ATTEMPTS>

    <DATABASE>
        <dbName>/tmp/ScalingMaxIntentDB</dbName>
        <dbFlowObj>/tmp/ScalingMaxIntentDBWFO</dbFlowObj>
        <nic>1gig</nic>
        <node>baremetal</node>
    </DATABASE>

    <LINK>
        <ingress>0000000000000001/5</ingress>
        <egress>0000000000000007/5</egress>
    </LINK>

    # CASE10
    <NULL>
        # CASE20
        <PUSH>
            <batch_size>500</batch_size>
            <min_intents>2500</min_intents>
            <max_intents>1000000</max_intents>
            <check_interval>2500</check_interval>
        </PUSH>

        # if reroute is true
        <REROUTE>
            <batch_size>1000</batch_size>
            <min_intents>10000</min_intents>
            <max_intents>1000000</max_intents>
            <check_interval>100000</check_interval>
        </REROUTE>
    </NULL>

    # CASE11
    <OVS>
        # CASE20
        <PUSH>
            <batch_size>500</batch_size>
            <min_intents>2500</min_intents>
            <max_intents>1000000</max_intents>
            <check_interval>2500</check_interval>
        </PUSH>

        # if reroute is true
        <REROUTE>
            <batch_size>1000</batch_size>
            <min_intents>10000</min_intents>
            <max_intents>500000</max_intents>
            <check_interval>10000</check_interval>
        </REROUTE>
    </OVS>


</PARAMS>
