Merge "Disable aliases in inventory.yaml for better readibility"
This commit is contained in:
commit
545729fe37
@ -82,3 +82,29 @@ list:
|
||||
"""
|
||||
yaml_out = yamlutil.ansible_unsafe_dump(data, default_flow_style=False)
|
||||
self.assertEqual(yaml_out, expected)
|
||||
|
||||
def test_ansible_dumper_with_aliases(self):
|
||||
foo = {'bar': 'baz'}
|
||||
data = {'foo1': foo, 'foo2': foo}
|
||||
expected = """\
|
||||
foo1: &id001
|
||||
bar: baz
|
||||
foo2: *id001
|
||||
"""
|
||||
yaml_out = yamlutil.ansible_unsafe_dump(data, default_flow_style=False)
|
||||
self.assertEqual(yaml_out, expected)
|
||||
|
||||
def test_ansible_dumper_ignore_aliases(self):
|
||||
foo = {'bar': 'baz'}
|
||||
data = {'foo1': foo, 'foo2': foo}
|
||||
expected = """\
|
||||
foo1:
|
||||
bar: baz
|
||||
foo2:
|
||||
bar: baz
|
||||
"""
|
||||
yaml_out = yamlutil.ansible_unsafe_dump(
|
||||
data,
|
||||
ignore_aliases=True,
|
||||
default_flow_style=False)
|
||||
self.assertEqual(yaml_out, expected)
|
||||
|
@ -2442,7 +2442,10 @@ class AnsibleJob(object):
|
||||
inventory['all']['vars']['zuul'] = self.zuul_vars
|
||||
with open(self.jobdir.inventory, 'w') as inventory_yaml:
|
||||
inventory_yaml.write(
|
||||
yaml.ansible_unsafe_dump(inventory, default_flow_style=False))
|
||||
yaml.ansible_unsafe_dump(
|
||||
inventory,
|
||||
ignore_aliases=True,
|
||||
default_flow_style=False))
|
||||
|
||||
def writeSetupInventory(self):
|
||||
jobdir_playbook = self.jobdir.setup_playbook
|
||||
|
@ -142,6 +142,11 @@ class AnsibleUnsafeDumper(yaml.SafeDumper):
|
||||
pass
|
||||
|
||||
|
||||
class AnsibleUnsafeDumperWithoutAliases(yaml.SafeDumper):
|
||||
def ignore_aliases(self, data):
|
||||
return True
|
||||
|
||||
|
||||
class AnsibleUnsafeLoader(yaml.SafeLoader):
|
||||
pass
|
||||
|
||||
@ -153,7 +158,12 @@ AnsibleUnsafeLoader.add_constructor(AnsibleUnsafeStr.yaml_tag,
|
||||
|
||||
|
||||
def ansible_unsafe_dump(data, *args, **kwargs):
|
||||
return yaml.dump(data, *args, Dumper=AnsibleUnsafeDumper, **kwargs)
|
||||
ignore_aliases = kwargs.pop('ignore_aliases', False)
|
||||
if ignore_aliases:
|
||||
return yaml.dump(data, *args, Dumper=AnsibleUnsafeDumperWithoutAliases,
|
||||
**kwargs)
|
||||
else:
|
||||
return yaml.dump(data, *args, Dumper=AnsibleUnsafeDumper, **kwargs)
|
||||
|
||||
|
||||
def ansible_unsafe_load(stream, *args, **kwargs):
|
||||
|
Loading…
x
Reference in New Issue
Block a user