Yes, where you are defining "test" some of the items in that list are hash
tables that don't have a value for "base", which is why you are getting
that error.

Easiest would be to set it to empty string when it does not apply.

However, it's a little weird that it says "str object", which seems to
imply you have, probably in that "dirs" variable file, refined the variable
"test" to a list of strings, as opposed to a list of hash elements.


On Tue, Sep 9, 2014 at 7:12 PM, Patrick Ansible-ML <
ansi...@puzzled.xs4all.nl> wrote:

> Hi all,
>
> New to the list. Been playing with Ansible for a few hours and I could use
> a hand in getting a task going. I've not figured out any of the YAML magic
> so please excuse the undoubtedly spectacular errors :)
>
> Goal: create a task that installs a couple of directories in /home/patrick
> and /root.
>
> ---
> # file: roles/common/tasks/main.yml
>
> - name: dirs | Include vars
>   include_vars: main.yml
>
> - name: dirs | Create some directories
>   file:
>     dest: "{{ item.base }}/{{ item.usr }}/{{ item.dirs }}"
>     mode: 0750
>     owner: "{{ item.usr }}"
>     group: "{{ item.usr }}"
>     state: directory
>   with_items: test
>
> ---
> # file: roles/common/vars/main.yml
>
> test:
>   - usr: patrick
>     base: /home
>   - usr: root
>     base: /
>   - dirs: test1
>   - dirs: test2
>
>
> When I run this with:
> $ ansible-playbook -v -i stage site.yml
>
> I get:
> TASK: [common | dirs | Create some directories]
> *******************************
> fatal: [test.local] => One or more undefined variables: 'str object' has
> no attribute 'base'
>
> I'm guessing that the issue is in vars/main.yml file but lots of Googling
> and staring at Github/Galaxy examples did not reveal a solution. Can anyone
> please enlighten me a bit?
>
> Thanks,
> Patrick
>
> --
> 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/540F8975.4090403%40puzzled.xs4all.nl.
> 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 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/CA%2BnsWgx8pmaDrxoet%3DjrrbPdQVjRo9kv69kiFj2VF-DJ0azWSQ%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to