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 [email protected] 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 <[email protected]> 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 [email protected].
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