No worries :)

This is with Ansible v1.7.1 so I'll file the bug report and point back here 
for reference.


On Wednesday, 3 September 2014 17:06:10 UTC+1, Michael DeHaan wrote:
>
> Yes, the quotes definitely look funky.
>
> Thanks for bearing with me and my reading comprehension skills.
>
> If this occurs on 1.7.1 or devel, can you file a bug on this one?  This 
> most definitely should not happen and we'll want to correct this.
>
> Thanks!
>
>
>
> On Wed, Sep 3, 2014 at 8:08 AM, Dan Bohea <[email protected] <javascript:>> 
> wrote:
>
>> Sure. Once again for reference, here's that path from the error message:
>>
>> [u'/Volumes/Data/Projects/vlad/vlad/vlad/playbooks/"../settings.yml", 
>> "../example.settings.yml"']
>>
>> Disregarding the wrapping square brackets, the wrapping single quotes and 
>> the preceding "u" gives us:
>>
>> /Volumes/Data/Projects/vlad/vlad/vlad/playbooks/"../settings.yml", 
>> "../example.settings.yml"
>>
>> Now look at where the first and second double quotes are. That looks 
>> funky to me.
>>
>> Surely the first element in the array should be entirely wrapped in 
>> double quotes? Also, having '../' anywhere other than at the start of a 
>> path is surely going to cause problems.
>>
>> It appears as if Ansible is prefixing an absolute path (the path to the 
>> playbook making the call: /Volumes/Data/Projects/vlad/vlad/vlad/playbooks
>> /) to my expanded variable, irrespective of what my variable contains. 
>> This in turn is making the expanded variable a bit garbled, hence the error.
>>
>>
>> On Wednesday, 3 September 2014 12:42:38 UTC+1, Michael DeHaan wrote:
>>
>>> "settings_files: '"../settings.yml", "../example.settings.yml"'
>>>
>>> It should be noted this is not a YAML list, and that is probably part of 
>>> your problem.
>>>
>>> The path being an array of unicode elements does not look strange to me. 
>>>  Is there a particular path element in the list that looks strange to you?
>>>
>>>
>>> On Wed, Sep 3, 2014 at 5:28 AM, Dan Bohea <[email protected]> wrote:
>>>
>>>>  Thanks for the suggestion but I already tried that and it results in 
>>>> a huge error:
>>>>
>>>> Traceback (most recent call last):
>>>>   File "/usr/local/Cellar/ansible/1.7.1/libexec/bin/ansible-playbook", 
>>>> line 5, in <module>
>>>>     pkg_resources.run_script('ansible==1.7.1', 'ansible-playbook')
>>>>   File "/System/Library/Frameworks/Python.framework/Versions/2.7/
>>>> Extras/lib/python/pkg_resources.py", line 489, in run_script
>>>>     self.require(requires)[0].run_script(script_name, ns)
>>>>   File "/System/Library/Frameworks/Python.framework/Versions/2.7/
>>>> Extras/lib/python/pkg_resources.py", line 1207, in run_script
>>>>     execfile(script_filename, namespace, namespace)
>>>>   File "/usr/local/Cellar/ansible/1.7.1/lib/python2.7/site-
>>>> packages/ansible-1.7.1-py2.7.egg/EGG-INFO/scripts/ansible-playbook", 
>>>> line 309, in <module>
>>>>     sys.exit(main(sys.argv[1:]))
>>>>   File "/usr/local/Cellar/ansible/1.7.1/lib/python2.7/site-
>>>> packages/ansible-1.7.1-py2.7.egg/EGG-INFO/scripts/ansible-playbook", 
>>>> line 249, in main
>>>>     pb.run()
>>>>   File "/usr/local/Cellar/ansible/1.7.1/lib/python2.7/site-
>>>> packages/ansible-1.7.1-py2.7.egg/ansible/playbook/__init__.py", line 
>>>> 339, in run
>>>>     if not self._run_play(play):
>>>>   File "/usr/local/Cellar/ansible/1.7.1/lib/python2.7/site-
>>>> packages/ansible-1.7.1-py2.7.egg/ansible/playbook/__init__.py", line 
>>>> 646, in _run_play
>>>>     play.update_vars_files(all_hosts, vault_password=self.vault_
>>>> password)
>>>>   File "/usr/local/Cellar/ansible/1.7.1/lib/python2.7/site-
>>>> packages/ansible-1.7.1-py2.7.egg/ansible/playbook/play.py", line 698, 
>>>> in update_vars_files
>>>>     self._update_vars_files_for_host(h, vault_password=vault_password)
>>>>   File "/usr/local/Cellar/ansible/1.7.1/lib/python2.7/site-
>>>> packages/ansible-1.7.1-py2.7.egg/ansible/playbook/play.py", line 847, 
>>>> in _update_vars_files_for_host
>>>>     filename2, filename3, filename4 = generate_filenames(host, inject, 
>>>> filename)
>>>>   File "/usr/local/Cellar/ansible/1.7.1/lib/python2.7/site-
>>>> packages/ansible-1.7.1-py2.7.egg/ansible/playbook/play.py", line 775, 
>>>> in generate_filenames
>>>>     filename4 = utils.path_dwim(self.basedir, filename3)
>>>>   File "/usr/local/Cellar/ansible/1.7.1/lib/python2.7/site-
>>>> packages/ansible-1.7.1-py2.7.egg/ansible/utils/__init__.py", line 318, 
>>>> in path_dwim
>>>>     if given.startswith("/"):
>>>> AttributeError: 'list' object has no attribute 'startswith'
>>>>
>>>> I'm guessing that this is the most useful part of that error:
>>>>
>>>> AttributeError: 'list' object has no attribute 'startswith'
>>>>
>>>> Out of curiosity, I wrapped each path string in the list with double 
>>>> quotes but it results in pretty much the same thing.
>>>>
>>>> On Wednesday, 3 September 2014 07:24:16 UTC+1, Tomasz Kontusz wrote:
>>>>>
>>>>>
>>>>>
>>>>> Michael DeHaan <[email protected]> napisał: 
>>>>> >What were you expecting? 
>>>>> > 
>>>>> >It's saying none of the files in the list were found and hitting an 
>>>>> >error 
>>>>> >condition, but I'm unclear which parts you find unusual. 
>>>>>
>>>>> The path in the error looks strange ;-) 
>>>>>
>>>>> >On Tue, Sep 2, 2014 at 11:05 AM, Dan Bohea <[email protected]> wrote: 
>>>>> > 
>>>>> >> So I just recently discovered how to list several possible 
>>>>> >vars_files, 
>>>>> >> with precedence, and where some may not exist: 
>>>>> >> 
>>>>> >> 
>>>>> >> 
>>>>> >http://serverfault.com/questions/589734/ansible-can-i-use-
>>>>> vars-files-when-some-files-do-not-exist 
>>>>> >> 
>>>>> >> Very handy. Where is the documentation for this? 
>>>>> >> 
>>>>> >> 
>>>>> >> Next question... 
>>>>> >> 
>>>>> >> I'd like to centralise a list of possible vars_files in a single 
>>>>> >variable 
>>>>> >> but can't get it to work. E.g: 
>>>>> >> 
>>>>> >> vars_files: 
>>>>> >>   - [ "{{ settings_files }}" ] 
>>>>> >> 
>>>>> >> and then in say group_vars/all I have my files defined: 
>>>>> >> 
>>>>> >> settings_files: '"../settings.yml", "../example.settings.yml"' 
>>>>>
>>>>> I think you want to create a list here, like this: 
>>>>>
>>>>> settings_files: 
>>>>>  - ../settings.yml 
>>>>>  - ../example.settings.yml 
>>>>>
>>>>> And then use it like this: 
>>>>>
>>>>> vars_files: 
>>>>>    - "{{ settings_files }}" 
>>>>>
>>>>> >> But that doesn't work - I get the following error: 
>>>>> >> 
>>>>> >> vlad: not importing file: 
>>>>> >> /Volumes/Data/Projects/vlad/vlad/vlad/playbooks/"../settings.yml", 
>>>>> >> "../example.settings.yml" 
>>>>> >> ERROR: vlad: FATAL, no files matched for vars_files import 
>>>>> sequence: 
>>>>> >> [u'/Volumes/Data/Projects/vlad/vlad/vlad/playbooks/"../settings.yml", 
>>>>>
>>>>> >> "../example.settings.yml"'] 
>>>>> >> 
>>>>> >> It looks like something is happening on expansion that I wasn't 
>>>>> >expecting. 
>>>>> >> 
>>>>> >> I'm hoping this is just a question of syntax and I've messed around 
>>>>> >with a 
>>>>> >> few variations but am still having no luck. 
>>>>> >> 
>>>>> >> Can anyone help with this? Is it even possible? 
>>>>> >> 
>>>>> >> I'm running Ansible v1.7.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/fce326b0-
>>>>> 5489-45b7-976c-58e8a3e11769%40googlegroups.com 
>>>>> >> 
>>>>> ><https://groups.google.com/d/msgid/ansible-project/fce326b0
>>>>> -5489-45b7-976c-58e8a3e11769%40googlegroups.com?utm_medium=email&utm_
>>>>> source=footer> 
>>>>> >> . 
>>>>> >> For more options, visit https://groups.google.com/d/optout. 
>>>>> >> 
>>>>>
>>>>> -- 
>>>>> Wysłane za pomocą K-9 Mail. 
>>>>>
>>>>  -- 
>>>> 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/68da09fe-bcbc-4ca5-a1ee-
>>>> 3e7ddaafb1eb%40googlegroups.com 
>>>> <https://groups.google.com/d/msgid/ansible-project/68da09fe-bcbc-4ca5-a1ee-3e7ddaafb1eb%40googlegroups.com?utm_medium=email&utm_source=footer>
>>>> .
>>>>
>>>> For more options, visit https://groups.google.com/d/optout.
>>>>
>>>
>>>  -- 
>> 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] <javascript:>.
>> To post to this group, send email to [email protected] 
>> <javascript:>.
>> To view this discussion on the web visit 
>> https://groups.google.com/d/msgid/ansible-project/f2f992ff-7d73-47a4-83ba-43dbf1e59f4f%40googlegroups.com
>>  
>> <https://groups.google.com/d/msgid/ansible-project/f2f992ff-7d73-47a4-83ba-43dbf1e59f4f%40googlegroups.com?utm_medium=email&utm_source=footer>
>> .
>>
>> For more options, visit https://groups.google.com/d/optout.
>>
>
>

-- 
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/7fca1bec-f136-4fd1-b715-fb1f715f9b83%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to