I have the following task/main.yml part of my playbook.  Everything works 
fine except for the last section with the blockinfile.  I assume I have 
some sort of a syntax issue.
Enter code here...---
- name: Dependency resolution -- Install selinux bindings
  yum:
    name: libselinux-python
    state: present

- name: Gather list of ifcfg-* files
  shell: ls "{{ net_path }}" | grep ^ifcfg- | grep -ve ifcfg-lo -e \@ # 
Last piece (@) excludes ansible backup files
  register: ifcfg_list
  changed_when: false

- name: DEBUG
  debug:
    msg: "{{net_path}}{{ item }}"
  with_items: "{{ ifcfg_list.stdout_lines }}"

- name: Removing existing DNS entries from ifcfg-* files
  lineinfile:
    path: "{{ net_path }}{{ item }}"
    backup: yes
    state: absent
    regexp: '^DNS'
  with_items: "{{ ifcfg_list.stdout_lines }}"

- name: Removing existing DNS entries from resolv.conf
  lineinfile:
    path: /etc/resolv.conf
    backup: yes
    state: absent
    regexp: '^nameserver'

- name: Update DNS in ifcfg files
  blockinfile:
    path: "{{ net_path }}{{ item }}"
    marker: '# {mark} ANSIBLE MANAGED BLOCK -- Manual changes will be 
overwritten'
    insertafter: EOF
    block: |
      DNS1="{{ dns1 }}"
      DNS2="{{ dns2 }}"
    with_items: "{{ ifcfg_list.stdout_lines }}"




As you can see from the following results, the DEBUG iterates through it 
fine, but I fail in the Update DNS section.  It says the variable is 
undefined, but I can't see my problem.  Wondering if someone can help me 
out.
PLAY [ansibletest-oel6] 
******************************************************************************************************************************************************************************************************************

TASK [Gathering Facts] 
*******************************************************************************************************************************************************************************************************************
ok: [ansibletest-oel6]

TASK [dns_update : Dependency resolution -- Install selinux bindings] 
********************************************************************************************************************************************************************
ok: [ansibletest-oel6]

TASK [dns_update : Gather list of ifcfg-* files] 
*****************************************************************************************************************************************************************************************
ok: [ansibletest-oel6]

TASK [dns_update : DEBUG] 
****************************************************************************************************************************************************************************************************************
ok: [ansibletest-oel6] => (item=ifcfg-eth0) => {
    "item": "ifcfg-eth0",
    "msg": "/etc/sysconfig/network-scripts/ifcfg-eth0"
}
ok: [ansibletest-oel6] => (item=ifcfg-eth1) => {
    "item": "ifcfg-eth1",
    "msg": "/etc/sysconfig/network-scripts/ifcfg-eth1"
}

TASK [dns_update : Removing existing DNS entries from ifcfg-* files] 
*********************************************************************************************************************************************************************
ok: [ansibletest-oel6] => (item=ifcfg-eth0)
ok: [ansibletest-oel6] => (item=ifcfg-eth1)

TASK [dns_update : Removing existing DNS entries from resolv.conf] 
***********************************************************************************************************************************************************************
ok: [ansibletest-oel6]

TASK [dns_update : Update DNS in ifcfg files] 
********************************************************************************************************************************************************************************************
fatal: [ansibletest-oel6]: FAILED! => {"failed": true, "msg": "the field 
'args' has an invalid value, which appears to include a variable that is 
undefined. The error was: 'item' is undefined\n\nThe error appears to have 
been in '/etc/ansible/roles/dns_update/tasks/service.yml': line 32, column 
3, but may\nbe elsewhere in the file depending on the exact syntax 
problem.\n\nThe offending line appears to be:\n\n\n- name: Update DNS in 
ifcfg files\n  ^ here\n"}

PLAY RECAP 
*******************************************************************************************************************************************************************************************************************************
ansibletest-oel6           : ok=6    changed=0    unreachable=0    failed=1


-- 
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 [email protected].
To post to this group, send email to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/ansible-project/4648f70b-33c3-4872-8200-cecbab249352%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to