'''
Created on 02/02/2012
@author: R.Valin
'''
#import simplejson
#import sub_pycurl
def json_exp(locations, duration):
"""Indicamos la lista de sites a los que queremos enviar, la duracion de los experimentos
y nos devuelve una lista de strings con los json de los experimentos para todos
los posibles recursos de ese site"""
exp_name = 'Cesgabfmedidas'
compute = 'Cesgatest'
#duration= 120
exp = dict()
#locations=['be-ibbt','fr-inria','uk-hplabs','uk-uedin']
#Disponibles
#storage=['BonFIRE Debian Squeeze 2G v3','BonFIRE SAP Debian Squeeze v2','BonFIRE Zabbix Aggregator v5','BonFIRE Debian Squeeze v3','BonFIRE Debian Squeeze 10G v3']
#networks=['BonFIRE WAN','BonFIRE OnDemand WAN','Public IPv4 (EXPERIMENTAL)']
#instance=['lite','small','medium','large','Large-EN',"Large+",'xlarge']
instance_ibbt = ['Large-EN']
#instance_inria = ['lite', 'small', 'medium']
instance_inria = ['medium']
instance_hp = ['Large+']
#instance_uedin = ['lite', 'small', 'medium', 'large', 'xlarge']
instance_uedin = ['large']
storage_ibbt = ['BonFIRE Debian Squeeze 2G v3']
storage_inria = ['BonFIRE Debian Squeeze 2G v3', 'BonFIRE Zabbix Aggregator v5', 'BonFIRE Debian Squeeze v3', 'BonFIRE Debian Squeeze 10G v3']
#storage_inria = ['BonFIRE Debian Squeeze v3']
storage_hp = ['BonFIRE SAP Debian Squeeze v2', 'BonFIRE Debian Squeeze 10G']
storage_uedin = ['BonFIRE Debian Squeeze v3']
#storage_uedin = ['BonFIRE Debian Squeeze v3', 'BonFIRE Debian Squeeze 2G v3', 'BonFIRE Debian Squeeze 10G v3', 'BonFIRE Zabbix Aggregator v5']
#storage_uedin = ['BonFIRE Debian Squeeze 2G v3', 'BonFIRE Zabbix Aggregator v5', 'BonFIRE Debian Squeeze v3', 'BonFIRE Debian Squeeze 10G v3']
#storage_uedin = ['BonFIRE Debian Squeeze 2G v3', 'BonFIRE Zabbix Aggregator v5']
exp['be-ibbt'] = [instance_ibbt, storage_ibbt]
exp['fr-inria'] = [instance_inria, storage_inria]
exp['uk-hplabs'] = [instance_hp, storage_hp]
exp['uk-epcc'] = [instance_uedin, storage_uedin]
exp_def = []
info_instance=dict()
info_storage=dict()
info_location=dict()
for i in locations:
for j in exp[i][0]:
for k in exp[i][1]:
exp_json = {'description': exp_name,
'duration': 120,
'name': exp_name,
'resources': [{'compute': {'name': compute,
'description': compute,
'instanceType': j,
'locations': [i],
'resources':[{'storage':'@' + k}, {'network':'@BonFIRE WAN'}]}}]}
exp_def.append(exp_json)
info_instance[str(exp_json)]=j
info_storage[str(exp_json)]='@' + k
info_location[str(exp_json)]=i
return (exp_def,info_instance,info_storage,info_location)
#locations=['fr-inria']
#duration=120
#print(json_exp(locations,duration)[0])
#print(simplejson.dumps(json_exp(locations,duration)[0]))
#for i in exp_def:
# print i
#exp={'description': 'Experiment description',
# 'duration': 120,
# 'name': 'My Experiment',
# 'resources': [{'compute': {'name': 'JSON-COMPUTE-TEST',
# 'description': 'A description of the compute.',
# 'instanceType': 'small',
# 'locations': ['fr-inria'],
# 'resources':[{'storage': '@BonFIRE Debian Squeeze v3'},{'network':'@BonFIRE WAN'}]}}]}