<PARAMS>
    <testcases>2</testcases>

    <GRAPH>
        <nodeCluster>staging</nodeCluster>
        <builds>20</builds>
        <jobName>SReNBLeafSpinePortstateFaliure</jobName>
        <branch>master</branch>
    </GRAPH>

    <SCALE>
        <size>3</size>
        <max>3</max>
    </SCALE>

    <DEPENDENCY>
        <useCommonConf>False</useCommonConf>
        <useCommonTopo>True</useCommonTopo>
        <useBmv2>True</useBmv2>
        <bmv2SwitchType>stratum</bmv2SwitchType>
        <switchPrefix></switchPrefix>
        <stratumRoot>~/stratum</stratumRoot>
        <topology>trellis_fabric.py</topology>
        <lib>routinglib.py,trellislib.py,stratum.py</lib>
    </DEPENDENCY>

    <jsonFileSuffix>.hw</jsonFileSuffix>

    <persistent_setup>True</persistent_setup>

    <use_stern>True</use_stern>

    <kubernetes>
        <appName>onos-classic</appName>
        <namespace>tost</namespace>
    </kubernetes>

    <PERF>
        <traffic_host>Host1 Host2 Host3</traffic_host>
        <pcap_host>ng40vm</pcap_host>
        <pcap_cmd_arguments>-t e -F pcap -s 100 </pcap_cmd_arguments>
        <iterations>1</iterations>
        <topo>
            <leaf1>
                <ports>176 180 184 188</ports>
                <note>eNB</note>
            </leaf1>
            <leaf2>
                <ports>260 268 276 284</ports>
                <note>upstream</note>
            </leaf2>
            <spine1>
                <ports>128 136 144 152</ports>
                <note>spine</note>
            </spine1>
            <spine2>
                <ports>132 140 148 156</ports>
                <note>spine</note>
            </spine2>
        </topo>
    </PERF>
    <ONOS_Logging>
        <org.onosproject.p4runtime.ctl.client>DEBUG</org.onosproject.p4runtime.ctl.client>
        <org.onosproject.p4runtime.ctl.client.writerequestimpl>TRACE</org.onosproject.p4runtime.ctl.client.writerequestimpl>
        <org.onosproject.segmentrouting>DEBUG</org.onosproject.segmentrouting>
        <org.onosproject.gnmi.ctl>TRACE</org.onosproject.gnmi.ctl>
    </ONOS_Logging>
    <ONOS_Logging_Reset>
        <org.onosproject.p4runtime.ctl.client>INFO</org.onosproject.p4runtime.ctl.client>
        <org.onosproject.p4runtime.ctl.client.writerequestimpl>INFO</org.onosproject.p4runtime.ctl.client.writerequestimpl>
        <org.onosproject.segmentrouting>DEBUG</org.onosproject.segmentrouting>
        <org.onosproject.gnmi.ctl>INFO</org.onosproject.gnmi.ctl>
    </ONOS_Logging_Reset>


    <ENV>
        <cellName>productionCell</cellName>
        <cellApps>drivers,fpm,lldpprovider,hostprovider,netcfghostprovider,drivers.bmv2,org.opencord.fabric-tofino,pipelines.fabric,org.stratumproject.fabric-tna,drivers.barefoot,segmentrouting,t3</cellApps>
    </ENV>

    <EXTERNAL_APPS>
    </EXTERNAL_APPS>

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

    <timers>
        <LinkDiscovery>12</LinkDiscovery>
        <SwitchDiscovery>12</SwitchDiscovery>
        <TrafficDiscovery>10</TrafficDiscovery>
    </timers>

    <SLEEP>
        <startup>10</startup>
    </SLEEP>

    <TOPO>
        <switchNum>4</switchNum>
        <linkNum>16</linkNum>
    </TOPO>

    <ALARM>
        <minPassPercent>100</minPassPercent>
    </ALARM>
</PARAMS>
