We are seeing a small change to the output of "to_nice_yaml" and "to_yaml" when using ansible-core 2.12 versus 2.11.5 and older. The changes are only about escaping for wrapped multi-line strings.
If this in on purpose, please let me know how I can get the older ansible versions to produce the same output.
Thanks
Claus
Simple playbook:
- hosts: localhost
gather_facts: false
vars:
test_var: |
test line 1 which is very long so it wraps around during templating ..................
test line 2 which is indented
tasks:
- debug:
msg: '{{ lookup("template","test.j2") }}'
- debug:
msg: '{{ lookup("template","test.j2") | from_yaml }}'
- debug:
msg: '{{ lookup("template","test.j2") | from_yaml | to_nice_yaml(indent=2, sort_keys=False) }}'
And very simple template:
test: |
{{ test_var | indent(2,false) }}
Output from 2.11.5:
TASK [debug] **********************************************************************************************************************************************************************************
tirsdag 09 november 2021 10:54:14 +0100 (0:00:00.013) 0:00:00.013 ******
ok: [localhost] => {
"msg": "test: |\n test line 1 which is very long so it wraps around during templating ..................\n test line 2 which is indented\n"
}
TASK [debug] **********************************************************************************************************************************************************************************
tirsdag 09 november 2021 10:54:14 +0100 (0:00:00.025) 0:00:00.039 ******
ok: [localhost] => {
"msg": {
"test": "test line 1 which is very long so it wraps around during templating ..................\n test line 2 which is indented\n"
}
}
TASK [debug] **********************************************************************************************************************************************************************************
tirsdag 09 november 2021 10:54:14 +0100 (0:00:00.030) 0:00:00.069 ******
ok: [localhost] => {
"msg": "test: \"test line 1 which is very long so it wraps around during templating ..................\\n\\\n \\ test line 2 which is indented\\n\"\n"
}
Output from 2.12.0:
TASK [debug] **********************************************************************************************************************************************************************************
tirsdag 09 november 2021 11:03:48 +0100 (0:00:00.014) 0:00:00.014 ******
ok: [localhost] => {
"msg": "test: |\n test line 1 which is very long so it wraps around during templating ..................\n test line 2 which is indented\n"
}
TASK [debug] **********************************************************************************************************************************************************************************
tirsdag 09 november 2021 11:03:48 +0100 (0:00:00.028) 0:00:00.042 ******
ok: [localhost] => {
"msg": {
"test": "test line 1 which is very long so it wraps around during templating ..................\n test line 2 which is indented\n"
}
}
TASK [debug] **********************************************************************************************************************************************************************************
tirsdag 09 november 2021 11:03:48 +0100 (0:00:00.029) 0:00:00.072 ******
ok: [localhost] => {
"msg": "test: \"test line 1 which is very long so it wraps around during templating ..................\\n\n \\ test line 2 which is indented\\n\"\n"
}