Created
June 16, 2011 11:00
-
-
Save nacx/1029046 to your computer and use it in GitHub Desktop.
Cleanup a NexentaStor device
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/usr/bin/env python | |
import sys | |
import NZA | |
def delete_volumes_in_pool(pool): | |
print "Removing volumes in pool %s..." % pool | |
volumes = NZA.nms.zvol.get_names_by_prop('volume_name', pool, '') | |
for volume in volumes: | |
try: | |
name = NZA.nms.zvol.get_child_prop(volume, 'name') | |
NZA.nms.zvol.destroy(name, "-R") | |
except: | |
pass | |
def delete_target_groups(): | |
print "Removing target groups..." | |
tgs = NZA.nms.stmf.list_targetgroups() | |
for tg in tgs: | |
try: | |
NZA.nms.stmf.destroy_targetgroup(tg) | |
except: | |
pass | |
def delete_targets(): | |
print "Removing targets..." | |
targets = NZA.nms.iscsitarget.get_names('') | |
for target in targets: | |
try: | |
NZA.nms.iscsi.remove_target(target) | |
except: | |
pass | |
def delete_initiator_groups(): | |
print "Removing initiator groups..." | |
igs = NZA.nms.stmf.list_hostgroups() | |
for ig in igs: | |
try: | |
NZA.nms.stmf.destroy_hostgroup(ig) | |
except: | |
pass | |
def delete_initiators(): | |
print "Removing initiators..." | |
initiators = NZA.nms.iscsitarget.list_initiators() | |
for initiator in initiators: | |
try: | |
name = initiator["initiator_name"] | |
NZA.nms.iscsitarget.delete_initiator(name) | |
except: | |
pass | |
if __name__ == '__main__': | |
if NZA.initialize() != True: | |
sys.exit(1) | |
pools = NZA.nms.volume.get_names('') | |
for pool in pools: | |
pool_name = NZA.nms.volume.get_child_prop(pool, 'name') | |
delete_volumes_in_pool(pool_name) | |
delete_targets() | |
delete_target_groups() | |
delete_initiators() | |
delete_initiator_groups() |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment