Ejemplo n.º 1
0
 def deserialize(str_data):
     newinf = InfrastructureInfo()
     dic = json.loads(str_data)
     vm_list = dic['vm_list']
     vm_master_id = dic['vm_master']
     dic['vm_master'] = None
     dic['vm_list'] = []
     if dic['auth']:
         dic['auth'] = Authentication.deserialize(dic['auth'])
     if dic['radl']:
         dic['radl'] = parse_radl(dic['radl'])
     if 'extra_info' in dic and dic['extra_info'] and "TOSCA" in dic['extra_info']:
         try:
             dic['extra_info']['TOSCA'] = Tosca.deserialize(dic['extra_info']['TOSCA'])
         except:
             del dic['extra_info']['TOSCA']
             InfrastructureInfo.logger.exception("Error deserializing TOSCA document")
     newinf.__dict__.update(dic)
     newinf.cloud_connector = None
     # Set the ConfManager object and the lock to the data loaded
     newinf.cm = None
     newinf.ctxt_tasks = PriorityQueue()
     newinf.conf_threads = []
     for vm_data in vm_list:
         vm = VirtualMachine.deserialize(vm_data)
         vm.inf = newinf
         if vm.im_id == vm_master_id:
             newinf.vm_master = vm
         newinf.vm_list.append(vm)
     return newinf
Ejemplo n.º 2
0
 def deserialize_info(str_data):
     newinf = InfrastructureInfo()
     dic = json.loads(str_data)
     vm_list = dic['vm_list']
     vm_master_id = dic['vm_master']
     dic['vm_master'] = None
     dic['vm_list'] = []
     if dic['auth']:
         dic['auth'] = Authentication.deserialize(dic['auth'])
     if dic['radl']:
         dic['radl'] = parse_radl_json(dic['radl'])
     if 'extra_info' in dic and dic['extra_info'] and "TOSCA" in dic['extra_info']:
         dic['extra_info']['TOSCA'] = Tosca.deserialize(dic['extra_info']['TOSCA'])
     newinf.__dict__.update(dic)
     newinf.cloud_connector = None
     # Set the ConfManager object and the lock to the data loaded
     newinf.cm = None
     newinf.conf_threads = []
     for vm_data in vm_list:
         vm = DB150to151.deserialize_vm(vm_data)
         vm.inf = newinf
         if vm.im_id == vm_master_id:
             newinf.vm_master = vm
         newinf.vm_list.append(vm)
     return newinf
Ejemplo n.º 3
0
 def deserialize_auth(str_data):
     """
     Only Loads auth data
     """
     newinf = InfrastructureInfo()
     dic = json.loads(str_data)
     newinf.deleted = dic['deleted']
     newinf.id = dic['id']
     if dic['auth']:
         newinf.auth = Authentication.deserialize(dic['auth'])
     return newinf
Ejemplo n.º 4
0
 def deserialize(str_data):
     newinf = InfrastructureInfo()
     dic = json.loads(str_data)
     vm_list = dic['vm_list']
     vm_master_id = dic['vm_master']
     dic['vm_master'] = None
     dic['vm_list'] = []
     if dic['auth']:
         dic['auth'] = Authentication.deserialize(dic['auth'])
     if dic['radl']:
         dic['radl'] = parse_radl(dic['radl'])
     newinf.__dict__.update(dic)
     newinf.cloud_connector = None
     # Set the ConfManager object and the lock to the data loaded
     newinf.cm = None
     newinf.ctxt_tasks = PriorityQueue()
     newinf.conf_threads = []
     for vm_data in vm_list:
         vm = VirtualMachine.deserialize(vm_data)
         vm.inf = newinf
         if vm.im_id == vm_master_id:
             newinf.vm_master = vm
         newinf.vm_list.append(vm)
     return newinf