self._runner = runner
self._cu = cu
self._remote_desc = remote_desc
+ self._os_info = cd.os_info
self._linkpairs = cd.linkpairs
self._port_to_br = cd.port_to_br
self._iface_to_nss = cd.iface_to_nss
--- /dev/null
+#!/usr/bin/env python
+# -*- coding: utf-8 -*-
+#
+
+__version__ = '1.1'
+
+import re
+from linkpair.device import Device
+from linkpair.port import Port
+from linkpair.collect.agent.base_agent import BaseAgent
+
+class LinuxAgent(BaseAgent):
+ '''
+ Linux OS Collector Agent
+ '''
+ def run(self):
+ self.get_configuration()
+
+ def get_configuration(self):
+ result = self._runner.exec_cmd("hostname")
+ hostname = result[0].rstrip()
+ self._os_info[hostname] = hostname
+ print self._os_info[hostname]
+
+ result = self._runner.exec_cmd("uname -s")
+ kernel_name = result[0].rstrip()
+ self._os_info[kernel_name] = kernel_name
+ print self._os_info[kernel_name]
+
+ result = self._runner.exec_cmd("uname -m")
+ kernel_arch = result[0].rstrip()
+ self._os_info[kernel_arch] = kernel_arch
+ print self._os_info[kernel_arch]
+
+ result = self._runner.exec_cmd("uname -r")
+ kernel_version = result[0].rstrip()
+ self._os_info[kernel_version] = kernel_version
+ print self._os_info[kernel_version]
+
from linkpair.collect.utils import CollectUtils
from linkpair.collect.collector_dataset import CollectorDataset
from linkpair.collect.agent.commandrunner import CommandRunner
+from linkpair.collect.agent.linux_agent import LinuxAgent
from linkpair.collect.agent.namespace_agent import NamespaceAgent
from linkpair.collect.agent.ovs_agent import OVSAgent
from linkpair.collect.agent.linuxbridge_agent import LinuxBridgeAgent
PEER_FOUND = 1
def __init__(self, remote_desc, dbu, formatter=GraphEasyFormatter()):
+ self._os_info = {}
self._linkpairs = []
self._port_to_br = {}
self._iface_to_nss = {}
def run(self):
self._cu = CollectUtils(self._linkpairs, self._port_to_br, self._iface_to_nss, self._dbu, self._formatter)
- cd = CollectorDataset(self._linkpairs, self._port_to_br, self._iface_to_nss)
+ cd = CollectorDataset(self._os_info, self._linkpairs, self._port_to_br, self._iface_to_nss)
+ os_agent = LinuxAgent(self._runner, self._cu, self._remote_desc, cd, self._formatter)
+ os_agent.run()
namespace_agent = NamespaceAgent(self._runner, self._cu, self._remote_desc, cd, self._formatter)
namespace_agent.run()
ovs_agent = OVSAgent(self._runner, self._cu, self._remote_desc, cd, self._formatter)
class CollectorDataset(object):
- def __init__(self, linkpairs, port_to_br, iface_to_nss):
+ def __init__(self, os_info, linkpairs, port_to_br, iface_to_nss):
+ self.os_info = os_info
self.linkpairs = linkpairs
self.port_to_br = port_to_br
self.iface_to_nss = iface_to_nss