From 1a8b0ef1436c78ddc7877d38666ae8fa6e8e79bb Mon Sep 17 00:00:00 2001 From: Claudio-Daniel Freire Date: Mon, 5 Sep 2011 03:17:46 +0200 Subject: [PATCH] Fix testbed proxy serialization in the presence of missing values (ie: defaults or None) --- src/nepi/core/execute.py | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/src/nepi/core/execute.py b/src/nepi/core/execute.py index 5c0b8dae..1c51d58f 100644 --- a/src/nepi/core/execute.py +++ b/src/nepi/core/execute.py @@ -507,8 +507,9 @@ class ExperimentController(object): conf.add_section(testbed_guid) for attr in testbed_config.get_attribute_list(): if attr not in TRANSIENT: - conf.set(testbed_guid, attr, - testbed_config.get_attribute_value(attr)) + value = testbed_config.get_attribute_value(attr) + if value is not None: + conf.set(testbed_guid, attr, value) f = open(os.path.join(self._root_dir, 'deployment_config.ini'), 'w') conf.write(f) @@ -539,8 +540,12 @@ class ExperimentController(object): getter = getattr(conf, TYPEMAP.get( testbed_config.get_attribute_type(attr), 'get') ) - testbed_config.set_attribute_value( - attr, getter(testbed_guid, attr)) + try: + value = getter(testbed_guid, attr) + testbed_config.set_attribute_value(attr, value) + except ConfigParser.NoOptionError: + # Leave default + pass def _unpersist_testbed_proxies(self): try: -- 2.47.0