Hi Uwe,
Thank you for your help.

When I insert the - debug then I get this feedback of it:
TASK [basic : debug] ****************************************************
fatal: [server1.infra.sys]: FAILED! => {"msg": "Unexpected failure in 
finding the lookup named '{{ interfaces }}' in the available lookup 
plugins"}


Am Freitag, 30. November 2018 08:54:22 UTC+1 schrieb Uwe Sauter:
>
> When I'm debugging Ansible Playbooks and I don't know if I can access a 
> variable I usually have a debug block. 
>
> In your case this might look something like: 
>
> ##### 
> - debug: 
>     msg: ''{{ item | to_nice_yaml }}' 
>   loop: '{{ interfaces }}' 
>
> - meta: end_play 
> ##### 
>
> Put this block in front of the failing and you'll get a view on each 
> member of "interfaces" as seen by Ansible. After the debug 
> messages the play will end gracefully. 
>
>
>
> Am 30.11.18 um 08:50 schrieb Phillip: 
> > Hi All, 
> > 
> > I'm new to Ansible and take over an existing Ansible setup from my 
> co-worker. 
> > Now the playbook worked on his configuration but now I made a 
> modification with a new host and I receive an error message which 
> > doesn't makes a whole lot of sense for me. 
> > 
> > Ansible Version: 2.4.2.0-2.el7 
> > Ansible OS: CentOS 7.5.1804 
> > Receiving Server: CentOS 7.4.1708 
> > 
> > ok: [server1.infra.sys] => (item={u'ipaddr': u'1.1.1.2', u'netmask': 
> u'255.255.255.0', u'bootproto': u'none', u'device': 
> > u'ens192', u'type': u'Ethernet', u'gateway': u'1.1.1.250'}) => 
> {"changed": false, "checksum": 
> > "fdecaa26f260854783e24a79c166604488713c90", "gid": 0, "group": "root", 
> "item": {"bootproto": "none", "device": "ens192", 
> > "gateway": "1.1.1.250", "ipaddr": "1.1.1.2", "netmask": "255.255.255.0", 
> "type": "Ethernet"}, "mode": "0644", "owner": "root", 
> > "path": "/etc/sysconfig/network-scripts/ifcfg-ens192", "secontext": 
> "system_u:object_r:net_conf_t:s0", "size": 229, "state": 
> > "file", "uid": 0} 
> > 
> > fatal: [server1.infra.sys]: FAILED! => {"msg": "The task includes an 
> option with an undefined variable. The error was: 'dict 
> > object' has no attribute 'device'\n\nThe error appears to have been in 
> '/opt/ansible/playbooks/roles/basic/tasks/main.yml': line 
> > 36, 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 primary interface IP information\n  ^ here\n\nexception 
> type: <class 
> > 'ansible.errors.AnsibleUndefinedVariable'>\nexception: 'dict object' has 
> no attribute 'device'"} 
> > 
> > The NIC got configured on the Server. the ifcfg-ens192 file looks like 
> this now: 
> > 
> >     cat /etc/sysconfig/network-scripts/ifcfg-ens192 
> > 
> >         ####### 
> > 
> >         # Managed via Ansible 
> > 
> >         ####### 
> > 
> >         NAME=ens192 
> > 
> >         TYPE=Ethernet 
> > 
> >         DEVICE=ens192 
> > 
> >         BOOTPROTO=none 
> > 
> >         ONBOOT=yes 
> > 
> >         NM_CONTROLLED=no 
> > 
> >         DEFROUTE=yes 
> > 
> >         IPV4_FAILURE_FATAL=no 
> > 
> >         IPV6INIT=no 
> > 
> >         IPADDR=1.1.1.2 
> > 
> >         PREFIX=255.255.255.0 
> > 
> >         GATEWAY=1.1.1.250 
> > 
> > 
> > This is what I have written in to the host file in the inventory 
> directory/./host_vars/server1.infra.sys: 
> > 
> >     # HOST INTERFACES DEFINITIONS 
> >     interfaces: 
> >      - device: ens192 
> >        type: Ethernet 
> >        bootproto: none 
> >        ipaddr: 1.1.1.2 
> >        netmask: 255.255.255.0 
> >        gateway: 1.1.1.250 
> > 
> > 
> > As seen, there is device configured and in the error msg from Ansible it 
> isn't happy because the variable 'device' isn't set. 
> > 
> > This is a part of /opt/ansible/playbooks/roles/basic/tasks/main.yml 
> > 
> >     - name: Update primary interface IP information 
> >       template: 
> >        src: roles/basic/templates/ifcfg.j2 
> >        dest: "/etc/sysconfig/network-scripts/ifcfg-{{item.device}}" 
> >        owner: root 
> >        group: root 
> >        mode: 0644 
> >       with_items: "{{ interfaces }}" 
> >       when: interfaces is defined 
> >       notify: restart network 
> > 
> > 
> > 
> > So why should I get an error from Ansible when the changes have been 
> made successfully? 
> > I'm already very thankful for the time and help with my issue. 
> > 
>
>
>

-- 
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/d63d8d5f-2a28-43a5-9d1f-b0f39113e983%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to