X-Git-Url: https://code.grnet.gr/git/ganeti-local/blobdiff_plain/021f5d6ffc32ff9dfdcf693a045913fd1c6c6399..dc922da0868e789a8d3322420ccd124460b63db3:/scripts/gnt-backup diff --git a/scripts/gnt-backup b/scripts/gnt-backup index 0cb6abf..467b37d 100755 --- a/scripts/gnt-backup +++ b/scripts/gnt-backup @@ -45,7 +45,7 @@ def PrintExportList(opts, args): @return: the desired exit code """ - exports = GetClient().QueryExports(opts.nodes) + exports = GetClient().QueryExports(opts.nodes, False) retcode = 0 for node in exports: ToStdout("Node: %s", node) @@ -102,7 +102,7 @@ def ImportInstance(opts, args): except ValueError, err: raise errors.OpPrereqError("Invalid NIC index passed: %s" % str(err)) nics = [{}] * nic_max - for nidx, ndict in opts.nics.items(): + for nidx, ndict in opts.nics: nidx = int(nidx) nics[nidx] = ndict elif opts.no_nics: @@ -113,13 +113,18 @@ def ImportInstance(opts, args): nics = [{}] if opts.disk_template == constants.DT_DISKLESS: - if opts.disks: + if opts.disks or opts.sd_size is not None: raise errors.OpPrereqError("Diskless instance but disk" " information passed") disks = [] else: - if not opts.disks: + if not opts.disks and not opts.sd_size: raise errors.OpPrereqError("No disk information specified") + if opts.disks and opts.sd_size is not None: + raise errors.OpPrereqError("Please use either the '--disk' or" + " '-s' option") + if opts.sd_size is not None: + opts.disks = [(0, {"size": opts.sd_size})] try: disk_max = max(int(didx[0])+1 for didx in opts.disks) except ValueError, err: @@ -136,7 +141,8 @@ def ImportInstance(opts, args): (didx, err)) disks[didx] = ddict - ValidateBeParams(opts.beparams) + utils.ForceDictType(opts.beparams, constants.BES_PARAMETER_TYPES) + utils.ForceDictType(hvparams, constants.HVS_PARAMETER_TYPES) op = opcodes.OpCreateInstance(instance_name=instance, disk_template=opts.disk_template, @@ -193,6 +199,10 @@ import_opts = [ default=[], dest="disks", action="append", type="identkeyval"), + cli_option("-s", "--os-size", dest="sd_size", help="Disk size for a" + " single-disk configuration, when not using the --disk option," + " in MiB unless a suffix is used", + default=None, type="unit", metavar=""), ikv_option("--net", help="NIC information", default=[], dest="nics", action="append", @@ -208,7 +218,7 @@ import_opts = [ make_option("--no-ip-check", dest="ip_check", default=True, action="store_false", help="Don't check that the instance's IP" " is alive"), - make_option("--iallocator", metavar="", + make_option("-I", "--iallocator", metavar="", help="Select nodes for the instance automatically using the" " iallocator plugin", default=None, type="string"), make_option("--file-storage-dir", dest="file_storage_dir",