Set fault mode on this router
(self)
| 229 | sleep(time_between) |
| 230 | |
| 231 | def set_fault(self): |
| 232 | """ Set fault mode on this router """ |
| 233 | if not self.cl.is_redundant(): |
| 234 | logging.error("Set fault called on non-redundant router") |
| 235 | return |
| 236 | |
| 237 | self.set_lock() |
| 238 | logging.info("Setting router to fault") |
| 239 | |
| 240 | interfaces = [interface for interface in self.address.get_interfaces() if interface.is_public()] |
| 241 | for interface in interfaces: |
| 242 | CsHelper.execute("ifconfig %s down" % interface.get_device()) |
| 243 | |
| 244 | cmd = "%s -C %s" % (self.CONNTRACKD_BIN, self.CONNTRACKD_CONF) |
| 245 | CsHelper.execute("%s -s" % cmd) |
| 246 | CsHelper.service("ipsec", "stop") |
| 247 | CsHelper.service("xl2tpd", "stop") |
| 248 | CsHelper.service("dnsmasq", "stop") |
| 249 | CsHelper.service("radvd", "stop") |
| 250 | |
| 251 | interfaces = [interface for interface in self.address.get_interfaces() if interface.needs_vrrp()] |
| 252 | for interface in interfaces: |
| 253 | CsPasswdSvc(interface.get_gateway() + "," + interface.get_ip()).stop() |
| 254 | |
| 255 | self.cl.set_fault_state() |
| 256 | self.cl.save() |
| 257 | self.release_lock() |
| 258 | logging.info("Router switched to fault mode") |
| 259 | |
| 260 | interfaces = [interface for interface in self.address.get_interfaces() if interface.is_public()] |
| 261 | CsHelper.reconfigure_interfaces(self.cl, interfaces) |
| 262 | |
| 263 | def set_backup(self, restart_conntrackd=True): |
| 264 | """ Set the current router to backup """ |
no test coverage detected