示例#1
0
    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')
示例#2
0
    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()
示例#3
0
文件: core.py 项目: zeus911/Mebius
 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')
示例#4
0
    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
示例#5
0
 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()