From e769348882ea3e6b4465e3a6af72029633b2485e Mon Sep 17 00:00:00 2001 From: Ian Wienand Date: Mon, 11 Feb 2019 12:26:03 +1100 Subject: [PATCH] Quote devstack_localrc arguments If you have devstack_localrc: ARGUMENT: "argument with spaces" The quotes get lost during YAML processing and the resulting file has ARGUMENT=argument with spaces which is a shell error. Quote all arguments to avoid this sort of thing. Change-Id: Ia63a53d745dfea7262bcdb5d46425f431c3ccfe5 --- .../write-devstack-local-conf/library/devstack_local_conf.py | 2 +- roles/write-devstack-local-conf/library/test.py | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/roles/write-devstack-local-conf/library/devstack_local_conf.py b/roles/write-devstack-local-conf/library/devstack_local_conf.py index 8df8dea6dd..3a8cd588b9 100644 --- a/roles/write-devstack-local-conf/library/devstack_local_conf.py +++ b/roles/write-devstack-local-conf/library/devstack_local_conf.py @@ -252,7 +252,7 @@ class LocalConf(object): if localrc: vg = VarGraph(localrc) for k, v in vg.getVars(): - self.localrc.append('{}={}'.format(k, v)) + self.localrc.append('{}="{}"'.format(k, v)) if k == 'LIBS_FROM_GIT': lfg = True elif k == 'TEMPEST_PLUGINS': diff --git a/roles/write-devstack-local-conf/library/test.py b/roles/write-devstack-local-conf/library/test.py index 2900949105..22bf2da55d 100644 --- a/roles/write-devstack-local-conf/library/test.py +++ b/roles/write-devstack-local-conf/library/test.py @@ -185,7 +185,7 @@ class TestDevstackLocalConf(unittest.TestCase): for line in f: if line.startswith('LIBS_FROM_GIT'): lfg = line.strip().split('=')[1] - self.assertEqual('oslo.db', lfg) + self.assertEqual('"oslo.db"', lfg) def test_plugin_circular_deps(self): "Test that plugins with circular dependencies fail" @@ -265,7 +265,7 @@ class TestDevstackLocalConf(unittest.TestCase): lc.write(p['path']) tp = self._find_tempest_plugins_value(p['path']) - self.assertEqual('someplugin', tp) + self.assertEqual('"someplugin"', tp) self.assertEqual(len(lc.warnings), 1)