@@ -40,6 +40,7 @@ def process(self):
4040 self .cloud = CsFile (DHCP_HOSTS )
4141 self .dhcp_opts = CsFile (DHCP_OPTS )
4242 self .conf = CsFile (CLOUD_CONF )
43+ self .dhcp_leases = CsFile (LEASES )
4344
4445 self .cloud .repopulate ()
4546 self .dhcp_opts .repopulate ()
@@ -60,6 +61,9 @@ def process(self):
6061 if self .cloud .commit ():
6162 restart_dnsmasq = True
6263
64+ if self .dhcp_leases .commit ():
65+ restart_dnsmasq = True
66+
6367 self .dhcp_opts .commit ()
6468
6569 if restart_dnsmasq :
@@ -186,6 +190,9 @@ def add(self, entry):
186190 entry ['ipv4_address' ],
187191 entry ['host_name' ],
188192 lease ))
193+ self .dhcp_leases .search (entry ['mac_address' ], "0 %s %s %s *" % (entry ['mac_address' ],
194+ entry ['ipv4_address' ],
195+ entry ['host_name' ]))
189196 else :
190197 tag = entry ['ipv4_address' ].replace ("." , "_" )
191198 self .cloud .add ("%s,set:%s,%s,%s,%s" % (entry ['mac_address' ],
@@ -196,6 +203,9 @@ def add(self, entry):
196203 self .dhcp_opts .add ("%s,%s" % (tag , 3 ))
197204 self .dhcp_opts .add ("%s,%s" % (tag , 6 ))
198205 self .dhcp_opts .add ("%s,%s" % (tag , 15 ))
206+ self .dhcp_leases .search (entry ['mac_address' ], "0 %s %s %s *" % (entry ['mac_address' ],
207+ entry ['ipv4_address' ],
208+ entry ['host_name' ]))
199209
200210 i = IPAddress (entry ['ipv4_address' ])
201211 # Calculate the device
0 commit comments