Apache/2.4.7 (Ubuntu) Linux sman1baleendah 3.13.0-24-generic #46-Ubuntu SMP Thu Apr 10 19:11:08 UTC 2014 x86_64 uid=33(www-data) gid=33(www-data) groups=33(www-data) safemode : OFF MySQL: ON | Perl: ON | cURL: OFF | WGet: ON > / usr / lib / python2.7 / dist-packages / landscape / monitor / | server ip : 104.21.89.46 your ip : 108.162.241.148 H O M E |
Filename | /usr/lib/python2.7/dist-packages/landscape/monitor/networkdevice.py |
Size | 1.38 kb |
Permission | rw-r--r-- |
Owner | root : root |
Create time | 27-Apr-2025 09:56 |
Last modified | 20-Feb-2014 23:01 |
Last accessed | 06-Jul-2025 20:01 |
Actions | edit | rename | delete | download (gzip) |
View | text | code | image |
"""
A monitor plugin that collects data on a machine's network devices.
"""
from landscape.monitor.plugin import DataWatcher
from landscape.lib.network import get_active_device_info
class NetworkDevice(DataWatcher):
message_type = "network-device"
message_key = "devices"
persist_name = message_type
scope = "network"
def __init__(self, device_info=get_active_device_info):
super(NetworkDevice, self).__init__()
self._device_info = device_info
def register(self, registry):
super(NetworkDevice, self).register(registry)
self.call_on_accepted(self.message_type, self.exchange, True)
def get_message(self):
device_data = self._device_info()
# Persist if the info is new.
if self._persist.get("network-device-data") != device_data:
self._persist.set("network-device-data", device_data)
# We need to split the message in two top-level keys (see bug)
device_speeds = []
for device in device_data:
speed_entry = {"interface": device["interface"]}
speed_entry["speed"] = device.pop("speed")
speed_entry["duplex"] = device.pop("duplex")
device_speeds.append(speed_entry)
return {"type": self.message_type,
"devices": device_data,
"device-speeds": device_speeds}
A monitor plugin that collects data on a machine's network devices.
"""
from landscape.monitor.plugin import DataWatcher
from landscape.lib.network import get_active_device_info
class NetworkDevice(DataWatcher):
message_type = "network-device"
message_key = "devices"
persist_name = message_type
scope = "network"
def __init__(self, device_info=get_active_device_info):
super(NetworkDevice, self).__init__()
self._device_info = device_info
def register(self, registry):
super(NetworkDevice, self).register(registry)
self.call_on_accepted(self.message_type, self.exchange, True)
def get_message(self):
device_data = self._device_info()
# Persist if the info is new.
if self._persist.get("network-device-data") != device_data:
self._persist.set("network-device-data", device_data)
# We need to split the message in two top-level keys (see bug)
device_speeds = []
for device in device_data:
speed_entry = {"interface": device["interface"]}
speed_entry["speed"] = device.pop("speed")
speed_entry["duplex"] = device.pop("duplex")
device_speeds.append(speed_entry)
return {"type": self.message_type,
"devices": device_data,
"device-speeds": device_speeds}