Skip to content

Instantly share code, notes, and snippets.

@nacx
Created March 10, 2011 15:38
Show Gist options
  • Save nacx/864287 to your computer and use it in GitHub Desktop.
Save nacx/864287 to your computer and use it in GitHub Desktop.
Simple NexentaStor information retrieval python script
#!/usr/bin/env python
import sys
import NZA
def print_volumes_by_pool(pool):
volumes = NZA.nms.zvol.get_names_by_prop('volume_name', pool, '')
for volume in volumes:
name = NZA.nms.zvol.get_child_prop(volume, 'name')
size = NZA.nms.zvol.get_child_prop(volume, 'size')
used = NZA.nms.zvol.get_child_prop(volume, 'used')
# available = NZA.nms.zvol.get_child_prop(volume, 'available')
print " %s [%s / %sM]" % (name, used, size)
def print_pools():
pools = NZA.nms.volume.get_names('')
for pool in pools:
name = NZA.nms.volume.get_child_prop(pool, 'name')
size = NZA.nms.volume.get_child_prop(pool, 'size')
print " %s (%s)" % (name, size)
print_volumes_by_pool(name)
def print_target_groups():
tgs = NZA.nms.stmf.list_targetgroups()
for tg in tgs:
targets = NZA.nms.stmf.list_targetgroup_members(tg)
print " %s (%d)" % (tg, len(targets))
for target in targets:
print " ", target
def print_initiator_groups():
igs = NZA.nms.stmf.list_hostgroups()
for ig in igs:
initiators = NZA.nms.stmf.list_hostgroup_members(ig)
print " %s (%d)" % (ig, len(initiators))
for initiator in initiators:
print " ", initiator
if __name__ == '__main__':
if NZA.initialize() != True:
sys.exit(1)
print "Storage pools:"
print_pools()
print "\nTarget groups:"
print_target_groups()
print "\nInitiator groups:"
print_initiator_groups()
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment