Add pool support to qvm-clone

This commit is contained in:
Bahtiar `kalkin-` Gadimov 2015-12-06 18:28:27 +01:00
parent 36134c8c43
commit bb754b68c3

View File

@ -38,6 +38,8 @@ def main():
help="Specify path to the template directory")
parser.add_option ("--force-root", action="store_true", dest="force_root", default=False,
help="Force to run, even with root privileges")
parser.add_option ("-P", "--pool", dest="pool_name",
help="Specify in to which storage pool to clone")
(options, args) = parser.parse_args ()
if (len (args) != 2):
@ -45,6 +47,7 @@ def main():
srcname = args[0]
dstname = args[1]
if hasattr(os, "geteuid") and os.geteuid() == 0:
if not options.force_root:
print >> sys.stderr, "*** Running this tool as root is strongly discouraged, this will lead you in permissions problems."
@ -61,6 +64,11 @@ def main():
print >> sys.stderr, "ERROR: A VM with the name '{0}' does not exist in the system.".format(srcname)
exit(1)
if options.pool_name is None:
pool_name = src_vm.pool_name
else:
pool_name = options.pool_name
if qvm_collection.get_vm_by_name(dstname) is not None:
print >> sys.stderr, "ERROR: A VM with the name '{0}' already exists in the system.".format(dstname)
exit(1)
@ -70,7 +78,7 @@ def main():
exit(1)
dst_vm = qvm_collection.add_new_vm(src_vm.__class__.__name__,
name=dstname, template=src_vm.template,
name=dstname, template=src_vm.template, pool_name=pool_name,
dir_path=options.dir_path, installed_by_rpm=False)
try: