def _reboot_into_normal(self, router: Router, q: Queue): print("Reboot Router back into normalmode ...") nv_assist = NVAssistent("eth0") nv_assist.create_namespace_vlan(router) # Set netns for the current process netns.setns(router.namespace_name) router_reboot = RouterReboot(router, configmode=False) router_reboot.start() router_reboot.join() assert router.mode == Mode.normal nv_assist.close() q.put(router)
def _reboot_into_config(self, router: Router, q: Queue): print("Reboot Router into configmode ...") # Create NVAssistent nv_assist = NVAssistent("eth0") nv_assist.create_namespace_vlan(router) # Set netns for the current process netns.setns(router.namespace_name) # Reboot Router into configmode router_reboot = RouterReboot(router, configmode=True) router_reboot.start() router_reboot.join() assert router.mode == Mode.configuration nv_assist.close() q.put(router)
def test_reboot_into_config(self): # Create router router = Router(1, "vlan1", 21, "10.223.254.254", 16, "192.168.1.1", 24, "root", "root", 1) router.model = "TP-LINK TL-WR841N/ND v9" router.mac = "e8:de:27:b7:7c:e2" router.mode = Mode.normal assert isinstance(router, Router) RouterReboot().configmode(router) assert router.mode == Mode.configuration
def reboot_router(cls, router_ids: List[int], reboot_all: bool, configmode: bool): """ Reboots the given Routers. :param router_ids: List of unique numbers to identify a Router :param reboot_all: Reboots all Routers :param configmode: Reboots Router into configmode """ from util.router_reboot import RouterReboot if reboot_all: for router in cls.get_routers(): if configmode: RouterReboot.configmode(router) else: RouterReboot.normal(router) else: for router_id in router_ids: router = cls.get_router_by_id(router_id) if configmode: RouterReboot.configmode(router) else: RouterReboot.normal(router)