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

Method process

systemvm/debian/opt/cloud/bin/cs/CsBgpPeers.py:32–64  ·  view source on GitHub ↗
(self)

Source from the content-addressed store, hash-verified

30class CsBgpPeers(CsDataBag):
31
32 def process(self):
33 logging.info("Processing CsBgpPeers file ==> %s" % self.dbag)
34
35 if self.config.is_vpc():
36 self.public_ip = self.cl.get_source_nat_ip()
37 else:
38 self.public_ip = self.cl.get_eth2_ip()
39
40 self.peers = {}
41 for item in self.dbag:
42 if item == "id":
43 continue
44 self._process_dbag_item(self.dbag[item])
45
46 restart_frr = False
47
48 CsHelper.mkdir(FRR_DIR, 0o755, False)
49 self.frr_daemon = CsFile(FRR_DAEMONS)
50 self.frr_daemon.replaceIfFound("bgpd=no", "bgpd=yes")
51 if self.frr_daemon.commit():
52 restart_frr = True
53
54 self.frr_conf = CsFile(FRR_CONFIG)
55 self.frr_conf.repopulate()
56 self._pre_set()
57 self._process_peers()
58 self._post_set()
59 if self.frr_conf.commit():
60 restart_frr = True
61
62 if restart_frr:
63 CsHelper.execute("systemctl enable frr")
64 CsHelper.execute("systemctl restart frr")
65
66 def _process_dbag_item(self, item):
67 as_number = item['network_as_number']

Callers

nothing calls this directly

Calls 14

_process_dbag_itemMethod · 0.95
_pre_setMethod · 0.95
_process_peersMethod · 0.95
_post_setMethod · 0.95
CsFileClass · 0.90
is_vpcMethod · 0.80
get_source_nat_ipMethod · 0.80
get_eth2_ipMethod · 0.80
replaceIfFoundMethod · 0.80
repopulateMethod · 0.80
mkdirMethod · 0.65
executeMethod · 0.65

Tested by

no test coverage detected