projects
/
osm
/
vim-emu.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Merge remote-tracking branch 'upstream/master' into demo-mano-integration
[osm/vim-emu.git]
/
src
/
emuvim
/
api
/
rest
/
rest_api_endpoint.py
diff --git
a/src/emuvim/api/rest/rest_api_endpoint.py
b/src/emuvim/api/rest/rest_api_endpoint.py
index
0c9e1bc
..
b5f29d4
100755
(executable)
--- a/
src/emuvim/api/rest/rest_api_endpoint.py
+++ b/
src/emuvim/api/rest/rest_api_endpoint.py
@@
-41,12
+41,12
@@
import network
from network import NetworkAction, DrawD3jsgraph
import monitor
from network import NetworkAction, DrawD3jsgraph
import monitor
-from monitor import MonitorInterfaceAction, MonitorFlowAction, MonitorLinkAction, MonitorSkewAction
+from monitor import MonitorInterfaceAction, MonitorFlowAction, MonitorLinkAction, MonitorSkewAction
, MonitorTerminal
import pkg_resources
from os import path
import pkg_resources
from os import path
-logging.basicConfig(
level=logging.INFO
)
+logging.basicConfig()
class RestApiEndpoint(object):
class RestApiEndpoint(object):
@@
-56,10
+56,13
@@
class RestApiEndpoint(object):
default command line client.
"""
default command line client.
"""
- def __init__(self, listenip, port):
+ def __init__(self, listenip, port
, DCnetwork=None
):
self.ip = listenip
self.port = port
self.ip = listenip
self.port = port
+ # connect this DC network to the rest api endpoint (needed for the networking and monitoring api)
+ self.connectDCNetwork(DCnetwork)
+
# setup Flask
# find directory of dashboard files
dashboard_file = pkg_resources.resource_filename('emuvim.dashboard', "index.html")
# setup Flask
# find directory of dashboard files
dashboard_file = pkg_resources.resource_filename('emuvim.dashboard', "index.html")
@@
-103,6
+106,9
@@
class RestApiEndpoint(object):
# the skewness metric is exported
self.api.add_resource(MonitorSkewAction,
"/restapi/monitor/skewness")
# the skewness metric is exported
self.api.add_resource(MonitorSkewAction,
"/restapi/monitor/skewness")
+ # start a terminal window for the specified vnfs
+ self.api.add_resource(MonitorTerminal,
+ "/restapi/monitor/term")
logging.debug("Created API endpoint %s(%s:%d)" % (self.__class__.__name__, self.ip, self.port))
logging.debug("Created API endpoint %s(%s:%d)" % (self.__class__.__name__, self.ip, self.port))
@@
-127,7
+133,11
@@
class RestApiEndpoint(object):
logging.info("Started API endpoint @ http://%s:%d" % (self.ip, self.port))
def _start_flask(self):
logging.info("Started API endpoint @ http://%s:%d" % (self.ip, self.port))
def _start_flask(self):
- #self.app.run(self.ip, self.port, debug=
Tru
e, use_reloader=False)
+ #self.app.run(self.ip, self.port, debug=
Fals
e, use_reloader=False)
#this should be a more production-fit http-server
#this should be a more production-fit http-server
- http_server = WSGIServer((self.ip, self.port), self.app)
+ #self.app.logger.setLevel(logging.ERROR)
+ http_server = WSGIServer((self.ip, self.port),
+ self.app,
+ log=open("/dev/null", "w") # This disables HTTP request logs to not mess up the CLI when e.g. the auto-updated dashboard is used
+ )
http_server.serve_forever()
http_server.serve_forever()