From d988d98e558ef5016fca14ecb10ed1664166b292 Mon Sep 17 00:00:00 2001 From: Tony Breeds Date: Wed, 17 Jan 2018 14:16:09 +1100 Subject: [PATCH] Ensure Boolean Strings from the environment are treated correctly This happens because we use six.text_type() to convert the oslo.config options into a strings so we can pass it via environment variables[1,2,3]. [1] http://git.openstack.org/cgit/openstack/instack-undercloud/tree/instack_undercloud/undercloud.py#n1229 [2] http://git.openstack.org/cgit/openstack/instack-undercloud/tree/instack_undercloud/undercloud.py#n1371 [3] http://git.openstack.org/cgit/openstack/instack-undercloud/tree/instack_undercloud/undercloud.py#n550 Change-Id: I5830a856960856af1a045d6eda609b8abb20658d Closes-Bug: 1743679 (cherry picked from commit 28fd5228860d4aeea1bcf7de13d9a4eb8ed6d643) --- .../puppet-stack-config/install.d/02-puppet-stack-config | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/elements/puppet-stack-config/install.d/02-puppet-stack-config b/elements/puppet-stack-config/install.d/02-puppet-stack-config index d3503b09d..be71c5d57 100755 --- a/elements/puppet-stack-config/install.d/02-puppet-stack-config +++ b/elements/puppet-stack-config/install.d/02-puppet-stack-config @@ -36,6 +36,13 @@ for k, v in os.environ.items(): endpoint_context[k] = v context.update(endpoint_context) +# Make sure boolean strings are treated as Bool() +for k, v in list(context.items()): + if v == 'False': + context[k] = False + elif v == 'True': + context[k] = True + with open(template) as f: puppet_stack_config_yaml = renderer.render(f.read(), context)