diff --git a/lib/backend.py b/lib/backend.py index 326d0f8f8b1a763178d8ca6129258fc12e7e9e64..db0ec8c526348593011fcc696c043e5173f18183 100644 --- a/lib/backend.py +++ b/lib/backend.py @@ -2086,6 +2086,7 @@ def FinalizeExport(instance, snap_disks): config.set(constants.INISECT_INS, 'vcpus', '%d' % instance.beparams[constants.BE_VCPUS]) config.set(constants.INISECT_INS, 'disk_template', instance.disk_template) + config.set(constants.INISECT_INS, 'hypervisor', instance.hypervisor) nic_total = 0 for nic_count, nic in enumerate(instance.nics): @@ -2112,6 +2113,17 @@ def FinalizeExport(instance, snap_disks): config.set(constants.INISECT_INS, 'disk_count' , '%d' % disk_total) + # New-style hypervisor/backend parameters + + config.add_section(constants.INISECT_HYP) + for name, value in instance.hvparams.items(): + if name not in constants.HVC_GLOBALS: + config.set(constants.INISECT_HYP, name, str(value)) + + config.add_section(constants.INISECT_BEP) + for name, value in instance.beparams.items(): + config.set(constants.INISECT_BEP, name, str(value)) + utils.WriteFile(utils.PathJoin(destdir, constants.EXPORT_CONF_FILE), data=config.Dumps()) shutil.rmtree(finaldestdir, ignore_errors=True) diff --git a/lib/constants.py b/lib/constants.py index 5c447018a0b9e492b2651dd71809ab5f0e426fdd..f8010655cbfc366836a8981aa37c748a9433f46a 100644 --- a/lib/constants.py +++ b/lib/constants.py @@ -313,6 +313,8 @@ FILE_DRIVER = frozenset([FD_LOOP, FD_BLKTAP]) # import/export config options INISECT_EXP = "export" INISECT_INS = "instance" +INISECT_HYP = "hypervisor" +INISECT_BEP = "backend" # dynamic device modification