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

Method process

systemvm/debian/opt/cloud/bin/cs/CsDhcp.py:37–82  ·  view source on GitHub ↗
(self)

Source from the content-addressed store, hash-verified

35 """ Manage dhcp entries """
36
37 def process(self):
38 self.hosts = {}
39 self.changed = []
40 self.devinfo = CsHelper.get_device_info()
41 self.preseed()
42 self.dhcp_hosts = CsFile(DHCP_HOSTS)
43 self.dhcp_opts = CsFile(DHCP_OPTS)
44 self.conf = CsFile(CLOUD_CONF)
45 self.dhcp_leases = CsFile(LEASES)
46
47 self.dhcp_hosts.repopulate()
48 self.dhcp_opts.repopulate()
49
50 for item in self.dbag:
51 if item == "id":
52 continue
53 if not self.dbag[item]['remove']:
54 self.add(self.dbag[item])
55
56 self.configure_server()
57
58 restart_dnsmasq = False
59 need_delete_leases = False
60
61 if self.conf.commit():
62 restart_dnsmasq = True
63 need_delete_leases = True
64
65 if self.dhcp_hosts.commit():
66 need_delete_leases = True
67
68 if self.dhcp_leases.commit():
69 need_delete_leases = True
70
71 self.dhcp_opts.commit()
72
73 if need_delete_leases:
74 self.delete_leases()
75 self.write_hosts()
76
77 if not self.cl.is_redundant() or self.cl.is_primary():
78 if restart_dnsmasq:
79 CsHelper.service("dnsmasq", "restart")
80 else:
81 CsHelper.start_if_stopped("dnsmasq")
82 CsHelper.service("dnsmasq", "reload")
83
84 def configure_server(self):
85 self.conf.add("bind-interfaces", 0)

Callers

nothing calls this directly

Calls 10

preseedMethod · 0.95
addMethod · 0.95
configure_serverMethod · 0.95
delete_leasesMethod · 0.95
write_hostsMethod · 0.95
CsFileClass · 0.90
repopulateMethod · 0.80
is_redundantMethod · 0.80
is_primaryMethod · 0.80
commitMethod · 0.45

Tested by

no test coverage detected