Updated to latest docker-py version.
[osm/vim-emu.git] / emuvim / api / zerorpcapi_DCNetwork.py
diff --git a/emuvim/api/zerorpcapi_DCNetwork.py b/emuvim/api/zerorpcapi_DCNetwork.py
deleted file mode 100644 (file)
index 7402f3d..0000000
+++ /dev/null
@@ -1,112 +0,0 @@
-"""\r
-Distributed Cloud Emulator (dcemulator)\r
-(c) 2015 by Manuel Peuster <manuel.peuster@upb.de>\r
-"""\r
-\r
-import logging\r
-import threading\r
-import zerorpc\r
-import site\r
-from subprocess import Popen\r
-\r
-logging.basicConfig(level=logging.INFO)\r
-\r
-\r
-class ZeroRpcApiEndpointDCNetwork(object):\r
-    """\r
-    Simple API endpoint that offers a zerorpc-based\r
-    interface. This interface will be used by the\r
-    default command line client.\r
-    It can be used as a reference to implement\r
-    REST interfaces providing the same semantics,\r
-    like e.g. OpenStack compute API.\r
-    """\r
-\r
-    def __init__(self, listenip, port, DCNetwork=None):\r
-        if DCNetwork :\r
-            self.connectDCNetwork(DCNetwork)\r
-        self.ip = listenip\r
-        self.port = port\r
-        logging.debug("Created monitoring API endpoint %s(%s:%d)" % (\r
-            self.__class__.__name__, self.ip, self.port))\r
-\r
-        # start Ryu controller with rest-API\r
-        python_install_path = site.getsitepackages()[0]\r
-        ryu_path = python_install_path + '/ryu/app/ofctl_rest.py'\r
-        ryu_cmd =  'ryu-manager'\r
-        self.ryu_process = Popen([ryu_cmd,ryu_path])\r
-\r
-\r
-    def connectDCNetwork(self, net):\r
-        self.net = net\r
-        logging.info("Connected DCNetwork(%s) to API endpoint %s(%s:%d)" % (\r
-            net.name, self.__class__.__name__, self.ip, self.port))\r
-\r
-    def start(self):\r
-        thread = threading.Thread(target=self._api_server_thread, args=())\r
-        thread.daemon = True\r
-        thread.start()\r
-        logging.debug("Started API endpoint %s(%s:%d)" % (\r
-            self.__class__.__name__, self.ip, self.port))\r
-\r
-    def _api_server_thread(self):\r
-        s = zerorpc.Server(DCNetworkApi(self.net))\r
-        s.bind("tcp://%s:%d" % (self.ip, self.port))\r
-        s.run()\r
-\r
-    def stop(self):\r
-        # stop ryu controller\r
-        logging.info("Stop the monitoring API endpoint")\r
-        self.ryu_process.terminate()\r
-        #self.ryu_process.kill()\r
-        return\r
-\r
-\r
-class DCNetworkApi(object):\r
-    """\r
-        Just pass through the corresponding request to the\r
-        selected data center. Do not implement provisioning\r
-        logic here because will will have multiple API\r
-        endpoint implementations at the end.\r
-    """\r
-\r
-    def __init__(self, net):\r
-        self.net = net\r
-\r
-    def network_action_start(self, vnf_src_name, vnf_dst_name):\r
-        # call DCNetwork method, not really datacenter specific API for now...\r
-        # provided dc name needs to be part of API endpoint\r
-        # no check if vnfs are really connected to this datacenter...\r
-        logging.debug("RPC CALL: network chain start")\r
-        try:\r
-            c = self.net.setChain(\r
-                vnf_src_name, vnf_dst_name)\r
-            return str(c)\r
-        except Exception as ex:\r
-            logging.exception("RPC error.")\r
-            return ex.message\r
-\r
-    def network_action_stop(self, vnf_src_name, vnf_dst_name):\r
-        # call DCNetwork method, not really datacenter specific API for now...\r
-        # provided dc name needs to be part of API endpoint\r
-        # no check if vnfs are really connected to this datacenter...\r
-        logging.debug("RPC CALL: network chain stop")\r
-        try:\r
-            c = self.net.setChain(\r
-                vnf_src_name, vnf_dst_name, cmd='del-flows')\r
-            return c\r
-        except Exception as ex:\r
-            logging.exception("RPC error.")\r
-            return ex.message\r
-\r
-    # get egress(default) or ingress rate of a vnf\r
-    def monitor_get_rate(self, vnf_name, direction):\r
-        logging.debug("RPC CALL: get rate")\r
-        try:\r
-            c = self.net.monitor_agent.get_rate(vnf_name, direction)\r
-            return c\r
-        except Exception as ex:\r
-            logging.exception("RPC error.")\r
-            return ex.message\r
-\r
-\r