Search in sources :

Example 6 with BatfishLogger

use of org.batfish.common.BatfishLogger in project batfish by batfish.

the class WorkMgrTest method initManager.

@Before
public void initManager() throws Exception {
    Settings settings = new Settings(new String[] {});
    BatfishLogger logger = new BatfishLogger("debug", false);
    Main.mainInit(new String[] { "-containerslocation", _folder.getRoot().toString() });
    Main.setLogger(logger);
    _manager = new WorkMgr(settings, logger);
}
Also used : BatfishLogger(org.batfish.common.BatfishLogger) Settings(org.batfish.coordinator.config.Settings) Before(org.junit.Before)

Example 7 with BatfishLogger

use of org.batfish.common.BatfishLogger in project batfish by batfish.

the class WorkQueueMgrTest method init.

@Before
public void init() {
    Main.mainInit(new String[0]);
    Main.setLogger(new BatfishLogger("debug", false));
    Main.getSettings().setContainersLocation(CommonUtil.createTempDirectory("wqmt"));
    _workQueueMgr = new WorkQueueMgr(Type.memory, Main.getLogger());
}
Also used : BatfishLogger(org.batfish.common.BatfishLogger) Before(org.junit.Before)

Example 8 with BatfishLogger

use of org.batfish.common.BatfishLogger in project batfish by batfish.

the class Main method main.

public static void main(String[] args) {
    mainInit(args);
    _logger = new BatfishLogger(_settings.getLogLevel(), false, _settings.getLogFile(), false, true);
    mainRun();
}
Also used : BatfishLogger(org.batfish.common.BatfishLogger)

Example 9 with BatfishLogger

use of org.batfish.common.BatfishLogger in project batfish by batfish.

the class RouteReflectionTest method generateRoutesTwoReflectors.

