OSDN Git Service

add LinuxAgent
authort.moriyama <t.moriyama@users.sourceforge.jp>
Sat, 27 Apr 2013 12:16:41 +0000 (21:16 +0900)
committert.moriyama <t.moriyama@users.sourceforge.jp>
Sat, 27 Apr 2013 12:16:41 +0000 (21:16 +0900)
linkpair/collect/agent/base_agent.py
linkpair/collect/agent/linux_agent.py [new file with mode: 0644]
linkpair/collect/collector.py
linkpair/collect/collector_dataset.py

index 4b79954..9953339 100755 (executable)
@@ -30,6 +30,7 @@ class BaseAgent(object):
         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
diff --git a/linkpair/collect/agent/linux_agent.py b/linkpair/collect/agent/linux_agent.py
new file mode 100644 (file)
index 0000000..9bbd2c7
--- /dev/null
@@ -0,0 +1,39 @@
+#!/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]
+
index 3b65bf5..071d210 100755 (executable)
@@ -16,6 +16,7 @@ from linkpair.dbutils import DBUtils
 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
@@ -31,6 +32,7 @@ class Collector(object):
     PEER_FOUND = 1
 
     def __init__(self, remote_desc, dbu, formatter=GraphEasyFormatter()):
+        self._os_info = {}
         self._linkpairs = []
         self._port_to_br = {}
         self._iface_to_nss = {}
@@ -55,7 +57,9 @@ class Collector(object):
         
     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)
index f57e134..6a21709 100755 (executable)
@@ -9,7 +9,8 @@ from linkpair.linkpair import LinkPair
 
 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