activity on slice
authorCiro Scognamiglio <ciro.scognamiglio@cslash.net>
Mon, 29 Sep 2014 09:51:15 +0000 (11:51 +0200)
committerCiro Scognamiglio <ciro.scognamiglio@cslash.net>
Mon, 29 Sep 2014 09:51:15 +0000 (11:51 +0200)
activity/__init__.py
activity/slice.py [new file with mode: 0644]
portal/actions.py

index ab2cd0d..6157bae 100644 (file)
@@ -34,7 +34,7 @@ else :
     # default log server
     server = "http://athos.ipv6.lip6.fr/activity/push/log"
 
-def logWrite(request, action, message):
+def logWrite(request, action, message, objects = None):
     
     if not apikey :
         print "===============>> activity: no apikey"
@@ -54,17 +54,27 @@ def logWrite(request, action, message):
         "action"    : action,
         "message"   : message,
         "apikey"    : apikey,
-        "signature" : sign(secret, "%s%s%s%s" % (timestamp, ip, request.user, action))
+        "signature" : sign(secret, "%s%s%s%s" % (timestamp, ip, request.user, action)),
+        "slice"     : None,
+        "resource"  : None
     }
+    
+    if objects and 'slice' in objects :
+        log['slice'] = objects['slice']
+    
+    if objects and 'resource' in objects :
+        log['resource'] = objects['resource']
+    
     try :
         result = urllib2.urlopen(server, urllib.urlencode(log))
+        print "===============>> activity: " + action + " <" + request.user + "> " + message
         content = result.read()
     except urllib2.URLError as e:
         print "===============>> activity: connection to " + server + " impossible, could not log action"
 
-def log(request, action, message):
+def log(request, action, message, objects = None):
     # Create a new thread in Daemon mode to send the log entry
-    t = threading.Thread(target=logWrite, args=(request, action, message))
+    t = threading.Thread(target=logWrite, args=(request, action, message, objects))
     t.setDaemon(True)
     t.start()
 
diff --git a/activity/slice.py b/activity/slice.py
new file mode 100644 (file)
index 0000000..f7f1eff
--- /dev/null
@@ -0,0 +1,11 @@
+#
+# log functions for slice
+#
+
+import activity
+
+def validate(request, o):
+    activity.log(request, "slice.validate", "Slice validation", o)
+    
+def resource(request, o):
+    activity.log(request, "slice.resource", "Resource reservation", o)
\ No newline at end of file
index b272e2d..aed65fe 100644 (file)
@@ -14,6 +14,8 @@ from myslice.theme              import ThemeView
 
 theme = ThemeView()
 
+import activity.slice
+
 # Thierry: moving this right into the code so 
 # most people can use myslice without having to install sfa
 # XXX tmp sfa dependency, should be moved to SFA gateway
@@ -616,7 +618,8 @@ def create_slice(wsgi_request, request):
         raise Exception, "Could not create %s. Already exists ?" % slice_params['hrn']
     else:
         clear_user_creds(wsgi_request,user_email)
-
+        # log user activity
+        activity.slice.validate(self.request, "Slice validation", { "slice" : hrn })
         try:
             theme.template_name = 'slice_request_validated.txt'
             text_content = render_to_string(theme.template, request)