Set the current router to backup
(self, restart_conntrackd=True)
| 261 | CsHelper.reconfigure_interfaces(self.cl, interfaces) |
| 262 | |
| 263 | def set_backup(self, restart_conntrackd=True): |
| 264 | """ Set the current router to backup """ |
| 265 | if not self.cl.is_redundant(): |
| 266 | logging.error("Set backup called on non-redundant router") |
| 267 | return |
| 268 | |
| 269 | self.set_lock() |
| 270 | logging.debug("Setting router to backup") |
| 271 | |
| 272 | dev = '' |
| 273 | interfaces = [interface for interface in self.address.get_interfaces() if interface.is_public()] |
| 274 | for interface in interfaces: |
| 275 | if dev == interface.get_device(): |
| 276 | continue |
| 277 | logging.info("Bringing public interface %s down" % interface.get_device()) |
| 278 | cmd2 = "ip link set %s down" % interface.get_device() |
| 279 | CsHelper.execute(cmd2) |
| 280 | dev = interface.get_device() |
| 281 | |
| 282 | self._remove_ipv6_guest_gateway() |
| 283 | |
| 284 | if restart_conntrackd: |
| 285 | CsHelper.service("conntrackd", "restart") |
| 286 | else: |
| 287 | CsHelper.service("conntrackd", "stop") |
| 288 | CsHelper.service("ipsec", "stop") |
| 289 | CsHelper.service("xl2tpd", "stop") |
| 290 | |
| 291 | interfaces = [interface for interface in self.address.get_interfaces() if interface.needs_vrrp()] |
| 292 | for interface in interfaces: |
| 293 | CsPasswdSvc(interface.get_gateway() + "," + interface.get_ip()).stop() |
| 294 | |
| 295 | CsHelper.service("dnsmasq", "stop") |
| 296 | |
| 297 | self.cl.set_primary_state(False) |
| 298 | self.cl.save() |
| 299 | self.release_lock() |
| 300 | |
| 301 | interfaces = [interface for interface in self.address.get_interfaces() if interface.is_public()] |
| 302 | CsHelper.reconfigure_interfaces(self.cl, interfaces) |
| 303 | logging.info("Router switched to backup mode") |
| 304 | |
| 305 | def set_primary(self): |
| 306 | """ Set the current router to primary """ |
no test coverage detected