Hi everybody,
I hope this the good place to post my problem.
I have declared this inventory in yml
all:
children:
server_country_prod:
hosts:
server1.com :
vars:
…
server_country_preprod:
hosts:
server2.com :
vars:
…
vars:
ansible_ssh_user: user
ansible_user: user
ansible_connection: ssh
ssh_args: -o ForwardAgent=yes
If I write that
hosts: “{{ groups[‘server_country_prod’][0] }}”
#gather_facts: no
become: yes
I can lauch my playbook easily
But if I want lauching my playbook with extra var
ansible-playbook -i inventory.yml -e var1=server -e var2=country tasks/main.yml
I can’t lauch my playbook what I have writing
hosts: " groups[‘{{var1}}_{{var2}}_prod’][0] "
I have the following error:
PLAY [groups[‘server_country_prod’][0]] ****************************************************************************************************************************************************************************
skipping: no hosts matched
Somebody can help me to understand why?
Thanks for your read and your help.
Best regards
racke
(Stefan Hornburg)
October 27, 2020, 2:04pm
2
Hi everybody,
I hope this the good place to post my problem.
I have declared this inventory in yml
all:
children:
server_country_prod:
hosts:
server1.com <http://server1.com/>:
vars:
...
server_country_preprod:
hosts:
server2.com <http://server2.com/>:
vars:
....
vars:
ansible_ssh_user: user
ansible_user: user
ansible_connection: ssh
ssh_args: -o ForwardAgent=yes
If I write that
- hosts: "{{ groups['server_country_prod'][0] }}"
#gather_facts: no
become: yes
I can lauch my playbook easily
But if I want lauching my playbook with extra var
ansible-playbook -i inventory.yml -e var1=server -e var2=country tasks/main.yml
I can't lauch my playbook what I have writing
- hosts: " groups['{{var1}}_{{var2}}_prod'][0] "
groups is not inside {{ ... }}, so it isn't evaluated at all. Also you cannot
nest the curly braces.
Try "{{ groups[ var1 + '_' var2 + '_prod' ][0] }}" (untested).
Regards
Racke
“groups is not inside {{ … }}, so it isn’t evaluated at all. Also you cannot
nest the curly braces.”
Oh ok, I understand
I try this {{ groups[ var1 + ‘_’ var2 + ‘_prod’ ][0] }}",
and it’s work perfectly, realy thank you for your help to an ansible newbie dev
Best regards