def detect_disks(hw_lst): 'Detect disks.' names = diskinfo.disknames() sizes = diskinfo.disksizes(names) for name in [name for name, size in sizes.items() if size > 0]: hw_lst.append(('disk', name, 'size', str(sizes[name]))) item_list = ['vendor', 'model', 'rev'] for my_item in item_list: try: with open('/sys/block/%s/device/%s' % (name, my_item), 'r') as dev: hw_lst.append(('disk', name, my_item, dev.readline().rstrip('\n').strip())) except Exception, excpt: sys.stderr.write('Failed at getting disk information ' 'at /sys/block/%s/device/%s: %s\n' % (name, my_item, str(excpt))) item_list = ['WCE', 'RCD'] item_def = {'WCE': 'Write Cache Enable', 'RCD': 'Read Cache Disable'} for my_item in item_list: sdparm_cmd = subprocess.Popen("sdparm -q --get=%s /dev/%s | " "awk '{print $2}'" % (my_item, name), shell=True, stdout=subprocess.PIPE) for line in sdparm_cmd.stdout: hw_lst.append(('disk', name, item_def.get(my_item), line.rstrip('\n').strip()))
def detect_disks(hw_lst): 'Detect disks.' names = diskinfo.disknames() sizes = diskinfo.disksizes(names) for name in [name for name, size in sizes.items() if size > 0]: hw_lst.append(('disk', name, 'size', str(sizes[name]))) item_list = ['vendor', 'model', 'rev'] for my_item in item_list: try: with open('/sys/block/%s/device/%s' % (name, my_item), 'r') as dev: hw_lst.append(('disk', name, my_item, dev.readline().rstrip('\n').strip())) except Exception, excpt: sys.stderr.write( 'Failed at getting disk information ' 'at /sys/block/%s/device/%s: %s\n' % (name, my_item, str(excpt))) item_list = ['WCE', 'RCD'] item_def = {'WCE': 'Write Cache Enable', 'RCD': 'Read Cache Disable'} for my_item in item_list: sdparm_cmd = subprocess.Popen("sdparm -q --get=%s /dev/%s | " "awk '{print $2}'" % (my_item, name), shell=True, stdout=subprocess.PIPE) for line in sdparm_cmd.stdout: hw_lst.append(('disk', name, item_def.get(my_item), line.rstrip('\n').strip()))
def detect_disks(hw_lst): 'Detect disks.' names = diskinfo.disknames() sizes = diskinfo.disksizes(names) disks = [name for name, size in sizes.items() if size > 0] hw_lst.append(('disk', 'logical', 'count', str(len(disks)))) for name in disks: hw_lst.append(('disk', name, 'size', str(sizes[name]))) item_list = [ 'device/vendor', 'device/model', 'device/rev', 'queue/optimal_io_size', 'queue/physical_block_size', 'queue/rotational' ] for my_item in item_list: try: with open('/sys/block/%s/%s' % (name, my_item), 'r') as dev: hw_lst.append(('disk', name, my_item.split('/')[1], dev.readline().rstrip('\n').strip())) except Exception, excpt: sys.stderr.write('Failed at getting disk information ' 'at /sys/block/%s/device/%s: %s\n' % (name, my_item, str(excpt))) item_list = ['WCE', 'RCD'] item_def = {'WCE': 'Write Cache Enable', 'RCD': 'Read Cache Disable'} for my_item in item_list: sdparm_cmd = Popen("sdparm -q --get=%s /dev/%s | " "awk '{print $2}'" % (my_item, name), shell=True, stdout=PIPE) for line in sdparm_cmd.stdout: hw_lst.append(('disk', name, item_def.get(my_item), line.rstrip('\n').strip())) # In some VMs, the disk-by id doesn't exists if os.path.exists('/dev/disk/by-id/'): for entry in os.listdir('/dev/disk/by-id/'): if os.path.realpath('/dev/disk/by-id/' + entry).split('/')[-1] == \ name: id_name = "id" if entry.startswith('wwn'): id_name = "wwn-id" elif entry.startswith('scsi'): id_name = "scsi-id" hw_lst.append(('disk', name, id_name, entry)) detect_utils.read_SMART(hw_lst, "/dev/%s" % name)
def detect_disks(hw_lst): 'Detect disks.' names = diskinfo.disknames() sizes = diskinfo.disksizes(names) disks = [name for name, size in sizes.items() if size > 0] hw_lst.append(('disk', 'logical', 'count', str(len(disks)))) for name in disks: hw_lst.append(('disk', name, 'size', str(sizes[name]))) item_list = ['device/vendor', 'device/model', 'device/rev', 'queue/optimal_io_size', 'queue/physical_block_size', 'queue/rotational'] for my_item in item_list: try: with open('/sys/block/%s/%s' % (name, my_item), 'r') as dev: hw_lst.append(('disk', name, my_item.split('/')[1], dev.readline().rstrip('\n').strip())) except Exception, excpt: sys.stderr.write( 'Failed at getting disk information ' 'at /sys/block/%s/device/%s: %s\n' % (name, my_item, str(excpt))) item_list = ['WCE', 'RCD'] item_def = {'WCE': 'Write Cache Enable', 'RCD': 'Read Cache Disable'} for my_item in item_list: sdparm_cmd = Popen("sdparm -q --get=%s /dev/%s | " "awk '{print $2}'" % (my_item, name), shell=True, stdout=PIPE) for line in sdparm_cmd.stdout: hw_lst.append(('disk', name, item_def.get(my_item), line.rstrip('\n').strip())) # In some VMs, the disk-by id doesn't exists if os.path.exists('/dev/disk/by-id/'): for entry in os.listdir('/dev/disk/by-id/'): if os.path.realpath('/dev/disk/by-id/' + entry).split('/')[-1] == \ name: id_name = "id" if entry.startswith('wwn'): id_name = "wwn-id" elif entry.startswith('scsi'): id_name = "scsi-id" hw_lst.append(('disk', name, id_name, entry)) detect_utils.read_SMART(hw_lst, "/dev/%s" % name)
def detect_disks(hw_lst): 'Detect disks.' names = diskinfo.disknames() sizes = diskinfo.disksizes(names) disks = [name for name, size in sizes.items() if size > 0] hw_lst.append(('disk', 'logical', 'count', str(len(disks)))) for name in disks: hw_lst.append(('disk', name, 'size', str(sizes[name]))) item_list = ['vendor', 'model', 'rev'] for my_item in item_list: try: with open('/sys/block/%s/device/%s' % (name, my_item), 'r') as dev: hw_lst.append(('disk', name, my_item, dev.readline().rstrip('\n').strip())) except Exception, excpt: sys.stderr.write( 'Failed at getting disk information ' 'at /sys/block/%s/device/%s: %s\n' % (name, my_item, str(excpt))) item_list = ['WCE', 'RCD'] item_def = {'WCE': 'Write Cache Enable', 'RCD': 'Read Cache Disable'} for my_item in item_list: sdparm_cmd = Popen("sdparm -q --get=%s /dev/%s | " "awk '{print $2}'" % (my_item, name), shell=True, stdout=PIPE) for line in sdparm_cmd.stdout: hw_lst.append(('disk', name, item_def.get(my_item), line.rstrip('\n').strip())) id_label = Popen("cd /dev/disk/by-id; for device in *;" " do readlink $device | grep -qw %s && echo $device;" " done;" % name, shell=True, stdout=PIPE) for line in id_label.stdout: hw_lst.append(('disk', name, 'id', line.rstrip('\n').strip()))
def detect_disks(hw_lst): 'Detect disks.' names = diskinfo.disknames() sizes = diskinfo.disksizes(names) disks = [name for name, size in sizes.items() if size > 0] hw_lst.append(('disk', 'logical', 'count', str(len(disks)))) for name in disks: hw_lst.append(('disk', name, 'size', str(sizes[name]))) item_list = ['vendor', 'model', 'rev'] for my_item in item_list: try: with open('/sys/block/%s/device/%s' % (name, my_item), 'r') as dev: hw_lst.append(('disk', name, my_item, dev.readline().rstrip('\n').strip())) except Exception, excpt: sys.stderr.write('Failed at getting disk information ' 'at /sys/block/%s/device/%s: %s\n' % (name, my_item, str(excpt))) item_list = ['WCE', 'RCD'] item_def = {'WCE': 'Write Cache Enable', 'RCD': 'Read Cache Disable'} for my_item in item_list: sdparm_cmd = Popen("sdparm -q --get=%s /dev/%s | " "awk '{print $2}'" % (my_item, name), shell=True, stdout=PIPE) for line in sdparm_cmd.stdout: hw_lst.append(('disk', name, item_def.get(my_item), line.rstrip('\n').strip())) id_label = Popen("cd /dev/disk/by-id; for device in *;" " do readlink $device | grep -qw %s && echo $device;" " done;" % name, shell=True, stdout=PIPE) for line in id_label.stdout: hw_lst.append(('disk', name, 'id', line.rstrip('\n').strip()))