I get this error when I run my playbook (with debug strategy enabled):

TASK [Add authorized keys for developer user] 
**********************************************************************************************************************************************************************************************************************************
task path: /home/pi/Source/ansible/playbooks/post-preseeded-debian-install.
yml:27
fatal: [tblack-win10]: FAILED! => {
    "msg": "The task includes an option with an undefined variable. The 
error was: 'item' is undefined\n\nThe error appears to have been in 
'/home/pi/Source/ansible/playbooks/post-preseeded-debian-install.yml': line 
27, column 7, but may\nbe elsewhere in the file depending on the exact 
syntax problem.\n\nThe offending line appears to be:\n\n  tasks:\n    - 
name: \"Add authorized keys for {{ preseeded_username }} user\"\n      ^ 
here\nWe could be wrong, but this one looks like it might be an issue 
with\nmissing quotes.  Always quote template expression brackets when 
they\nstart a value. For instance:\n\n    with_items:\n      - {{ foo 
}}\n\nShould be written as:\n\n    with_items:\n      - \"{{ foo 
}}\"\n\nexception type: <class 
'ansible.errors.AnsibleUndefinedVariable'>\nexception: 'item' is undefined"
}

It breaks into debug prompt, but when I print the error message there, it 
won't do it pythonically, or even readable:

(debug) p result['msg']
u'The task includes an option with an undefined variable. The error was: 
\'item\' is undefined\n\nThe error appears to have been in 
\'/home/pi/Source/ansible/playbooks/post-preseeded-debian-install.yml\': 
line 27, column 7, but may\nbe elsewhere in the file depending on the exact 
syntax problem.\n\nThe offending line appears to be:\n\n  tasks:\n    - 
name: "Add authorized keys for {{ preseeded_username }} user"\n      ^ 
here\nWe could be wrong, but this one looks like it might be an issue 
with\nmissing quotes.  Always quote template expression brackets when 
they\nstart a value. For instance:\n\n    with_items:\n      - {{ foo 
}}\n\nShould be written as:\n\n    with_items:\n      - "{{ foo 
}}"\n\nexception type: <class 
\'ansible.errors.AnsibleUndefinedVariable\'>\nexception: \'item\' is 
undefined'

However, I can copy/paste the entire unicode string def, paste and print in 
a separate python interactive session variable, and it looks correct:

/home/tblack > python
Python 2.7.13 (default, Nov 24 2017, 17:33:09)
[GCC 6.3.0 20170516] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> m=u'The task includes an option with an undefined variable. The error 
was: \'item\' is undefined\n\nThe error appears to have been in 
\'/home/pi/Source/ansible/playbooks/post-preseeded-debian-install.yml\': 
line 27, column 7, but may\nbe elsewhere in the file depending on the exact 
syntax problem.\n\nThe offending line appears to be:\n\n  tasks:\n    - 
name: "Add authorized keys for {{ preseeded_username }} user"\n      ^ 
here\nWe could be wrong, but this one looks like it might be an issue 
with\nmissing quotes.  Always quote template expression brackets when 
they\nstart a value. For instance:\n\n    with_items:\n      - {{ foo 
}}\n\nShould be written as:\n\n    with_items:\n      - "{{ foo 
}}"\n\nexception type: <class 
\'ansible.errors.AnsibleUndefinedVariable\'>\nexception: \'item\' is 
undefined'
>>> type(m)
<type 'unicode'>
>>> print m
The task includes an option with an undefined variable. The error was: 
'item' is undefined


The error appears to have been in 
'/home/pi/Source/ansible/playbooks/post-preseeded-debian-install.yml': line 
27, column 7, but may
be elsewhere in the file depending on the exact syntax problem.


The offending line appears to be:


  tasks:
    - name: "Add authorized keys for {{ preseeded_username }} user"
      ^ here
We could be wrong, but this one looks like it might be an issue with
missing quotes.  Always quote template expression brackets when they
start a value. For instance:


    with_items:
      - {{ foo }}


Should be written as:


    with_items:
      - "{{ foo }}"


exception type: <class 'ansible.errors.AnsibleUndefinedVariable'>
exception: 'item' is undefined

How do I do same in the ansible debug prompt? Any other ideas on how to 
print this output in a READABLE fashion? Thanks.

-- 
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/837d8c54-f728-4eea-a541-a4891ac9c8cf%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to