Have you considered conditional includes 
Along with include_vars 
I think you should be able to achieve the desired effect.

Something like the below:


- name: include_vars example 

  hosts: all


    - name: Debug hostname.


        var: inventory_hostname

      # Different filenames with the same variables *should* override the 
variables for each instance of playbook execution.

      # But precedence is tricky and I've had trouble getting things like 
this to work in the past, so ymmv.
           - name: Include variables based on hostname.

      include_vars: "vars/{{ inventory_hostname }}.yml"

    - name: Print site name and port number.

        msg: "My site {{ site_name }} is running on port {{ port_number }}."


# vim: ft=ansible:

Sorry if the formatting is a little wonky the code widget is a little weird 

Hope this helps, best of luck.


On Tuesday, October 18, 2016 at 12:02:43 PM UTC-7, Nick Tkach wrote:
> So, the general idea is I've got a playbook that has a set of "property" 
> files (yaml format).  Different filenames, but the variable names inside 
> are the same:
> group_vars/siteA.yml
> ---
> site_name: appA
> port: 8080
> group_vars/siteB.yml
> ---
> site_name: appB
> port: 8090
> and so on.  I want to run a task that does work using each of those in 
> turn like
> - name: print out the value of site_name and port for each of the 
> group_vars files
>   debug: msg="My site {{ site_name }} is on port {{ port }}"
> So you'd expect output like
> My site appA is on port 8080
> My site appB is on port 8090
> I'm not finding a way to get this result.  You can't apply a with_fileglob 
> to a task block so I'm not sure how to do something to *both* "reset" the 
> variables (something like var_files?) *and* do some kind of work with the 
> values from *that* file.  I'm assuming I'm missing something about how to 
> look at this?


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 
For more options, visit https://groups.google.com/d/optout.

Reply via email to