# # BonFIRE Virtual Clusters on Federated Clouds Demonstration Kit # # Copyright (c) Fundacion Centro Tecnologico de Supercomputacion de Galicia 2012 # # License GPL Version 3 # # The research leading to these results has received funding from # the European Community's Seventh Frameqork Programme (FP7/2007-2013) # under agreement number 257386 # # This software is provided with ABSOLUTELY NO WARRANTY # ''' 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'}]}}]}