Skip to content

Commit

Permalink
cli: add ways to display generic devices
Browse files Browse the repository at this point in the history
  • Loading branch information
thiell committed Dec 5, 2016
1 parent 03e5279 commit aeb25a8
Show file tree
Hide file tree
Showing 2 changed files with 25 additions and 7 deletions.
17 changes: 13 additions & 4 deletions sasutils/cli/sas_devices.py
Original file line number Diff line number Diff line change
Expand Up @@ -204,11 +204,20 @@ def print_end_devices(self, sysfsnode):
for enc in sorted(encset):
snic = ses_get_snic_nickname(enc.scsi_generic.name)
if snic:
encinfolist.append('[%s]' % snic)
if self.args.verbose:
encinfolist.append('[%s:%s]' % (enc.scsi_generic.name,
snic))
else:
encinfolist.append('[%s]' % snic)
else:
vals = (enc.attrs.vendor, enc.attrs.model,
enc.attrs.sas_address)
encinfolist.append('[%s %s, addr: %s]' % vals)
if self.args.verbose:
vals = (enc.scsi_generic.name, enc.attrs.vendor,
enc.attrs.model, enc.attrs.sas_address)
encinfolist.append('[%s:%s %s, addr: %s]' % vals)
else:
vals = (enc.attrs.vendor, enc.attrs.model,
enc.attrs.sas_address)
encinfolist.append('[%s %s, addr: %s]' % vals)

print("Enclosure group: %s" % ''.join(encinfolist))

Expand Down
15 changes: 12 additions & 3 deletions sasutils/cli/sas_discover.py
Original file line number Diff line number Diff line change
Expand Up @@ -303,6 +303,12 @@ def get_scsi_device_info(self, scsi_device, want_queue_attrs=False):
iargs = dict((k, scsi_device.attrs[k]) for k in ikeys)
dev_info = ', '.join(dev_info_fmt).format(**iargs)

dev_sg = ''
if self.disp.get('devices'):
sg = scsi_device.scsi_generic
if sg:
dev_sg = '(%s)' % sg.name

scsi_type = scsi_device.attrs.type
unknown_type = 'unknown[%s]' % scsi_type
try:
Expand All @@ -325,15 +331,15 @@ def get_scsi_device_info(self, scsi_device, want_queue_attrs=False):
# -vvv: print all queue attributes
queue_attr_info = dict(scsi_device.block.queue.attrs)

return '%s %s %s' % (dev_type, dev_info, blk_info), queue_attr_info
return ' '.join((dev_type, dev_info, blk_info, dev_sg)), queue_attr_info
elif dev_type == 'enclosure':
if verb > 0:
sg = scsi_device.scsi_generic
snic = ses_get_snic_nickname(sg.name)
if snic:
dev_type += ' %s' % snic

return "%s %s" % (dev_type, dev_info), {}
return ' '.join((dev_type, dev_info, dev_sg)), {}


class SDBlockQueueNode(SDNode):
Expand All @@ -350,13 +356,16 @@ def main():
help='Verbosity level, repeat multiple times!')
parser.add_argument('--addr', action='store_true', default=False,
help='Print SAS addresses')
parser.add_argument('--devices', action='store_true', default=False,
help='Print associated devices')
pargs = parser.parse_args()

# print short hostname as tree root node
root_name = socket.gethostname().split('.')[0]
root_obj = sysfs.node('class').node('sas_host')

disp = {'verbose': pargs.verbose, 'addr': pargs.addr}
disp = {'verbose': pargs.verbose, 'addr': pargs.addr,
'devices': pargs.devices}
root = SDRootNode(name=root_name, baseobj=root_obj, disp=disp)
root.print_tree()

Expand Down

0 comments on commit aeb25a8

Please sign in to comment.