Hello - Thanks for the response.

Yea right now I have a top level ansible.cfg that already points to my own 
inventory file (currently just one). 

I guess I'm still not connecting the dots as to how site.yml (in their 
example) would know which inventory, host_vars, and group_vars to load. Is 
there an ansible.cfg that also needs to be split into the 'production' and 
'staging' directories?

If I used the environment variable option that you presented above, I'm 
assuming I would load that in the .profile for the user running the 
playbook? In that way my PL user and DR user would each point to their own 
inventory file (via the .profile when the shell is opened) even before the 
ansible playbook is executed. Also, I wouldn't have to hard code the 
inventory into the playbook or the command line. Am I thinking about that 
right? Sorry for the perhaps simple question, I'm still getting used to 
Linux systems. 

Would the host_vars and group_vars then come along via the same solve as 
the inventory file? Or are those separate environment variables? I thought 
the host_vars and group_vars, by default, look in the same top location as 
where the playbook is executed,,?

Thanks for the help!



On Tuesday, January 3, 2017 at 9:05:49 AM UTC-6, J Hawkesworth wrote:
>
> Default inventory file is usually /etc/ansible/hosts, although you can 
> override this by setting something different in your ansible.cfg (along 
> with a lot of other options - see 
> http://docs.ansible.com/ansible/intro_configuration.html )
>
> As well as using -i to specify which inventory you want to load you can 
> also set an environment variable.
>
>    export ANSIBLE_INVENTORY=your_inventory_file
>
>
> Hope this helps,
>
> Jon
>
> On Tuesday, January 3, 2017 at 2:41:45 PM UTC, [email protected] wrote:
>>
>> Hello - 
>>
>> I have a use case where I have two of the same apps installed on one 
>> server in a shared Prod-Like/Disaster Recovery (PL/DR) environment. I use 
>> Ansible to automate application configuration tasks for each app on the 
>> server. As of right now, this isn't working for PL/DR because Ansible has 
>> no way to determine which host_vars are required. Does it load PL or does 
>> it load DR? 
>>
>> I did some searching and found Ansible Best Practices - Alternative 
>> Directory Layout 
>> <http://docs.ansible.com/ansible/playbooks_best_practices.html#alternative-directory-layout>.
>>  
>> It looks like this might solve my problem. It splits out a "production" and 
>> "staging" directory. Each has their own host, group, and inventory files. 
>>
>> My questions are are around how this works? What is the "glue" such that 
>> Ansible knows how to find certain files? In their example layout, how does 
>> the playbook "site.yml" know to load the 'production' inventory versus the 
>> 'staging' inventory? Is it all hard coded user facts? Does it assume we 
>> specify '-i' each time?
>>
>> Any info, other examples, or other potential solves for this would be 
>> much appreciated. 
>>
>> Thank you!
>>
>

-- 
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/52b2bd47-f2fd-4687-9112-5c1c1cc2c9e7%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to