import logging\r
import threading\r
import zerorpc\r
-import site\r
-from subprocess import Popen\r
+\r
\r
logging.basicConfig(level=logging.INFO)\r
\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
+ logging.info("Connected DCNetwork to API endpoint %s(%s:%d)" % (\r
+ self.__class__.__name__, self.ip, self.port))\r
\r
def start(self):\r
thread = threading.Thread(target=self._api_server_thread, args=())\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
+ The networking and monitoring commands need the scope of the\r
+ whole DC network to find the requested vnf. So this API is intended\r
+ to work with a DCNetwork.\r
Just pass through the corresponding request to the\r
- selected data center. Do not implement provisioning\r
+ selected data center network. Do not implement provisioning\r
logic here because will will have multiple API\r
endpoint implementations at the end.\r
"""\r