Last active
December 19, 2015 00:20
-
-
Save vicenteg/5868362 to your computer and use it in GitHub Desktop.
Generating the commands needed to create pools, volumes and then assign them to 64 servers in a SeaMicro chassis.
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/python | |
# SSDs in slots 0-1 of each S-card. | |
# HDDs in slots 2-7 of each S-card. | |
# Application A - 16 servers | |
# Assign one 64GB SSD volume to vdisk 0 | |
# Assign three whole-disk volumes to each of vdisk 1, 2, 3 | |
# Application B - 48 servers | |
# Assign one 32GB SSD volume to disk 0 | |
slots = range(0,8) | |
disks = range(0,2) | |
vars = { | |
'ssd_pool_basename' : "ssd", | |
'hdd_pool_basename' : "hdd", | |
'hdd_volume_basename': "hddvol", | |
'app_a_volume_basename' : "appA", | |
'app_b_volume_basename' : "appB", | |
'app_a_volume_size' : 64, | |
'app_b_volume_size' : 32, | |
} | |
for slot in slots: | |
for disk in disks: | |
vars.update({ 'disk': disk, 'slot': slot }) | |
print "storage create pool %(slot)d/%(ssd_pool_basename)s-%(disk)d disk %(slot)d/%(disk)d" % vars | |
print "storage create volume-prefix %(slot)d/%(ssd_pool_basename)s-%(disk)d/%(app_a_volume_basename)s size %(app_a_volume_size)d count 1" % vars | |
print "storage create volume-prefix %(slot)d/%(ssd_pool_basename)s-%(disk)d/%(app_b_volume_basename)s size %(app_b_volume_size)d count 3" % vars | |
disks = range(2,8) | |
for slot in slots: | |
for disk in disks: | |
vars.update({ 'disk': disk, 'slot': slot }) | |
print "storage create pool %(slot)d/%(hdd_pool_basename)s-%(disk)d disk %(slot)d/%(disk)d" % vars | |
print "storage create volume-prefix %(slot)d/%(hdd_pool_basename)s-%(disk)d/%(hdd_volume_basename)s size max" % vars | |
print """\ | |
configure terminal | |
storage assign-range 0/0-15/0 0 volume %(app_a_volume_basename)s | |
storage assign-range 0/0-15/0 1-3 volume %(hdd_volume_basename)s | |
storage assign-range 16/0-63/0 0 volume %(app_b_volume_basename)s | |
exit configuration-mode | |
""" % vars |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment