1 from sfa.client.sfaserverproxy import SfaServerProxy
2 from sfa.client.return_value import ReturnValue
3 from django.http import HttpResponse
8 def servicesStatus(request):
9 Config = ConfigParser.ConfigParser()
10 monitor_file = os.path.abspath(os.path.dirname(__file__) + '/../myslice/monitor.ini')
11 Config.read(monitor_file)
15 if not Config.has_option('monitor', 'cert') :
16 return HttpResponse(json.dumps({'error' : '-1'}), content_type="application/json")
18 cert = os.path.abspath(Config.get('monitor', 'cert'))
19 if not os.path.isfile(cert) :
20 return HttpResponse(json.dumps({'error' : '-2'}), content_type="application/json")
23 if not Config.has_option('monitor', 'pkey') :
24 return HttpResponse(json.dumps({'error' : '-3'}), content_type="application/json")
26 pkey = os.path.abspath(Config.get('monitor', 'pkey'))
27 if not os.path.isfile(pkey) :
28 return HttpResponse(json.dumps({'error' : '-4'}), content_type="application/json")
30 services = Config.sections()
36 if Config.has_option(s, 'url') :
39 if Config.has_option(s, 'name') :
40 result[s]['name'] = Config.get(s, 'name')
42 if Config.has_option(s, 'description') :
43 result[s]['description'] = Config.get(s, 'description')
45 if Config.has_option(s, 'type') :
46 result[s]['type'] = Config.get(s, 'type')
48 server = SfaServerProxy(Config.get(s, 'url'), pkey, cert)
50 version = server.GetVersion()
52 result[s]['status'] = 'ok'
54 if 'interface' in version : # registry
55 result[s]['version'] = version['sfa']
57 result[s]['version'] = version['geni_api']
60 result[s]['status'] = 'ko'
63 return HttpResponse(json.dumps(result), content_type="application/json")