]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
qa/tasks/tempest.py: always write str is value of options
authorKefu Chai <kchai@redhat.com>
Mon, 6 Apr 2020 08:37:55 +0000 (16:37 +0800)
committerKefu Chai <kchai@redhat.com>
Wed, 3 Jun 2020 11:56:59 +0000 (19:56 +0800)
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 <kchai@redhat.com>
(cherry picked from commit 5ef3a5fe3282146b56bd2a589fef17c28d57e8e2)

qa/tasks/tempest.py

index aeee1f0866c95b6479c993a57dcb58f4f698b9e7..13189fd54b5e1269ed211b1ad450c72e7a9d4cec 100644 (file)
@@ -92,8 +92,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