add skewness monitor control
[osm/vim-emu.git] / src / emuvim / api / rest / rest_api_endpoint.py
index 7a0fc4f..7168f37 100755 (executable)
@@ -39,7 +39,7 @@ import network
 from network import NetworkAction
 
 import monitor
-from monitor import MonitorInterfaceAction, MonitorFlowAction, MonitorLinkAction
+from monitor import MonitorInterfaceAction, MonitorFlowAction, MonitorLinkAction, MonitorSkewAction
 
 logging.basicConfig(level=logging.INFO)
 
@@ -61,6 +61,7 @@ class RestApiEndpoint(object):
 
         # setup endpoints
 
+        # compute related actions (start/stop VNFs, get info)
         self.api.add_resource(Compute,
                               "/restapi/compute/<dc_label>/<compute_name>",
                               "/restapi/compute/<dc_label>/<compute_name>/<resource>/<value>")
@@ -71,18 +72,30 @@ class RestApiEndpoint(object):
         self.api.add_resource(DatacenterStatus, "/restapi/datacenter/<dc_label>")
         self.api.add_resource(DatacenterList, "/restapi/datacenter")
 
+
+        # network related actions (setup chaining between VNFs)
         self.api.add_resource(NetworkAction,
                               "/restapi/network/<vnf_src_name>/<vnf_dst_name>")
 
+
+        # monitoring related actions
+        # export a network interface traffic rate counter
         self.api.add_resource(MonitorInterfaceAction,
-                              "/restapi/monitor/vnf/<vnf_name>/<metric>",
-                              "/restapi/monitor/vnf/<vnf_name>/<vnf_interface>/<metric>",
-                              "/restapi/monitor/vnf/<vnf_name>/<vnf_interface>/<metric>/<cookie>")
+                              "/restapi/monitor/interface/<vnf_name>/<metric>",
+                              "/restapi/monitor/interface/<vnf_name>/<vnf_interface>/<metric>",
+                              "/restapi/monitor/interface/<vnf_name>/<vnf_interface>/<metric>/<cookie>")
+        # export flow traffic counter, of a manually pre-installed flow entry, specified by its cookie
         self.api.add_resource(MonitorFlowAction,
                               "/restapi/monitor/flow/<vnf_name>/<metric>/<cookie>",
                               "/restapi/monitor/flow/<vnf_name>/<vnf_interface>/<metric>/<cookie>")
+        # install monitoring of a specific flow on a pre-existing link in the service.
+        # the traffic counters of the newly installed monitor flow are exported
         self.api.add_resource(MonitorLinkAction,
                               "/restapi/monitor/link/<vnf_src_name>/<vnf_dst_name>")
+        # install skewness monitor of resource usage disribution
+        # the skewness metric is exported
+        self.api.add_resource(MonitorSkewAction,
+                              "/restapi/monitor/skewness/<vnf_name>/<resource_name>")
 
         logging.debug("Created API endpoint %s(%s:%d)" % (self.__class__.__name__, self.ip, self.port))