+ return (str(c1) + " " + str(c2)), 200, CORS_HEADER
+ except Exception as ex:
+ logging.exception("API error.")
+ return ex.message, 500, CORS_HEADER
+
+
+class MonitorSkewAction(Resource):
+ """
+ Monitor the counters of a VNF interface
+ :param vnf_name: name of the VNF to be monitored
+ :param resource: the resource to be monitored (cpu, mem, ...)
+ :return: message string indicating if the monitor action is succesful or not
+ """
+ global net
+
+ def put(self):
+ logging.debug("REST CALL: start monitor skewness")
+ # get URL parameters
+ data = request.args
+ if data is None:
+ data = {}
+ vnf_name = data.get("vnf_name")
+ resource_name = data.get("resource_name", 'cpu')
+ try:
+ # configure skewmon
+ c = net.monitor_agent.update_skewmon(
+ vnf_name, resource_name, action='start')
+
+ # return monitor message response
+ return str(c), 200, CORS_HEADER
+ except Exception as ex:
+ logging.exception("API error.")
+ return ex.message, 500, CORS_HEADER
+
+ def delete(self):
+ logging.debug("REST CALL: stop monitor skewness")
+ # get URL parameters
+ data = request.args
+ if data is None:
+ data = {}
+ vnf_name = data.get("vnf_name")
+ resource_name = data.get("resource_name", 'cpu')
+ try:
+ # configure skewmon
+ c = net.monitor_agent.update_skewmon(
+ vnf_name, resource_name, action='stop')
+
+ # return monitor message response
+ return str(c), 200, CORS_HEADER
+ except Exception as ex:
+ logging.exception("API error.")
+ return ex.message, 500, CORS_HEADER
+
+
+class MonitorTerminal(Resource):
+ """
+ start a terminal for the selected VNFs
+ :param vnf_list: list of names of the VNFs to start a terminal from (all VNFs if None)
+ :return: message string indicating if the monitor action is succesful or not
+ """
+ global net
+
+ def get(self):
+ # get URL parameters
+ data = request.args
+ if data is None:
+ data = {}
+ vnf_list = data.get("vnf_list")
+ logging.debug("REST CALL: start terminal for: {}".format(vnf_list))
+ try:
+ # start terminals
+ c = net.monitor_agent.term(vnf_list)
+
+ # return monitor message response
+ return str(c), 200, CORS_HEADER