I could actually manage this with:
 
 
   - ansible.builtin.set_fact:
       level: keycloak
     when "'VM-0312.step.zrz.internal' in inventory_hostname'
 
 

> On 07/03/2023 8:10 AM CEST dulha...@mailbox.org wrote:
>  
>  
> when: ansible_fqdn == "VM-0213.step.zrz.internal"
>  
> does not create any error in the set_fact TASK. It does not set anything 
> either unfortunately. Which, thinking of it, seems logical as we just compare 
> the string ansible_fqdn with another string and not the value of the variale 
> {{ ansible_fqdn }}. so that seems to be a dead end.
>  
> the second option seems too complex for my current scenario. I am trying to 
> gather all variables into a singe place. And having to create a 
> host_vars/<fqdn>.yml file for each host on each execution contradicts that a 
> bit too much.
>  
> 
> > On 07/02/2023 8:03 PM CEST Todd Lewis <uto...@gmail.com> wrote:
> >  
> >  
> > Or, better yet in my opinion, set the default value for "level" in 
> > group_vars/<name_of_group>.yml, then for hosts which need a different 
> > "level" set that in an appropriately named host_vars file, like 
> > host_vars/VM-0213.step.zrz.internal.yml.
> > 
> > This let's you expresses facts about hosts as data rather than as results 
> > of expressions in set_fact or other tasks, task which you no longer need to 
> > run.
> > --
> > Todd
> > 
> > On 7/2/23 1:56 PM, Todd Lewis wrote:
> > 
> > > There's a problem with your "when:" conditionals.
> > > 
> > > First of all, throw out the second, because the strings that are "when:" 
> > > expressions are already being evaluated in a Jinja2 context, so the 
> > > mustaches shouldn't be there.
> > > 
> > > In the first option, on this line:
> > > 
> > > when: ansible_fqdn == VM-0213.step.zrz.internal
> > > 
> > > the "ansible_fqdn" part is okay, but the expression on the right-hand 
> > > side "==" should be a string. Instead it's the value of the variable "VM" 
> > > minus the octal number 0213's missing attribute "step"'s missing 
> > > attribute "zrz"'s missing attribute "internal".
> > > 
> > > So, yeah, no wonder that doesn't work.
> > > 
> > > Try this instead:
> > > 
> > > when: ansible_fqdn == "VM-0213.step.zrz.internal"
> > > 
> > > and let us know how you get on.
> > > --
> > > Todd
> > > 
> > > On 7/2/23 11:12 AM, dulhaver via Ansible Project wrote:
> > > 
> > > > 
> > > > hi,
> > > > 
> > > > I want to take different sligthly routes in a playbook based on the 
> > > > particular remote. All remotes are in the same hosts group.
> > > > I am trying to do this by setting a fact based on the ansible_fqdn 
> > > > value.
> > > > Based on that fact ('keycloak' in my example here) I am including 
> > > > different tasks files.
> > > > 
> > > > these 2 options do not work though:
> > > > 
> > > > ################################################################
> > > > - ansible.builtin.set_fact:
> > > > level: keycloak
> > > > when: ansible_fqdn == VM-0312.step.zrz.internal
> > > > 
> > > > - ansible.builtin.set_fact:
> > > > level: keycloak
> > > > when: "{{ ansible_fqdn == VM-0312.step.zrz.internal }}"
> > > > 
> > > > ################################################################
> > > > 
> > > > is there a way to achieve this?
> > > > 
> > > > 
> > > 
> > 
> > --
> > Todd
> > 
> 
 
---

gunnar wagner | fichtestr. 1, 19386 lübz | fon: 0176 7808 9090

-- 
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 view this discussion on the web visit 
https://groups.google.com/d/msgid/ansible-project/184257043.598550.1688374546968%40office.mailbox.org.

Reply via email to