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

Method delete_leases

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

Source from the content-addressed store, hash-verified

158 self.conf.search(sline, line)
159
160 def delete_leases(self):
161 macs_dhcphosts = []
162 try:
163 logging.info("Attempting to delete entries from dnsmasq.leases file for VMs which are not on dhcphosts file")
164 for host in open(DHCP_HOSTS):
165 macs_dhcphosts.append(host.split(',')[0])
166
167 removed = 0
168 for leaseline in open(LEASES):
169 lease = leaseline.split(' ')
170 mac = lease[1]
171 ip = lease[2]
172 if mac not in macs_dhcphosts:
173 cmd = "dhcp_release $(ip route get %s | grep eth | head -1 | awk '{print $3}') %s %s" % (ip, ip, mac)
174 logging.info(cmd)
175 CsHelper.execute(cmd)
176 removed = removed + 1
177 self.del_host(ip)
178 logging.info("Deleted %s entries from dnsmasq.leases file" % str(removed))
179 except Exception as e:
180 logging.error("Caught error while trying to delete entries from dnsmasq.leases file: %s" % e)
181
182 def preseed(self):
183 self.add_host("127.0.0.1", "localhost")

Callers 1

processMethod · 0.95

Calls 5

del_hostMethod · 0.95
executeMethod · 0.65
infoMethod · 0.45
appendMethod · 0.45
errorMethod · 0.45

Tested by

no test coverage detected