From 5ef3a5fe3282146b56bd2a589fef17c28d57e8e2 Mon Sep 17 00:00:00 2001 From: Kefu Chai Date: Mon, 6 Apr 2020 16:37:55 +0800 Subject: [PATCH] qa/tasks/tempest.py: always write str is value of options in Python2, ConfigParser is almost the same as RawConfigParser, which allows set non-string values, but in Python3, ConfigParser.set() only accepts strings as value of option. since we do not use "cpar" as an internal storage for options, it does not matter what type of options we set using ConfigParser as long as it can be consumed by tempest. boolean settings are translated to "true" or "false". see also https://docs.openstack.org/tempest/latest/sampleconf.html Signed-off-by: Kefu Chai --- qa/tasks/tempest.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/qa/tasks/tempest.py b/qa/tasks/tempest.py index 5e760dbcbdc15..c75bfbe966b96 100644 --- a/qa/tasks/tempest.py +++ b/qa/tasks/tempest.py @@ -101,8 +101,12 @@ def setup_logging(ctx, cpar): def to_config(config, params, section, cpar): for (k, v) in config[section].items(): - if (isinstance(v, str)): + if isinstance(v, str): v = v.format(**params) + elif isinstance(v, bool): + v = 'true' if v else 'false' + else: + v = str(v) cpar.set(section, k, v) @contextlib.contextmanager -- 2.39.5