If you're doing vars_files per environment, I'd highly recommend making the
environment a group in inventory.   This way it will automatically be
loaded by group_vars without the extra step of the parameterized vars_file.




On Sun, Jun 1, 2014 at 10:13 AM, Sacha Vukovic <[email protected]>
wrote:

> Hello
>
> Thank you for your answers, parameterized roles is a solution,  but it's
> actually not as simple as that when you have two environments  . After
> reading your link  I use vars_files for  the distinction made  by
> environment
>
> example site.yml:
>
>  - hosts: tomcat1-hosts
>
>   user: root
>
>   vars_files:
>
>       - ['vars/tomcat1_{{ env }}.yml']
>
>
>   pre_tasks:
>
>      - debug: msg={{product_dir }}
>
>
>   roles:
>
>    - { role: tomcat, tags: tomcat }
>
>
>
>
> - hosts: tomcat2-hosts
>
>   user: root
>
>   vars_files:
>
>       - ['vars/tomcat2_{{ env }}.yml']
>
>
>   pre_tasks:
>
>      - debug: msg={{product_dir }}
>
>
>   roles:
>
>    - { role: tomcat, tags: tomcat }
>
>
>
> My invetory file:
> [tomcat1-hosts]
> tux1
>
>
> [tomcat2-hosts]
> tux1
>
>
> [all:children]
> tomcat1-hosts
> tomcat2-hosts
>
>
> [all:vars]
> env='prod'
>
>
> Playbook:
>
> PLAY [tomcat1-hosts]
> **********************************************************
>
> GATHERING FACTS
> ***************************************************************
>
>
> TASK: [debug msg={{product_dir}}]
> *********************************************
>
> ok: [tux1] => {
>     "msg": "/data/produits/tomcat1"
>
>
> }
>
>
>
> PLAY [tomcat2-hosts]
> *********************************************************
>
> GATHERING FACTS
> ***************************************************************
>
> TASK: [debug msg={{product_dir}}]
> *********************************************
>
> ok: [tux1] => {
>     "msg": "/data/produits/tomcat2"
>
>
> }
>
>
> So I can deploy to different environments, the same application with
> different value for tomcat path, tomcat port. Thanks  ansible for that ;)
>
>
>
> Le mardi 27 mai 2014 22:11:14 UTC+2, Michael DeHaan a écrit :
>>
>> "If I want to use tomcat's role for two instances on same host is better
>> to use group_vars than the inventory file ? "
>>
>> group_vars and inventory variables are the same thing expressed two
>> different ways.
>>
>> If you want to use the role twice on the same box, this is a different
>> pattern, which are parameterized roles:
>>
>> Click http://docs.ansible.com/playbooks_roles.html#roles and scroll down
>> and it will talk about parameterized roles.
>>
>> You can pass different parameters to the same role, applied twice, to the
>> same server or set of servers.
>>
>>
>>
>>
>>
>> On Mon, May 26, 2014 at 5:02 AM, Sacha Vukovic <[email protected]>
>> wrote:
>>
>>> Thank you for your answer ,
>>>
>>> If I want to use tomcat's role for two instances on same host is better
>>> to use group_vars than the inventory file ?
>>>
>>>
>>>
>>> Le vendredi 23 mai 2014 14:18:40 UTC+2, Michael DeHaan a écrit :
>>>>
>>>> "Sorry I forget to ask you why  the variables in group tomcat1  apply
>>>> to tomcat2 ?"
>>>>
>>>> Because the host is in both groups.
>>>>
>>>> Groups may cover things such as purpose, geographic location, hardware
>>>> type, what team owns them, and more.
>>>>
>>>> The "hosts:" directive merely selects what hosts are going to be
>>>> targetted in the given play, and the variables come from all groups, with
>>>> subgroups being able to override those of their parents (for instance, a
>>>> north_carolina server may specify time.nc.example.com for NTP while a
>>>> united_states server might set a default of time.ny.example.com)
>>>>
>>>>
>>>>
>>>>
>>>> On Thu, May 22, 2014 at 4:21 AM, Sacha Vukovic <[email protected]>
>>>> wrote:
>>>>
>>>>>  Hello ,
>>>>> Sorry I forget to ask you why  the variables in group tomcat1  apply
>>>>> to tomcat2 ? whereas I have two groups with different value of variables
>>>>> for tomcat's path ?
>>>>>
>>>>> Le jeudi 22 mai 2014 00:13:54 UTC+2, Michael DeHaan a écrit :
>>>>>>
>>>>>> What's your question?
>>>>>>
>>>>>> Thanks.
>>>>>>
>>>>>>
>>>>>> On Wed, May 21, 2014 at 7:28 AM, Sacha Vukovic <[email protected]>
>>>>>> wrote:
>>>>>>
>>>>>>> Hello,
>>>>>>>
>>>>>>> after reading this post :
>>>>>>> https://groups.google.com/forum/#!topic/ansible-project/XbVNoUED2cU
>>>>>>> http://docs.ansible.com/intro_inventory.html
>>>>>>>
>>>>>>> I have a similar question with inventory file,
>>>>>>>
>>>>>>> I want to provisionning on the same host two tomcat using same role,
>>>>>>> but http port, path must be different.
>>>>>>>
>>>>>>> Example:
>>>>>>>
>>>>>>> In my inventory file prod.hosts
>>>>>>> [tomcat1]
>>>>>>> host1
>>>>>>>
>>>>>>> [tomcat2]
>>>>>>> host1
>>>>>>>
>>>>>>> [tomcat1:vars]
>>>>>>> product_dir='/home/produit/tomcat1'
>>>>>>> [tomcat2:vars]
>>>>>>> product_dir='/home/produit/tomcat2'
>>>>>>>
>>>>>>> In site.yml
>>>>>>> - hosts: tomcat1
>>>>>>>   user: root
>>>>>>>   pre_tasks:
>>>>>>>      - debug: msg={{product_dir}}
>>>>>>>
>>>>>>> - hosts: tomcat2
>>>>>>>   user: root
>>>>>>>   pre_tasks:
>>>>>>>      - debug: msg={{product_dir}}
>>>>>>>
>>>>>>> playbook:
>>>>>>>
>>>>>>> PLAY [tomcat1] ******************************
>>>>>>> **********************************
>>>>>>>
>>>>>>> GATHERING FACTS ******************************
>>>>>>> *********************************
>>>>>>> ok: [host1]
>>>>>>>
>>>>>>> TASK: [debug msg={{product_dir}}] ******************************
>>>>>>> ***************
>>>>>>> ok: [srv-vid-tux48] => {
>>>>>>>     "msg": "/data/produits/tomcat1"
>>>>>>> }
>>>>>>>
>>>>>>> PLAY [tomcat2] ******************************
>>>>>>> **********************************
>>>>>>>
>>>>>>> GATHERING FACTS ******************************
>>>>>>> *********************************
>>>>>>> ok: [srv-vid-tux48]
>>>>>>>
>>>>>>> TASK: [debug msg={{product_dir}}] ******************************
>>>>>>> ***************
>>>>>>> ok: [srv-vid-tux48] => {
>>>>>>>     "msg": "/data/produits/tomcat1"
>>>>>>> }
>>>>>>>
>>>>>>>
>>>>>>> ansible version 1.6.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/2535ea07-f
>>>>>>> abd-4c5a-94f2-2c2fbc8cfe23%40googlegroups.com
>>>>>>> <https://groups.google.com/d/msgid/ansible-project/2535ea07-fabd-4c5a-94f2-2c2fbc8cfe23%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/2729242f-410f-49d9-a3ed-0570a980c5f2%
>>>>> 40googlegroups.com
>>>>> <https://groups.google.com/d/msgid/ansible-project/2729242f-410f-49d9-a3ed-0570a980c5f2%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/f9274998-bf81-4648-b0e2-
>>> 3353ef2fb0f6%40googlegroups.com
>>> <https://groups.google.com/d/msgid/ansible-project/f9274998-bf81-4648-b0e2-3353ef2fb0f6%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/0d9d2c6c-38a5-4c63-b707-7344272b0e16%40googlegroups.com
> <https://groups.google.com/d/msgid/ansible-project/0d9d2c6c-38a5-4c63-b707-7344272b0e16%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/CA%2BnsWgy_q%3DuT01RKSm7nyxUA5m1w-b9N97rZGWJRpit7R4TkSA%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to