def __create_disk_component(self): disk_info = self.clean_data.get('physical_disk_driver') if disk_info: for disk_item in disk_info: try: self.__verify_field(disk_item, 'slot', str) self.__verify_field(disk_item, 'capacity', float) self.__verify_field(disk_item, 'iface_type', str) self.__verify_field(disk_item, 'model', str) if not len(self.response['error'] ): #no processing when there's no error happend data_set = { 'asset_id': self.asset_obj.id, 'sn': disk_item.get('sn'), 'slot': disk_item.get('slot'), 'capacity': disk_item.get('capacity'), 'model': disk_item.get('model'), 'iface_type': disk_item.get('iface_type'), 'manufactory': disk_item.get('manufactory'), } obj = models.Disk(**data_set) obj.save() except Exception as e: self.response_msg('error', 'ObjectCreationException', 'Object [disk] %s' % str(e)) else: self.response_msg( 'error', 'LackOfData', 'Disk info is not provied in your reporting data')
def _create_disk(self, asset): """ 存储设备种类多,还有Raid情况,需要根据实际情况具体解决。 这里只以简单的SATA硬盘为例子。可能有多块硬盘。 :param asset: :return: """ disk_list = self.data.get('physical_disk_driver') if not disk_list: # 一条硬盘数据都没有 return for disk_dict in disk_list: if not disk_dict.get('sn'): raise ValueError("未知SN 的硬盘!") # 根据sn确定具体某块硬盘。 disk = models.Disk() disk.asset = asset disk.sn = disk_dict.get('sn') disk.model = disk_dict.get('model') disk.manufacturer = disk_dict.get('manufacturer') disk.slot = disk_dict.get('slot') disk.capacity = disk_dict.get('capacity', 0) interface = disk_dict.get('interface_type') if interface in ['SATA', 'SAS', 'SCSI', 'SSD', 'unknown']: disk.interface_type = interface disk.save()
def __create_disk_component(self): #获取硬盘信息目前不完善 只能获取sda 这种的和硬盘大小,暂时不能获取是否为ssd等信息 disk_info = self.clean_data.get('physical_disk_driver') if disk_info: for disk_item in disk_info: try: self.__verify_field(disk_item, 'slot', str) self.__verify_field(disk_item, 'capacity', float) # self.__verify_field(disk_item,'iface_type',str) # self.__verify_field(disk_item,'model',str) if not len(self.response['error']): data_set = { 'asset_id': self.asset_obj.id, # 'sn': disk_item.get('sn'), 'slot': disk_item.get('slot'), 'capacity': disk_item.get('capacity'), # 'model':disk_item.get('model'), # 'iface_type':disk_item.get('iface_type'), # 'manufactory':disk_item.get('manufactory'), } print(data_set) obj = models.Disk(**data_set) obj.save() except Exception as e: self.response_msg('error', 'ObjectCreationException', 'Object [disk] %s' % str(e)) else: self.response_msg( 'error', 'LackOfData', 'Disk info is not provied in your reporting data')
def _create_disk(self, asset): """ 存储设备种类多,还有Raid情况,需要根据实际情况具体解决。 这里只以简单的SATA硬盘为例子。可能有多块硬盘。 :param asset: :return: """ hd_list = self.data['physical_disk_driver'] if hd_list is None: return for disk_dict in hd_list: if not disk_dict['sn']: raise KeyError('硬盘序列号未知') disk = models.Disk() disk.asset = asset disk.sn = disk_dict.get('sn') disk.model = disk_dict.get('model') disk.manufacturer = disk_dict.get('manufacturer'), disk.slot = disk_dict.get('slot') disk.capacity = disk_dict.get('capacity', 0) iface = disk_dict.get('interface_type') if iface in ['SATA', 'SAS', 'SCSI', 'SSD', 'unknown']: disk.interface_type = iface disk.save() pass
def _create_disk(self, asset): disk_list = self.data.get('physical_disk_driver') if not disk_list: return for disk_dict in disk_list: if not disk_dict.get('sn'): raise ValueError('未知sn的硬盘') disk = models.Disk() disk.asset = asset disk.sn = disk_dict.get('sn') disk.slot = disk_dict.get('slot') disk.model = disk_dict.get('model') disk.manufacturer = disk_dict.get('manufacturer') disk.capacity = disk_dict.get('capacity', 0) iface = disk_dict.get('interface_type') if iface in ['SATA', 'SAS', 'SCSI', 'SSD', 'unknown']: disk.interface_type = iface disk.save()