metavar="<OS>")
parser.add_option("--os-size", dest="os_size", help="Disk size",
default=4 * 1024, type="unit", metavar="<size>")
+ parser.add_option("--os-growth", dest="sda_growth", help="Disk growth",
+ default=1024, type="unit", metavar="<size>")
parser.add_option("--swap-size", dest="swap_size", help="Swap size",
default=4 * 1024, type="unit", metavar="<size>")
+ parser.add_option("--swap-growth", dest="sdb_growth", help="Swap growth",
+ default=1024, type="unit", metavar="<size>")
parser.add_option("--mem-size", dest="mem_size", help="Memory size",
default=128, type="unit", metavar="<size>")
parser.add_option("-v", "--verbose",
if self.opts.parallel:
self.ExecJobSet(jobset)
+ def GrowDisks(self):
+ """Grow both the os and the swap disks by the requested amount, if any."""
+ for instance in self.instances:
+ for disk in ['sda', 'sdb']:
+ growth = getattr(self.opts, '%s_growth' % disk)
+ if growth > 0:
+ op = opcodes.OpGrowDisk(instance_name=instance, disk=disk,
+ amount=growth)
+ Log("- Increase %s's %s disk by %s MB" % (instance, disk, growth))
+ self.ExecOp(op)
+
def ReplaceDisks1D8(self):
"""Replace disks on primary and secondary for drbd8."""
for instance in self.instances:
opts.disk_template in constants.DTS_NET_MIRROR) :
self.ReplaceDisks2()
+ if opts.disk_template != constants.DT_DISKLESS:
+ self.GrowDisks()
+
if opts.do_failover and opts.disk_template in constants.DTS_NET_MIRROR:
self.Failover()