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

Method set_fault

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

Set fault mode on this router

(self)

Source from the content-addressed store, hash-verified

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

Callers 1

Calls 15

set_lockMethod · 0.95
release_lockMethod · 0.95
CsPasswdSvcClass · 0.85
is_redundantMethod · 0.80
get_interfacesMethod · 0.80
get_deviceMethod · 0.80
set_fault_stateMethod · 0.80
executeMethod · 0.65
stopMethod · 0.65
saveMethod · 0.65
errorMethod · 0.45
infoMethod · 0.45

Tested by

no test coverage detected