<PARAMS>
    # CASE - Description
    # 0    - Variable initialization and optional pull and build ONOS package
    # 1    - install ONOS with single node
    # 2    - Starting ONOS with forming clusters.
    # 3    - Checking the ONOS configuration with single node
    # 4    - Checking the ONOS configuration with cluster formed
    # 5    - Starting Mininet and verifying topology

    <testcases>0,1,3,2,4,5</testcases>

    <DEPENDENCY>
        <path>/tests/FUNC/FUNCformCluster/dependencies/</path>
        <file>formClusterFuncs</file>
    </DEPENDENCY>
    <GRAPH>
        <nodeCluster>BM</nodeCluster>
        <builds>20</builds>
    </GRAPH>
    <ENV>
        <cellApps>drivers,openflow</cellApps>
        <additionalApp>org.onosproject.fwd</additionalApp>
        <cellBasicName>singleTemp</cellBasicName>
    </ENV>
    <GIT>
        <pull>False</pull>
        <branch>master</branch>
    </GIT>
    <TEST>
        <numNodes>7</numNodes>
    </TEST>
    <RETRY>
        <pingall>2</pingall>
        <topoCheck>2</topoCheck>
    </RETRY>
    <SLEEP>
        <afterONOSStart>15</afterONOSStart>
        <pingall>3</pingall>
    </SLEEP>
    <MININET>
        <topo>mn --topo tree,2,2</topo>
    </MININET>

</PARAMS>
