Hi, I am generating config files and I want them to be indented just so. I started with a jinja2 template that rendered correctly when called from a simple python program. When I call it from ansible, I will get 2 extra spaces on all but the first line of the loop. Generating things like yaml and python has been a real pain. I have taken to putting a comment line as the first line of a for block to fix this...
Here is a really simple example of a yaml generator: *playbook call:* - name: generate bgp vars file, put in includes directory local_action: template src={{ role_dir }}/templates/bgp_vars.j2 dest={{ incvar_dir }}/bgp_vars.yaml run_once: true *section of template:* dc_route_reflectors: {% for dc in SH_dcs %} # dc is "{{ dc }}" {{ dc }}: {% for host in groups[bgpgroupname] if dc == hostvars[host].MYDC %} - "{{ hostvars[host].MAIN_MYADDR }}" {% endfor %} {% endfor %} *rendered output:* dc_route_reflectors: # dc is "pnp" pnp: - "10.100.16.3" - "10.100.32.3" # dc is "sgs" sgs: - "10.8.0.3" - "10.8.16.3" # dc is "cst" cst: - "10.4.0.3" - "10.4.16.3" # dc is "dse" dse: - "10.200.0.3" - "10.200.16.3" Notice how the pnp comment is not indented as it is shown in the template, but sgs,cst and dse are indented by 2 spaces. All of the array lines of ip addresses are also indented. I have tried various versions of adding "-" to the "%" things as Jinja2 describes, but none have given consistent correct results. Others must have seen this before. I'm running 2.2.1.0 on centos7. -- You received this message because you are subscribed to the Google Groups "Ansible Project" group. To unsubscribe from this group and stop receiving emails from it, send an email to ansible-project+unsubscr...@googlegroups.com. To post to this group, send email to ansible-project@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/ansible-project/7b79884c-296f-4a39-a5ea-1faf92ac458d%40googlegroups.com. For more options, visit https://groups.google.com/d/optout.