equal
deleted
inserted
replaced
8 |
8 |
9 import pvl.args |
9 import pvl.args |
10 import pvl.syslog.args |
10 import pvl.syslog.args |
11 |
11 |
12 import pvl.verkko.db as db |
12 import pvl.verkko.db as db |
13 import pvl.syslog.dhcp |
13 import pvl.dhcp.syslog |
14 import pvl.verkko.dhcp.leases |
14 import pvl.dhcp.leases |
15 |
15 |
16 import logging, optparse |
16 import logging, optparse |
17 |
17 |
18 log = logging.getLogger('main') |
18 log = logging.getLogger('main') |
19 |
19 |
292 |
292 |
293 self.hostdb = DHCPHostsDatabase(db) |
293 self.hostdb = DHCPHostsDatabase(db) |
294 self.leasedb = DHCPLeasesDatabase(db) |
294 self.leasedb = DHCPLeasesDatabase(db) |
295 |
295 |
296 # XXX |
296 # XXX |
297 self.filter = pvl.syslog.dhcp.DHCPSyslogFilter() |
297 self.parser = pvl.dhcp.syslog.DHCPSyslogParser() |
298 |
298 |
299 def createdb (self) : |
299 def createdb (self) : |
300 """ |
300 """ |
301 Initialize database tables. |
301 Initialize database tables. |
302 """ |
302 """ |
307 def process_syslog (self, item) : |
307 def process_syslog (self, item) : |
308 """ |
308 """ |
309 Handle a single item read from syslog to DB. |
309 Handle a single item read from syslog to DB. |
310 """ |
310 """ |
311 |
311 |
312 dhcp_item = self.filter.parse(item['msg']) |
312 dhcp_item = self.parser.parse(item['msg']) |
313 |
313 |
314 log.debug("%s: %s", item, dhcp_item) |
314 log.debug("%s: %s", item, dhcp_item) |
315 |
315 |
316 if not dhcp_item : |
316 if not dhcp_item : |
317 # ignore |
317 # ignore |
358 for item in self.syslog : |
358 for item in self.syslog : |
359 self.process_syslog(item) |
359 self.process_syslog(item) |
360 |
360 |
361 if self.leases : |
361 if self.leases : |
362 # process internally |
362 # process internally |
363 #sync, leases = self.leases.process() |
|
364 leases = self.leases.process() |
363 leases = self.leases.process() |
365 |
364 |
366 #if sync : |
|
367 # self.sync_leases(leases) |
|
368 if leases : |
365 if leases : |
369 self.process_leases(leases) |
366 self.process_leases(leases) |
370 #else : |
|
371 # pass |
|
372 |
367 |
373 if not poll : |
368 if not poll : |
374 # done |
369 # done |
375 break |
370 break |
376 |
371 |
406 poll = None |
401 poll = None |
407 |
402 |
408 # leases |
403 # leases |
409 if options.leases_file : |
404 if options.leases_file : |
410 log.info("Open up DHCP leases...") |
405 log.info("Open up DHCP leases...") |
411 leases = pvl.verkko.dhcp.leases.DHCPLeasesDatabase(options.leases_file) |
406 leases = pvl.dhcp.leases.DHCPLeasesDatabase(options.leases_file) |
412 |
407 |
413 # force polling interval |
408 # force polling interval |
414 if options.leases_tail : |
409 if options.leases_tail : |
415 # XXX: min between syslog/leases? |
410 # XXX: min between syslog/leases? |
416 poll = options.leases_tail |
411 poll = options.leases_tail |