<PARAMS>
    # CASE - Description
    # 1 - Variable initialization and optional pull and build ONOS package
    # 2 - Install ONOS
    # 9 - Report logs
    # 10 - Start Mininet with Openflow 1.0
    # 11 - Start Mininet with Openflow 1.3
    # 12 - Assign switch to controller
    # 14 - Stop Mininet
    # 20 - Add NetCfgs for undiscovered devices
    # 21 - Check NetCfgs after devices connect
    # 22 - Add NetCfgs for discovered devices
    # 23 - Check NetCfgs after all devices are connected and NetCfgs are set
    # 24 - Remove NetCfgs
    # 25 - Move network-cfg.json to onos directory for prebuild configurations
    # 26 - Check that prebuild configurations are correct
    # 27 - Posting network configurations to the top level web resource

    <testcases>1,25,2,20,11,27,26,21,22,23,24</testcases>

    <DEPENDENCY>
        <path>/tests/FUNC/FUNCnetCfg/dependencies/</path>
        <wrapper1>startUp</wrapper1>
        <wrapper2>netCfg</wrapper2>
        <wrapper3>topo</wrapper3>
    </DEPENDENCY>

    <ENV>
        <cellApps>drivers,openflow,proxyarp,mobility</cellApps>
    </ENV>
    <GIT>
        <pull>False</pull>
        <branch>master</branch>
    </GIT>

    <SLEEP>
        <startup>15</startup>
        <cfgGossip>2</cfgGossip>
        <SetNetCfgSleep>5</SetNetCfgSleep>
    </SLEEP>

    <MININET>
        <switch>6</switch>
    </MININET>
    <RETRY>30</RETRY>
    <RetrySleep>2</RetrySleep>
</PARAMS>
