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
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 8df8dea..3a8cd58 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 @@
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 2900949..22bf2da 100644
--- a/roles/write-devstack-local-conf/library/test.py
+++ b/roles/write-devstack-local-conf/library/test.py
@@ -185,7 +185,7 @@
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 @@
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)