cli.cli_option("--disk-growth", dest="disk_growth", help="Disk growth",
default="128m", type="string", metavar="<size,size,...>"),
cli.cli_option("--mem-size", dest="mem_size", help="Memory size",
+ default=None, type="unit", metavar="<size>",
+ completion_suggest=("128M 256M 512M 1G 4G 8G"
+ " 12G 16G").split()),
+ cli.cli_option("--maxmem-size", dest="maxmem_size", help="Max Memory size",
+ default=256, type="unit", metavar="<size>",
+ completion_suggest=("128M 256M 512M 1G 4G 8G"
+ " 12G 16G").split()),
+ cli.cli_option("--minmem-size", dest="minmem_size", help="Min Memory size",
default=128, type="unit", metavar="<size>",
completion_suggest=("128M 256M 512M 1G 4G 8G"
" 12G 16G").split()),
const=[], default=[{}]),
cli.cli_option("--no-confd", dest="do_confd_tests",
help="Skip confd queries",
- action="store_false", default=True),
+ action="store_false", default=constants.ENABLE_CONFD),
cli.cli_option("--rename", dest="rename", default=None,
help=("Give one unused instance name which is taken"
" to start the renaming sequence"),
if len(args) < 1 or options.os is None:
Usage()
+ if options.mem_size:
+ options.maxmem_size = options.mem_size
+ options.minmem_size = options.mem_size
+ elif options.minmem_size > options.maxmem_size:
+ Err("Maximum memory lower than minimum memory")
+
supported_disk_templates = (constants.DT_DISKLESS,
constants.DT_FILE,
constants.DT_SHARED_FILE,
constants.DT_PLAIN,
- constants.DT_DRBD8)
+ constants.DT_DRBD8,
+ constants.DT_RBD,
+ )
if options.disk_template not in supported_disk_templates:
Err("Unknown disk template '%s'" % options.disk_template)
self.opts = options
self.instances = args
self.bep = {
- constants.BE_MEMORY: options.mem_size,
+ constants.BE_MINMEM: options.minmem_size,
+ constants.BE_MAXMEM: options.maxmem_size,
constants.BE_VCPUS: options.vcpu_count,
}
self.ExecOrQueue(instance, [op], post_process=remove_instance(instance))
@_DoBatch(False)
+ def BurnModifyRuntimeMemory(self):
+ """Alter the runtime memory."""
+ Log("Setting instance runtime memory")
+ for instance in self.instances:
+ Log("instance %s", instance, indent=1)
+ tgt_mem = self.bep[constants.BE_MINMEM]
+ op = opcodes.OpInstanceSetParams(instance_name=instance,
+ runtime_mem=tgt_mem)
+ Log("Set memory to %s MB", tgt_mem, indent=2)
+ self.ExecOrQueue(instance, [op])
+
+ @_DoBatch(False)
def BurnGrowDisks(self):
"""Grow both the os and the swap disks by the requested amount, if any."""
Log("Growing disks")
Err("When one node is available/selected the disk template must"
" be 'diskless', 'file' or 'plain'")
+ if opts.do_confd_tests and not constants.ENABLE_CONFD:
+ Err("You selected confd tests but confd was disabled at configure time")
+
has_err = True
try:
self.BurnCreateInstances()
+
+ if self.bep[constants.BE_MINMEM] < self.bep[constants.BE_MAXMEM]:
+ self.BurnModifyRuntimeMemory()
+
if opts.do_replace1 and opts.disk_template in constants.DTS_INT_MIRROR:
self.BurnReplaceDisks1D8()
if (opts.do_replace2 and len(self.nodes) > 2 and