2
A monitor plugin that collects data on a machine's network devices.
5
from landscape.monitor.plugin import DataWatcher
6
from landscape.lib.network import get_active_device_info
9
class NetworkDevice(DataWatcher):
11
message_type = "network-device"
12
message_key = "devices"
13
persist_name = message_type
15
def __init__(self, device_info=get_active_device_info):
16
super(NetworkDevice, self).__init__()
17
self._device_info = device_info
19
def register(self, registry):
20
super(NetworkDevice, self).register(registry)
21
self.call_on_accepted(self.message_type, self.exchange, True)
22
self.registry.reactor.call_on("resynchronize", self._resynchronize)
24
def _resynchronize(self):
25
"""Resynchronize active network device information."""
26
self._persist.set("data", [])
29
return self._device_info()