From a8b4d52df438751ce078700eab547e84075e9420 Mon Sep 17 00:00:00 2001 From: Ciro Scognamiglio Date: Fri, 8 Aug 2014 17:49:10 +0200 Subject: [PATCH] fixes, activity monitor module --- rest/monitor.py | 53 +++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 53 insertions(+) create mode 100644 rest/monitor.py diff --git a/rest/monitor.py b/rest/monitor.py new file mode 100644 index 00000000..ad110379 --- /dev/null +++ b/rest/monitor.py @@ -0,0 +1,53 @@ +from sfa.client.sfaserverproxy import SfaServerProxy +from sfa.client.return_value import ReturnValue +from django.http import HttpResponse +from rest import error +import os,json +import ConfigParser + +def sfaGetVersion(url): + cert = os.getcwd() + "/myslice/sfa.cert" + pkey = os.getcwd() + "/myslice/sfa.pkey" + + server = SfaServerProxy(url, pkey, cert) + try: + version = server.GetVersion() + except Exception, e: + return False + + return version + +def servicesStatus(request): + Config = ConfigParser.ConfigParser() + Config.read(os.getcwd() + "/myslice/monitor.ini") + + result = {} + + services = Config.sections() + for s in services : + if Config.has_option(s, 'url') : + result[s] = {} + + if Config.has_option(s, 'name') : + result[s]['name'] = Config.get(s, 'name') + + if Config.has_option(s, 'description') : + result[s]['description'] = Config.get(s, 'description') + + if Config.has_option(s, 'type') : + result[s]['type'] = Config.get(s, 'type') + + ret = sfaGetVersion(Config.get(s, 'url')) + + if ret : + result[s]['status'] = 'ok' + + if 'interface' in ret : # registry + result[s]['version'] = ret['sfa'] + else : + result[s]['version'] = ret['geni_api'] + else : + result[s]['status'] = 'ko' + + + return HttpResponse(json.dumps(result), content_type="application/json") \ No newline at end of file -- 2.43.0