From 2786d994613e1fd50128971091f2f566e3c08f71 Mon Sep 17 00:00:00 2001 From: Ciro Scognamiglio Date: Mon, 29 Sep 2014 11:51:15 +0200 Subject: [PATCH] activity on slice --- activity/__init__.py | 18 ++++++++++++++---- activity/slice.py | 11 +++++++++++ portal/actions.py | 5 ++++- 3 files changed, 29 insertions(+), 5 deletions(-) create mode 100644 activity/slice.py diff --git a/activity/__init__.py b/activity/__init__.py index ab2cd0d3..6157bae7 100644 --- a/activity/__init__.py +++ b/activity/__init__.py @@ -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 index 00000000..f7f1eff4 --- /dev/null +++ b/activity/slice.py @@ -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 diff --git a/portal/actions.py b/portal/actions.py index b272e2dc..aed65fea 100644 --- a/portal/actions.py +++ b/portal/actions.py @@ -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) -- 2.43.0