def __init_diskarray(self): ws = os.path.join(helper.get_ws_folder(self), "data") diskarray = DiskArrayController(ws) diskarray.add_storage_backend(self.__backend_storage_info) dae_topo = diskarray.get_topo() if dae_topo is not None: filename = os.path.join(ws, "sas_topo.bin") with open(filename, "w") as f: f.write(dae_topo) diskarray.set_topo_file(self.__backend_storage_info, filename) diskarray.export_drv_data() diskarray.merge_drv_data(self.__backend_storage_info) self.__backend_storage_info = filter(lambda x: x["type"] != "disk_array", self.__backend_storage_info)
def __process_disk_array(self): ws = self.workspace.get_workspace_data() diskarray = DiskArrayController(ws) # set sharemeory id for sub node. for node in self.__chassis.get("nodes", []): storage = node["compute"].get("storage_backend") diskarray.add_storage_chassis_backend(storage) topo = diskarray.get_topo() if topo: for node in self.__chassis.get("nodes", []): storage = node["compute"].get("storage_backend") diskarray.set_topo_file(storage, "sas_topo") self.__dataset.append("sas_topo", topo) diskarray.export_drv_data()