private SortedMap<String, SortedMap<String, SortedSet<AbstractRoute>>> generateRoutesTwoReflectors(boolean useSameClusterIds) {
    Ip as1PeeringIp = new Ip("10.12.11.1");
    Ip edge1EbgpIfaceIp = new Ip("10.12.11.2");
    Ip edge1IbgpIfaceIp = new Ip("10.1.12.1");
    Ip edge1LoopbackIp = new Ip("2.0.0.1");
    Ip rr1Edge1IfaceIp = new Ip("10.1.12.2");
    Ip rr1Rr2IfaceIp = new Ip("10.1.23.2");
    Ip rr1LoopbackIp = new Ip("2.0.0.2");
    Ip rr2IbgpIfaceIp = new Ip("10.1.23.3");
    Ip rr2LoopbackIp = new Ip("2.0.0.3");
    StaticRoute.Builder sb = StaticRoute.builder();
    Configuration edge1 = _cb.setHostname(EDGE1_NAME).build();
    Vrf vEdge1 = _vb.setOwner(edge1).build();
    _ib.setOwner(edge1).setVrf(vEdge1);
    _ib.setAddress(new InterfaceAddress(edge1EbgpIfaceIp, EDGE_PREFIX_LENGTH)).build();
    _ib.setAddress(new InterfaceAddress(edge1LoopbackIp, Prefix.MAX_PREFIX_LENGTH)).build();
    _ib.setAddress(new InterfaceAddress(edge1IbgpIfaceIp, EDGE_PREFIX_LENGTH)).build();
    vEdge1.setStaticRoutes(ImmutableSortedSet.of(sb.setNextHopIp(rr1Edge1IfaceIp).setNetwork(new Prefix(rr1LoopbackIp, Prefix.MAX_PREFIX_LENGTH)).build()));
    BgpProcess edge1Proc = _pb.setRouterId(edge1LoopbackIp).setVrf(vEdge1).build();
    RoutingPolicy edge1EbgpExportPolicy = _nullExportPolicyBuilder.setOwner(edge1).build();
    _nb.setOwner(edge1).setVrf(vEdge1).setBgpProcess(edge1Proc).setClusterId(edge1LoopbackIp.asLong()).setRemoteAs(1).setLocalIp(edge1EbgpIfaceIp).setPeerAddress(as1PeeringIp).setExportPolicy(edge1EbgpExportPolicy.getName()).build();
    RoutingPolicy edge1IbgpExportPolicy = _defaultExportPolicyBuilder.setOwner(edge1).build();
    _nb.setRemoteAs(2).setLocalIp(edge1LoopbackIp).setPeerAddress(rr1LoopbackIp).setExportPolicy(edge1IbgpExportPolicy.getName()).build();
    Configuration rr1 = _cb.setHostname(RR1_NAME).build();
    Vrf vRr1 = _vb.setOwner(rr1).build();
    _ib.setOwner(rr1).setVrf(vRr1);
    _ib.setAddress(new InterfaceAddress(rr1Edge1IfaceIp, EDGE_PREFIX_LENGTH)).build();
    _ib.setAddress(new InterfaceAddress(rr1LoopbackIp, Prefix.MAX_PREFIX_LENGTH)).build();
    _ib.setAddress(new InterfaceAddress(rr1Rr2IfaceIp, EDGE_PREFIX_LENGTH)).build();
    vRr1.setStaticRoutes(ImmutableSortedSet.of(sb.setNextHopIp(edge1IbgpIfaceIp).setNetwork(new Prefix(edge1LoopbackIp, Prefix.MAX_PREFIX_LENGTH)).build(), sb.setNextHopIp(rr2IbgpIfaceIp).setNetwork(new Prefix(rr2LoopbackIp, Prefix.MAX_PREFIX_LENGTH)).build()));
    BgpProcess rr1Proc = _pb.setRouterId(rr1LoopbackIp).setVrf(vRr1).build();
    RoutingPolicy rr1ExportPolicy = _defaultExportPolicyBuilder.setOwner(rr1).build();
    _nb.setOwner(rr1).setVrf(vRr1).setBgpProcess(rr1Proc).setClusterId(rr1LoopbackIp.asLong()).setRemoteAs(2).setLocalIp(rr1LoopbackIp).setExportPolicy(rr1ExportPolicy.getName()).setRouteReflectorClient(true).setPeerAddress(edge1LoopbackIp).build();
    _nb.setRouteReflectorClient(false).setPeerAddress(rr2LoopbackIp).build();
    Configuration rr2 = _cb.setHostname(RR2_NAME).build();
    Vrf vRr2 = _vb.setOwner(rr2).build();
    _ib.setOwner(rr2).setVrf(vRr2);
    _ib.setAddress(new InterfaceAddress(rr2LoopbackIp, Prefix.MAX_PREFIX_LENGTH)).build();
    _ib.setAddress(new InterfaceAddress(rr2IbgpIfaceIp, EDGE_PREFIX_LENGTH)).build();
    BgpProcess rr2Proc = _pb.setRouterId(rr2LoopbackIp).setVrf(vRr2).build();
    RoutingPolicy edge2IbgpExportPolicy = _defaultExportPolicyBuilder.setOwner(rr2).build();
    vRr2.setStaticRoutes(ImmutableSortedSet.of(sb.setNextHopIp(rr1Rr2IfaceIp).setNetwork(new Prefix(rr1LoopbackIp, Prefix.MAX_PREFIX_LENGTH)).build()));
    Ip rr2ClusterIdForRr1 = useSameClusterIds ? rr1LoopbackIp : rr2LoopbackIp;
    _nb.setOwner(rr2).setVrf(vRr2).setBgpProcess(rr2Proc).setClusterId(rr2ClusterIdForRr1.asLong()).setLocalIp(rr2LoopbackIp).setPeerAddress(rr1LoopbackIp).setRouteReflectorClient(true).setExportPolicy(edge2IbgpExportPolicy.getName()).build();
    SortedMap<String, Configuration> configurations = new ImmutableSortedMap.Builder<String, Configuration>(String::compareTo).put(edge1.getName(), edge1).put(rr1.getName(), rr1).put(rr2.getName(), rr2).build();
    BdpEngine engine = new BdpEngine(new MockBdpSettings(), new BatfishLogger(BatfishLogger.LEVELSTR_OUTPUT, false), (s, i) -> new AtomicInteger());
    Topology topology = CommonUtil.synthesizeTopology(configurations);
    BdpDataPlane dp = engine.computeDataPlane(false, configurations, topology, ImmutableSet.of(_ab.setAsPath(AsPath.ofSingletonAsSets(1)).setDstIp(edge1EbgpIfaceIp).setDstNode(edge1.getName()).setNetwork(AS1_PREFIX).setNextHopIp(as1PeeringIp).setOriginatorIp(as1PeeringIp).setSrcIp(as1PeeringIp).setSrcNode("as1Edge").build()), new BdpAnswerElement());
    return engine.getRoutes(dp);
}
Also used : StaticRoute(org.batfish.datamodel.StaticRoute) BdpAnswerElement(org.batfish.datamodel.answers.BdpAnswerElement) Configuration(org.batfish.datamodel.Configuration) BatfishLogger(org.batfish.common.BatfishLogger) BgpProcess(org.batfish.datamodel.BgpProcess) InterfaceAddress(org.batfish.datamodel.InterfaceAddress) Ip(org.batfish.datamodel.Ip) RoutingPolicy(org.batfish.datamodel.routing_policy.RoutingPolicy) Vrf(org.batfish.datamodel.Vrf) AbstractRouteMatchers.hasPrefix(org.batfish.datamodel.matchers.AbstractRouteMatchers.hasPrefix) Prefix(org.batfish.datamodel.Prefix) Topology(org.batfish.datamodel.Topology) AtomicInteger(java.util.concurrent.atomic.AtomicInteger)

