Upload the contribution of vstf as bottleneck network framework.
[bottlenecks.git] / vstf / vstf / controller / env_build / env_collect.py
diff --git a/vstf/vstf/controller/env_build/env_collect.py b/vstf/vstf/controller/env_build/env_collect.py
new file mode 100755 (executable)
index 0000000..888f71c
--- /dev/null
@@ -0,0 +1,30 @@
+from vstf.rpc_frame_work import rpc_producer
+
+
+class EnvCollectApi(object):
+    def __init__(self, rb_mq_server):
+        """
+        When use collect, a connection of rabbitmq is needed.
+        """
+        super(EnvCollectApi, self).__init__()
+        if rb_mq_server is None:
+            raise Exception("The connection of rabbitmq is None.")
+        self.conn = rb_mq_server
+
+    def collect_host_info(self, host):
+        msg = self.conn.make_msg("collect_host_info")
+        return self.conn.call(msg, host, timeout=2)
+
+    def get_device_detail(self, host, nic_identity):
+        msg = self.conn.make_msg("get_device_detail", identity=nic_identity)
+        return self.conn.call(msg, host, timeout=2)
+
+    def list_nic_devices(self, host):
+        msg = self.conn.make_msg("list_nic_devices")
+        return self.conn.call(msg, host, timeout=2)
+
+
+if __name__ == "__main__":
+    conn = rpc_producer.Server("192.168.188.10")
+    c = EnvCollectApi(conn)
+    print c.collect_host_info("local")