diff --git a/lib/backend.py b/lib/backend.py index 95cbf7d7676adf3c683b6f7511f4490b32e9c81e..5d79743b02c56f0da1ff9ae71b95a8e92e749d80 100644 --- a/lib/backend.py +++ b/lib/backend.py @@ -1606,24 +1606,21 @@ def FinalizeExport(instance, snap_disks): # TODO: redundant: on load can read nics until it doesn't exist config.set(constants.INISECT_INS, 'nic_count' , '%d' % nic_count) - disk_count = 0 + disk_total = 0 for disk_count, disk in enumerate(snap_disks): if disk: + disk_total += 1 config.set(constants.INISECT_INS, 'disk%d_ivname' % disk_count, ('%s' % disk.iv_name)) config.set(constants.INISECT_INS, 'disk%d_dump' % disk_count, ('%s' % disk.physical_id[1])) config.set(constants.INISECT_INS, 'disk%d_size' % disk_count, ('%d' % disk.size)) - config.set(constants.INISECT_INS, 'disk_count' , '%d' % disk_count) - cff = os.path.join(destdir, constants.EXPORT_CONF_FILE) - cfo = open(cff, 'w') - try: - config.write(cfo) - finally: - cfo.close() + config.set(constants.INISECT_INS, 'disk_count' , '%d' % disk_total) + utils.WriteFile(os.path.join(destdir, constants.EXPORT_CONF_FILE), + data=config.Dumps()) shutil.rmtree(finaldestdir, True) shutil.move(destdir, finaldestdir) @@ -1691,8 +1688,9 @@ def ImportOSIntoInstance(instance, src_node, src_images, cluster_name): import_env['IMPORT_INDEX'] = str(idx) result = utils.RunCmd(command, env=import_env) if result.failed: - logging.error("disk import command '%s' returned error: %s" - " output: %s", command, result.fail_reason, result.output) + logging.error("Disk import command '%s' returned error: %s" + " output: %s", command, result.fail_reason, + result.output) final_result.append(False) else: final_result.append(True) diff --git a/lib/cmdlib.py b/lib/cmdlib.py index ad1d2766781e6057482021276fd95658c8296852..52fa77aef603087b0dc09b052f74398a8e609fec 100644 --- a/lib/cmdlib.py +++ b/lib/cmdlib.py @@ -3606,7 +3606,7 @@ class LUCreateInstance(LogicalUnit): if instance_disks < export_disks: raise errors.OpPrereqError("Not enough disks to import." " (instance: %d, export: %d)" % - (2, export_disks)) + (instance_disks, export_disks)) self.op.os_type = export_info.get(constants.INISECT_EXP, 'os') disk_images = [] @@ -3824,9 +3824,9 @@ class LUCreateInstance(LogicalUnit): cluster_name) for idx, result in enumerate(import_result): if not result: - self.LogWarning("Could not image %s for on instance %s, disk %d," - " on node %s" % (src_images[idx], instance, idx, - pnode_name)) + self.LogWarning("Could not import the image %s for instance" + " %s, disk %d, on node %s" % + (src_images[idx], instance, idx, pnode_name)) else: # also checked in the prereq part raise errors.ProgrammerError("Unknown OS initialization mode '%s'"