if el[0].startswith('rspec'):
rspec += el[1]
elif el[0].startswith('platform'):
- platforms += req_items.getlist('platform[]')
+ platforms = req_items.getlist('platform[]')
#elif el[0].startswith('options'):
# options += req_items.getlist('options[]')
elif el[0].startswith('hrn'):
elif el[0].startswith('display'):
display = el[1]
- results = sfa_client(request, method, hrn, urn, object_type, recursive, options, platforms)
-
+ results = sfa_client(request, method, hrn=hrn, urn=urn, object_type=object_type, recursive=recursive, options=options, platforms=platforms)
if display == 'table':
return render_to_response('table-default.html', {'data' : data, 'fields' : columns, 'id' : '@component_id', 'options' : None})
else:
def sfa_client(request, method, hrn=None, urn=None, object_type=None, rspec=None, recursive=None, options=None, platforms=None, admin=False):
Config = ConfigParser.ConfigParser()
- Config.read(os.getcwd() + "/myslice/monitor.ini")
+ monitor_file = os.path.abspath(os.path.dirname(__file__) + '/../myslice/monitor.ini')
+ Config.read(monitor_file)
if admin:
user_email, admin_password = config.manifold_admin_user_password()
server_url = platform['registry']
if not Config.has_option('monitor', 'cert') :
- return HttpResponse(json.dumps({'error' : '-1'}), content_type="application/json")
+ #return HttpResponse(json.dumps({'error' : '-1'}), content_type="application/json")
+ return {'error' : '-1', 'msg': 'monitor.ini has no cert configured'}
cert = os.path.abspath(Config.get('monitor', 'cert'))
if not os.path.isfile(cert) :
- return HttpResponse(json.dumps({'error' : '-1'}), content_type="application/json")
+ #return HttpResponse(json.dumps({'error' : '-1'}), content_type="application/json")
+ return {'error' : '-1', 'msg': 'check cert file at %s'%cert}
if not Config.has_option('monitor', 'pkey') :
- return HttpResponse(json.dumps({'error' : '-2'}), content_type="application/json")
+ #return HttpResponse(json.dumps({'error' : '-2'}), content_type="application/json")
+ return {'error' : '-2'}
pkey = os.path.abspath(Config.get('monitor', 'pkey'))
if not os.path.isfile(pkey) :
- return HttpResponse(json.dumps({'error' : '-2'}), content_type="application/json")
+ #return HttpResponse(json.dumps({'error' : '-2'}), content_type="application/json")
+ return {'error' : '-2'}
server = SfaServerProxy(server_url, pkey, cert)
dict_result = xmltodict.parse(result['value']['geni_rspec'])
result['json'] = json.dumps(dict_result)
- if isinstance(dict_result['rspec']['node'], list):
- columns.extend(dict_result['rspec']['node'][0].keys())
- else:
- columns.extend(dict_result['rspec']['node'].keys())
+ if 'rspec' in dict_result and 'node' in dict_result['rspec']:
+ if isinstance(dict_result['rspec']['node'], list):
+ columns.extend(dict_result['rspec']['node'][0].keys())
+ else:
+ columns.extend(dict_result['rspec']['node'].keys())
elif method == 'Renew':
# Renew till 1 month from now
results[pf] = result
if dict_result:
- if isinstance(dict_result['rspec']['node'], list):
- data = data + dict_result['rspec']['node']
- else:
- data.append(dict_result['rspec']['node'])
+ if 'rspec' in dict_result and 'node' in dict_result['rspec']:
+ if isinstance(dict_result['rspec']['node'], list):
+ data = data + dict_result['rspec']['node']
+ else:
+ data.append(dict_result['rspec']['node'])
except Exception,e:
import traceback
logger.error(traceback.format_exc())