MCPcopy Create free account
hub / github.com/apache/cloudstack / set_backup

Method set_backup

systemvm/debian/opt/cloud/bin/cs/CsRedundant.py:263–303  ·  view source on GitHub ↗

Set the current router to backup

(self, restart_conntrackd=True)

Source from the content-addressed store, hash-verified

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 """

Callers 2

_redundant_onMethod · 0.95

Calls 15

set_lockMethod · 0.95
release_lockMethod · 0.95
CsPasswdSvcClass · 0.85
is_redundantMethod · 0.80
debugMethod · 0.80
get_interfacesMethod · 0.80
get_deviceMethod · 0.80
set_primary_stateMethod · 0.80
executeMethod · 0.65
stopMethod · 0.65
saveMethod · 0.65

Tested by

no test coverage detected