Example 10 with BatfishLogger

use of org.batfish.common.BatfishLogger in project batfish by batfish.

the class BatfishJobExecutorTest method testHandleJobResultFailure.

@Test
public void testHandleJobResultFailure() {
    Settings settings = new Settings();
    // initializing executor
    BatfishJobExecutor executor = BatfishJobExecutor.getBatfishJobExecutor(settings, _logger);
    executor.initializeJobsStats(Lists.newArrayList(new BfTestJob(settings, "result1")), TEST_EXECUTOR_DESC);
    // Simulating failure of a job and handling the result
    // initiating a separate logger from the Executor logger
    BatfishLogger jobLogger = new BatfishLogger(BatfishLogger.LEVELSTR_INFO, false);
    BfTestResult bfTestResult = new BfTestResult(TEST_ELAPSED_TIME, jobLogger.getHistory(), new BatfishException("Test Job Failure Message"));
    Set<String> output = new HashSet<>();
    List<BatfishException> failureCauses = new ArrayList<>();
    BfTestAnswerElement ae = new BfTestAnswerElement();
    executor.markJobCompleted();
    executor.handleJobResult(bfTestResult, output, ae, failureCauses, false);
    // checking that correct failure message is written in the log
    assertEquals(failureCauses.get(0).getMessage(), executor.getFailureMessage(bfTestResult));
}
Also used : BatfishException(org.batfish.common.BatfishException) BatfishLogger(org.batfish.common.BatfishLogger) ArrayList(java.util.ArrayList) Settings(org.batfish.config.Settings) HashSet(java.util.HashSet) Test(org.junit.Test)

Aggregations

BatfishLogger (org.batfish.common.BatfishLogger)22 AtomicInteger (java.util.concurrent.atomic.AtomicInteger)6 Settings (org.batfish.config.Settings)6 Configuration (org.batfish.datamodel.Configuration)6 Test (org.junit.Test)6 Path (java.nio.file.Path)5 BatfishException (org.batfish.common.BatfishException)5 Topology (org.batfish.datamodel.Topology)5 Vrf (org.batfish.datamodel.Vrf)5 File (java.io.File)4 IOException (java.io.IOException)4 EnvironmentSettings (org.batfish.config.Settings.EnvironmentSettings)4 TestrigSettings (org.batfish.config.Settings.TestrigSettings)4 Ip (org.batfish.datamodel.Ip)4 BdpAnswerElement (org.batfish.datamodel.answers.BdpAnswerElement)4 ActiveSpan (io.opentracing.ActiveSpan)3 ArrayList (java.util.ArrayList)3 HashSet (java.util.HashSet)3 Nullable (javax.annotation.Nullable)3 CleanBatfishException (org.batfish.common.CleanBatfishException)3