hmm, I've only tested this by invoking the templates through the modules
(in that case ../../common/templates/iptables.j2 should work).

 I need to check env when calling template to see the base path (probably
playbook relative) for doing the includes from inside the template engine.

On Tue, Oct 28, 2014 at 8:09 AM, Joe Adams <[email protected]> wrote:

> I've tried that but I can't seem to get it to work. Here are the paths
> I've tried so far:
> common/templates/iptables.j2
> ../common/templates/iptables.j2
> ../../common/templates/iptables.j2
> ../../../common/templates/iptables.j2
> /absolute/path/to/common/templates/iptables.j2
>
> I get the same error message for all of them.
>
> On Tuesday, October 28, 2014 10:13:37 AM UTC-4, Brian Coca wrote:
>>
>> assuming all roles are in the same directory, you could do relative paths
>> to other roles' template directory.
>>
>> On Tue, Oct 28, 2014 at 6:34 AM, Joe Adams <[email protected]> wrote:
>>
>>> So is there no way of including or extending templates from other roles?
>>> It would seem that this is a really powerful feature of the templating
>>> language that would make many configurations more versatile and powerful.
>>> Is what I'm trying to do not possible with Ansible?
>>>
>>> On Monday, October 27, 2014 4:25:33 PM UTC-4, Brian Coca wrote:
>>>>
>>>> It looks for the file in the "base" directory or in the templates/
>>>> subdirectory. The "base" directory is the directory of the current play or
>>>> role.
>>>>
>>>> On Mon, Oct 27, 2014 at 6:31 AM, Joe Adams <[email protected]> wrote:
>>>>
>>>>> Is there somewhere that documents what paths are searched when inside
>>>>> a template or in include calls from within a template? I can't find much
>>>>> information about this at all.
>>>>>
>>>>> On Wednesday, October 22, 2014 9:22:05 AM UTC-4, Joe Adams wrote:
>>>>>>
>>>>>> I originally though it might be permissions, but both templates are
>>>>>> 0664 with my account being owner.
>>>>>>
>>>>>> I'm using ansible version 1.7.2
>>>>>>
>>>>>> On Tuesday, October 21, 2014 11:51:08 PM UTC-4, Michael DeHaan wrote:
>>>>>>>
>>>>>>> For starters, what ansible version are you using?
>>>>>>>
>>>>>>> On Tue, Oct 21, 2014 at 6:02 PM, John Favorite <[email protected]>
>>>>>>> wrote:
>>>>>>>
>>>>>>>> permissions issue?
>>>>>>>>
>>>>>>>> On Tue, Oct 21, 2014 at 5:35 PM, Joe Adams <[email protected]>
>>>>>>>> wrote:
>>>>>>>>
>>>>>>>>> I tried asking the IRC channel but I didn't get any responses so I
>>>>>>>>> figure that the mailing list might be better suited to this question. 
>>>>>>>>> I'm
>>>>>>>>> trying to build an extensible iptables template. All of my hosts will 
>>>>>>>>> need
>>>>>>>>> some amount of custom rules to be added so I feel that extending a 
>>>>>>>>> template
>>>>>>>>> would be a great way to achieve this. My base template looks like 
>>>>>>>>> this:
>>>>>>>>>
>>>>>>>>> #roles/common/templates/iptables.j2
>>>>>>>>> {% block nat %}
>>>>>>>>> {% endblock nat %}
>>>>>>>>> *filter
>>>>>>>>> :INPUT ACCEPT [0:0]
>>>>>>>>> :FORWARD ACCEPT [0:0]
>>>>>>>>> :OUTPUT ACCEPT [0:0]
>>>>>>>>> -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
>>>>>>>>> -A INPUT -p icmp -j ACCEPT
>>>>>>>>> -A INPUT -i lo -j ACCEPT
>>>>>>>>> # SSH
>>>>>>>>> -A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT
>>>>>>>>> {% block role_rules %}
>>>>>>>>> {% endblock role_rules %}
>>>>>>>>> # Drop All
>>>>>>>>> -A INPUT -j REJECT --reject-with icmp-host-prohibited
>>>>>>>>> -A FORWARD -j REJECT --reject-with icmp-host-prohibited
>>>>>>>>> COMMIT
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> So then I created a template for another host to add it's role
>>>>>>>>> specific information in. This template looks like this:
>>>>>>>>>
>>>>>>>>> {% extends "roles/common/templates/iptables.j2" %}
>>>>>>>>> {% block role_rules %}
>>>>>>>>> -A INPUT -m state --state NEW -m tcp -p tcp --dport 9000 -j ACCEPT
>>>>>>>>> {% endblock role_rules %}
>>>>>>>>>
>>>>>>>>> This was working until I moved my playbooks into a folder to
>>>>>>>>> organize them. Now I can't seem to fix the path to make the template 
>>>>>>>>> extends
>>>>>>>>> tag work. I even tried an absolute path.
>>>>>>>>> Here's my directory structure:
>>>>>>>>>
>>>>>>>>> ansible/
>>>>>>>>>     ansible.cfg
>>>>>>>>>     hosts/
>>>>>>>>>         dev
>>>>>>>>>         qa
>>>>>>>>>         groupvars/
>>>>>>>>>             dev
>>>>>>>>>             qa
>>>>>>>>>     playbooks/
>>>>>>>>>         roles/
>>>>>>>>>             common.yml
>>>>>>>>>             roleA.yml
>>>>>>>>>             roleB.yml
>>>>>>>>>     roles/
>>>>>>>>>         common/
>>>>>>>>>             templates/
>>>>>>>>>                 iptables.j2
>>>>>>>>>             tasks/
>>>>>>>>>                 main.yml
>>>>>>>>>         roleA/
>>>>>>>>>             templates/
>>>>>>>>>                 iptables.j2
>>>>>>>>>             tasks/
>>>>>>>>>                 main.yml
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> I keep getting this error when I get to the play that templates
>>>>>>>>> the iptables file:
>>>>>>>>> {'msg': 'AnsibleError: file: /path/to/ansible/roles/vickyva
>>>>>>>>> le/templates/iptables.j2, error: Cannot find/not allowed to load
>>>>>>>>> (include) template 
>>>>>>>>> /path/to/ansible/roles/common/templates/iptables.j2',
>>>>>>>>> 'failed': True}
>>>>>>>>>
>>>>>>>>> --
>>>>>>>>> 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/77a802c6-b
>>>>>>>>> 3a5-4895-8430-700f99daf0f1%40googlegroups.com
>>>>>>>>> <https://groups.google.com/d/msgid/ansible-project/77a802c6-b3a5-4895-8430-700f99daf0f1%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/CAKsMCEToh
>>>>>>>> hhtbr79k8cgqm%2B%3DqxM-Fjytc-Kz_jbnimxQ456cJg%40mail.gmail.com
>>>>>>>> <https://groups.google.com/d/msgid/ansible-project/CAKsMCETohhhtbr79k8cgqm%2B%3DqxM-Fjytc-Kz_jbnimxQ456cJg%40mail.gmail.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/c2534bbb-8eaa-4875-9168-d1d6df1d57f1%
>>>>> 40googlegroups.com
>>>>> <https://groups.google.com/d/msgid/ansible-project/c2534bbb-8eaa-4875-9168-d1d6df1d57f1%40googlegroups.com?utm_medium=email&utm_source=footer>
>>>>> .
>>>>> For more options, visit https://groups.google.com/d/optout.
>>>>>
>>>>
>>>>
>>>>
>>>> --
>>>> Brian Coca
>>>>
>>>  --
>>> 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/a1db82ee-fd0d-4fb4-8bc8-
>>> 6c488df27a7a%40googlegroups.com
>>> <https://groups.google.com/d/msgid/ansible-project/a1db82ee-fd0d-4fb4-8bc8-6c488df27a7a%40googlegroups.com?utm_medium=email&utm_source=footer>
>>> .
>>>
>>> For more options, visit https://groups.google.com/d/optout.
>>>
>>
>>
>>
>> --
>> Brian Coca
>>
>  --
> 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/d835065f-7aba-4299-9477-b080ac5fa749%40googlegroups.com
> <https://groups.google.com/d/msgid/ansible-project/d835065f-7aba-4299-9477-b080ac5fa749%40googlegroups.com?utm_medium=email&utm_source=footer>
> .
>
> For more options, visit https://groups.google.com/d/optout.
>



-- 
Brian Coca

-- 
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/CAJ5XC8%3DkUSPh6dxez7wr9_ogkg1BJjbn9dCa_PeR3%3DcmMCXUPg%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to