def tgen(request): tgen = Topogen(topodef, request.module.__name__) tgen.start_topology() router_list = tgen.routers() for rname, router in router_list.items(): router.load_config(TopoRouter.RD_ZEBRA, "zebra.conf") router.load_config(TopoRouter.RD_BGP, "bgpd.conf") tgen.start_router() yield tgen tgen.stop_topology()
def tgen(request): "Sets up the pytest environment" topodef = {"s1": ("r1")} tgen = Topogen(topodef, request.module.__name__) tgen.start_topology() # Initialize all routers. router_list = tgen.routers() for rname, router in router_list.items(): router.load_config(TopoRouter.RD_ZEBRA, "zebra.conf") router.load_config(TopoRouter.RD_SHARP) tgen.start_router() yield tgen tgen.stop_topology()
def _tgen(request): "Setup/Teardown the environment and provide tgen argument to tests" nrouters = request.param topodef = {f"sw{i}": (f"r{i}", f"r{i+1}") for i in range(1, nrouters)} tgen = Topogen(topodef, request.module.__name__) tgen.start_topology() router_list = tgen.routers() for _, router in router_list.items(): router.load_config(TopoRouter.RD_ZEBRA, "zebra.conf") router.load_config(TopoRouter.RD_OSPF, "ospfd.conf") router.net.daemons_options["ospfd"] = "--apiserver" tgen.start_router() yield tgen tgen.stop_topology()
def tgen(request): "Setup/Teardown the environment and provide tgen argument to tests" topodef = {"s1": ("r1", "r2")} tgen = Topogen(topodef, request.module.__name__) tgen.start_topology() router_list = tgen.routers() for rname, router in router_list.items(): router.load_config(TopoRouter.RD_ZEBRA, "zebra.conf", f"-M grpc:{GRPCP_ZEBRA}") router.load_config(TopoRouter.RD_STATIC, None, f"-M grpc:{GRPCP_STATICD}") # router.load_config(TopoRouter.RD_BFD, None, f"-M grpc:{GRPCP_BFDD}") # router.load_config(TopoRouter.RD_ISIS, None, f"-M grpc:{GRPCP_ISISD}") # router.load_config(TopoRouter.RD_OSPF, None, f"-M grpc:{GRPCP_OSPFD}") # router.load_config(TopoRouter.RD_PIM, None, f"-M grpc:{GRPCP_PIMD}") tgen.start_router() yield tgen logging.info("Stopping all routers (no assert on error)") tgen.stop_topology()
def tgen(request): "Setup/Teardown the environment and provide tgen argument to tests" # This function initiates the topology build with Topogen... tgen = Topogen(build_topo, request.module.__name__) # A basic topology similar to the above could also have be more easily specified # using a # dictionary, remove the build_topo function and use the following # instead: # # topodef = { # "s1": "r1" # "s2": ("r1", "r2") # } # tgen = Topogen(topodef, request.module.__name__) # ... and here it calls initialization functions. tgen.start_topology() # This is a sample of configuration loading. router_list = tgen.routers() # For all routers arrange for: # - starting zebra using config file from <rtrname>/zebra.conf # - starting ospfd using an empty config file. for rname, router in router_list.items(): router.load_config(TopoRouter.RD_ZEBRA, "zebra.conf") router.load_config(TopoRouter.RD_OSPF) # Start and configure the router daemons tgen.start_router() # Provide tgen as argument to each test function yield tgen # Teardown after last test runs tgen.stop_topology()