Hey all, 

We're migrating from a single load balancer pair for all systems 
(dev/test/qa/prod) to separate pairs for dev/test and qa/prod. As a result, 
my previous task to pull nodes from the pool on the load balancer will no 
longer suffice without some conditional logic. I have a partial solution, 
but it two issues. 

1st Issue
In the following code i'm attempting to make it so that if the server is in 
the test inventory group, it uses the dev-test f5 pair and if it's not, use 
the qa-prod f5 pair. The first issue is that it loops over all combinations 
so the task would essentially execute twice for each f5 target. 

https://pastebin.com/ZxkPqvPF

2nd Issue
The second problem is that i need to expand the conditional to allow 
multiple statements. 

I need to find a way to expand this line:
      msg: "{{ (inventory_hostname in groups['test']) | 
ternary(hostvars[item[0]].ansible_host,hostvars[item[1]].ansible_host) }}"
into
      msg: "{{ (inventory_hostname in groups['test'] OR inventory_hostname 
in groups['dev']) | 
ternary(hostvars[item[0]].ansible_host,hostvars[item[1]].ansible_host) }}"

which doesn't work currently. 

I'm wondering if there's a way to salvage this method or if i need another 
approach entirely. I've considered just hard coding the f5's into a 
group_variable, but i'd like to avoid that and leverage the inventory 
instead if possible.

Thanks!

-- 
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/9b246b44-2479-4a83-a6a3-75205ab3e571%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to